{"version":3,"sources":["webpack:///./node_modules/core-js/internals/symbol-constructor-detection.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/length-of-array-like.js","webpack:///./node_modules/axios/lib/core/Axios.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/try-to-string.js","webpack:///./node_modules/axios/lib/helpers/spread.js","webpack:///./node_modules/core-js/internals/make-built-in.js","webpack:///./node_modules/core-js/modules/es.array.push.js","webpack:///./node_modules/core-js/internals/is-callable.js","webpack:///./node_modules/core-js/internals/has-own-property.js","webpack:///./node_modules/axios/lib/helpers/bind.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/axios/lib/defaults.js","webpack:///./node_modules/dom7/dom7.esm.js","webpack:///./node_modules/swiper/esm/utils/dom.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/axios/lib/core/createError.js","webpack:///./node_modules/axios/lib/cancel/isCancel.js","webpack:///./node_modules/axios/lib/helpers/buildURL.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack:///./node_modules/axios/lib/core/enhanceError.js","webpack:///./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack:///./node_modules/core-js/internals/array-set-length.js","webpack:///./node_modules/core-js/internals/object-is-prototype-of.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/const.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/proxy.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/index.js","webpack:///./node_modules/core-js/internals/function-bind-native.js","webpack:///./node_modules/node-libs-browser/mock/process.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/axios/lib/core/settle.js","webpack:///./node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js","webpack:///./node_modules/@intlify/devtools-if/dist/devtools-if.esm-bundler.js","webpack:///./node_modules/@intlify/core-base/dist/core-base.esm-bundler.js","webpack:///./node_modules/@intlify/vue-devtools/dist/vue-devtools.esm-bundler.js","webpack:///./node_modules/vue-i18n/dist/vue-i18n.esm-bundler.js","webpack:///./node_modules/core-js/internals/ordinary-to-primitive.js","webpack:///./node_modules/axios/lib/core/mergeConfig.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/vue-clipboard2/vue-clipboard.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/time.js","webpack:///./node_modules/axios/lib/core/dispatchRequest.js","webpack:///./node_modules/swiper/esm/vue/utils.js","webpack:///./node_modules/vuex/dist/vuex.esm-browser.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/to-integer-or-infinity.js","webpack:///./node_modules/core-js/internals/a-callable.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/axios/lib/env/data.js","webpack:///./node_modules/swiper/esm/components/pagination/pagination.js","webpack:///./node_modules/core-js/internals/function-name.js","webpack:///./node_modules/axios/lib/helpers/isAxiosError.js","webpack:///./node_modules/core-js/internals/define-global-property.js","webpack:///./node_modules/vue-router/dist/vue-router.mjs","webpack:///./node_modules/clipboard/dist/clipboard.min.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/vue-loader-v16/dist/exportHelper.js","webpack:///./node_modules/vue-tel-input/dist/vue-tel-input.es.js","webpack:///./node_modules/swiper/esm/utils/get-support.js","webpack:///./node_modules/swiper/esm/utils/get-device.js","webpack:///./node_modules/swiper/esm/utils/get-browser.js","webpack:///./node_modules/swiper/esm/modules/resize/resize.js","webpack:///./node_modules/swiper/esm/modules/observer/observer.js","webpack:///./node_modules/swiper/esm/components/core/modular.js","webpack:///./node_modules/swiper/esm/components/core/events-emitter.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSize.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlides.js","webpack:///./node_modules/swiper/esm/components/core/update/updateAutoHeight.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesOffset.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesProgress.js","webpack:///./node_modules/swiper/esm/components/core/update/updateProgress.js","webpack:///./node_modules/swiper/esm/components/core/update/updateSlidesClasses.js","webpack:///./node_modules/swiper/esm/components/core/update/updateActiveIndex.js","webpack:///./node_modules/swiper/esm/components/core/update/updateClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/update/index.js","webpack:///./node_modules/swiper/esm/components/core/translate/getTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/setTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/minTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/maxTranslate.js","webpack:///./node_modules/swiper/esm/components/core/translate/translateTo.js","webpack:///./node_modules/swiper/esm/components/core/translate/index.js","webpack:///./node_modules/swiper/esm/components/core/transition/setTransition.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionStart.js","webpack:///./node_modules/swiper/esm/components/core/transition/transitionEnd.js","webpack:///./node_modules/swiper/esm/components/core/transition/index.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideTo.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToLoop.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideNext.js","webpack:///./node_modules/swiper/esm/components/core/slide/slidePrev.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideReset.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClosest.js","webpack:///./node_modules/swiper/esm/components/core/slide/slideToClickedSlide.js","webpack:///./node_modules/swiper/esm/components/core/slide/index.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopCreate.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopFix.js","webpack:///./node_modules/swiper/esm/components/core/loop/loopDestroy.js","webpack:///./node_modules/swiper/esm/components/core/loop/index.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/setGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/unsetGrabCursor.js","webpack:///./node_modules/swiper/esm/components/core/grab-cursor/index.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/appendSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/prependSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/addSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeSlide.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/removeAllSlides.js","webpack:///./node_modules/swiper/esm/components/core/manipulation/index.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchStart.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchMove.js","webpack:///./node_modules/swiper/esm/components/core/events/onTouchEnd.js","webpack:///./node_modules/swiper/esm/components/core/events/onResize.js","webpack:///./node_modules/swiper/esm/components/core/events/onClick.js","webpack:///./node_modules/swiper/esm/components/core/events/onScroll.js","webpack:///./node_modules/swiper/esm/components/core/events/index.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/setBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/getBreakpoint.js","webpack:///./node_modules/swiper/esm/components/core/breakpoints/index.js","webpack:///./node_modules/swiper/esm/components/core/classes/addClasses.js","webpack:///./node_modules/swiper/esm/components/core/classes/removeClasses.js","webpack:///./node_modules/swiper/esm/components/core/classes/index.js","webpack:///./node_modules/swiper/esm/components/core/images/loadImage.js","webpack:///./node_modules/swiper/esm/components/core/images/preloadImages.js","webpack:///./node_modules/swiper/esm/components/core/images/index.js","webpack:///./node_modules/swiper/esm/components/core/check-overflow/index.js","webpack:///./node_modules/swiper/esm/components/core/defaults.js","webpack:///./node_modules/swiper/esm/components/core/core-class.js","webpack:///./node_modules/swiper/esm/utils/utils.js","webpack:///./node_modules/core-js/internals/is-null-or-undefined.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/swiper/esm/components/effect-coverflow/effect-coverflow.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js","webpack:///./node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js","webpack:///./node_modules/@vue/runtime-dom/dist/runtime-dom.esm-bundler.js","webpack:///./node_modules/vue/dist/vue.runtime.esm-bundler.js","webpack:///./node_modules/axios/lib/cancel/Cancel.js","webpack:///./node_modules/axios/lib/helpers/cookies.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/@popperjs/core/lib/enums.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/applyStyles.js","webpack:///./node_modules/@popperjs/core/lib/utils/getBasePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/math.js","webpack:///./node_modules/@popperjs/core/lib/utils/userAgent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/contains.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","webpack:///./node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/within.js","webpack:///./node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","webpack:///./node_modules/@popperjs/core/lib/utils/expandToHashMap.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/arrow.js","webpack:///./node_modules/@popperjs/core/lib/utils/getVariation.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/computeStyles.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/eventListeners.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","webpack:///./node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","webpack:///./node_modules/@popperjs/core/lib/utils/rectToClientRect.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeOffsets.js","webpack:///./node_modules/@popperjs/core/lib/utils/detectOverflow.js","webpack:///./node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/flip.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/hide.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/offset.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","webpack:///./node_modules/@popperjs/core/lib/utils/getAltAxis.js","webpack:///./node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","webpack:///./node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","webpack:///./node_modules/@popperjs/core/lib/utils/orderModifiers.js","webpack:///./node_modules/@popperjs/core/lib/utils/debounce.js","webpack:///./node_modules/@popperjs/core/lib/utils/mergeByName.js","webpack:///./node_modules/@popperjs/core/lib/createPopper.js","webpack:///./node_modules/@popperjs/core/lib/popper.js","webpack:///./node_modules/@popperjs/core/lib/popper-lite.js","webpack:///./node_modules/bootstrap/dist/js/bootstrap.esm.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/swiper/esm/components/navigation/navigation.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/axios/lib/core/buildFullPath.js","webpack:///./node_modules/axios/lib/helpers/validator.js","webpack:///./node_modules/js-cookie/dist/js.cookie.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/axios/lib/cancel/CancelToken.js","webpack:///./node_modules/core-js/internals/document-all.js","webpack:///./node_modules/vue-loading-overlay/dist/vue-loading.min.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/swiper/esm/vue/params-list.js","webpack:///./node_modules/swiper/esm/vue/get-params.js","webpack:///./node_modules/swiper/esm/vue/init-swiper.js","webpack:///./node_modules/swiper/esm/vue/loop.js","webpack:///./node_modules/swiper/esm/vue/get-changed-params.js","webpack:///./node_modules/swiper/esm/vue/get-children.js","webpack:///./node_modules/swiper/esm/vue/update-swiper.js","webpack:///./node_modules/swiper/esm/vue/virtual.js","webpack:///./node_modules/swiper/esm/vue/swiper.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/swiper/esm/components/effect-flip/effect-flip.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/@vue/shared/dist/shared.esm-bundler.js","webpack:///./node_modules/core-js/internals/to-property-key.js","webpack:///./node_modules/swiper/esm/vue/swiper-slide.js","webpack:///./node_modules/@vue/devtools-api/lib/esm/env.js","webpack:///./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack:///./node_modules/core-js/internals/math-trunc.js","webpack:///./node_modules/axios/lib/adapters/xhr.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/axios/index.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/axios/lib/helpers/parseHeaders.js","webpack:///./node_modules/axios/lib/core/transformData.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/axios/lib/utils.js","webpack:///./node_modules/core-js/internals/function-call.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/vue-lazyload/vue-lazyload.esm.js","webpack:///./node_modules/core-js/internals/define-built-in.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/weak-map-basic-detection.js","webpack:///./node_modules/axios/lib/axios.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/swiper/esm/components/autoplay/autoplay.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack:///./node_modules/core-js/internals/is-symbol.js","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/get-method.js","webpack:///./node_modules/path-browserify/index.js","webpack:///./node_modules/core-js/internals/function-uncurry-this.js","webpack:///./node_modules/axios/lib/helpers/combineURLs.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/axios/lib/core/InterceptorManager.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/@intlify/shared/dist/shared.esm-bundler.js","webpack:///./node_modules/vue-sweetalert2/dist/vue-sweetalert.umd.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/ssr-window/ssr-window.esm.js"],"names":["V8_VERSION","fails","module","exports","Object","getOwnPropertySymbols","symbol","Symbol","String","sham","DESCRIPTORS","call","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","getOwnPropertyDescriptor","f","O","P","error","toLength","obj","length","utils","buildURL","InterceptorManager","dispatchRequest","mergeConfig","validator","validators","Axios","instanceConfig","this","defaults","interceptors","request","response","prototype","config","arguments","url","method","toLowerCase","transitional","undefined","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","clarifyTimeoutError","requestInterceptorChain","synchronousRequestInterceptors","forEach","interceptor","runWhen","synchronous","unshift","fulfilled","rejected","promise","responseInterceptorChain","push","chain","Array","apply","concat","Promise","resolve","then","shift","newConfig","onFulfilled","onRejected","reject","getUri","params","paramsSerializer","replace","data","createElement","defineProperty","get","a","$String","argument","callback","arr","uncurryThis","isCallable","CONFIGURABLE_FUNCTION_NAME","CONFIGURABLE","inspectSource","InternalStateModule","enforceInternalState","enforce","getInternalState","stringSlice","slice","join","CONFIGURABLE_LENGTH","value","TEMPLATE","split","makeBuiltIn","name","options","getter","setter","configurable","arity","constructor","writable","state","source","Function","toString","$","toObject","lengthOfArrayLike","setArrayLength","doesNotExceedSafeInteger","INCORRECT_TO_LENGTH","properErrorOnNonWritableLength","TypeError","FORCED","target","proto","forced","item","len","argCount","i","$documentAll","documentAll","all","IS_HTMLDDA","hasOwnProperty","it","key","fn","thisArg","args","isNullOrUndefined","$TypeError","toIntegerOrInfinity","max","Math","min","index","integer","global","createNonEnumerableProperty","defineBuiltIn","defineGlobalProperty","copyConstructorProperties","isForced","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","dontCallGetSet","internalObjectKeys","enumBugKeys","hiddenKeys","getOwnPropertyNames","normalizeHeaderName","enhanceError","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","headers","isUndefined","getDefaultAdapter","adapter","XMLHttpRequest","process","stringifySafely","rawValue","parser","encoder","isString","JSON","parse","trim","e","stringify","transformRequest","isFormData","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","buffer","isURLSearchParams","isObject","transformResponse","strictJSONParsing","responseType","timeout","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","status","common","merge","_inheritsLoose","subClass","superClass","create","__proto__","_getPrototypeOf","o","setPrototypeOf","getPrototypeOf","_setPrototypeOf","p","_isNativeReflectConstruct","Reflect","construct","Proxy","Date","_construct","Parent","Class","Constructor","bind","instance","_isNativeFunction","indexOf","_wrapNativeSuper","_cache","Map","has","set","Wrapper","enumerable","_assertThisInitialized","self","ReferenceError","makeReactive","Dom7","_Array","items","_this","arrayFlat","res","el","isArray","arrayFilter","filter","arrayUnique","uniqueArray","qsa","selector","context","querySelectorAll","window","document","html","toCreate","tempParent","innerHTML","childNodes","nodeType","addClass","_len","classes","_key","classNames","map","c","_el$classList","classList","add","removeClass","_len2","_key2","_el$classList2","remove","toggleClass","_len3","_key3","className","toggle","hasClass","_len4","_key4","contains","attr","attrs","getAttribute","setAttribute","attrName","removeAttr","removeAttribute","transform","style","transition","duration","transitionDuration","on","_len5","_key5","eventType","targetSelector","listener","capture","handleLiveEvent","eventData","dom7EventData","is","_parents","parents","k","handleEvent","j","events","_event","dom7LiveListeners","proxyListener","addEventListener","event","dom7Listeners","off","_len6","_key6","handlers","handler","dom7proxy","removeEventListener","splice","trigger","_len9","_key9","CustomEvent","evt","detail","bubbles","cancelable","dataIndex","dispatchEvent","transitionEnd","dom","fireCallBack","includeMargins","_styles","styles","offsetWidth","parseFloat","getPropertyValue","_styles2","offsetHeight","offset","box","getBoundingClientRect","body","clientTop","clientLeft","scrollTop","scrollY","scrollLeft","scrollX","top","left","getComputedStyle","css","props","_prop","each","result","text","textContent","compareWith","matches","webkitMatchesSelector","msMatchesSelector","child","previousSibling","eq","returnIndex","append","newChild","tempDiv","firstChild","appendChild","prepend","insertBefore","next","nextElementSibling","nextAll","nextEls","_next","prev","previousElementSibling","prevAll","prevEls","_prev","parentNode","_parent","closest","find","foundElements","found","children","removeChild","noTrigger","shortcut","eventHandler","Methods","outerWidth","outerHeight","parent","keys","methodName","match","version","userAgent","Deno","versions","v8","message","code","Error","__CANCEL__","encode","val","encodeURIComponent","serializedParams","parts","v","isDate","toISOString","hashmarkIndex","navigator","MAX_SAFE_INTEGER","isAxiosError","toJSON","description","number","fileName","lineNumber","columnNumber","stack","isStandardBrowserEnv","originURL","msie","test","urlParsingNode","resolveURL","href","protocol","host","search","hash","hostname","port","pathname","charAt","location","requestURL","parsed","SILENT_ON_NON_WRITABLE_LENGTH_SET","isPrototypeOf","HOOK_SETUP","HOOK_PLUGIN_SETTINGS_SET","plugin","hook","targetQueue","onQueue","defaultSettings","settings","id","defaultValue","localSettingsSaveId","currentSettings","assign","raw","localStorage","getItem","fallbacks","setItem","pluginId","setSettings","proxiedOn","_target","prop","proxiedTarget","includes","setupDevtoolsPlugin","pluginDescriptor","setupFn","enableProxy","enableEarlyProxy","__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__","proxy","list","__VUE_DEVTOOLS_PLUGINS__","emit","nextTick","setTimeout","platform","arch","execPath","title","pid","browser","env","argv","binding","path","cwd","chdir","dir","exit","kill","umask","dlopen","uptime","memoryUsage","uvCounters","features","classof","$Object","propertyIsEnumerable","createError","CompileErrorCodes","EXPECTED_TOKEN","INVALID_TOKEN_IN_PLACEHOLDER","UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER","UNKNOWN_ESCAPE_SEQUENCE","INVALID_UNICODE_ESCAPE_SEQUENCE","UNBALANCED_CLOSING_BRACE","UNTERMINATED_CLOSING_BRACE","EMPTY_PLACEHOLDER","NOT_ALLOW_NEST_PLACEHOLDER","INVALID_LINKED_FORMAT","MUST_HAVE_MESSAGES_IN_PLURAL","UNEXPECTED_EMPTY_LINKED_MODIFIER","UNEXPECTED_EMPTY_LINKED_KEY","UNEXPECTED_LEXICAL_ANALYSIS","__EXTEND_POINT__","createCompileError","loc","domain","messages","msg","SyntaxError","defaultOnError","createPosition","line","column","createLocation","start","end","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","fromCharCode","CHAR_PS","createScanner","str","_buf","_index","_line","_column","_peekOffset","isCRLF","isLF","isPS","isLS","isLineEnd","peekOffset","currentChar","currentPeek","peek","reset","resetPeek","skipToPeek","EOF","LITERAL_DELIMITER","ERROR_DOMAIN$1","createTokenizer","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","currentType","startLoc","endLoc","lastType","lastOffset","lastStartLoc","lastEndLoc","braceNest","inLinked","onError","emitError","pos","ctx","err","getToken","type","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","charCodeAt","isNumberStart","isNamedIdentifierStart","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","isPluralStart","detectModuloStart","spaces","isModulo","hasSpace","isTextStart","detectModulo","takeChar","takeIdentifierChar","closure","takeDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","readListIdentifier","readLiteral","literal","x","readEscapeSequence","current","readUnicodeEscapeSequence","unicode","digits","sequence","readInvalidIdentifier","identifiers","readLinkedModifier","readLinkedRefer","detect","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","nextToken","ERROR_DOMAIN","KNOWN_ESCAPES","fromEscapeSequence","codePoint4","codePoint6","codePoint","parseInt","fromCodePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","parseLiteral","parseLinkedModifier","nextConsumeToken","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","modifier","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","cases","parseResource","createTransformer","ast","helpers","Set","helper","traverseNodes","nodes","transformer","traverseNode","linked","from","createCodeGenerator","sourceMap","filename","breakLineCode","needIndent","_needIndent","indentLevel","_newline","n","withBreakLine","_breakLineCode","repeat","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","generateNode","generateMessageNode","generatePluralNode","generateResource","generate","mode","s","baseCompile","assignedOptions","IntlifyDevToolsHooks","I18nInit","FunctionTranslate","pathStateMachine","literalValueRE","isLiteral","exp","stripQuotes","b","getPathCharType","formatSubPath","trimmed","isNaN","newChar","action","typeMap","subPathDepth","actions","maybeUnescapeQuote","nextChar","cache","resolveWithKeyValue","hit","last","DEFAULT_MODIFIER","DEFAULT_MESSAGE","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","values","DEFAULT_INTERPOLATE","pluralDefault","choice","choicesLength","abs","getPluralIndex","pluralIndex","named","count","normalizeNamed","createMessageContext","locale","pluralRule","pluralRules","orgPluralRule","_list","_named","_modifier","modifiers","normalize","processor","interpolate","arg1","arg2","devtools","setDevToolsHook","initI18nDevTools","i18n","meta","timestamp","now","translateDevTools","createDevToolsHook","payloads","CoreWarnCodes","NOT_FOUND_KEY","FALLBACK_TO_TRANSLATE","CANNOT_FORMAT_NUMBER","FALLBACK_TO_NUMBER_FORMAT","CANNOT_FORMAT_DATE","FALLBACK_TO_DATE_FORMAT","fallbackWithSimple","fallback","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","__localeChainCache","block","appendBlockToChain","blocks","follow","appendLocaleToChain","tokens","appendItemToChain","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","toLocaleUpperCase","substr","getDefaultLinkedModifiers","upper","toUpperCase","lower","_compiler","_resolver","_fallbacker","registerMessageCompiler","compiler","registerMessageResolver","resolver","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","fallbackLocale","datetimeFormats","numberFormats","missing","missingWarn","fallbackWarn","fallbackFormat","unresolving","postTranslation","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","onWarn","internalOptions","__datetimeFormatters","__numberFormatters","__meta","cid","__INTLIFY_PROD_DEVTOOLS__","handleMissing","updateFallbackLocale","defaultOnCacheKey","compileCache","compileToFunction","onCacheKey","cached","occurred","inc","CoreErrorCodes","INVALID_ARGUMENT","INVALID_DATE_ARGUMENT","INVALID_ISO_DATE_ARGUMENT","createCoreError","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","default","enableDefaultMsg","escapeParams","formatScope","targetLocale","resolveMessageFormat","format","cacheBaseKey","errorDetector","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","resolveValue","locales","to","missingRet","getCompileOptions","msgCtx","arg3","resolveMessage","intlDefined","Intl","DateTimeFormat","NumberFormat","datetime","overrides","parseDateTimeArgs","part","datetimeFormat","formatter","formatToParts","DATETIME_FORMAT_OPTIONS_KEYS","arg4","dateTime","startsWith","getTime","clearDateTimeFormat","delete","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","initFeatureFlags","needWarn","__VUE_I18N_FULL_INSTALL__","__VUE_I18N_LEGACY_API__","code$1","inc$1","I18nWarnCodes","FALLBACK_TO_ROOT","NOT_SUPPORTED_PRESERVE","NOT_SUPPORTED_FORMATTER","NOT_SUPPORTED_PRESERVE_DIRECTIVE","NOT_SUPPORTED_GET_CHOICE_INDEX","COMPONENT_NAME_LEGACY_COMPATIBLE","NOT_FOUND_PARENT_SCOPE","I18nErrorCodes","UNEXPECTED_RETURN_TYPE","MUST_BE_CALL_SETUP_TOP","NOT_INSLALLED","NOT_AVAILABLE_IN_LEGACY_MODE","REQUIRED_VALUE","INVALID_VALUE","CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN","NOT_INSLALLED_WITH_PROVIDE","UNEXPECTED_ERROR","NOT_COMPATIBLE_LEGACY_VUE_I18N","BRIDGE_SUPPORT_VUE_2_ONLY","MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION","NOT_AVAILABLE_COMPOSITION_IN_LEGACY","createI18nError","TransrateVNodeSymbol","DatetimePartsSymbol","NumberPartsSymbol","SetPluralRulesSymbol","InejctWithOption","handleFlatJson","subKeys","lastIndex","currentObj","getLocaleMessages","__i18n","flatJson","custom","resource","deepCopy","isNotObjectOrIsArray","src","des","getComponentOptions","adjustI18nResources","componentOptions","__i18nGlobal","mergeLocaleMessage","mergeDateTimeFormat","mergeNumberFormat","createTextNode","DEVTOOLS_META","composerID","defineCoreMissingHandler","getMetaInfo","createComposer","VueI18nLegacy","__root","_isGlobal","_inheritLocale","inheritLocale","_locale","_fallbackLocale","_messages","_datetimeFormats","_numberFormats","_missingWarn","_fallbackWarn","_fallbackRoot","fallbackRoot","_fallbackFormat","_missing","_runtimeMissing","_postTranslation","_warnHtmlMessage","_escapeParameter","_modifiers","_pluralRules","getCoreContext","framework","trackReactivityValues","getPostTranslationHandler","setPostTranslationHandler","getMissingHandler","setMissingHandler","wrapWithDeps","argumentParser","warnType","fallbackSuccess","fallbackFail","successCondition","t","root","rt","d","transrateVNode","numberParts","datetimeParts","setPluralRules","rules","te","getLocaleMessage","resolveMessages","targetLocaleMessages","messageValue","tm","setLocaleMessage","getDateTimeFormat","setDateTimeFormat","getNumberFormat","setNumberFormat","composer","sort","__injectWithOption","convertComposerOptions","silentTranslationWarn","silentFallbackWarn","formatFallbackMessages","pluralizationRules","warnHtmlInMessage","escapeParameterHtml","sync","sharedMessages","reduce","createVueI18n","vueI18n","availableLocales","__composer","componentInstanceCreatedListener","baseFormatProps","tag","scope","getInterpolateArg","slots","slot","arg","getFragmentableTag","Translation","keypath","required","Number","useI18n","useScope","__useComponent","assignedAttrs","isVNode","renderFormatter","slotKeys","partFormatter","DatetimeFormat","getComposer$2","i18nInternal","__getInstance","vTDirective","_process","parsedValue","parseValue","makeParams","register","__i18nWatcher","$forceUpdate","unregister","update","getSSRProps","created","unmounted","beforeUpdate","app","pluginOptions","useI18nComponentName","globalInstall","component","directive","defineMixin","vuei18n","$options","optionsI18n","$root","$i18n","mergeToRoot","__onComponentInstanceCreated","__setInstance","$t","$rt","$tc","tc","$te","$d","$n","$tm","__deleteInstance","I18nInjectionKey","createI18n","__legacyMode","legacy","__globalInjection","globalInjection","__allowComposition","allowComposition","__instances","globalScope","__global","createGlobal","__VUE_I18N_SYMBOL__","provide","injectGlobalFields","mixin","unmountApp","unmount","dispose","stop","isCE","appContext","getI18nInstance","getGlobalComposer","getScope","useI18nForLegacy","getComposer","composerOptions","setupLifeCycle","legacyMode","run","useComponent","isLocale","_composer","warpWithDeps","wrapper","isGlobal","globalExportProps","globalExportMethods","desc","wrap","globalProperties","__INTLIFY__","__INTLIFY_DEVTOOLS_GLOBAL_HOOK__","input","pref","valueOf","config1","config2","getMergedValue","isPlainObject","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","toAbsoluteIndex","createMethod","IS_INCLUDES","$this","fromIndex","Clipboard","VueClipboardConfig","autoSetContainer","appendToBody","VueClipboard","install","Vue","globalPrototype","$clipboardConfig","$copyText","container","fakeElement","clipboard","destroy","click","vnode","_vClipboard_success","_vClipboard_error","_vClipboard","unbind","supported","perf","isPerformanceSupported","_a","performance","perf_hooks","transformData","isCancel","Cancel","throwIfCancellationRequested","cancelToken","throwIfRequested","signal","aborted","reason","extend","noExtend","__swiper__","needsNavigation","navigation","nextEl","prevEl","needsPagination","pagination","needsScrollbar","scrollbar","uniqueClasses","unique","storeKey","forEachValue","isPromise","assert","condition","partial","genericSubscribe","subs","resetStore","store","hot","_actions","_mutations","_wrappedGetters","_modulesNamespaceMap","installModule","_modules","resetStoreState","oldState","_state","oldScope","_scope","getters","_makeLocalGettersCache","wrappedGetters","computedObj","computedCache","strict","enableStrictMode","_withCommit","rootState","isRoot","namespace","getNamespace","namespaced","console","parentState","getNestedState","moduleName","warn","local","makeLocalContext","forEachMutation","mutation","namespacedType","registerMutation","forEachAction","registerAction","forEachGetter","registerGetter","forEachChild","noNamespace","dispatch","_type","_payload","_options","unifyObjectStyle","payload","commit","defineProperties","makeLocalGetters","gettersProxy","splitPos","localType","entry","rootGetters","_devtoolHook","catch","rawGetter","_committing","deep","flush","LABEL_VUEX_BINDINGS","MUTATIONS_LAYER_ID","ACTIONS_LAYER_ID","INSPECTOR_ID","actionId","addDevtools","label","homepage","logo","packageName","componentStateTypes","api","addTimelineLayer","color","COLOR_LIME_500","addInspector","icon","treeFilterPlaceholder","getInspectorTree","inspectorId","flattenStoreForInspectorTree","rootNodes","formatStoreForInspectorTree","getInspectorState","modulePath","nodeId","formatStoreForInspectorState","getStoreModule","editInspectorState","Boolean","subscribe","notifyComponentUpdate","sendInspectorTree","sendInspectorState","addTimelineEvent","layerId","time","subscribeAction","before","_id","_time","groupId","subtitle","after","_custom","display","tooltip","COLOR_DARK","COLOR_WHITE","TAG_NAMESPACED","textColor","backgroundColor","extractNameFromPath","tags","_children","endsWith","gettersKeys","storeState","editable","tree","transformPathsToObjectTree","canThrow","leafKey","pop","abstract","moduleMap","names","cb","Module","rawModule","runtime","_rawModule","rawState","prototypeAccessors$1","addChild","getChild","hasChild","mutations","ModuleCollection","rawRootModule","targetModule","newModule","assertRawModule","modules","this$1$1","rawChildModule","isRegistered","functionAssert","expected","objectAssert","assertTypes","makeAssertionMessage","createStore","Store","plugins","_actionSubscribers","_subscribers","_devtools","ref","prototypeAccessors","injectKey","$store","useDevtools","sub","silent","watch","replaceState","registerModule","preserveState","unregisterModule","hasModule","hotUpdate","newOptions","committing","normalizeNamespace","states","isValidMap","normalizeMap","getModuleByNamespace","vuex","mapGetters","IS_PURE","copyright","license","getBuiltIn","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","anObject","trunc","tryToString","bitmap","_extends","Pagination","swiper","rtl","$el","slidesLength","virtual","enabled","slides","total","loop","ceil","loopedSlides","slidesPerGroup","snapGrid","activeIndex","paginationType","snapIndex","bullets","firstIndex","midIndex","dynamicBullets","bulletSize","isHorizontal","dynamicMainBullets","previousIndex","dynamicBulletIndex","bulletActiveClass","bullet","$bullet","bulletIndex","$firstDisplayedBullet","$lastDisplayedBullet","_i","dynamicBulletsLength","bulletsOffset","offsetProp","currentClass","formatFractionCurrent","totalClass","formatFractionTotal","progressbarDirection","progressbarOpposite","scale","scaleX","scaleY","progressbarFillClass","speed","renderCustom","watchOverflow","isLocked","lockClass","render","paginationHTML","numberOfBullets","freeMode","renderBullet","bulletClass","bulletElement","renderFraction","renderProgressbar","init","createElements","uniqueNavElements","clickable","clickableClass","modifierClass","progressbarOppositeClass","preventDefault","slideTo","hiddenClass","hideOnClick","activeIndexChange","snapIndexChange","slidesLengthChange","snapGridLengthChange","targetEl","isHidden","FunctionPrototype","getDescriptor","EXISTS","PROPER","isBrowser","isESModule","__esModule","toStringTag","applyToParams","newParams","noop","TRAILING_SLASH_RE","removeTrailingSlash","parseURL","parseQuery","currentLocation","query","searchString","hashPos","searchPos","resolveRelativePath","fullPath","stringifyURL","stringifyQuery","stripBase","base","isSameRouteLocation","aLastIndex","matched","bLastIndex","isSameRouteRecord","isSameRouteLocationParams","aliasOf","isSameRouteLocationParamsValue","isEquivalentArray","every","fromSegments","toSegments","toPosition","segment","position","NavigationType","NavigationDirection","normalizeBase","baseEl","querySelector","BEFORE_HASH_RE","createHref","getElementPosition","docRect","documentElement","elRect","behavior","computeScrollPosition","pageXOffset","pageYOffset","scrollToPosition","scrollToOptions","positionEl","isIdSelector","getElementById","scrollTo","getScrollKey","delta","history","scrollPositions","saveScrollPosition","scrollPosition","getSavedScrollPosition","scroll","createBaseLocation","createCurrentLocation","slicePos","pathFromHash","useHistoryListeners","historyState","listeners","teardowns","pauseState","popStateHandler","fromState","direction","forward","back","unknown","pauseListeners","listen","teardown","beforeUnloadListener","buildState","replaced","computeScroll","useHistoryStateNavigation","changeLocation","hashIndex","currentState","createWebHistory","historyNavigation","historyListeners","go","triggerListeners","routerHistory","createWebHashHistory","isRouteLocation","route","isRouteName","START_LOCATION_NORMALIZED","redirectedFrom","NavigationFailureSymbol","NavigationFailureType","createRouterError","isNavigationFailure","BASE_PARAM_PATTERN","BASE_PATH_PARSER_OPTIONS","sensitive","REGEX_CHARS_RE","tokensToParser","segments","extraOptions","score","pattern","segmentScores","tokenIndex","subSegmentScore","repeatable","optional","regexp","re","RegExp","subPattern","avoidDuplicatedSlash","param","compareScoreArray","diff","comparePathParserScore","aScore","bScore","comp","isLastScoreNegative","ROOT_TOKEN","VALID_PARAM_RE","tokenizePath","crash","previousState","finalizeSegment","char","customRe","consumeBuffer","addCharToBuffer","createRouteRecordMatcher","record","matcher","alias","createRouterMatcher","routes","globalOptions","matchers","matcherMap","getRecordMatcher","addRoute","originalRecord","isRootAdd","mainNormalizedRecord","normalizeRouteRecord","mergeOptions","normalizedRecords","aliases","components","originalMatcher","normalizedRecord","parentPath","connectingSlash","isAliasRecord","removeRoute","redirect","insertMatcher","matcherRef","getRoutes","isRecordChildOf","paramsFromLocation","m","parentMatcher","mergeMetaFields","beforeEnter","normalizeRecordProps","instances","leaveGuards","updateGuards","enterCallbacks","propsObject","partialOptions","some","HASH_RE","AMPERSAND_RE","SLASH_RE","EQUAL_RE","IM_RE","PLUS_RE","ENC_BRACKET_OPEN_RE","ENC_BRACKET_CLOSE_RE","ENC_CARET_RE","ENC_BACKTICK_RE","ENC_CURLY_OPEN_RE","ENC_PIPE_RE","ENC_CURLY_CLOSE_RE","ENC_SPACE_RE","commonEncode","encodeURI","encodeHash","encodeQueryValue","encodeQueryKey","encodePath","encodeParam","decode","decodeURIComponent","hasLeadingIM","searchParams","searchParam","eqPos","currentValue","normalizeQuery","normalizedQuery","matchedRouteKey","viewDepthKey","routerKey","routeLocationKey","routerViewLocationKey","useCallbacks","guardToPromiseFn","guard","enterCallbackArray","valid","guardReturn","guardCall","extractComponentsGuards","guardType","guards","rawComponent","isRouteComponent","__vccOpts","componentPromise","resolved","resolvedComponent","useLink","router","currentRoute","activeRecordIndex","routeMatched","currentMatched","findIndex","parentRecordPath","getOriginalPath","isActive","includesParams","isExactActive","navigate","guardEvent","RouterLinkImpl","compatConfig","MODE","activeClass","exactActiveClass","ariaCurrentValue","link","elClass","getLinkClass","linkActiveClass","linkExactActiveClass","onClick","class","RouterLink","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","button","currentTarget","outer","inner","innerValue","outerValue","propClass","globalClass","defaultClass","RouterViewImpl","inheritAttrs","injectedRoute","routeToDisplay","injectedDepth","depth","initialDepth","matchedRoute","matchedRouteRef","viewRef","oldInstance","oldName","size","currentName","ViewComponent","normalizeSlot","Component","routePropsOption","routeProps","onVnodeUnmounted","isUnmounted","slotContent","RouterView","createRouter","parseQuery$1","stringifyQuery$1","beforeGuards","beforeResolveGuards","afterGuards","pendingLocation","scrollBehavior","scrollRestoration","normalizeParams","paramValue","encodeParams","decodeParams","parentOrRoute","recordMatcher","routeMatcher","hasRoute","rawLocation","locationNormalized","matcherLocation","targetParams","locationAsObject","checkCanceledNavigation","pushWithRedirect","handleRedirectRecord","lastMatched","newTargetLocation","targetLocation","force","shouldRedirect","toLocation","failure","handleScroll","markAsReady","triggerError","finalizeNavigation","triggerAfterEach","checkCanceledNavigationAndReject","leavingRecords","updatingRecords","enteringRecords","extractChangingRecords","reverse","canceledNavigationCheck","runGuardQueue","isPush","isFirstNavigation","removeHistoryListener","setupListeners","_from","info","listening","ready","readyHandlers","errorHandlers","isReady","started","installedApps","beforeEach","beforeResolve","afterEach","$router","reactiveRoute","recordFrom","recordTo","686","u","r","execCommand","fontSize","border","padding","margin","HTMLInputElement","l","iterator","hasAttribute","y","h","resolveOptions","listenClick","queryCommandSupported","defaultAction","defaultTarget","defaultText","delegateTarget","clearSelection","focus","getSelection","removeAllRanges","828","Element","matchesSelector","mozMatchesSelector","oMatchesSelector","438","879","HTMLElement","nodeList","string","370","817","nodeName","select","setSelectionRange","createRange","selectNodeContents","addRange","279","once","_","TinyEmitter","NATIVE_WEAK_MAP","shared","sharedKey","OBJECT_ALREADY_INITIALIZED","WeakMap","getterFor","TYPE","metadata","facade","STATE","sfc","allCountries","allCountries$1","iso2","dialCode","getCountry","fetch","result2","setCaretPosition","ctrl","createTextRange","range","collapse","moveEnd","moveStart","allProps","inDemo","defaultOptions","prv","crr","nestedKey","withMetadataArgument","func","_arguments","_typeof$2","obj2","_defineProperties$2","_createClass$2","protoProps","staticProps","_classCallCheck$2","_inherits","_createSuper","Derived","hasNativeReflectConstruct","Super","NewTarget","_possibleConstructorReturn","Class2","Parent2","args2","o2","p2","ParseError","_Error","ParseError2","_super","MIN_LENGTH_FOR_NSN","MAX_LENGTH_FOR_NSN","MAX_LENGTH_COUNTRY_CODE","VALID_DIGITS","DASHES","SLASHES","DOTS","WHITESPACE","BRACKETS","TILDES","VALID_PUNCTUATION","PLUS_CHARS","compare","pa","pb","na","nb","_typeof$1","_classCallCheck$1","_defineProperties$1","_createClass$1","V3","V4","DEFAULT_EXT_PREFIX","CALLING_CODE_REG_EXP","Metadata","Metadata2","metadata2","validateMetadata","setVersion","countries","countryCode","v1","v2","v3","nonGeographic","nonGeographical","country","getCountryMetadata","callingCode","getCountryCodesForCallingCode","countryCodes","countryCallingCodes","selectNumberingPlan","hasCountry","numberingPlan","NumberingPlan","hasCallingCode","getNumberingPlanMetadata","getCountryCodeForCallingCode","IDDPrefix","defaultIDDPrefix","nationalNumberPattern","possibleLengths","formats","nationalPrefixForParsing","nationalPrefixTransformRule","leadingDigits","hasTypes","ext","country_phone_code_to_countries","country_calling_codes","NumberingPlan2","globalMetadataObject","formats2","_getFormats","getDefaultCountryMetadataForRegion","Format","_getNationalPrefixFormattingRule","_nationalPrefixForParsing","nationalPrefix","_getNationalPrefixIsOptionalWhenFormatting","types","_type2","getType","Type","Format2","_format","nationalPrefixFormattingRule","nationalPrefixIsOptionalWhenFormattingInNationalFormat","usesNationalPrefix","FIRST_GROUP_ONLY_PREFIX_PATTERN","Type2","is_object","type_of","getCountryCallingCode","countryCallingCode","isSupportedCountry","v4","RFC3966_EXTN_PREFIX","getExtensionDigitsPattern","maxLength","createExtensionPattern","purpose","extLimitAfterExplicitLabel","extLimitAfterLikelyLabel","extLimitAfterAmbiguousChar","extLimitWhenNotSure","possibleSeparatorsBetweenNumberAndExtLabel","possibleCharsAfterExtLabel","optionalExtnSuffix","explicitExtLabels","ambiguousExtLabels","ambiguousSeparator","possibleSeparatorsNumberExtLabelNoComma","autoDiallingAndExtLabelsFound","rfcExtn","explicitExtn","ambiguousExtn","americanStyleExtnWithSuffix","autoDiallingExtn","onlyCommasExtn","MIN_LENGTH_PHONE_NUMBER_PATTERN","VALID_PHONE_NUMBER","VALID_PHONE_NUMBER_START_REG_EXP","VALID_PHONE_NUMBER_WITH_EXTENSION","VALID_PHONE_NUMBER_PATTERN","isViablePhoneNumber","isViablePhoneNumberStart","EXTN_PATTERN","extractExtension","numberWithoutExtension","DIGITS","parseDigit","character","_createForOfIteratorHelperLoose$5","allowArrayLike","_unsupportedIterableToArray$6","done","minLen","_arrayLikeToArray$6","arr2","parseIncompletePhoneNumber","_step","_iterator","parsePhoneNumberCharacter","prevParsedCharacters","_createForOfIteratorHelperLoose$4","_unsupportedIterableToArray$5","_arrayLikeToArray$5","mergeArrays","merged","element","a2","b2","checkNumberLength","nationalNumber","checkNumberLengthForType","type_info","possible_lengths","mobile_type","actual_length","minimum_length","isPossiblePhoneNumber","phone","isPossibleNumber","isNonGeographicCallingCode","_slicedToArray$1","_arrayWithHoles$1","_iterableToArrayLimit$1","_unsupportedIterableToArray$4","_nonIterableRest$1","_s","_e","_arr","_n","_d","_createForOfIteratorHelperLoose$3","_arrayLikeToArray$4","parseRFC3966","_part$split","_part$split2","formatRFC3966","_ref","matchesEntirely","regular_expression","_createForOfIteratorHelperLoose$2","_unsupportedIterableToArray$3","_arrayLikeToArray$3","NON_FIXED_LINE_PHONE_TYPES","getNumberType","isNumberTypeEqualTo","isValidNumber","national_number","applyInternationalSeparatorStyle","formattedNumber","FIRST_GROUP_PATTERN","formatNationalNumberUsingFormat","useInternationalFormat","withNationalPrefix","carrierCode","internationalFormat","SINGLE_IDD_PREFIX_REG_EXP","getIddPrefix","countryMetadata","_createForOfIteratorHelperLoose$1","_unsupportedIterableToArray$2","_arrayLikeToArray$2","ownKeys$4","object","enumerableOnly","symbols","sym","_objectSpread$4","_defineProperty$4","getOwnPropertyDescriptors","DEFAULT_OPTIONS","formatExtension","extension","formatNumber","formatNationalNumber","addExtension","fromCountry","formatIDD","formatAs","chooseFormatForNumber","availableFormats","nationalNnumber","leadingDigitsPatterns","lastLeadingDigitsPattern","formatExtension2","fromCountryCallingCode","iddPrefix","ownKeys$3","_objectSpread$3","_defineProperty$3","_classCallCheck","_defineProperties","_createClass","PhoneNumber","PhoneNumber2","_metadata","isCountryCode","phoneNumber","CAPTURING_DIGIT_PATTERN","stripIddPrefix","IDDPrefixPattern","matchedGroups","extractNationalNumberFromPossiblyIncompleteNumber","prefixPattern","prefixMatch","exec","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","possiblePositionOfTheFirstCapturedGroup","possibleNationalPrefix","extractNationalNumber","_extractNationalNumbe","shouldHaveExtractedNationalPrefix","isPossibleIncompleteNationalNumber","nationalNumberBefore","nationalNumberAfter","extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","possibleShorterNumber","possibleShorterNationalNumber","_extractNationalNumbe2","extractCountryCallingCode","numberWithoutIDD","_extractCountryCallin","shorterNumber","_countryCallingCode","_createForOfIteratorHelperLoose","_unsupportedIterableToArray$1","_arrayLikeToArray$1","USE_NON_GEOGRAPHIC_COUNTRY_CODE","getCountryByCallingCode","nationalPhoneNumber","possibleCountries","selectCountryFromList","MAX_INPUT_STRING_LENGTH","PHONE_NUMBER_START_PATTERN","AFTER_PHONE_NUMBER_END_PATTERN","defaultCountry","_parseInput","parseInput","extract","formattedPhoneNumber","_parsePhoneNumber","parsePhoneNumber$1","defaultCallingCode","hasSelectedNumberingPlan","extended","possible","extractFormattedPhoneNumber","throwOnError","startsAt","withExtensionStripped","exactCountry","ownKeys$2","_objectSpread$2","_defineProperty$2","parsePhoneNumber","_typeof","ownKeys$1","_objectSpread$1","_defineProperty$1","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","normalizeArguments","_Array$prototype$slic","_Array$prototype$slic2","arg_1","arg_2","arg_3","arg_4","ownKeys","_objectSpread","_defineProperty","parsePhoneNumberFromString$2","parsePhoneNumberFromString$1","_normalizeArguments","parsePhoneNumberFromString","clickOutside","vNode","compName","expression","clickOutsideEvent","_export_sfc","getDefault","_sfc_main","directives","modelValue","autoFormat","customValidate","disabled","autoDefaultCountry","dropdownOptions","ignoredCountries","inputOptions","invalidMsg","onlyCountries","preferredCountries","validCharactersOnly","styleClasses","activeCountryCode","open","finishMounted","selectedIndex","typeToFindInput","typeToFindTimer","dropdownOpenDirection","parsedPlaceholder","placeholder","computed","findCountry","getCountries","preferred","filteredCountries","_b","_c","phoneObject","isValid","formatted","parsedMode","activeCountry","oldValue","$emit","emitInput","$nextTick","resetPlaceholder","testCharacters","onInput","isDropdownOpened","setDropdownPosition","cleanInvalidCharacters","initializeCountry","showDialCode","methods","choose","findCountryByDialCode","fallbackCountry","iso","index2","highlighted","lastPreferred","parsedCountry","formatInternational","currentPhone","results","testCustomValidate","$refs","setCustomValidity","keyCode","sortedCountries","selEle","offsetTop","clientHeight","clearTimeout","typedCountryI","needToScrollTop","needToScrollBottom","spaceBelow","innerHeight","bottom","hasEnoughSpaceBelow","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_sfc_render","_ctx","$props","$setup","$data","_directive_click_outside","role","tabindex","onKeydown","keyboardNav","toggleDropdown","showFlags","showDialCodeInSelection","$slots","getItemClass","$event","onMousemove","showDialCodeInList","clickedOutside","autocomplete","autofocus","maxlength","readonly","onBlur","onFocus","onKeyup","onEnter","onSpace","VueTelInput","customOptions","customDropdownOptions","customInputOptions","otherCustomOptions","defaultDropdownOptions","defaultInputOptions","otherDefaultOptions","calcSupport","touch","DocumentTouch","pointerEvents","PointerEvent","maxTouchPoints","observer","passiveListener","supportsPassive","opts","gestures","getSupport","calcDevice","_temp","support","ua","device","ios","android","screenWidth","screen","width","screenHeight","height","ipad","ipod","iphone","windows","macos","iPadScreens","os","getDevice","calcBrowser","isSafari","isEdge","isWebView","getBrowser","ResizeObserver","resize","createObserver","destroyed","initialized","entries","newWidth","newHeight","contentBoxSize","contentRect","inlineSize","blockSize","resizeHandler","observe","removeObserver","unobserve","orientationChangeHandler","resizeObserver","Observer","attach","ObserverFunc","MutationObserver","WebkitMutationObserver","observerUpdate","requestAnimationFrame","attributes","childList","characterData","observers","observeParents","containerParents","observeSlideChildren","$wrapperEl","disconnect","useParams","instanceParams","useModules","modulesParams","moduleParams","moduleEventName","priority","eventsListeners","onceHandler","__emitterProxy","onAny","eventsAnyListeners","offAny","eventsArray","updateSize","clientWidth","isVertical","updateSlides","getDirectionLabel","property","getDirectionPropertyValue","swiperSize","rtlTranslate","wrongRTL","isVirtual","previousSlidesLength","slideClass","slidesGrid","slidesSizesGrid","offsetBefore","slidesOffsetBefore","offsetAfter","slidesOffsetAfter","previousSnapGridLength","previousSlidesGridLength","spaceBetween","slidePosition","prevSlideSize","slidesNumberEvenToRows","slideSize","virtualSize","marginLeft","marginBottom","marginTop","marginRight","slidesPerColumn","floor","slidesPerView","slidesPerColumnFill","newSlidesGrid","_$wrapperEl$css","_$wrapperEl$css2","slidesPerRow","numFullColumns","slide","newSlideOrderIndex","row","groupIndex","slideIndexInGroup","columnsInGroup","order","slideStyles","currentTransform","currentWebKitTransform","webkitTransform","roundLengths","paddingLeft","paddingRight","boxSizing","_slide$","swiperSlideSize","centeredSlides","slidesPerGroupSkip","effect","setWrapperSize","slidesGridItem","_i2","_slidesGridItem","_slides$filter$css","slideIndex","cssMode","centeredSlidesBounds","allSlidesSize","slideSizeValue","maxSnap","snap","centerInsufficientSlides","_allSlidesSize","allSlidesOffset","checkOverflow","watchSlidesProgress","watchSlidesVisibility","updateSlidesOffset","updateAutoHeight","activeSlides","setTransition","getSlideByIndex","visibleSlides","swiperSlideOffset","offsetLeft","updateSlidesProgress","offsetCenter","slideVisibleClass","visibleSlidesIndexes","slideProgress","minTranslate","autoHeight","slideBefore","slideAfter","isVisible","progress","updateProgress","multiplier","translatesDiff","maxTranslate","isBeginning","isEnd","wasBeginning","wasEnd","updateSlidesClasses","activeSlide","realIndex","slideActiveClass","slideNextClass","slidePrevClass","slideDuplicateActiveClass","slideDuplicateNextClass","slideDuplicatePrevClass","slideDuplicateClass","nextSlide","prevSlide","emitSlidesClasses","updateActiveIndex","newActiveIndex","previousRealIndex","previousSnapIndex","normalizeSlideIndex","skip","runCallbacksOnInit","updateClickedSlide","slideFound","clickedSlide","clickedIndex","slideToClickedSlide","getSwiperTranslate","axis","virtualTranslate","currentTranslate","setTranslate","byController","newProgress","wrapperEl","z","previousTranslate","translateTo","runCallbacks","translateBounds","internal","animating","preventInteractionOnTransition","newTranslate","_wrapperEl$scrollTo","isH","onTranslateToWrapperTransitionEnd","getTranslate","transitionStart","initial","indexAsNumber","isFinite","initialSlide","normalizedTranslate","normalizedGird","normalizedGridNext","allowSlideNext","allowSlidePrev","scrollWidth","onSlideToWrapperTransitionEnd","slideToLoop","newIndex","slideNext","increment","loopPreventsSlide","loopFix","_clientLeft","slidePrev","prevIndex","normalizedSnapGrid","prevSnap","slideReset","slideToClosest","threshold","currentSnap","nextSnap","_currentSnap","slidesPerViewDynamic","slideToIndex","loopCreate","loopFillGroupWithBlank","blankSlidesNum","blankNode","slideBlankClass","loopAdditionalSlides","prependSlides","appendSlides","cloneNode","snapTranslate","slideChanged","_slideChanged","loopDestroy","setGrabCursor","moving","simulateTouch","cursor","unsetGrabCursor","appendSlide","prependSlide","addSlide","activeIndexBuffer","baseLength","slidesBuffer","currentSlide","removeSlide","slidesIndexes","indexToRemove","removeAllSlides","closestElement","__closestFrom","assignedSlot","getRootNode","onTouchStart","touchEventsData","touches","originalEvent","$targetEl","touchEventsTarget","isTouchEvent","which","isTouched","isMoved","swipingClassHasValue","noSwipingClass","shadowRoot","noSwipingSelector","isTargetShadow","noSwiping","allowClick","swipeHandler","currentX","targetTouches","pageX","currentY","pageY","startX","startY","edgeSwipeDetection","iOSEdgeSwipeDetection","edgeSwipeThreshold","iOSEdgeSwipeThreshold","innerWidth","allowTouchCallbacks","isScrolling","startMoving","touchStartTime","swipeDirection","allowThresholdMove","focusableElements","activeElement","blur","shouldPreventDefault","allowTouchMove","touchStartPreventDefault","touchStartForcePreventDefault","isContentEditable","onTouchMove","targetTouch","changedTouches","preventedByNestedSwiper","touchReleaseOnEdges","diffX","diffY","sqrt","pow","touchAngle","atan2","PI","touchMoveStopPropagation","nested","stopPropagation","startTranslate","allowMomentumBounce","grabCursor","touchRatio","disableParentSwiper","resistanceRatio","resistance","followFinger","velocities","onTouchEnd","currentPos","touchEndTime","timeDiff","lastClickTime","freeModeMomentum","lastMoveEvent","velocityEvent","distance","velocity","freeModeMinimumVelocity","freeModeMomentumVelocityRatio","momentumDuration","freeModeMomentumRatio","momentumDistance","newPosition","afterBouncePosition","needsLoopFix","doBounce","bounceAmount","freeModeMomentumBounceRatio","freeModeMomentumBounce","freeModeSticky","moveDistance","currentSlideSize","longSwipesMs","stopIndex","groupSize","_increment","ratio","longSwipes","longSwipesRatio","shortSwipes","isNavButtonTarget","onResize","breakpoints","setBreakpoint","autoplay","running","paused","preventClicks","preventClicksPropagation","stopImmediatePropagation","onScroll","dummyEventAttached","dummyEventListener","attachEvents","touchEvents","move","passiveListeners","passive","cancel","updateOnWindowResize","detachEvents","_swiper$loopedSlides","breakpoint","getBreakpoint","breakpointsBase","currentBreakpoint","breakpointOnlyParams","breakpointParams","originalParams","wasMultiRow","isMultiRow","wasEnabled","containerModifierClass","emitContainerClasses","directionChanged","needsReLoop","changeDirection","isEnabled","disable","enable","containerEl","currentHeight","points","point","minRatio","_points$i","matchMedia","prepareClasses","prefix","resultClasses","addClasses","suffixes","removeClasses","loadImage","imageEl","srcset","sizes","checkForComplete","image","onReady","isPicture","complete","Image","onload","onerror","preloadImages","imagesLoaded","imagesToLoad","updateOnImagesReady","currentSrc","wasLocked","lastSlidePosition","wrapperClass","_emitClasses","prototypes","modular","eventsEmitter","manipulation","images","extendedDefaults","Swiper","swipers","moduleParamName","auto","swiperParams","passedParams","eventName","desktop","touchEventsTouch","touchEventsDesktop","clickTimeout","_proto","setProgress","getSlideClasses","slideEl","updates","spv","breakLoop","translated","translateValue","newDirection","needUpdate","currentDirection","mount","mounted","getWrapperSelector","getWrapper","deleteInstance","cleanStyles","extendDefaults","newDefaults","use","prototypeGroup","protoMethod","deleteProps","delay","currentStyle","matrix","curTransform","transformMatrix","curStyle","WebKitCSSMatrix","MozTransform","OTransform","MsTransform","msTransform","m41","m42","isNode","nextSource","keysArray","nextIndex","nextKey","bindModuleMethods","subKey","classesToSelector","createElementIfNotDefined","$container","checkProps","Coverflow","swiperWidth","swiperHeight","coverflowEffect","center","rotate","$slideEl","slideOffset","offsetMultiplier","rotateY","rotateX","translateZ","stretch","translateY","translateX","slideTransform","zIndex","round","slideShadows","$shadowBeforeEl","$shadowAfterEl","opacity","beforeInit","activeEffectScope","EffectScope","detached","_active","effects","cleanups","scopes","currentEffectScope","fromParent","effectScope","recordEffectScope","active","getCurrentScope","onScopeDispose","createDep","dep","w","wasTracked","trackOpBit","newTracked","initDepMarkers","deps","finalizeDepMarkers","ptr","targetMap","effectTrackDepth","maxMarkerBits","activeEffect","ITERATE_KEY","MAP_KEY_ITERATE_KEY","ReactiveEffect","scheduler","lastShouldTrack","shouldTrack","cleanupEffect","deferStop","onStop","_effect","lazy","runner","trackStack","pauseTracking","resetTracking","track","depsMap","eventInfo","trackEffects","debuggerEventExtraInfo","newValue","oldTarget","newLength","triggerEffects","triggerEffect","allowRecurse","getDepFromReactive","isNonTrackableKeys","builtInSymbols","get$1","createGetter","shallowGet","readonlyGet","shallowReadonlyGet","arrayInstrumentations","createArrayInstrumentations","instrumentations","toRaw","isReadonly","shallow","receiver","shallowReadonlyMap","readonlyMap","shallowReactiveMap","reactiveMap","targetIsArray","isRef","reactive","set$1","createSetter","shallowSet","hadKey","deleteProperty","has$1","mutableHandlers","readonlyHandlers","shallowReactiveHandlers","shallowReadonlyHandlers","toShallow","getProto","isShallow","rawTarget","rawKey","toReadonly","toReactive","deleteEntry","clear","hadItems","createForEach","observed","createIterableMethod","targetIsMap","isPair","isKeyOnly","innerIterator","createReadonlyMethod","createInstrumentations","mutableInstrumentations","shallowInstrumentations","readonlyInstrumentations","shallowReadonlyInstrumentations","iteratorMethods","createInstrumentationGetter","mutableCollectionHandlers","shallowCollectionHandlers","readonlyCollectionHandlers","shallowReadonlyCollectionHandlers","targetTypeMap","rawType","getTargetType","isExtensible","createReactiveObject","shallowReactive","shallowReadonly","baseHandlers","collectionHandlers","proxyMap","existingProxy","targetType","isReactive","isProxy","markRaw","trackRefValue","triggerRefValue","newVal","__v_isRef","createRef","shallowRef","__v_isShallow","_rawValue","_value","useDirectValue","triggerRef","unref","shallowUnwrapHandlers","proxyRefs","objectWithRefs","CustomRefImpl","factory","_get","_set","customRef","toRefs","toRef","ObjectRefImpl","_object","_defaultValue","_a$1","ComputedRefImpl","_setter","isSSR","_dirty","_cacheable","getterOrOptions","debugOptions","onlyGetter","cRef","assertNumber","callWithErrorHandling","handleError","callWithAsyncErrorHandling","throwInDev","contextVNode","cur","exposedInstance","errorInfo","errorCapturedHooks","ec","appErrorHandler","errorHandler","logError","isFlushing","isFlushPending","flushIndex","pendingPostFlushCbs","activePostFlushCbs","postFlushIndex","resolvedPromise","currentFlushPromise","findInsertionIndex","middle","middleJobId","getId","queueJob","job","queueFlush","flushJobs","invalidateJob","queuePostFlushCb","flushPreFlushCbs","seen","pre","flushPostFlushCbs","deduped","Infinity","comparator","devtoolsNotInstalled","setDevtoolsHook","replay","__VUE_DEVTOOLS_HOOK_REPLAY__","newHook","rawArgs","isModelListener","modelArg","modifiersKey","handlerName","emitted","normalizeEmitsOptions","asMixin","emitsCache","emits","normalized","hasExtends","extendEmits","normalizedFromExtend","mixins","extends","isEmitListener","currentRenderingInstance","currentScopeId","setCurrentRenderingInstance","__scopeId","pushScopeId","popScopeId","withScopeId","withCtx","isNonScopedSlot","renderFnWithContext","setBlockTracking","prevInstance","renderComponentRoot","withProxy","propsOptions","renderCache","setupState","fallthroughAttrs","shapeFlag","proxyToUse","normalizeVNode","getFunctionalFallthrough","blockStack","createVNode","Comment","filterModelListeners","cloneVNode","dirs","filterSingleRoot","singleRoot","shouldUpdateComponent","prevVNode","nextVNode","optimized","prevProps","prevChildren","nextProps","nextChildren","patchFlag","emitsOptions","$stable","hasPropsChanged","dynamicProps","nextKeys","updateHOCHostEl","subTree","isSuspense","__isSuspense","SuspenseImpl","n1","n2","anchor","parentComponent","parentSuspense","isSVG","slotScopeIds","rendererInternals","mountSuspense","patchSuspense","hydrate","hydrateSuspense","createSuspenseBoundary","normalizeSuspenseChildren","Suspense","triggerEvent","eventListener","patch","hiddenContainer","suspense","pendingBranch","ssContent","ssFallback","setActiveBranch","um","newBranch","newFallback","activeBranch","isInFallback","isHydrating","isSameVNodeType","pendingId","resume","delayEnter","afterLeave","hasUnresolvedAncestor","fallbackVNode","mountFallback","setupRenderEffect","isInPendingSuspense","hydratedEl","asyncDep","asyncSetupResult","suspenseId","asyncResolved","handleSetupResult","doRemove","hydrateNode","isSlotChildren","normalizeSuspenseSlot","trackBlock","isBlockTreeEnabled","openBlock","currentBlock","closeBlock","singleChild","dynamicChildren","queueEffectWithSuspense","branch","currentInstance","provides","parentProvides","inject","treatDefaultAsFactory","watchEffect","doWatch","watchPostEffect","watchSyncEffect","INITIAL_WATCHER_VALUE","immediate","onTrack","onTrigger","cleanup","forceTrigger","isMultiSource","traverse","onCleanup","baseGetter","ssrCleanup","isInSSRComponentSetup","useSSRContext","__watcherHandles","fill","queuePostRenderEffect","uid","unwatch","instanceWatch","publicThis","createPathGetter","setCurrentInstance","unsetCurrentInstance","useTransitionState","isMounted","isLeaving","isUnmounting","leavingVNodes","onMounted","onBeforeUnmount","TransitionHookValidator","BaseTransitionImpl","appear","persisted","onBeforeEnter","onAfterEnter","onEnterCancelled","onBeforeLeave","onLeave","onAfterLeave","onLeaveCancelled","onBeforeAppear","onAppear","onAfterAppear","onAppearCancelled","getCurrentInstance","prevTransitionKey","getTransitionRawChildren","hasFound","rawProps","emptyPlaceholder","innerChild","getKeepAliveChild","enterHooks","resolveTransitionHooks","setTransitionHooks","oldChild","oldInnerChild","transitionKeyChanged","getTransitionKey","leavingHooks","delayLeave","earlyRemove","delayedLeave","leavingVNodesCache","getLeavingNodesForType","_leaveCb","BaseTransition","callHook","callAsyncHook","hooks","leavingVNode","afterHook","cancelHook","called","_enterCb","cancelled","isKeepAlive","clone","keepComment","parentKey","keyedFragmentCount","Fragment","defineComponent","setup","isAsyncWrapper","__asyncLoader","defineAsyncComponent","loader","loadingComponent","errorComponent","suspensible","userOnError","resolvedComp","pendingRequest","retries","retry","load","thisRequest","userRetry","userFail","createInnerComp","loaded","delayed","ce","__isKeepAlive","KeepAliveImpl","include","exclude","sharedContext","renderer","_unmount","storageContainer","resetShapeFlag","pruneCache","getComponentName","pruneCacheEntry","activate","isDeactivated","vnodeHook","onVnodeMounted","invokeVNodeHook","deactivate","da","pendingCacheKey","cacheSubtree","getInnerChild","onUpdated","rawVNode","__asyncResolved","cachedVNode","KeepAlive","onActivated","registerKeepAliveHook","onDeactivated","wrappedHook","__wdc","injectHook","injectToKeepAliveRoot","keepAliveRoot","injected","onUnmounted","__weh","createHook","lifecycle","onBeforeMount","onBeforeUpdate","onServerPrefetch","onRenderTriggered","onRenderTracked","onErrorCaptured","withDirectives","internalInstance","getExposeProxy","bindings","updated","invokeDirectiveHook","oldBindings","COMPONENTS","DIRECTIVES","resolveComponent","maybeSelfReference","resolveAsset","NULL_DYNAMIC_COMPONENT","resolveDynamicComponent","resolveDirective","warnMissing","selfName","registry","renderList","renderItem","createSlots","dynamicSlots","renderSlot","noSlotted","validSlotContent","ensureValidVNode","rendered","createBlock","scopeId","vnodes","toHandlers","preserveCaseIfNecessary","getPublicInstance","isStatefulComponent","publicPropertiesMap","$attrs","refs","$parent","resolveMergedOptions","$watch","hasSetupBinding","__isScriptSetup","PublicInstanceProxyHandlers","accessCache","normalizedProps","shouldCacheAccess","publicGetter","cssModule","__cssModules","RuntimeCompiledPublicInstanceProxyHandlers","unscopables","applyOptions","beforeCreate","dataOptions","computedOptions","watchOptions","provideOptions","injectOptions","beforeMount","activated","deactivated","beforeDestroy","beforeUnmount","renderTracked","renderTriggered","errorCaptured","serverPrefetch","expose","filters","checkDuplicateProperties","resolveInjections","unwrapInjectedRef","methodHandler","opt","createWatcher","registerLifecycleHook","_hook","exposed","unwrapRef","normalizeInject","extendsOptions","globalMixins","optionsCache","optionMergeStrategies","strats","strat","internalOptionMergeStrats","mergeDataFn","mergeObjectOptions","mergeAsArray","mergeWatchOptions","mergeInject","initProps","isStateful","InternalObjectKey","propsDefaults","setFullProps","updateProps","rawPrevProps","rawCurrentProps","hasAttrsChanged","kebabKey","resolvePropValue","propsToUpdate","camelizedKey","needCastKeys","rawCastValues","camelKey","castValues","isAbsent","hasDefault","normalizePropsOptions","propsCache","extendProps","normalizedKey","validatePropName","booleanIndex","getTypeIndex","stringIndex","ctor","isSameType","expectedTypes","isInternalKey","normalizeSlotValue","rawSlot","normalizeObjectSlots","rawSlots","normalizeVNodeSlots","initSlots","updateSlots","needDeletionCheck","deletionComparisonTarget","createAppContext","isNativeTag","warnHandler","compilerOptions","uid$1","createAppAPI","rootComponent","rootProps","installedPlugins","_uid","_component","_props","_container","_instance","rootContainer","isHydrate","__vue_app__","setRef","rawRef","oldRawRef","isUnmount","refValue","owner","oldRef","_isString","_isRef","doSet","existing","hasMismatch","isSVGContainer","namespaceURI","tagName","isComment","createHydrationFunctions","mt","mountComponent","patchProp","createText","nextSibling","insert","createComment","hasChildNodes","_vnode","isFragmentStart","onMismatch","handleMismatch","domType","nextNode","Text","Static","needToAdoptContent","staticCount","outerHTML","hydrateFragment","hydrateElement","locateClosingAsyncAnchor","lastChild","createTextVNode","hydrateChildren","forcePatchValue","vnodeHooks","onVnodeBeforeMount","parentVNode","fragmentSlotScopeIds","isFragment","createRenderer","baseCreateRenderer","createHydrationRenderer","createHydrationFns","__VUE__","hostInsert","hostRemove","hostPatchProp","hostCreateElement","hostCreateText","hostCreateComment","setText","hostSetText","setElementText","hostSetElementText","hostParentNode","hostNextSibling","setScopeId","hostSetScopeId","insertStaticContent","hostInsertStaticContent","getNextHostNode","processText","processCommentNode","mountStaticNode","processFragment","processElement","processComponent","internals","moveStaticNode","removeStaticNode","mountElement","patchElement","mountChildren","unmountChildren","needCallTransitionHooks","enter","cloneIfMounted","oldProps","newProps","toggleRecurse","onVnodeBeforeUpdate","areChildrenSVG","patchBlockChildren","patchChildren","patchProps","onVnodeUpdated","oldChildren","newChildren","fallbackContainer","oldVNode","newVNode","fragmentStartAnchor","fragmentEndAnchor","traverseStaticChildren","updateComponent","initialVNode","createComponentInstance","setupComponent","registerDep","updateComponentPreRender","componentUpdateFn","bu","originNext","nextTree","prevTree","bm","isAsyncWrapperVNode","hydrateSubTree","scopedInitialVNode","c1","prevShapeFlag","c2","patchKeyedChildren","patchUnkeyedChildren","oldLength","commonLength","nextChild","parentAnchor","l2","e1","e2","nextPos","s1","s2","keyToNewIndexMap","patched","toBePatched","moved","maxNewIndexSoFar","newIndexToOldIndexMap","prevChild","increasingNewIndexSequence","getSequence","moveType","needTransition","leave","performLeave","shouldInvokeDirs","shouldInvokeVnodeHook","onVnodeBeforeUnmount","unmountComponent","removeFragment","performRemove","bum","mc","pc","pbc","createApp","allowed","ch1","ch2","arrI","isTeleport","__isTeleport","isTeleportDisabled","isTargetSVG","SVGElement","resolveTarget","TeleportImpl","mainAnchor","targetAnchor","wasDisabled","currentContainer","currentAnchor","moveTeleport","nextTarget","updateCssVars","hydrateTeleport","isReorder","targetNode","_lpa","Teleport","ut","disableTracking","vnodeArgsTransformer","setupBlock","createElementBlock","createBaseVNode","__v_isVNode","transformVNodeArgs","normalizeKey","normalizeRef","ref_key","ref_for","isBlockNode","needFullChildrenNormalization","__v_skip","normalizeChildren","_createVNode","cloned","isClassComponent","guardReactiveProps","klass","extraProps","mergeRef","mergedProps","mergeProps","flag","createStaticVNode","content","numberOfNodes","createCommentVNode","asBlock","memo","slotFlag","toMerge","incoming","emptyAppContext","exposeProxy","setupContext","bc","rtg","rtc","sp","compile","installWithProxy","setupResult","setupStatefulComponent","createSetupContext","resolvedResult","finishComponentSetup","__ssrInlineRender","ssrRender","registerRuntimeCompiler","_compile","_rc","isRuntimeOnly","skipOptions","template","isCustomElement","delimiters","componentCompilerOptions","finalCompilerOptions","createAttrsProxy","includeInferred","displayName","__name","defineProps","defineEmits","defineExpose","withDefaults","useSlots","getContext","useAttrs","mergeDefaults","createPropsRestProxy","excludedKeys","withAsyncContext","getAwaitable","awaitable","propsOrChildren","ssrContextKey","initCustomFormatter","withMemo","isMemoSame","_ssrUtils","ssrUtils","resolveFilter","compatUtils","svgNS","doc","templateContainer","nodeOps","createElementNS","multiple","nodeValue","patchClass","transitionClasses","_vtc","patchStyle","isCssString","setStyle","currentDisplay","cssText","importantRE","setProperty","prefixed","autoPrefix","prefixes","prefixCache","rawName","xlinkNS","patchAttr","removeAttributeNS","setAttributeNS","isBoolean","patchDOMProp","needRemove","patchEvent","prevValue","nextValue","invokers","_vei","existingInvoker","parseName","invoker","createInvoker","optionsModifierRE","cachedNow","getNow","initialValue","_vts","attached","patchStopImmediatePropagation","originalStop","_stopped","nativeOnRE","shouldSetAsProp","_trueValue","_falseValue","defineCustomElement","Comp","VueCustomElement","initialProps","super","def","defineSSRCustomElement","BaseClass","_def","_connected","_resolved","_numberProps","attachShadow","_resolveProps","_update","_resolveDef","_setAttr","attributeName","isAsync","numberProps","_applyStyles","asyncDef","declaredPropKeys","_setProp","_getProp","shouldReflect","shouldUpdate","useCssModule","mod","useCssVars","updateTeleports","vars","setVarsOnNode","setVars","setVarsOnVNode","ob","TRANSITION","ANIMATION","Transition","resolveTransitionProps","DOMTransitionPropsValidators","enterFromClass","enterActiveClass","enterToClass","appearFromClass","appearActiveClass","appearToClass","leaveFromClass","leaveActiveClass","leaveToClass","TransitionPropsValidators","hasExplicitCallback","baseProps","durations","normalizeDuration","enterDuration","leaveDuration","finishEnter","isAppear","removeTransitionClass","finishLeave","_isLeaving","makeEnterHook","nextFrame","addTransitionClass","whenTransitionEnds","forceReflow","NumberOf","cls","endId","expectedType","explicitTimeout","_endId","resolveIfNotStale","propCount","getTransitionInfo","endEvent","ended","onEnd","getStyleProperties","transitionDelays","transitionDurations","transitionTimeout","getTimeout","animationDelays","animationDurations","animationTimeout","hasTransform","delays","toMs","positionMap","newPositionMap","TransitionGroupImpl","moveClass","hasCSSTransform","callPendingCbs","recordPosition","movedChildren","applyTranslation","_moveCb","propertyName","cssTransitionProps","TransitionGroup","oldPos","newPos","dx","dy","getModelAssigner","onCompositionStart","composing","onCompositionEnd","Event","vModelText","_assign","castToNumber","domValue","vModelCheckbox","_modelValue","elementValue","getValue","checked","filtered","getCheckboxValue","setChecked","vModelRadio","vModelSelect","isSetModel","selectedVal","selected","setSelected","_binding","isMultiple","option","optionValue","vModelDynamic","callModelHook","resolveDynamicModel","modelToUse","initVModelForSSR","systemModifiers","modifierGuards","prevent","alt","right","exact","withModifiers","keyNames","esc","space","up","down","withKeys","eventKey","vShow","_vod","setDisplay","initVShowForSSR","rendererOptions","enabledHydration","ensureRenderer","ensureHydrationRenderer","containerOrSelector","normalizeContainer","createSSRApp","ssrDirectiveInitialized","initDirectivesForSSR","write","expires","secure","cookie","isNumber","toGMTString","read","requireObjectCoercible","basePlacements","viewport","variationPlacements","acc","placement","beforeRead","afterRead","beforeMain","main","afterMain","beforeWrite","afterWrite","modifierPhases","getNodeName","getWindow","ownerDocument","defaultView","isElement","OwnElement","isHTMLElement","isShadowRoot","ShadowRoot","applyStyles","elements","_ref2","initialStyles","popper","strategy","arrow","reference","styleProperties","attribute","phase","requires","getBasePlacement","getUAString","uaData","userAgentData","brands","brand","isLayoutViewport","includeScale","isFixedStrategy","clientRect","visualViewport","addVisualOffsets","getLayoutRect","rootNode","isSameNode","isTableElement","getDocumentElement","getParentNode","getTrueOffsetParent","offsetParent","getContainingBlock","isFirefox","isIE","elementCss","currentNode","perspective","contain","willChange","getOffsetParent","getMainAxisFromPlacement","within","withinMaxClamp","getFreshSideObject","mergePaddingObject","paddingObject","expandToHashMap","hashMap","rects","_state$modifiersData$","arrowElement","popperOffsets","modifiersData","basePlacement","arrowRect","minProp","maxProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","axisProp","centerOffset","_options$element","requiresIfExists","getVariation","unsetSides","roundOffsetsByDPR","win","dpr","devicePixelRatio","mapToStyles","_Object$assign2","popperRect","variation","offsets","gpuAcceleration","adaptive","roundOffsets","isFixed","_offsets$x","_offsets$y","_ref3","hasX","hasY","sideX","sideY","heightProp","widthProp","offsetY","offsetX","_Object$assign","commonStyles","_ref4","computeStyles","_ref5","_options$gpuAccelerat","_options$adaptive","_options$roundOffsets","_options$scroll","_options$resize","scrollParents","scrollParent","getOppositePlacement","getOppositeVariationPlacement","getWindowScroll","getWindowScrollBarX","getViewportRect","layoutViewport","getDocumentRect","_element$ownerDocumen","winScroll","scrollHeight","isScrollParent","_getComputedStyle","overflow","overflowX","overflowY","getScrollParent","listScrollParents","isBody","updatedList","rectToClientRect","rect","getInnerBoundingClientRect","getClientRectFromMixedType","clippingParent","getClippingParents","clippingParents","canEscapeClipping","clipperElement","getClippingRect","boundary","rootBoundary","mainClippingParents","firstClippingParent","clippingRect","accRect","computeOffsets","commonX","commonY","mainAxis","detectOverflow","_options$placement","_options$strategy","_options$boundary","_options$rootBoundary","_options$elementConte","elementContext","_options$altBoundary","altBoundary","_options$padding","altContext","clippingClientRect","contextElement","referenceClientRect","popperClientRect","elementClientRect","overflowOffsets","offsetData","multiply","computeAutoPlacement","flipVariations","_options$allowedAutoP","allowedAutoPlacements","placements","allowedPlacements","overflows","getExpandedFallbackPlacements","oppositePlacement","flip","_skip","_options$mainAxis","checkMainAxis","_options$altAxis","altAxis","checkAltAxis","specifiedFallbackPlacements","fallbackPlacements","_options$flipVariatio","preferredPlacement","isBasePlacement","referenceRect","checksMap","makeFallbackChecks","firstFittingPlacement","_basePlacement","isStartVariation","mainVariationSide","altVariationSide","checks","check","numberOfChecks","_loop","fittingPlacement","_ret","getSideOffsets","preventedOffsets","isAnySideFullyClipped","side","hide","preventOverflow","referenceOverflow","popperAltOverflow","referenceClippingOffsets","popperEscapeOffsets","isReferenceHidden","hasPopperEscaped","distanceAndSkiddingToXY","invertDistance","skidding","_options$offset","_data$state$placement","getAltAxis","_options$tether","tether","_options$tetherOffset","tetherOffset","tetherOffsetValue","normalizedTetherOffsetValue","offsetModifierState","_offsetModifierState$","mainSide","altSide","additive","maxLen","arrowPaddingObject","arrowPaddingMin","arrowPaddingMax","arrowLen","minOffset","maxOffset","clientOffset","offsetModifierValue","tetherMin","tetherMax","preventedOffset","_offsetModifierState$2","_mainSide","_altSide","_offset","_min","_max","isOriginSide","_offsetModifierValue","_tetherMin","_tetherMax","_preventedOffset","getHTMLElementScroll","getNodeScroll","isElementScaled","getCompositeRect","elementOrVirtualElement","isOffsetParentAnElement","offsetParentIsScaled","visited","depModifier","orderModifiers","orderedModifiers","debounce","pending","mergeByName","areValidElements","popperGenerator","generatorOptions","_generatorOptions","_generatorOptions$def","defaultModifiers","_generatorOptions$def2","effectCleanupFns","isDestroyed","setOptions","setOptionsAction","cleanupModifierEffects","runModifierEffects","forceUpdate","_state$elements","_state$orderedModifie","_state$orderedModifie2","_ref$options","cleanupFn","noopFn","onFirstUpdate","eventListeners","elementMap","Data","instanceMap","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","CSS","escape","toType","getUID","random","getTransitionDurationFromElement","transitionDelay","floatTransitionDuration","floatTransitionDelay","triggerTransitionEnd","jquery","getElement","getClientRects","elementIsVisible","closedDetails","summary","isDisabled","Node","ELEMENT_NODE","findShadowRoot","reflow","getjQuery","jQuery","DOMContentLoadedCallbacks","onDOMContentLoaded","readyState","isRTL","defineJQueryPlugin","NAME","JQUERY_NO_CONFLICT","jQueryInterface","noConflict","execute","possibleCallback","executeAfterTransition","transitionElement","waitForTransition","durationPadding","emulatedDuration","getNextActiveElement","shouldGetNext","isCycleAllowed","listLength","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","makeEventUid","getElementEvents","bootstrapHandler","hydrateObj","oneOff","EventHandler","bootstrapDelegationHandler","domElements","domElement","findHandler","callable","delegationSelector","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","previousFunction","removeHandler","removeNamespacedHandlers","storeElementEvent","handlerKey","inNamespace","isNamespace","elementEvent","keyHandlers","jQueryEvent","nativeDispatch","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","_unused","normalizeData","normalizeDataKey","chr","Manipulator","bsKeys","dataset","pureKey","Config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","getDataAttribute","Default","getDataAttributes","configTypes","DefaultType","valueType","BaseComponent","_element","_config","_getConfig","DATA_KEY","EVENT_KEY","isAnimated","getInstance","getSelector","hrefAttribute","SelectorEngine","ancestor","previous","focusables","findOne","enableDismissTrigger","clickEvent","getElementFromSelector","getOrCreateInstance","NAME$f","DATA_KEY$a","EVENT_KEY$b","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE$5","CLASS_NAME_SHOW$8","Alert","closeEvent","_queueCallback","_destroyElement","NAME$e","DATA_KEY$9","EVENT_KEY$a","DATA_API_KEY$6","CLASS_NAME_ACTIVE$3","SELECTOR_DATA_TOGGLE$5","EVENT_CLICK_DATA_API$6","Button","NAME$d","EVENT_KEY$9","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","Default$c","endCallback","leftCallback","rightCallback","DefaultType$c","Swipe","isSupported","_deltaX","_supportPointerEvents","_initEvents","_eventIsPointerPenTouch","clientX","_handleSwipe","absDeltaX","_start","_end","_move","pointerType","NAME$c","DATA_KEY$8","EVENT_KEY$8","DATA_API_KEY$5","ARROW_LEFT_KEY$1","ARROW_RIGHT_KEY$1","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN$1","EVENT_MOUSEENTER$1","EVENT_MOUSELEAVE$1","EVENT_DRAG_START","EVENT_LOAD_DATA_API$3","EVENT_CLICK_DATA_API$5","CLASS_NAME_CAROUSEL","CLASS_NAME_ACTIVE$2","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","Default$b","interval","keyboard","pause","ride","DefaultType$b","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","hidden","_clearInterval","_updateInterval","setInterval","nextWhenVisible","one","_getItems","_getItemIndex","_getActive","defaultInterval","_keydown","_maybeEnableCycle","_addTouchEventListeners","img","endCallBack","swipeConfig","_directionToOrder","activeIndicator","newActiveIndicator","elementInterval","isNext","nextElement","nextElementIndex","_orderToDirection","slideEvent","isCycling","_setActiveIndicatorElement","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","carousels","NAME$b","DATA_KEY$7","EVENT_KEY$7","DATA_API_KEY$4","EVENT_SHOW$6","EVENT_SHOWN$6","EVENT_HIDE$6","EVENT_HIDDEN$6","EVENT_CLICK_DATA_API$4","CLASS_NAME_SHOW$7","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","SELECTOR_DATA_TOGGLE$4","Default$a","DefaultType$a","Collapse","_isTransitioning","_triggerArray","toggleList","elem","getSelectorFromElement","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","capitalizedDimension","scrollSize","triggerArray","isOpen","getMultipleElementsFromSelector","NAME$a","DATA_KEY$6","EVENT_KEY$6","DATA_API_KEY$3","ESCAPE_KEY$2","TAB_KEY$1","ARROW_UP_KEY$1","ARROW_DOWN_KEY$1","RIGHT_MOUSE_BUTTON","EVENT_HIDE$5","EVENT_HIDDEN$5","EVENT_SHOW$5","EVENT_SHOWN$5","EVENT_CLICK_DATA_API$3","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW$6","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE$3","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","Default$9","autoClose","popperConfig","DefaultType$9","_popper","_menu","_inNavbar","_detectNavbar","showEvent","_createPopper","_completeHide","hideEvent","removeDataAttribute","referenceElement","_getPopperConfig","parentDropdown","popperData","defaultBsPopperConfig","_getPlacement","_getOffset","setDataAttribute","openToggles","composedPath","isMenuTarget","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","_selectMenuItem","dataApiKeydownHandler","clearMenus","NAME$9","CLASS_NAME_FADE$4","CLASS_NAME_SHOW$5","EVENT_MOUSEDOWN","Default$8","clickCallback","rootElement","DefaultType$8","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","NAME$8","DATA_KEY$5","EVENT_KEY$5","EVENT_FOCUSIN$2","EVENT_KEYDOWN_TAB","TAB_KEY","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","Default$7","trapElement","DefaultType$7","FocusTrap","_isActive","_lastTabNavDirection","_handleFocusin","_handleKeydown","focusableChildren","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","documentWidth","getWidth","_disableOverFlow","_setElementAttributes","calculatedValue","_resetElementAttributes","_saveInitialAttribute","styleProperty","scrollbarWidth","manipulationCallBack","_applyManipulationCallback","actualValue","removeProperty","callBack","sel","NAME$7","DATA_KEY$4","EVENT_KEY$4","DATA_API_KEY$2","ESCAPE_KEY$1","EVENT_HIDE$4","EVENT_HIDE_PREVENTED$1","EVENT_HIDDEN$4","EVENT_SHOW$4","EVENT_SHOWN$4","EVENT_RESIZE$1","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS$1","EVENT_CLICK_DATA_API$2","CLASS_NAME_OPEN","CLASS_NAME_FADE$3","CLASS_NAME_SHOW$4","CLASS_NAME_STATIC","OPEN_SELECTOR$1","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","SELECTOR_DATA_TOGGLE$2","Default$6","DefaultType$6","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","initialOverflowY","isBodyOverflowing","alreadyOpen","NAME$6","DATA_KEY$3","EVENT_KEY$3","DATA_API_KEY$1","EVENT_LOAD_DATA_API$2","ESCAPE_KEY","CLASS_NAME_SHOW$3","CLASS_NAME_SHOWING$1","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_SHOW$3","EVENT_SHOWN$3","EVENT_HIDE$3","EVENT_HIDE_PREVENTED","EVENT_HIDDEN$3","EVENT_RESIZE","EVENT_CLICK_DATA_API$1","EVENT_KEYDOWN_DISMISS","SELECTOR_DATA_TOGGLE$1","Default$5","DefaultType$5","Offcanvas","completeCallback","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","area","br","col","div","em","hr","h1","h2","h3","h4","h5","h6","li","ol","small","span","sup","strong","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","allowedAttributeList","attributeRegex","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","NAME$5","Default$4","extraClass","sanitize","sanitizeFn","DefaultType$4","DefaultContentType","TemplateFactory","_resolvePossibleFunction","getContent","_checkContent","templateWrapper","_maybeSanitize","_setContent","templateElement","_putElementInTemplate","NAME$4","DISALLOWED_ATTRIBUTES","CLASS_NAME_FADE$2","CLASS_NAME_MODAL","CLASS_NAME_SHOW$2","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_HIDE$2","EVENT_HIDDEN$2","EVENT_SHOW$2","EVENT_SHOWN$2","EVENT_INSERTED","EVENT_CLICK$1","EVENT_FOCUSIN$1","EVENT_FOCUSOUT$1","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default$3","animation","customClass","DefaultType$3","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","isInTheDom","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","toHtml","tipId","changeContent","_getDelegateConfig","attachment","triggers","_initializeOnDelegatedTarget","eventIn","eventOut","_setTimeout","dataAttributes","dataAttribute","NAME$3","SELECTOR_TITLE","SELECTOR_CONTENT","Default$2","DefaultType$2","Popover","_getContent","NAME$2","DATA_KEY$2","EVENT_KEY$2","DATA_API_KEY","EVENT_ACTIVATE","EVENT_CLICK","EVENT_LOAD_DATA_API$1","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE$1","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE$1","Default$1","rootMargin","smoothScroll","DefaultType$1","ScrollSpy","_targetLinks","_observableSections","_rootElement","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","IntersectionObserver","_observerCallback","targetElement","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","decodeURI","_activateParents","listGroup","activeNodes","spy","NAME$1","DATA_KEY$1","EVENT_KEY$1","EVENT_HIDE$1","EVENT_HIDDEN$1","EVENT_SHOW$1","EVENT_SHOWN$1","EVENT_CLICK_DATA_API","EVENT_KEYDOWN","EVENT_LOAD_DATA_API","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","CLASS_NAME_ACTIVE","CLASS_NAME_FADE$1","CLASS_NAME_SHOW$1","CLASS_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_DATA_TOGGLE","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSIN","EVENT_FOCUSOUT","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_FADE","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","isInteracting","_onInteraction","Navigation","toggleEl","disabledClass","_swiper$navigation","$nextEl","$prevEl","onPrevClick","onNextClick","_swiper$navigation2","toEdge","fromEdge","_swiper$navigation3","_swiper$navigation4","isAbsoluteURL","combineURLs","baseURL","requestedURL","thing","deprecatedWarnings","schema","allowUnknown","formatMessage","defaultConverter","converter","defaultAttributes","toUTCString","stringifiedAttributes","cookies","jar","foundKey","withAttributes","withConverter","freeze","functionToString","CancelToken","executor","resolvePromise","_listeners","onfulfilled","_resolve","unsubscribe","982","useLoading","enforceFocus","focusIn","isFullPage","parentElement","cx","cy","dur","repeatCount","viewBox","xmlns","stroke","begin","calcMode","attributeType","g","Spinner","Dots","Bars","programmatic","lockScroll","canCancel","onCancel","keyPress","disableScroll","enableScroll","background","backdropFilter","bgStyle","N","$loading","postfix","paramsList","getParams","rest","allowedParams","plainObj","initSwiper","mountSwiper","paginationEl","scrollbarEl","calcLoopedSlides","slidesPerViewParams","renderLoop","swiperRef","modifiedSlides","duplicateSlide","blankSlide","getChangedParams","oldParams","addKey","oldChildrenKeys","childrenKeys","watchParams","newKeys","oldKeys","newKey","oldKey","getChildren","originalSlots","slidesRef","oldSlidesRef","getSlidesFromElements","els","slotName","updateSwiper","needThumbsInit","needControllerInit","needPaginationInit","needScrollbarInit","needNavigationInit","changedParams","updateParams","currentParams","thumbs","controller","control","destroyModule","updateOnVirtualData","parallax","renderVirtual","virtualData","wrapperTag","a11y","cubeEffect","fadeEffect","flipEffect","hashNavigation","mousewheel","zoom","Tag","WrapperTag","containerClasses","breakpointChanged","initializedRef","swiperElRef","oldPassedParamsRef","nextElRef","prevElRef","paginationElRef","scrollbarElRef","_getParams","onBeforeBreakpoint","_beforeBreakpoint","_containerClasses","extendWith","renderExternal","renderExternalUpdate","renderSlides","_getParams2","newPassedParams","definePropertyModule","replacement","feature","detection","POLYFILL","NATIVE","Flip","limitRotation","tx","ty","shadowBefore","shadowAfter","eventTriggered","triggerEvents","overwriteParams","V8_PROTOTYPE_DEFINE_BUG","$defineProperty","ENUMERABLE","WRITABLE","Attributes","makeMap","expectsLowerCase","GLOBALS_WHITE_LISTED","isGloballyWhitelisted","normalizeStyle","parseStringStyle","listDelimiterRE","propertyDelimiterRE","styleCommentRE","tmp","normalizeClass","normalizeProps","HTML_TAGS","SVG_TAGS","isHTMLTag","isSVGTag","specialBooleanAttrs","isSpecialBooleanAttr","includeBooleanAttr","looseCompareArrays","equal","looseEqual","aValidType","bValidType","isSymbol","aKeysCount","bKeysCount","aHasKey","bHasKey","looseIndexOf","toDisplayString","objectToString","isFunction","replacer","isMap","isSet","EMPTY_OBJ","EMPTY_ARR","NOOP","NO","onRE","isOn","toTypeString","isRegExp","toRawType","isIntegerKey","isReservedProp","isBuiltInDirective","cacheStringFunction","camelizeRE","camelize","hyphenateRE","hyphenate","toHandlerKey","hasChanged","invokeArrayFns","fns","looseToNumber","toNumber","NaN","_globalThis","getGlobalThis","globalThis","toPrimitive","SwiperSlide","virtualIndex","eventAttached","slideElRef","slideClasses","updateClasses","slideData","isDuplicate","isPrev","getDevtoolsGlobalHook","getTarget","__VUE_DEVTOOLS_GLOBAL_HOOK__","isProxyAvailable","settle","buildFullPath","parseHeaders","isURLSameOrigin","onCanceled","requestData","requestHeaders","auth","username","password","unescape","Authorization","btoa","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","statusText","onreadystatechange","responseURL","onabort","ontimeout","timeoutErrorMessage","xsrfValue","withCredentials","setRequestHeader","onDownloadProgress","onUploadProgress","upload","abort","send","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","getMethod","ordinaryToPrimitive","wellKnownSymbol","TO_PRIMITIVE","exoticToPrim","ignoreDuplicateOf","FormData","ArrayBuffer","isView","pipe","URLSearchParams","product","assignValue","stripBOM","NATIVE_BIND","SHARED","normalizedName","createCommonjsModule","assignSymbols$1","isEnumerable","getSymbols","assignSymbols$2","__moduleExports","assignSymbols","assignDeep","isValidKey","isPrimitive","inBrowser","hasIntersectionObserver","checkIntersectionObserver","IntersectionObserverEntry","intersectionRatio","modeType","getBestSelectionFromSrcset","containerWidth","spaceIndex","tmpSrc","tmpWidth","lastIndexOf","tmpOption","bestSelectedSrc","getDPR","supportWebp","checkWebpFeature","kTestImages","lossy","lossless","alpha","throttle","lastRun","elapsed","runCallback","testSupportsPassive","loadImageAsync","cors","crossOrigin","naturalHeight","naturalWidth","ImageCache","_caches","free","ReactiveListener","loading","bindType","elRenderer","imageCache","attempt","_imageCache","performanceData","loadStart","loadEnd","initState","oldSrc","getRect","preLoad","preLoadTop","onFinish","log","renderLoading","beforeLoad","DEFAULT_URL","DEFAULT_EVENTS","DEFAULT_OBSERVER_OPTIONS","Lazy","throttleWait","listenEvents","observerOptions","lazyContainerMananger","ListenerQueue","TargetIndex","TargetQueue","_initEvent","lazyLoadHandler","_lazyLoadHandler","setMode","vm","_addListenerTarget","_valueFormatter","newListener","_elRenderer","exist","existItem","_removeListenerTarget","$destroy","_initListen","_initIntersectionObserver","childrenCount","listened","$on","$once","$off","inCache","freeList","catIn","checkInView","_observerHandler","useCheckInView","LazyComponent","addLazyBox","removeComponent","LazyContainerMananger","_queue","LazyContainer","imgs","getImgs","LazyImage","renderSrc","lazyContainer","vueVersion","$Lazyload","lazyComponent","lazyImage","simple","unsafe","nonConfigurable","nonWritable","createInstance","defaultConfig","axios","promises","spread","aFunction","Autoplay","$activeSlideEl","autoplayResult","reverseDirection","stopOnLastSlide","onTransitionEnd","onVisibilityChange","visibilityState","onMouseEnter","disableOnInteraction","onMouseLeave","attachMouseEvents","pauseOnMouseEnter","detachMouseEvents","beforeTransitionStart","sliderFirstMove","touchEnd","$propertyIsEnumerable","NASHORN_BUG","1","V","$Symbol","aCallable","normalizeArray","allowAboveRoot","basename","matchedSlash","xs","resolvedPath","resolvedAbsolute","isAbsolute","trailingSlash","paths","relative","fromParts","toParts","samePartsLength","outputParts","sep","delimiter","dirname","hasRoot","extname","startDot","startPart","preDotState","uncurryThisWithBind","relativeURL","getOwnPropertyDescriptorModule","exceptions","eject","RE_ARGS","identifier","hasSymbol","makeSymbol","generateFormatCacheKey","friendlyJSONstringify","json","isEmptyObject","escapeHtml","rawText","toPromise","titleText","footer","iconColor","iconHtml","toast","showClass","popup","hideClass","heightAuto","allowOutsideClick","allowEscapeKey","allowEnterKey","stopKeydownPropagation","keydownListenerCapture","showConfirmButton","showDenyButton","showCancelButton","preConfirm","preDeny","confirmButtonText","confirmButtonAriaLabel","confirmButtonColor","denyButtonText","denyButtonAriaLabel","denyButtonColor","cancelButtonText","cancelButtonAriaLabel","cancelButtonColor","buttonsStyling","reverseButtons","focusConfirm","focusDeny","focusCancel","returnFocus","showCloseButton","closeButtonHtml","closeButtonAriaLabel","loaderHtml","showLoaderOnConfirm","showLoaderOnDeny","imageUrl","imageWidth","imageHeight","imageAlt","timer","timerProgressBar","inputPlaceholder","inputLabel","inputValue","inputAutoTrim","inputAttributes","inputValidator","returnInputValueOnDeny","validationMessage","grow","progressSteps","currentProgressStep","progressStepsDistance","willOpen","didOpen","didRender","willClose","didClose","didDestroy","scrollbarPadding","C","A","B","E","T","S","L","M","D","I","H","q","confirm","deny","R","F","U","W","close","K","Y","Q","Z","J","X","previousBodyPadding","G","tt","et","st","nt","checkbox","radio","ot","at","ct","lt","dt","pt","gt","ht","ft","bt","yt","wt","vt","Ct","kt","previousActiveElement","At","restoreFocusTimeout","Pt","file","textarea","Bt","xt","resetValidationMessage","Et","oninput","onchange","Tt","St","Ot","Lt","jt","Mt","Dt","It","WebkitAnimation","Ht","qt","Vt","Rt","Nt","styled","Ft","Ut","Wt","zt","_t","awaitingPromise","innerParams","domCache","Kt","Jt","Yt","Xt","ee","Zt","Gt","Qt","innerText","insertAdjacentElement","email","tel","attributeFilter","ne","oe","ie","se","ue","de","ae","le","pe","question","warning","borderColor","me","ge","he","fe","be","ye","we","modal","ve","Ce","ke","Ae","Pe","Be","je","xe","Ee","Te","Se","Oe","Le","Me","De","Ie","He","qe","Ve","remaining","Ne","Re","Fe","MSStream","iosfix","We","Ue","paddingBottom","ontouchstart","ze","ontouchmove","Ke","touchType","$e","Ye","Ze","Qe","Xe","Ge","Je","shown","tn","_o","en","nn","cn","ln","getInput","sn","rn","an","files","un","dn","hideLoading","pn","mn","disableButtons","Cn","gn","yn","hn","bn","checkValidity","enableButtons","showValidationMessage","disableInput","enableInput","closePopup","isDenied","vn","wn","isConfirmed","rejectPromise","kn","An","xn","En","Tn","onclick","Pn","Bn","onmousedown","onmouseup","Sn","On","Ln","jn","Mn","keydownTarget","keydownHandlerAdded","keydownHandler","qn","Dn","In","Hn","Vn","Nn","Rn","Fn","isComposing","Un","Wn","zn","Kn","_main","getTimerLeft","Yn","Zn","Jn","Xn","increase","Gn","isRunning","Qn","eo","no","fire","oo","isValidParameter","isUpdatableParameter","isDeprecatedParameter","argsToParams","clickConfirm","clickDeny","clickCancel","getContainer","getPopup","getTitle","getHtmlContainer","getImage","getIcon","getInputLabel","getCloseButton","getActions","getConfirmButton","getDenyButton","getCancelButton","getLoader","getFooter","getTimerProgressBar","getFocusableElements","getValidationMessage","isLoading","showLoading","enableLoading","stopTimer","resumeTimer","toggleTimer","increaseTimer","isTimerRunning","bindClickHandler","io","so","confirmButton","denyButton","cancelButton","getElementsByClassName","ro","ao","swalPromiseResolve","swalPromiseReject","co","wo","lo","uo","fo","mo","isAwaitingPromise","isDismissed","ho","po","bo","_destroy","yo","swalCloseEventFinishedCallback","vo","Co","ko","Ao","Po","Bo","xo","inputerror","Eo","To","So","Oo","Lo","deferDisposalTimer","jo","Mo","Do","Io","disableLoading","closeModal","closeToast","getProgressSteps","Ho","qo","No","Ro","Vo","finally","dismiss","closeButton","Fo","Uo","Wo","zo","DismissReason","Sweetalert2","swal","sweetAlert","Swal","SweetAlert","$swal","IndexedObject","ssrDocument","createEvent","initEvent","getElementsByTagName","importNode","origin","getDocument","ssrWindow","pushState","cancelAnimationFrame"],"mappings":"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gwD,IAAS,EACpBvrD,EAAM,SAAUtG,EAAI2xD,GAClB,GAAIx5D,EAAO6H,EAAI6xD,GAAQ,MAAM3yD,EAAUqyD,GAGvC,OAFAI,EAASC,OAAS5xD,EAClBc,EAA4Bd,EAAI6xD,EAAOF,GAChCA,GAETn1D,EAAM,SAAUwD,GACd,OAAO7H,EAAO6H,EAAI6xD,GAAS7xD,EAAG6xD,GAAS,IAEzCxrD,EAAM,SAAUrG,GACd,OAAO7H,EAAO6H,EAAI6xD,IAItBx6D,EAAOC,QAAU,CACfgP,IAAKA,EACL9J,IAAKA,EACL6J,IAAKA,EACLhJ,QAASA,EACTo0D,UAAWA,I,oCCnEbl6D,OAAOgF,eAAejF,EAAS,aAAc,CAAEqG,OAAO,IAGtDrG,EAAQm4B,QAAU,CAACqiC,EAAKnjD,KACpB,MAAMvP,EAAS0yD,EAAI/L,WAAa+L,EAChC,IAAK,MAAO7xD,EAAKqS,KAAQ3D,EACrBvP,EAAOa,GAAOqS,EAElB,OAAOlT,I,oCCTX,mDACA,MAAM2yD,EAAe,CACnB,CACE,6BACA,KACA,MAEF,CACE,qBACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,iBACA,KACA,QAEF,CACE,UACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,WACA,KACA,QAEF,CACE,sBACA,KACA,QAEF,CACE,YACA,KACA,MAEF,CACE,qBACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,YACA,KACA,MAEF,CACE,uBACA,KACA,MAEF,CACE,0BACA,KACA,OAEF,CACE,UACA,KACA,QAEF,CACE,uBACA,KACA,OAEF,CACE,wBACA,KACA,OAEF,CACE,WACA,KACA,QAEF,CACE,qBACA,KACA,OAEF,CACE,mBACA,KACA,MAEF,CACE,SACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,UACA,KACA,QAEF,CACE,iBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,+CACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,kBACA,KACA,MAEF,CACE,iCACA,KACA,OAEF,CACE,yBACA,KACA,QAEF,CACE,SACA,KACA,OAEF,CACE,sBACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,sBACA,KACA,OAEF,CACE,SACA,KACA,KAEF,CACE,0BACA,KACA,OAEF,CACE,wBACA,KACA,OAEF,CACE,iBACA,KACA,QAEF,CACE,uDACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,QACA,KACA,MAEF,CACE,aACA,KACA,MAEF,CACE,mBACA,KACA,MAEF,CACE,0BACA,KACA,MAEF,CACE,WACA,KACA,MAEF,CACE,yBACA,KACA,OAEF,CACE,iDACA,KACA,OAEF,CACE,uCACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,OACA,KACA,MAEF,CACE,UACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,mCACA,KACA,OAEF,CACE,oBACA,KACA,MAEF,CACE,WACA,KACA,OAEF,CACE,WACA,KACA,QAEF,CACE,4CACA,KACA,KAEF,CACE,UACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,cACA,KACA,OAEF,CACE,wCACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,oCACA,KACA,OAEF,CACE,0BACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,SACA,KACA,MAEF,CACE,mCACA,KACA,OAEF,CACE,yCACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,wBACA,KACA,MAEF,CACE,gBACA,KACA,OAEF,CACE,YACA,KACA,OAEF,CACE,kBACA,KACA,MAEF,CACE,+BACA,KACA,OAEF,CACE,UACA,KACA,QAEF,CACE,aACA,KACA,OAEF,CACE,OACA,KACA,QAEF,CACE,YACA,KACA,OAEF,CACE,WACA,KACA,KACA,GAEF,CACE,kBACA,KACA,OAEF,CACE,+BACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,iBACA,KACA,OAEF,CACE,yBACA,KACA,MAEF,CACE,mBACA,KACA,OAEF,CACE,eACA,KACA,MAEF,CACE,YACA,KACA,MAEF,CACE,kBACA,KACA,MAEF,CACE,mBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,cACA,KACA,MAEF,CACE,oBACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,UACA,KACA,QAEF,CACE,aACA,KACA,MAEF,CACE,SACA,KACA,MAEF,CACE,qBACA,KACA,OAEF,CACE,yBACA,KACA,KAEF,CACE,QACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,0BACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,qBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,sBACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,iCACA,KACA,OAEF,CACE,4BACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,WACA,KACA,MAEF,CACE,WACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,4BACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,kBACA,KACA,MAEF,CACE,aACA,KACA,OAEF,CACE,8BACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,yBACA,KACA,OAEF,CACE,aACA,KACA,QAEF,CACE,sBACA,KACA,OAEF,CACE,0BACA,KACA,OAEF,CACE,2BACA,KACA,MAEF,CACE,oBACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,0BACA,KACA,MAEF,CACE,qCACA,KACA,OAEF,CACE,cACA,KACA,MAEF,CACE,YACA,KACA,OAEF,CACE,gBACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,iBACA,KACA,OAEF,CACE,+BACA,KACA,OAEF,CACE,2BACA,KACA,QAEF,CACE,iBACA,KACA,MAEF,CACE,kBACA,KACA,OAEF,CACE,wBACA,KACA,MAEF,CACE,QACA,KACA,OAEF,CACE,wBACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,cACA,KACA,MAEF,CACE,cACA,KACA,MAEF,CACE,kBACA,KACA,MAEF,CACE,WACA,KACA,OAEF,CACE,cACA,KACA,KAEF,CACE,iBACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,oBACA,KACA,MAEF,CACE,kBACA,KACA,KAEF,CACE,SACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,wBACA,KACA,QAEF,CACE,cACA,KACA,QAEF,CACE,iDACA,KACA,OAEF,CACE,uDACA,KACA,OAEF,CACE,mCACA,KACA,QAEF,CACE,QACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,8CACA,KACA,OAEF,CACE,6CACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,eACA,KACA,OAEF,CACE,YACA,KACA,MAEF,CACE,eACA,KACA,QAEF,CACE,uBACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,kBACA,KACA,OAEF,CACE,uBACA,KACA,OAEF,CACE,eACA,KACA,MAEF,CACE,qBACA,KACA,MAEF,CACE,gCACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,0BACA,KACA,MAEF,CACE,qBACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,yBACA,KACA,MAEF,CACE,YACA,KACA,OAEF,CACE,mBACA,KACA,MAEF,CACE,wBACA,KACA,MAEF,CACE,mBACA,KACA,OAEF,CACE,cACA,KACA,OAEF,CACE,aACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,cACA,KACA,OAEF,CACE,OACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,QACA,KACA,OAEF,CACE,sBACA,KACA,QAEF,CACE,oBACA,KACA,OAEF,CACE,mBACA,KACA,MAEF,CACE,eACA,KACA,OAEF,CACE,2BACA,KACA,QAEF,CACE,SACA,KACA,OAEF,CACE,sBACA,KACA,QAEF,CACE,SACA,KACA,OAEF,CACE,oBACA,KACA,OAEF,CACE,qDACA,KACA,OAEF,CACE,iBACA,KACA,MAEF,CACE,gBACA,KACA,KAEF,CACE,UACA,KACA,OAEF,CACE,2BACA,KACA,OAEF,CACE,UACA,KACA,OAEF,CACE,oCACA,KACA,MAEF,CACE,YACA,KACA,MAEF,CACE,qBACA,KACA,MAEF,CACE,uCACA,KACA,OAEF,CACE,sCACA,KACA,OAEF,CACE,mBACA,KACA,OAEF,CACE,SACA,KACA,OAEF,CACE,WACA,KACA,OAEF,CACE,gBACA,KACA,QAGJ,IAAIC,EAAiBD,EAAarpD,IAAI,EAAE3K,EAAMk0D,EAAMC,MAAc,CAChEn0D,OACAk0D,KAAMA,EAAKrmC,cACXsmC,cAEF,SAASC,IACP,OAAOC,MAAM,sBAAsBz2D,KAAMhC,GAAaA,EAASoV,QAAQpT,KAAMhC,IAC3E,MAAM04D,GAAW14D,GAAY,IAAI+E,WACjC,IAAK2zD,GAA0B,MAAfA,EAAQ,GACtB,MAAM,IAAIlgD,MAAM,+BAElB,OAAOkgD,EAAQ5mC,OAAO,EAAG,KAG7B,SAAS6mC,EAAiBC,EAAMl1C,GAC9B,GAAIk1C,EAAK3B,kBACP2B,EAAK5C,QACL4C,EAAK3B,kBAAkBvzC,EAAKA,QACvB,GAAIk1C,EAAKC,gBAAiB,CAC/B,MAAMC,EAAQF,EA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AAO,GAAM,CAAC,MAAO,GAAM,CAAC,KAAM,KAAM,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,GAAM,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,KAAM,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,MAAO,IAAO,CAAC,M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","file":"js/chunk-vendors.6bb28aca.js","sourcesContent":["/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof config === 'string') {\n config = arguments[1] || {};\n config.url = arguments[0];\n } else {\n config = config || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","/**\n * Dom7 3.0.0\n * Minimalistic JavaScript library for DOM manipulation, with a jQuery-compatible API\n * https://framework7.io/docs/dom7.html\n *\n * Copyright 2020, Vladimir Kharlampidi\n *\n * Licensed under MIT\n *\n * Released on: November 9, 2020\n */\nimport { getWindow, getDocument } from 'ssr-window';\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\n/* eslint-disable no-proto */\nfunction makeReactive(obj) {\n var proto = obj.__proto__;\n Object.defineProperty(obj, '__proto__', {\n get: function get() {\n return proto;\n },\n set: function set(value) {\n proto.__proto__ = value;\n }\n });\n}\n\nvar Dom7 = /*#__PURE__*/function (_Array) {\n _inheritsLoose(Dom7, _Array);\n\n function Dom7(items) {\n var _this;\n\n _this = _Array.call.apply(_Array, [this].concat(items)) || this;\n makeReactive(_assertThisInitialized(_this));\n return _this;\n }\n\n return Dom7;\n}( /*#__PURE__*/_wrapNativeSuper(Array));\n\nfunction arrayFlat(arr) {\n if (arr === void 0) {\n arr = [];\n }\n\n var res = [];\n arr.forEach(function (el) {\n if (Array.isArray(el)) {\n res.push.apply(res, arrayFlat(el));\n } else {\n res.push(el);\n }\n });\n return res;\n}\nfunction arrayFilter(arr, callback) {\n return Array.prototype.filter.call(arr, callback);\n}\nfunction arrayUnique(arr) {\n var uniqueArray = [];\n\n for (var i = 0; i < arr.length; i += 1) {\n if (uniqueArray.indexOf(arr[i]) === -1) uniqueArray.push(arr[i]);\n }\n\n return uniqueArray;\n}\nfunction toCamelCase(string) {\n return string.toLowerCase().replace(/-(.)/g, function (match, group) {\n return group.toUpperCase();\n });\n}\n\nfunction qsa(selector, context) {\n if (typeof selector !== 'string') {\n return [selector];\n }\n\n var a = [];\n var res = context.querySelectorAll(selector);\n\n for (var i = 0; i < res.length; i += 1) {\n a.push(res[i]);\n }\n\n return a;\n}\n\nfunction $(selector, context) {\n var window = getWindow();\n var document = getDocument();\n var arr = [];\n\n if (!context && selector instanceof Dom7) {\n return selector;\n }\n\n if (!selector) {\n return new Dom7(arr);\n }\n\n if (typeof selector === 'string') {\n var html = selector.trim();\n\n if (html.indexOf('<') >= 0 && html.indexOf('>') >= 0) {\n var toCreate = 'div';\n if (html.indexOf(' 0;\n }).length > 0;\n}\n\nfunction attr(attrs, value) {\n if (arguments.length === 1 && typeof attrs === 'string') {\n // Get attr\n if (this[0]) return this[0].getAttribute(attrs);\n return undefined;\n } // Set attrs\n\n\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i].setAttribute(attrs, value);\n } else {\n // Object\n for (var attrName in attrs) {\n this[i][attrName] = attrs[attrName];\n this[i].setAttribute(attrName, attrs[attrName]);\n }\n }\n }\n\n return this;\n}\n\nfunction removeAttr(attr) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].removeAttribute(attr);\n }\n\n return this;\n}\n\nfunction prop(props, value) {\n if (arguments.length === 1 && typeof props === 'string') {\n // Get prop\n if (this[0]) return this[0][props];\n } else {\n // Set props\n for (var i = 0; i < this.length; i += 1) {\n if (arguments.length === 2) {\n // String\n this[i][props] = value;\n } else {\n // Object\n for (var propName in props) {\n this[i][propName] = props[propName];\n }\n }\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction data(key, value) {\n var el;\n\n if (typeof value === 'undefined') {\n el = this[0];\n if (!el) return undefined; // Get value\n\n if (el.dom7ElementDataStorage && key in el.dom7ElementDataStorage) {\n return el.dom7ElementDataStorage[key];\n }\n\n var dataKey = el.getAttribute(\"data-\" + key);\n\n if (dataKey) {\n return dataKey;\n }\n\n return undefined;\n } // Set value\n\n\n for (var i = 0; i < this.length; i += 1) {\n el = this[i];\n if (!el.dom7ElementDataStorage) el.dom7ElementDataStorage = {};\n el.dom7ElementDataStorage[key] = value;\n }\n\n return this;\n}\n\nfunction removeData(key) {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.dom7ElementDataStorage && el.dom7ElementDataStorage[key]) {\n el.dom7ElementDataStorage[key] = null;\n delete el.dom7ElementDataStorage[key];\n }\n }\n}\n\nfunction dataset() {\n var el = this[0];\n if (!el) return undefined;\n var dataset = {}; // eslint-disable-line\n\n if (el.dataset) {\n for (var dataKey in el.dataset) {\n dataset[dataKey] = el.dataset[dataKey];\n }\n } else {\n for (var i = 0; i < el.attributes.length; i += 1) {\n var _attr = el.attributes[i];\n\n if (_attr.name.indexOf('data-') >= 0) {\n dataset[toCamelCase(_attr.name.split('data-')[1])] = _attr.value;\n }\n }\n }\n\n for (var key in dataset) {\n if (dataset[key] === 'false') dataset[key] = false;else if (dataset[key] === 'true') dataset[key] = true;else if (parseFloat(dataset[key]) === dataset[key] * 1) dataset[key] *= 1;\n }\n\n return dataset;\n}\n\nfunction val(value) {\n if (typeof value === 'undefined') {\n // get value\n var el = this[0];\n if (!el) return undefined;\n\n if (el.multiple && el.nodeName.toLowerCase() === 'select') {\n var values = [];\n\n for (var i = 0; i < el.selectedOptions.length; i += 1) {\n values.push(el.selectedOptions[i].value);\n }\n\n return values;\n }\n\n return el.value;\n } // set value\n\n\n for (var _i = 0; _i < this.length; _i += 1) {\n var _el = this[_i];\n\n if (Array.isArray(value) && _el.multiple && _el.nodeName.toLowerCase() === 'select') {\n for (var j = 0; j < _el.options.length; j += 1) {\n _el.options[j].selected = value.indexOf(_el.options[j].value) >= 0;\n }\n } else {\n _el.value = value;\n }\n }\n\n return this;\n}\n\nfunction value(value) {\n return this.val(value);\n}\n\nfunction transform(transform) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transform = transform;\n }\n\n return this;\n}\n\nfunction transition(duration) {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.transitionDuration = typeof duration !== 'string' ? duration + \"ms\" : duration;\n }\n\n return this;\n}\n\nfunction on() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n\n function handleLiveEvent(e) {\n var target = e.target;\n if (!target) return;\n var eventData = e.target.dom7EventData || [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n if ($(target).is(targetSelector)) listener.apply(target, eventData);else {\n var _parents = $(target).parents(); // eslint-disable-line\n\n\n for (var k = 0; k < _parents.length; k += 1) {\n if ($(_parents[k]).is(targetSelector)) listener.apply(_parents[k], eventData);\n }\n }\n }\n\n function handleEvent(e) {\n var eventData = e && e.target ? e.target.dom7EventData || [] : [];\n\n if (eventData.indexOf(e) < 0) {\n eventData.unshift(e);\n }\n\n listener.apply(this, eventData);\n }\n\n var events = eventType.split(' ');\n var j;\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (!targetSelector) {\n for (j = 0; j < events.length; j += 1) {\n var event = events[j];\n if (!el.dom7Listeners) el.dom7Listeners = {};\n if (!el.dom7Listeners[event]) el.dom7Listeners[event] = [];\n el.dom7Listeners[event].push({\n listener: listener,\n proxyListener: handleEvent\n });\n el.addEventListener(event, handleEvent, capture);\n }\n } else {\n // Live events\n for (j = 0; j < events.length; j += 1) {\n var _event = events[j];\n if (!el.dom7LiveListeners) el.dom7LiveListeners = {};\n if (!el.dom7LiveListeners[_event]) el.dom7LiveListeners[_event] = [];\n\n el.dom7LiveListeners[_event].push({\n listener: listener,\n proxyListener: handleLiveEvent\n });\n\n el.addEventListener(_event, handleLiveEvent, capture);\n }\n }\n }\n\n return this;\n}\n\nfunction off() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n var eventType = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventType = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n if (!capture) capture = false;\n var events = eventType.split(' ');\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n var handlers = void 0;\n\n if (!targetSelector && el.dom7Listeners) {\n handlers = el.dom7Listeners[event];\n } else if (targetSelector && el.dom7LiveListeners) {\n handlers = el.dom7LiveListeners[event];\n }\n\n if (handlers && handlers.length) {\n for (var k = handlers.length - 1; k >= 0; k -= 1) {\n var handler = handlers[k];\n\n if (listener && handler.listener === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (listener && handler.listener && handler.listener.dom7proxy && handler.listener.dom7proxy === listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n } else if (!listener) {\n el.removeEventListener(event, handler.proxyListener, capture);\n handlers.splice(k, 1);\n }\n }\n }\n }\n }\n\n return this;\n}\n\nfunction once() {\n var dom = this;\n\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n\n var eventName = args[0],\n targetSelector = args[1],\n listener = args[2],\n capture = args[3];\n\n if (typeof args[1] === 'function') {\n eventName = args[0];\n listener = args[1];\n capture = args[2];\n targetSelector = undefined;\n }\n\n function onceHandler() {\n for (var _len8 = arguments.length, eventArgs = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n eventArgs[_key8] = arguments[_key8];\n }\n\n listener.apply(this, eventArgs);\n dom.off(eventName, targetSelector, onceHandler, capture);\n\n if (onceHandler.dom7proxy) {\n delete onceHandler.dom7proxy;\n }\n }\n\n onceHandler.dom7proxy = listener;\n return dom.on(eventName, targetSelector, onceHandler, capture);\n}\n\nfunction trigger() {\n var window = getWindow();\n\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n\n var events = args[0].split(' ');\n var eventData = args[1];\n\n for (var i = 0; i < events.length; i += 1) {\n var event = events[i];\n\n for (var j = 0; j < this.length; j += 1) {\n var el = this[j];\n\n if (window.CustomEvent) {\n var evt = new window.CustomEvent(event, {\n detail: eventData,\n bubbles: true,\n cancelable: true\n });\n el.dom7EventData = args.filter(function (data, dataIndex) {\n return dataIndex > 0;\n });\n el.dispatchEvent(evt);\n el.dom7EventData = [];\n delete el.dom7EventData;\n }\n }\n }\n\n return this;\n}\n\nfunction transitionEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('transitionend', fireCallBack);\n }\n\n if (callback) {\n dom.on('transitionend', fireCallBack);\n }\n\n return this;\n}\n\nfunction animationEnd(callback) {\n var dom = this;\n\n function fireCallBack(e) {\n if (e.target !== this) return;\n callback.call(this, e);\n dom.off('animationend', fireCallBack);\n }\n\n if (callback) {\n dom.on('animationend', fireCallBack);\n }\n\n return this;\n}\n\nfunction width() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerWidth;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('width'));\n }\n\n return null;\n}\n\nfunction outerWidth(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles = this.styles();\n\n return this[0].offsetWidth + parseFloat(_styles.getPropertyValue('margin-right')) + parseFloat(_styles.getPropertyValue('margin-left'));\n }\n\n return this[0].offsetWidth;\n }\n\n return null;\n}\n\nfunction height() {\n var window = getWindow();\n\n if (this[0] === window) {\n return window.innerHeight;\n }\n\n if (this.length > 0) {\n return parseFloat(this.css('height'));\n }\n\n return null;\n}\n\nfunction outerHeight(includeMargins) {\n if (this.length > 0) {\n if (includeMargins) {\n var _styles2 = this.styles();\n\n return this[0].offsetHeight + parseFloat(_styles2.getPropertyValue('margin-top')) + parseFloat(_styles2.getPropertyValue('margin-bottom'));\n }\n\n return this[0].offsetHeight;\n }\n\n return null;\n}\n\nfunction offset() {\n if (this.length > 0) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var box = el.getBoundingClientRect();\n var body = document.body;\n var clientTop = el.clientTop || body.clientTop || 0;\n var clientLeft = el.clientLeft || body.clientLeft || 0;\n var scrollTop = el === window ? window.scrollY : el.scrollTop;\n var scrollLeft = el === window ? window.scrollX : el.scrollLeft;\n return {\n top: box.top + scrollTop - clientTop,\n left: box.left + scrollLeft - clientLeft\n };\n }\n\n return null;\n}\n\nfunction hide() {\n for (var i = 0; i < this.length; i += 1) {\n this[i].style.display = 'none';\n }\n\n return this;\n}\n\nfunction show() {\n var window = getWindow();\n\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.style.display === 'none') {\n el.style.display = '';\n }\n\n if (window.getComputedStyle(el, null).getPropertyValue('display') === 'none') {\n // Still not visible\n el.style.display = 'block';\n }\n }\n\n return this;\n}\n\nfunction styles() {\n var window = getWindow();\n if (this[0]) return window.getComputedStyle(this[0], null);\n return {};\n}\n\nfunction css(props, value) {\n var window = getWindow();\n var i;\n\n if (arguments.length === 1) {\n if (typeof props === 'string') {\n // .css('width')\n if (this[0]) return window.getComputedStyle(this[0], null).getPropertyValue(props);\n } else {\n // .css({ width: '100px' })\n for (i = 0; i < this.length; i += 1) {\n for (var _prop in props) {\n this[i].style[_prop] = props[_prop];\n }\n }\n\n return this;\n }\n }\n\n if (arguments.length === 2 && typeof props === 'string') {\n // .css('width', '100px')\n for (i = 0; i < this.length; i += 1) {\n this[i].style[props] = value;\n }\n\n return this;\n }\n\n return this;\n}\n\nfunction each(callback) {\n if (!callback) return this;\n this.forEach(function (el, index) {\n callback.apply(el, [el, index]);\n });\n return this;\n}\n\nfunction filter(callback) {\n var result = arrayFilter(this, callback);\n return $(result);\n}\n\nfunction html(html) {\n if (typeof html === 'undefined') {\n return this[0] ? this[0].innerHTML : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].innerHTML = html;\n }\n\n return this;\n}\n\nfunction text(text) {\n if (typeof text === 'undefined') {\n return this[0] ? this[0].textContent.trim() : null;\n }\n\n for (var i = 0; i < this.length; i += 1) {\n this[i].textContent = text;\n }\n\n return this;\n}\n\nfunction is(selector) {\n var window = getWindow();\n var document = getDocument();\n var el = this[0];\n var compareWith;\n var i;\n if (!el || typeof selector === 'undefined') return false;\n\n if (typeof selector === 'string') {\n if (el.matches) return el.matches(selector);\n if (el.webkitMatchesSelector) return el.webkitMatchesSelector(selector);\n if (el.msMatchesSelector) return el.msMatchesSelector(selector);\n compareWith = $(selector);\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n if (selector === document) {\n return el === document;\n }\n\n if (selector === window) {\n return el === window;\n }\n\n if (selector.nodeType || selector instanceof Dom7) {\n compareWith = selector.nodeType ? [selector] : selector;\n\n for (i = 0; i < compareWith.length; i += 1) {\n if (compareWith[i] === el) return true;\n }\n\n return false;\n }\n\n return false;\n}\n\nfunction index() {\n var child = this[0];\n var i;\n\n if (child) {\n i = 0; // eslint-disable-next-line\n\n while ((child = child.previousSibling) !== null) {\n if (child.nodeType === 1) i += 1;\n }\n\n return i;\n }\n\n return undefined;\n}\n\nfunction eq(index) {\n if (typeof index === 'undefined') return this;\n var length = this.length;\n\n if (index > length - 1) {\n return $([]);\n }\n\n if (index < 0) {\n var returnIndex = length + index;\n if (returnIndex < 0) return $([]);\n return $([this[returnIndex]]);\n }\n\n return $([this[index]]);\n}\n\nfunction append() {\n var newChild;\n var document = getDocument();\n\n for (var k = 0; k < arguments.length; k += 1) {\n newChild = k < 0 || arguments.length <= k ? undefined : arguments[k];\n\n for (var i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n while (tempDiv.firstChild) {\n this[i].appendChild(tempDiv.firstChild);\n }\n } else if (newChild instanceof Dom7) {\n for (var j = 0; j < newChild.length; j += 1) {\n this[i].appendChild(newChild[j]);\n }\n } else {\n this[i].appendChild(newChild);\n }\n }\n }\n\n return this;\n}\n\nfunction appendTo(parent) {\n $(parent).append(this);\n return this;\n}\n\nfunction prepend(newChild) {\n var document = getDocument();\n var i;\n var j;\n\n for (i = 0; i < this.length; i += 1) {\n if (typeof newChild === 'string') {\n var tempDiv = document.createElement('div');\n tempDiv.innerHTML = newChild;\n\n for (j = tempDiv.childNodes.length - 1; j >= 0; j -= 1) {\n this[i].insertBefore(tempDiv.childNodes[j], this[i].childNodes[0]);\n }\n } else if (newChild instanceof Dom7) {\n for (j = 0; j < newChild.length; j += 1) {\n this[i].insertBefore(newChild[j], this[i].childNodes[0]);\n }\n } else {\n this[i].insertBefore(newChild, this[i].childNodes[0]);\n }\n }\n\n return this;\n}\n\nfunction prependTo(parent) {\n $(parent).prepend(this);\n return this;\n}\n\nfunction insertBefore(selector) {\n var before = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (before.length === 1) {\n before[0].parentNode.insertBefore(this[i], before[0]);\n } else if (before.length > 1) {\n for (var j = 0; j < before.length; j += 1) {\n before[j].parentNode.insertBefore(this[i].cloneNode(true), before[j]);\n }\n }\n }\n}\n\nfunction insertAfter(selector) {\n var after = $(selector);\n\n for (var i = 0; i < this.length; i += 1) {\n if (after.length === 1) {\n after[0].parentNode.insertBefore(this[i], after[0].nextSibling);\n } else if (after.length > 1) {\n for (var j = 0; j < after.length; j += 1) {\n after[j].parentNode.insertBefore(this[i].cloneNode(true), after[j].nextSibling);\n }\n }\n }\n}\n\nfunction next(selector) {\n if (this.length > 0) {\n if (selector) {\n if (this[0].nextElementSibling && $(this[0].nextElementSibling).is(selector)) {\n return $([this[0].nextElementSibling]);\n }\n\n return $([]);\n }\n\n if (this[0].nextElementSibling) return $([this[0].nextElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction nextAll(selector) {\n var nextEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.nextElementSibling) {\n var _next = el.nextElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_next).is(selector)) nextEls.push(_next);\n } else nextEls.push(_next);\n\n el = _next;\n }\n\n return $(nextEls);\n}\n\nfunction prev(selector) {\n if (this.length > 0) {\n var el = this[0];\n\n if (selector) {\n if (el.previousElementSibling && $(el.previousElementSibling).is(selector)) {\n return $([el.previousElementSibling]);\n }\n\n return $([]);\n }\n\n if (el.previousElementSibling) return $([el.previousElementSibling]);\n return $([]);\n }\n\n return $([]);\n}\n\nfunction prevAll(selector) {\n var prevEls = [];\n var el = this[0];\n if (!el) return $([]);\n\n while (el.previousElementSibling) {\n var _prev = el.previousElementSibling; // eslint-disable-line\n\n if (selector) {\n if ($(_prev).is(selector)) prevEls.push(_prev);\n } else prevEls.push(_prev);\n\n el = _prev;\n }\n\n return $(prevEls);\n}\n\nfunction siblings(selector) {\n return this.nextAll(selector).add(this.prevAll(selector));\n}\n\nfunction parent(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode !== null) {\n if (selector) {\n if ($(this[i].parentNode).is(selector)) parents.push(this[i].parentNode);\n } else {\n parents.push(this[i].parentNode);\n }\n }\n }\n\n return $(parents);\n}\n\nfunction parents(selector) {\n var parents = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var _parent = this[i].parentNode; // eslint-disable-line\n\n while (_parent) {\n if (selector) {\n if ($(_parent).is(selector)) parents.push(_parent);\n } else {\n parents.push(_parent);\n }\n\n _parent = _parent.parentNode;\n }\n }\n\n return $(parents);\n}\n\nfunction closest(selector) {\n var closest = this; // eslint-disable-line\n\n if (typeof selector === 'undefined') {\n return $([]);\n }\n\n if (!closest.is(selector)) {\n closest = closest.parents(selector).eq(0);\n }\n\n return closest;\n}\n\nfunction find(selector) {\n var foundElements = [];\n\n for (var i = 0; i < this.length; i += 1) {\n var found = this[i].querySelectorAll(selector);\n\n for (var j = 0; j < found.length; j += 1) {\n foundElements.push(found[j]);\n }\n }\n\n return $(foundElements);\n}\n\nfunction children(selector) {\n var children = []; // eslint-disable-line\n\n for (var i = 0; i < this.length; i += 1) {\n var childNodes = this[i].children;\n\n for (var j = 0; j < childNodes.length; j += 1) {\n if (!selector || $(childNodes[j]).is(selector)) {\n children.push(childNodes[j]);\n }\n }\n }\n\n return $(children);\n}\n\nfunction remove() {\n for (var i = 0; i < this.length; i += 1) {\n if (this[i].parentNode) this[i].parentNode.removeChild(this[i]);\n }\n\n return this;\n}\n\nfunction detach() {\n return this.remove();\n}\n\nfunction add() {\n var dom = this;\n var i;\n var j;\n\n for (var _len10 = arguments.length, els = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n els[_key10] = arguments[_key10];\n }\n\n for (i = 0; i < els.length; i += 1) {\n var toAdd = $(els[i]);\n\n for (j = 0; j < toAdd.length; j += 1) {\n dom.push(toAdd[j]);\n }\n }\n\n return dom;\n}\n\nfunction empty() {\n for (var i = 0; i < this.length; i += 1) {\n var el = this[i];\n\n if (el.nodeType === 1) {\n for (var j = 0; j < el.childNodes.length; j += 1) {\n if (el.childNodes[j].parentNode) {\n el.childNodes[j].parentNode.removeChild(el.childNodes[j]);\n }\n }\n\n el.textContent = '';\n }\n }\n\n return this;\n}\n\nfunction scrollTo() {\n var window = getWindow();\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var left = args[0],\n top = args[1],\n duration = args[2],\n easing = args[3],\n callback = args[4];\n\n if (args.length === 4 && typeof easing === 'function') {\n callback = easing;\n left = args[0];\n top = args[1];\n duration = args[2];\n callback = args[3];\n easing = args[4];\n }\n\n if (typeof easing === 'undefined') easing = 'swing';\n return this.each(function animate() {\n var el = this;\n var currentTop;\n var currentLeft;\n var maxTop;\n var maxLeft;\n var newTop;\n var newLeft;\n var scrollTop; // eslint-disable-line\n\n var scrollLeft; // eslint-disable-line\n\n var animateTop = top > 0 || top === 0;\n var animateLeft = left > 0 || left === 0;\n\n if (typeof easing === 'undefined') {\n easing = 'swing';\n }\n\n if (animateTop) {\n currentTop = el.scrollTop;\n\n if (!duration) {\n el.scrollTop = top;\n }\n }\n\n if (animateLeft) {\n currentLeft = el.scrollLeft;\n\n if (!duration) {\n el.scrollLeft = left;\n }\n }\n\n if (!duration) return;\n\n if (animateTop) {\n maxTop = el.scrollHeight - el.offsetHeight;\n newTop = Math.max(Math.min(top, maxTop), 0);\n }\n\n if (animateLeft) {\n maxLeft = el.scrollWidth - el.offsetWidth;\n newLeft = Math.max(Math.min(left, maxLeft), 0);\n }\n\n var startTime = null;\n if (animateTop && newTop === currentTop) animateTop = false;\n if (animateLeft && newLeft === currentLeft) animateLeft = false;\n\n function render(time) {\n if (time === void 0) {\n time = new Date().getTime();\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n var progress = Math.max(Math.min((time - startTime) / duration, 1), 0);\n var easeProgress = easing === 'linear' ? progress : 0.5 - Math.cos(progress * Math.PI) / 2;\n var done;\n if (animateTop) scrollTop = currentTop + easeProgress * (newTop - currentTop);\n if (animateLeft) scrollLeft = currentLeft + easeProgress * (newLeft - currentLeft);\n\n if (animateTop && newTop > currentTop && scrollTop >= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateTop && newTop < currentTop && scrollTop <= newTop) {\n el.scrollTop = newTop;\n done = true;\n }\n\n if (animateLeft && newLeft > currentLeft && scrollLeft >= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (animateLeft && newLeft < currentLeft && scrollLeft <= newLeft) {\n el.scrollLeft = newLeft;\n done = true;\n }\n\n if (done) {\n if (callback) callback();\n return;\n }\n\n if (animateTop) el.scrollTop = scrollTop;\n if (animateLeft) el.scrollLeft = scrollLeft;\n window.requestAnimationFrame(render);\n }\n\n window.requestAnimationFrame(render);\n });\n} // scrollTop(top, duration, easing, callback) {\n\n\nfunction scrollTop() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var top = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n top = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof top === 'undefined') {\n if (dom.length > 0) return dom[0].scrollTop;\n return null;\n }\n\n return dom.scrollTo(undefined, top, duration, easing, callback);\n}\n\nfunction scrollLeft() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var left = args[0],\n duration = args[1],\n easing = args[2],\n callback = args[3];\n\n if (args.length === 3 && typeof easing === 'function') {\n left = args[0];\n duration = args[1];\n callback = args[2];\n easing = args[3];\n }\n\n var dom = this;\n\n if (typeof left === 'undefined') {\n if (dom.length > 0) return dom[0].scrollLeft;\n return null;\n }\n\n return dom.scrollTo(left, undefined, duration, easing, callback);\n}\n\nfunction animate(initialProps, initialParams) {\n var window = getWindow();\n var els = this;\n var a = {\n props: Object.assign({}, initialProps),\n params: Object.assign({\n duration: 300,\n easing: 'swing' // or 'linear'\n\n /* Callbacks\n begin(elements)\n complete(elements)\n progress(elements, complete, remaining, start, tweenValue)\n */\n\n }, initialParams),\n elements: els,\n animating: false,\n que: [],\n easingProgress: function easingProgress(easing, progress) {\n if (easing === 'swing') {\n return 0.5 - Math.cos(progress * Math.PI) / 2;\n }\n\n if (typeof easing === 'function') {\n return easing(progress);\n }\n\n return progress;\n },\n stop: function stop() {\n if (a.frameId) {\n window.cancelAnimationFrame(a.frameId);\n }\n\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n a.que = [];\n },\n done: function done(complete) {\n a.animating = false;\n a.elements.each(function (el) {\n var element = el;\n delete element.dom7AnimateInstance;\n });\n if (complete) complete(els);\n\n if (a.que.length > 0) {\n var que = a.que.shift();\n a.animate(que[0], que[1]);\n }\n },\n animate: function animate(props, params) {\n if (a.animating) {\n a.que.push([props, params]);\n return a;\n }\n\n var elements = []; // Define & Cache Initials & Units\n\n a.elements.each(function (el, index) {\n var initialFullValue;\n var initialValue;\n var unit;\n var finalValue;\n var finalFullValue;\n if (!el.dom7AnimateInstance) a.elements[index].dom7AnimateInstance = a;\n elements[index] = {\n container: el\n };\n Object.keys(props).forEach(function (prop) {\n initialFullValue = window.getComputedStyle(el, null).getPropertyValue(prop).replace(',', '.');\n initialValue = parseFloat(initialFullValue);\n unit = initialFullValue.replace(initialValue, '');\n finalValue = parseFloat(props[prop]);\n finalFullValue = props[prop] + unit;\n elements[index][prop] = {\n initialFullValue: initialFullValue,\n initialValue: initialValue,\n unit: unit,\n finalValue: finalValue,\n finalFullValue: finalFullValue,\n currentValue: initialValue\n };\n });\n });\n var startTime = null;\n var time;\n var elementsDone = 0;\n var propsDone = 0;\n var done;\n var began = false;\n a.animating = true;\n\n function render() {\n time = new Date().getTime();\n var progress;\n var easeProgress; // let el;\n\n if (!began) {\n began = true;\n if (params.begin) params.begin(els);\n }\n\n if (startTime === null) {\n startTime = time;\n }\n\n if (params.progress) {\n // eslint-disable-next-line\n params.progress(els, Math.max(Math.min((time - startTime) / params.duration, 1), 0), startTime + params.duration - time < 0 ? 0 : startTime + params.duration - time, startTime);\n }\n\n elements.forEach(function (element) {\n var el = element;\n if (done || el.done) return;\n Object.keys(props).forEach(function (prop) {\n if (done || el.done) return;\n progress = Math.max(Math.min((time - startTime) / params.duration, 1), 0);\n easeProgress = a.easingProgress(params.easing, progress);\n var _el$prop = el[prop],\n initialValue = _el$prop.initialValue,\n finalValue = _el$prop.finalValue,\n unit = _el$prop.unit;\n el[prop].currentValue = initialValue + easeProgress * (finalValue - initialValue);\n var currentValue = el[prop].currentValue;\n\n if (finalValue > initialValue && currentValue >= finalValue || finalValue < initialValue && currentValue <= finalValue) {\n el.container.style[prop] = finalValue + unit;\n propsDone += 1;\n\n if (propsDone === Object.keys(props).length) {\n el.done = true;\n elementsDone += 1;\n }\n\n if (elementsDone === elements.length) {\n done = true;\n }\n }\n\n if (done) {\n a.done(params.complete);\n return;\n }\n\n el.container.style[prop] = currentValue + unit;\n });\n });\n if (done) return; // Then call\n\n a.frameId = window.requestAnimationFrame(render);\n }\n\n a.frameId = window.requestAnimationFrame(render);\n return a;\n }\n };\n\n if (a.elements.length === 0) {\n return els;\n }\n\n var animateInstance;\n\n for (var i = 0; i < a.elements.length; i += 1) {\n if (a.elements[i].dom7AnimateInstance) {\n animateInstance = a.elements[i].dom7AnimateInstance;\n } else a.elements[i].dom7AnimateInstance = a;\n }\n\n if (!animateInstance) {\n animateInstance = a;\n }\n\n if (initialProps === 'stop') {\n animateInstance.stop();\n } else {\n animateInstance.animate(a.props, a.params);\n }\n\n return els;\n}\n\nfunction stop() {\n var els = this;\n\n for (var i = 0; i < els.length; i += 1) {\n if (els[i].dom7AnimateInstance) {\n els[i].dom7AnimateInstance.stop();\n }\n }\n}\n\nvar noTrigger = 'resize scroll'.split(' ');\n\nfunction shortcut(name) {\n function eventHandler() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'undefined') {\n for (var i = 0; i < this.length; i += 1) {\n if (noTrigger.indexOf(name) < 0) {\n if (name in this[i]) this[i][name]();else {\n $(this[i]).trigger(name);\n }\n }\n }\n\n return this;\n }\n\n return this.on.apply(this, [name].concat(args));\n }\n\n return eventHandler;\n}\n\nvar click = shortcut('click');\nvar blur = shortcut('blur');\nvar focus = shortcut('focus');\nvar focusin = shortcut('focusin');\nvar focusout = shortcut('focusout');\nvar keyup = shortcut('keyup');\nvar keydown = shortcut('keydown');\nvar keypress = shortcut('keypress');\nvar submit = shortcut('submit');\nvar change = shortcut('change');\nvar mousedown = shortcut('mousedown');\nvar mousemove = shortcut('mousemove');\nvar mouseup = shortcut('mouseup');\nvar mouseenter = shortcut('mouseenter');\nvar mouseleave = shortcut('mouseleave');\nvar mouseout = shortcut('mouseout');\nvar mouseover = shortcut('mouseover');\nvar touchstart = shortcut('touchstart');\nvar touchend = shortcut('touchend');\nvar touchmove = shortcut('touchmove');\nvar resize = shortcut('resize');\nvar scroll = shortcut('scroll');\n\nexport default $;\nexport { $, add, addClass, animate, animationEnd, append, appendTo, attr, blur, change, children, click, closest, css, data, dataset, detach, each, empty, eq, filter, find, focus, focusin, focusout, hasClass, height, hide, html, index, insertAfter, insertBefore, is, keydown, keypress, keyup, mousedown, mouseenter, mouseleave, mousemove, mouseout, mouseover, mouseup, next, nextAll, off, offset, on, once, outerHeight, outerWidth, parent, parents, prepend, prependTo, prev, prevAll, prop, remove, removeAttr, removeClass, removeData, resize, scroll, scrollLeft, scrollTo, scrollTop, show, siblings, stop, styles, submit, text, toggleClass, touchend, touchmove, touchstart, transform, transition, transitionEnd, trigger, val, value, width };\n","import { $, addClass, removeClass, hasClass, toggleClass, attr, removeAttr, transform, transition, on, off, trigger, transitionEnd, outerWidth, outerHeight, styles, offset, css, each, html, text, is, index, eq, append, prepend, next, nextAll, prev, prevAll, parent, parents, closest, find, children, filter, remove } from 'dom7';\nvar Methods = {\n addClass: addClass,\n removeClass: removeClass,\n hasClass: hasClass,\n toggleClass: toggleClass,\n attr: attr,\n removeAttr: removeAttr,\n transform: transform,\n transition: transition,\n on: on,\n off: off,\n trigger: trigger,\n transitionEnd: transitionEnd,\n outerWidth: outerWidth,\n outerHeight: outerHeight,\n styles: styles,\n offset: offset,\n css: css,\n each: each,\n html: html,\n text: text,\n is: is,\n index: index,\n eq: eq,\n append: append,\n prepend: prepend,\n next: next,\n nextAll: nextAll,\n prev: prev,\n prevAll: prevAll,\n parent: parent,\n parents: parents,\n closest: closest,\n find: find,\n children: children,\n filter: filter,\n remove: remove\n};\nObject.keys(Methods).forEach(function (methodName) {\n Object.defineProperty($.fn, methodName, {\n value: Methods[methodName],\n writable: true\n });\n});\nexport default $;","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","module.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","export const HOOK_SETUP = 'devtools-plugin:setup';\nexport const HOOK_PLUGIN_SETTINGS_SET = 'plugin:settings:set';\n","import { HOOK_PLUGIN_SETTINGS_SET } from './const.js';\nimport { now } from './time.js';\nexport class ApiProxy {\n constructor(plugin, hook) {\n this.target = null;\n this.targetQueue = [];\n this.onQueue = [];\n this.plugin = plugin;\n this.hook = hook;\n const defaultSettings = {};\n if (plugin.settings) {\n for (const id in plugin.settings) {\n const item = plugin.settings[id];\n defaultSettings[id] = item.defaultValue;\n }\n }\n const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;\n let currentSettings = Object.assign({}, defaultSettings);\n try {\n const raw = localStorage.getItem(localSettingsSaveId);\n const data = JSON.parse(raw);\n Object.assign(currentSettings, data);\n }\n catch (e) {\n // noop\n }\n this.fallbacks = {\n getSettings() {\n return currentSettings;\n },\n setSettings(value) {\n try {\n localStorage.setItem(localSettingsSaveId, JSON.stringify(value));\n }\n catch (e) {\n // noop\n }\n currentSettings = value;\n },\n now() {\n return now();\n },\n };\n if (hook) {\n hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {\n if (pluginId === this.plugin.id) {\n this.fallbacks.setSettings(value);\n }\n });\n }\n this.proxiedOn = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target.on[prop];\n }\n else {\n return (...args) => {\n this.onQueue.push({\n method: prop,\n args,\n });\n };\n }\n },\n });\n this.proxiedTarget = new Proxy({}, {\n get: (_target, prop) => {\n if (this.target) {\n return this.target[prop];\n }\n else if (prop === 'on') {\n return this.proxiedOn;\n }\n else if (Object.keys(this.fallbacks).includes(prop)) {\n return (...args) => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve: () => { },\n });\n return this.fallbacks[prop](...args);\n };\n }\n else {\n return (...args) => {\n return new Promise(resolve => {\n this.targetQueue.push({\n method: prop,\n args,\n resolve,\n });\n });\n };\n }\n },\n });\n }\n async setRealTarget(target) {\n this.target = target;\n for (const item of this.onQueue) {\n this.target.on[item.method](...item.args);\n }\n for (const item of this.targetQueue) {\n item.resolve(await this.target[item.method](...item.args));\n }\n }\n}\n","import { getTarget, getDevtoolsGlobalHook, isProxyAvailable } from './env.js';\nimport { HOOK_SETUP } from './const.js';\nimport { ApiProxy } from './proxy.js';\nexport * from './api/index.js';\nexport * from './plugin.js';\nexport * from './time.js';\nexport function setupDevtoolsPlugin(pluginDescriptor, setupFn) {\n const descriptor = pluginDescriptor;\n const target = getTarget();\n const hook = getDevtoolsGlobalHook();\n const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;\n if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {\n hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);\n }\n else {\n const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;\n const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];\n list.push({\n pluginDescriptor: descriptor,\n setupFn,\n proxy,\n });\n if (proxy)\n setupFn(proxy.proxiedTarget);\n }\n}\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","exports.nextTick = function nextTick(fn) {\n var args = Array.prototype.slice.call(arguments);\n args.shift();\n setTimeout(function () {\n fn.apply(null, args);\n }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n var cwd = '/';\n var path;\n exports.cwd = function () { return cwd };\n exports.chdir = function (dir) {\n if (!path) path = require('path');\n cwd = path.resolve(dir, cwd);\n };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","/*!\n * message-compiler v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, isString } from '@intlify/shared';\n\nconst CompileErrorCodes = {\r\n // tokenizer error codes\r\n EXPECTED_TOKEN: 1,\r\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\r\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\r\n UNKNOWN_ESCAPE_SEQUENCE: 4,\r\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\r\n UNBALANCED_CLOSING_BRACE: 6,\r\n UNTERMINATED_CLOSING_BRACE: 7,\r\n EMPTY_PLACEHOLDER: 8,\r\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\r\n INVALID_LINKED_FORMAT: 10,\r\n // parser error codes\r\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\r\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\r\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\r\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\r\n // Special value for higher-order compilers to pick up the last code\r\n // to avoid collision of error codes. This should always be kept as the last\r\n // item.\r\n __EXTEND_POINT__: 15\r\n};\r\n/** @internal */\r\nconst errorMessages = {\r\n // tokenizer error messages\r\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\r\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\r\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\r\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\r\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\r\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\r\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\r\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\r\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\r\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\r\n // parser error messages\r\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\r\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`\r\n};\r\nfunction createCompileError(code, loc, options = {}) {\r\n const { domain, messages, args } = options;\r\n const msg = (process.env.NODE_ENV !== 'production')\r\n ? format((messages || errorMessages)[code] || '', ...(args || []))\r\n : code;\r\n const error = new SyntaxError(String(msg));\r\n error.code = code;\r\n if (loc) {\r\n error.location = loc;\r\n }\r\n error.domain = domain;\r\n return error;\r\n}\r\n/** @internal */\r\nfunction defaultOnError(error) {\r\n throw error;\r\n}\n\nconst LocationStub = {\r\n start: { line: 1, column: 1, offset: 0 },\r\n end: { line: 1, column: 1, offset: 0 }\r\n};\r\nfunction createPosition(line, column, offset) {\r\n return { line, column, offset };\r\n}\r\nfunction createLocation(start, end, source) {\r\n const loc = { start, end };\r\n if (source != null) {\r\n loc.source = source;\r\n }\r\n return loc;\r\n}\n\nconst CHAR_SP = ' ';\r\nconst CHAR_CR = '\\r';\r\nconst CHAR_LF = '\\n';\r\nconst CHAR_LS = String.fromCharCode(0x2028);\r\nconst CHAR_PS = String.fromCharCode(0x2029);\r\nfunction createScanner(str) {\r\n const _buf = str;\r\n let _index = 0;\r\n let _line = 1;\r\n let _column = 1;\r\n let _peekOffset = 0;\r\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\r\n const isLF = (index) => _buf[index] === CHAR_LF;\r\n const isPS = (index) => _buf[index] === CHAR_PS;\r\n const isLS = (index) => _buf[index] === CHAR_LS;\r\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\r\n const index = () => _index;\r\n const line = () => _line;\r\n const column = () => _column;\r\n const peekOffset = () => _peekOffset;\r\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\r\n const currentChar = () => charAt(_index);\r\n const currentPeek = () => charAt(_index + _peekOffset);\r\n function next() {\r\n _peekOffset = 0;\r\n if (isLineEnd(_index)) {\r\n _line++;\r\n _column = 0;\r\n }\r\n if (isCRLF(_index)) {\r\n _index++;\r\n }\r\n _index++;\r\n _column++;\r\n return _buf[_index];\r\n }\r\n function peek() {\r\n if (isCRLF(_index + _peekOffset)) {\r\n _peekOffset++;\r\n }\r\n _peekOffset++;\r\n return _buf[_index + _peekOffset];\r\n }\r\n function reset() {\r\n _index = 0;\r\n _line = 1;\r\n _column = 1;\r\n _peekOffset = 0;\r\n }\r\n function resetPeek(offset = 0) {\r\n _peekOffset = offset;\r\n }\r\n function skipToPeek() {\r\n const target = _index + _peekOffset;\r\n // eslint-disable-next-line no-unmodified-loop-condition\r\n while (target !== _index) {\r\n next();\r\n }\r\n _peekOffset = 0;\r\n }\r\n return {\r\n index,\r\n line,\r\n column,\r\n peekOffset,\r\n charAt,\r\n currentChar,\r\n currentPeek,\r\n next,\r\n peek,\r\n reset,\r\n resetPeek,\r\n skipToPeek\r\n };\r\n}\n\nconst EOF = undefined;\r\nconst LITERAL_DELIMITER = \"'\";\r\nconst ERROR_DOMAIN$1 = 'tokenizer';\r\nfunction createTokenizer(source, options = {}) {\r\n const location = options.location !== false;\r\n const _scnr = createScanner(source);\r\n const currentOffset = () => _scnr.index();\r\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\r\n const _initLoc = currentPosition();\r\n const _initOffset = currentOffset();\r\n const _context = {\r\n currentType: 14 /* EOF */,\r\n offset: _initOffset,\r\n startLoc: _initLoc,\r\n endLoc: _initLoc,\r\n lastType: 14 /* EOF */,\r\n lastOffset: _initOffset,\r\n lastStartLoc: _initLoc,\r\n lastEndLoc: _initLoc,\r\n braceNest: 0,\r\n inLinked: false,\r\n text: ''\r\n };\r\n const context = () => _context;\r\n const { onError } = options;\r\n function emitError(code, pos, offset, ...args) {\r\n const ctx = context();\r\n pos.column += offset;\r\n pos.offset += offset;\r\n if (onError) {\r\n const loc = createLocation(ctx.startLoc, pos);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN$1,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function getToken(context, type, value) {\r\n context.endLoc = currentPosition();\r\n context.currentType = type;\r\n const token = { type };\r\n if (location) {\r\n token.loc = createLocation(context.startLoc, context.endLoc);\r\n }\r\n if (value != null) {\r\n token.value = value;\r\n }\r\n return token;\r\n }\r\n const getEndToken = (context) => getToken(context, 14 /* EOF */);\r\n function eat(scnr, ch) {\r\n if (scnr.currentChar() === ch) {\r\n scnr.next();\r\n return ch;\r\n }\r\n else {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function peekSpaces(scnr) {\r\n let buf = '';\r\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\r\n buf += scnr.currentPeek();\r\n scnr.peek();\r\n }\r\n return buf;\r\n }\r\n function skipSpaces(scnr) {\r\n const buf = peekSpaces(scnr);\r\n scnr.skipToPeek();\r\n return buf;\r\n }\r\n function isIdentifierStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n cc === 95 // _\r\n );\r\n }\r\n function isNumberStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n }\r\n function isNamedIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isListIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\r\n const ret = isNumberStart(ch);\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLiteralStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDotStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 8 /* LinkedAlias */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \".\" /* LinkedDot */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedModifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 9 /* LinkedDot */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDelimiterStart(scnr, context) {\r\n const { currentType } = context;\r\n if (!(currentType === 8 /* LinkedAlias */ ||\r\n currentType === 12 /* LinkedModifier */)) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \":\" /* LinkedDelimiter */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedReferStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 10 /* LinkedDelimiter */) {\r\n return false;\r\n }\r\n const fn = () => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return isIdentifierStart(scnr.peek());\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n ch === \":\" /* LinkedDelimiter */ ||\r\n ch === \".\" /* LinkedDot */ ||\r\n ch === CHAR_SP ||\r\n !ch) {\r\n return false;\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn();\r\n }\r\n else {\r\n // other characters\r\n return isIdentifierStart(ch);\r\n }\r\n };\r\n const ret = fn();\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isPluralStart(scnr) {\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"|\" /* Pipe */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function detectModuloStart(scnr) {\r\n const spaces = peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"%\" /* Modulo */ &&\r\n scnr.peek() === \"{\" /* BraceLeft */;\r\n scnr.resetPeek();\r\n return {\r\n isModulo: ret,\r\n hasSpace: spaces.length > 0\r\n };\r\n }\r\n function isTextStart(scnr, reset = true) {\r\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return prev === \"%\" /* Modulo */ ? false : hasSpace;\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ || !ch) {\r\n return prev === \"%\" /* Modulo */ ? true : hasSpace;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n scnr.peek();\r\n return fn(hasSpace, \"%\" /* Modulo */, true);\r\n }\r\n else if (ch === \"|\" /* Pipe */) {\r\n return prev === \"%\" /* Modulo */ || detectModulo\r\n ? true\r\n : !(prev === CHAR_SP || prev === CHAR_LF);\r\n }\r\n else if (ch === CHAR_SP) {\r\n scnr.peek();\r\n return fn(true, CHAR_SP, detectModulo);\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn(true, CHAR_LF, detectModulo);\r\n }\r\n else {\r\n return true;\r\n }\r\n };\r\n const ret = fn();\r\n reset && scnr.resetPeek();\r\n return ret;\r\n }\r\n function takeChar(scnr, fn) {\r\n const ch = scnr.currentChar();\r\n if (ch === EOF) {\r\n return EOF;\r\n }\r\n if (fn(ch)) {\r\n scnr.next();\r\n return ch;\r\n }\r\n return null;\r\n }\r\n function takeIdentifierChar(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n (cc >= 48 && cc <= 57) || // 0-9\r\n cc === 95 || // _\r\n cc === 36 // $\r\n );\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeHexDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 48 && cc <= 57) || // 0-9\r\n (cc >= 65 && cc <= 70) || // A-F\r\n (cc >= 97 && cc <= 102)); // a-f\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function getDigits(scnr) {\r\n let ch = '';\r\n let num = '';\r\n while ((ch = takeDigit(scnr))) {\r\n num += ch;\r\n }\r\n return num;\r\n }\r\n function readModulo(scnr) {\r\n skipSpaces(scnr);\r\n const ch = scnr.currentChar();\r\n if (ch !== \"%\" /* Modulo */) {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n }\r\n scnr.next();\r\n return \"%\" /* Modulo */;\r\n }\r\n function readText(scnr) {\r\n let buf = '';\r\n while (true) {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"}\" /* BraceRight */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n break;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n else if (ch === CHAR_SP || ch === CHAR_LF) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else if (isPluralStart(scnr)) {\r\n break;\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n return buf;\r\n }\r\n function readNamedIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return name;\r\n }\r\n function readListIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let value = '';\r\n if (scnr.currentChar() === '-') {\r\n scnr.next();\r\n value += `-${getDigits(scnr)}`;\r\n }\r\n else {\r\n value += getDigits(scnr);\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return value;\r\n }\r\n function readLiteral(scnr) {\r\n skipSpaces(scnr);\r\n eat(scnr, `\\'`);\r\n let ch = '';\r\n let literal = '';\r\n const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;\r\n while ((ch = takeChar(scnr, fn))) {\r\n if (ch === '\\\\') {\r\n literal += readEscapeSequence(scnr);\r\n }\r\n else {\r\n literal += ch;\r\n }\r\n }\r\n const current = scnr.currentChar();\r\n if (current === CHAR_LF || current === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\r\n // TODO: Is it correct really?\r\n if (current === CHAR_LF) {\r\n scnr.next();\r\n eat(scnr, `\\'`);\r\n }\r\n return literal;\r\n }\r\n eat(scnr, `\\'`);\r\n return literal;\r\n }\r\n function readEscapeSequence(scnr) {\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case '\\\\':\r\n case `\\'`:\r\n scnr.next();\r\n return `\\\\${ch}`;\r\n case 'u':\r\n return readUnicodeEscapeSequence(scnr, ch, 4);\r\n case 'U':\r\n return readUnicodeEscapeSequence(scnr, ch, 6);\r\n default:\r\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\r\n eat(scnr, unicode);\r\n let sequence = '';\r\n for (let i = 0; i < digits; i++) {\r\n const ch = takeHexDigit(scnr);\r\n if (!ch) {\r\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\r\n break;\r\n }\r\n sequence += ch;\r\n }\r\n return `\\\\${unicode}${sequence}`;\r\n }\r\n function readInvalidIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let identifiers = '';\r\n const closure = (ch) => ch !== \"{\" /* BraceLeft */ &&\r\n ch !== \"}\" /* BraceRight */ &&\r\n ch !== CHAR_SP &&\r\n ch !== CHAR_LF;\r\n while ((ch = takeChar(scnr, closure))) {\r\n identifiers += ch;\r\n }\r\n return identifiers;\r\n }\r\n function readLinkedModifier(scnr) {\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n return name;\r\n }\r\n function readLinkedRefer(scnr) {\r\n const fn = (detect = false, buf) => {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_SP) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_LF) {\r\n buf += ch;\r\n scnr.next();\r\n return fn(detect, buf);\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n return fn(true, buf);\r\n }\r\n };\r\n return fn(false, '');\r\n }\r\n function readPlural(scnr) {\r\n skipSpaces(scnr);\r\n const plural = eat(scnr, \"|\" /* Pipe */);\r\n skipSpaces(scnr);\r\n return plural;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInPlaceholder(scnr, context) {\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n if (context.braceNest >= 1) {\r\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 2 /* BraceLeft */, \"{\" /* BraceLeft */);\r\n skipSpaces(scnr);\r\n context.braceNest++;\r\n return token;\r\n case \"}\" /* BraceRight */:\r\n if (context.braceNest > 0 &&\r\n context.currentType === 2 /* BraceLeft */) {\r\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n context.braceNest--;\r\n context.braceNest > 0 && skipSpaces(scnr);\r\n if (context.inLinked && context.braceNest === 0) {\r\n context.inLinked = false;\r\n }\r\n return token;\r\n case \"@\" /* LinkedAlias */:\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = readTokenInLinked(scnr, context) || getEndToken(context);\r\n context.braceNest = 0;\r\n return token;\r\n default:\r\n let validNamedIdentifier = true;\r\n let validListIdentifier = true;\r\n let validLiteral = true;\r\n if (isPluralStart(scnr)) {\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (context.braceNest > 0 &&\r\n (context.currentType === 5 /* Named */ ||\r\n context.currentType === 6 /* List */ ||\r\n context.currentType === 7 /* Literal */)) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n context.braceNest = 0;\r\n return readToken(scnr, context);\r\n }\r\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\r\n token = getToken(context, 5 /* Named */, readNamedIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\r\n token = getToken(context, 6 /* List */, readListIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validLiteral = isLiteralStart(scnr, context))) {\r\n token = getToken(context, 7 /* Literal */, readLiteral(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\r\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\r\n token = getToken(context, 13 /* InvalidPlace */, readInvalidIdentifier(scnr));\r\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInLinked(scnr, context) {\r\n const { currentType } = context;\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n if ((currentType === 8 /* LinkedAlias */ ||\r\n currentType === 9 /* LinkedDot */ ||\r\n currentType === 12 /* LinkedModifier */ ||\r\n currentType === 10 /* LinkedDelimiter */) &&\r\n (ch === CHAR_LF || ch === CHAR_SP)) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n switch (ch) {\r\n case \"@\" /* LinkedAlias */:\r\n scnr.next();\r\n token = getToken(context, 8 /* LinkedAlias */, \"@\" /* LinkedAlias */);\r\n context.inLinked = true;\r\n return token;\r\n case \".\" /* LinkedDot */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 9 /* LinkedDot */, \".\" /* LinkedDot */);\r\n case \":\" /* LinkedDelimiter */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 10 /* LinkedDelimiter */, \":\" /* LinkedDelimiter */);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (isLinkedDotStart(scnr, context) ||\r\n isLinkedDelimiterStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return readTokenInLinked(scnr, context);\r\n }\r\n if (isLinkedModifierStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return getToken(context, 12 /* LinkedModifier */, readLinkedModifier(scnr));\r\n }\r\n if (isLinkedReferStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n if (ch === \"{\" /* BraceLeft */) {\r\n // scan the placeholder\r\n return readTokenInPlaceholder(scnr, context) || token;\r\n }\r\n else {\r\n return getToken(context, 11 /* LinkedKey */, readLinkedRefer(scnr));\r\n }\r\n }\r\n if (currentType === 8 /* LinkedAlias */) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return readToken(scnr, context);\r\n }\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readToken(scnr, context) {\r\n let token = { type: 14 /* EOF */ };\r\n if (context.braceNest > 0) {\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n }\r\n if (context.inLinked) {\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n }\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n case \"}\" /* BraceRight */:\r\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\r\n scnr.next();\r\n return getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n case \"@\" /* LinkedAlias */:\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n const { isModulo, hasSpace } = detectModuloStart(scnr);\r\n if (isModulo) {\r\n return hasSpace\r\n ? getToken(context, 0 /* Text */, readText(scnr))\r\n : getToken(context, 4 /* Modulo */, readModulo(scnr));\r\n }\r\n if (isTextStart(scnr)) {\r\n return getToken(context, 0 /* Text */, readText(scnr));\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n function nextToken() {\r\n const { currentType, offset, startLoc, endLoc } = _context;\r\n _context.lastType = currentType;\r\n _context.lastOffset = offset;\r\n _context.lastStartLoc = startLoc;\r\n _context.lastEndLoc = endLoc;\r\n _context.offset = currentOffset();\r\n _context.startLoc = currentPosition();\r\n if (_scnr.currentChar() === EOF) {\r\n return getToken(_context, 14 /* EOF */);\r\n }\r\n return readToken(_scnr, _context);\r\n }\r\n return {\r\n nextToken,\r\n currentOffset,\r\n currentPosition,\r\n context\r\n };\r\n}\n\nconst ERROR_DOMAIN = 'parser';\r\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\r\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\r\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\r\n switch (match) {\r\n case `\\\\\\\\`:\r\n return `\\\\`;\r\n case `\\\\\\'`:\r\n return `\\'`;\r\n default: {\r\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\r\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\r\n return String.fromCodePoint(codePoint);\r\n }\r\n // invalid ...\r\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\r\n return '�';\r\n }\r\n }\r\n}\r\nfunction createParser(options = {}) {\r\n const location = options.location !== false;\r\n const { onError } = options;\r\n function emitError(tokenzer, code, start, offset, ...args) {\r\n const end = tokenzer.currentPosition();\r\n end.offset += offset;\r\n end.column += offset;\r\n if (onError) {\r\n const loc = createLocation(start, end);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function startNode(type, offset, loc) {\r\n const node = {\r\n type,\r\n start: offset,\r\n end: offset\r\n };\r\n if (location) {\r\n node.loc = { start: loc, end: loc };\r\n }\r\n return node;\r\n }\r\n function endNode(node, offset, pos, type) {\r\n node.end = offset;\r\n if (type) {\r\n node.type = type;\r\n }\r\n if (location && node.loc) {\r\n node.loc.end = pos;\r\n }\r\n }\r\n function parseText(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(3 /* Text */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseList(tokenizer, index) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(5 /* List */, offset, loc);\r\n node.index = parseInt(index, 10);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseNamed(tokenizer, key) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(4 /* Named */, offset, loc);\r\n node.key = key;\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLiteral(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(9 /* Literal */, offset, loc);\r\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinkedModifier(tokenizer) {\r\n const token = tokenizer.nextToken();\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\r\n const node = startNode(8 /* LinkedModifier */, offset, loc);\r\n if (token.type !== 12 /* LinkedModifier */) {\r\n // empty modifier\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\r\n node.value = '';\r\n endNode(node, offset, loc);\r\n return {\r\n nextConsumeToken: token,\r\n node\r\n };\r\n }\r\n // check token\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.value = token.value || '';\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node\r\n };\r\n }\r\n function parseLinkedKey(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(7 /* LinkedKey */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinked(tokenizer) {\r\n const context = tokenizer.context();\r\n const linkedNode = startNode(6 /* Linked */, context.offset, context.startLoc);\r\n let token = tokenizer.nextToken();\r\n if (token.type === 9 /* LinkedDot */) {\r\n const parsed = parseLinkedModifier(tokenizer);\r\n linkedNode.modifier = parsed.node;\r\n token = parsed.nextConsumeToken || tokenizer.nextToken();\r\n }\r\n // asset check token\r\n if (token.type !== 10 /* LinkedDelimiter */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n token = tokenizer.nextToken();\r\n // skip brace left\r\n if (token.type === 2 /* BraceLeft */) {\r\n token = tokenizer.nextToken();\r\n }\r\n switch (token.type) {\r\n case 11 /* LinkedKey */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseNamed(tokenizer, token.value || '');\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseList(tokenizer, token.value || '');\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\r\n break;\r\n default:\r\n // empty key\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\r\n const nextContext = tokenizer.context();\r\n const emptyLinkedKeyNode = startNode(7 /* LinkedKey */, nextContext.offset, nextContext.startLoc);\r\n emptyLinkedKeyNode.value = '';\r\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\r\n linkedNode.key = emptyLinkedKeyNode;\r\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\r\n return {\r\n nextConsumeToken: token,\r\n node: linkedNode\r\n };\r\n }\r\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node: linkedNode\r\n };\r\n }\r\n function parseMessage(tokenizer) {\r\n const context = tokenizer.context();\r\n const startOffset = context.currentType === 1 /* Pipe */\r\n ? tokenizer.currentOffset()\r\n : context.offset;\r\n const startLoc = context.currentType === 1 /* Pipe */\r\n ? context.endLoc\r\n : context.startLoc;\r\n const node = startNode(2 /* Message */, startOffset, startLoc);\r\n node.items = [];\r\n let nextToken = null;\r\n do {\r\n const token = nextToken || tokenizer.nextToken();\r\n nextToken = null;\r\n switch (token.type) {\r\n case 0 /* Text */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseText(tokenizer, token.value || ''));\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseList(tokenizer, token.value || ''));\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseNamed(tokenizer, token.value || ''));\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseLiteral(tokenizer, token.value || ''));\r\n break;\r\n case 8 /* LinkedAlias */:\r\n const parsed = parseLinked(tokenizer);\r\n node.items.push(parsed.node);\r\n nextToken = parsed.nextConsumeToken || null;\r\n break;\r\n }\r\n } while (context.currentType !== 14 /* EOF */ &&\r\n context.currentType !== 1 /* Pipe */);\r\n // adjust message node loc\r\n const endOffset = context.currentType === 1 /* Pipe */\r\n ? context.lastOffset\r\n : tokenizer.currentOffset();\r\n const endLoc = context.currentType === 1 /* Pipe */\r\n ? context.lastEndLoc\r\n : tokenizer.currentPosition();\r\n endNode(node, endOffset, endLoc);\r\n return node;\r\n }\r\n function parsePlural(tokenizer, offset, loc, msgNode) {\r\n const context = tokenizer.context();\r\n let hasEmptyMessage = msgNode.items.length === 0;\r\n const node = startNode(1 /* Plural */, offset, loc);\r\n node.cases = [];\r\n node.cases.push(msgNode);\r\n do {\r\n const msg = parseMessage(tokenizer);\r\n if (!hasEmptyMessage) {\r\n hasEmptyMessage = msg.items.length === 0;\r\n }\r\n node.cases.push(msg);\r\n } while (context.currentType !== 14 /* EOF */);\r\n if (hasEmptyMessage) {\r\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseResource(tokenizer) {\r\n const context = tokenizer.context();\r\n const { offset, startLoc } = context;\r\n const msgNode = parseMessage(tokenizer);\r\n if (context.currentType === 14 /* EOF */) {\r\n return msgNode;\r\n }\r\n else {\r\n return parsePlural(tokenizer, offset, startLoc, msgNode);\r\n }\r\n }\r\n function parse(source) {\r\n const tokenizer = createTokenizer(source, assign({}, options));\r\n const context = tokenizer.context();\r\n const node = startNode(0 /* Resource */, context.offset, context.startLoc);\r\n if (location && node.loc) {\r\n node.loc.source = source;\r\n }\r\n node.body = parseResource(tokenizer);\r\n // assert whether achieved to EOF\r\n if (context.currentType !== 14 /* EOF */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n return { parse };\r\n}\r\nfunction getTokenCaption(token) {\r\n if (token.type === 14 /* EOF */) {\r\n return 'EOF';\r\n }\r\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\r\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\r\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\r\n) {\r\n const _context = {\r\n ast,\r\n helpers: new Set()\r\n };\r\n const context = () => _context;\r\n const helper = (name) => {\r\n _context.helpers.add(name);\r\n return name;\r\n };\r\n return { context, helper };\r\n}\r\nfunction traverseNodes(nodes, transformer) {\r\n for (let i = 0; i < nodes.length; i++) {\r\n traverseNode(nodes[i], transformer);\r\n }\r\n}\r\nfunction traverseNode(node, transformer) {\r\n // TODO: if we need pre-hook of transform, should be implemented to here\r\n switch (node.type) {\r\n case 1 /* Plural */:\r\n traverseNodes(node.cases, transformer);\r\n transformer.helper(\"plural\" /* PLURAL */);\r\n break;\r\n case 2 /* Message */:\r\n traverseNodes(node.items, transformer);\r\n break;\r\n case 6 /* Linked */:\r\n const linked = node;\r\n traverseNode(linked.key, transformer);\r\n transformer.helper(\"linked\" /* LINKED */);\r\n transformer.helper(\"type\" /* TYPE */);\r\n break;\r\n case 5 /* List */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"list\" /* LIST */);\r\n break;\r\n case 4 /* Named */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"named\" /* NAMED */);\r\n break;\r\n }\r\n // TODO: if we need post-hook of transform, should be implemented to here\r\n}\r\n// transform AST\r\nfunction transform(ast, options = {} // eslint-disable-line\r\n) {\r\n const transformer = createTransformer(ast);\r\n transformer.helper(\"normalize\" /* NORMALIZE */);\r\n // traverse\r\n ast.body && traverseNode(ast.body, transformer);\r\n // set meta information\r\n const context = transformer.context();\r\n ast.helpers = Array.from(context.helpers);\r\n}\n\nfunction createCodeGenerator(ast, options) {\r\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\r\n const _context = {\r\n source: ast.loc.source,\r\n filename,\r\n code: '',\r\n column: 1,\r\n line: 1,\r\n offset: 0,\r\n map: undefined,\r\n breakLineCode,\r\n needIndent: _needIndent,\r\n indentLevel: 0\r\n };\r\n const context = () => _context;\r\n function push(code, node) {\r\n _context.code += code;\r\n }\r\n function _newline(n, withBreakLine = true) {\r\n const _breakLineCode = withBreakLine ? breakLineCode : '';\r\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\r\n }\r\n function indent(withNewLine = true) {\r\n const level = ++_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function deindent(withNewLine = true) {\r\n const level = --_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function newline() {\r\n _newline(_context.indentLevel);\r\n }\r\n const helper = (key) => `_${key}`;\r\n const needIndent = () => _context.needIndent;\r\n return {\r\n context,\r\n push,\r\n indent,\r\n deindent,\r\n newline,\r\n helper,\r\n needIndent\r\n };\r\n}\r\nfunction generateLinkedNode(generator, node) {\r\n const { helper } = generator;\r\n generator.push(`${helper(\"linked\" /* LINKED */)}(`);\r\n generateNode(generator, node.key);\r\n if (node.modifier) {\r\n generator.push(`, `);\r\n generateNode(generator, node.modifier);\r\n generator.push(`, _type`);\r\n }\r\n else {\r\n generator.push(`, undefined, _type`);\r\n }\r\n generator.push(`)`);\r\n}\r\nfunction generateMessageNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n generator.push(`${helper(\"normalize\" /* NORMALIZE */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.items.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.items[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push('])');\r\n}\r\nfunction generatePluralNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n if (node.cases.length > 1) {\r\n generator.push(`${helper(\"plural\" /* PLURAL */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.cases.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.cases[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push(`])`);\r\n }\r\n}\r\nfunction generateResource(generator, node) {\r\n if (node.body) {\r\n generateNode(generator, node.body);\r\n }\r\n else {\r\n generator.push('null');\r\n }\r\n}\r\nfunction generateNode(generator, node) {\r\n const { helper } = generator;\r\n switch (node.type) {\r\n case 0 /* Resource */:\r\n generateResource(generator, node);\r\n break;\r\n case 1 /* Plural */:\r\n generatePluralNode(generator, node);\r\n break;\r\n case 2 /* Message */:\r\n generateMessageNode(generator, node);\r\n break;\r\n case 6 /* Linked */:\r\n generateLinkedNode(generator, node);\r\n break;\r\n case 8 /* LinkedModifier */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 7 /* LinkedKey */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 5 /* List */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"list\" /* LIST */)}(${node.index}))`, node);\r\n break;\r\n case 4 /* Named */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"named\" /* NAMED */)}(${JSON.stringify(node.key)}))`, node);\r\n break;\r\n case 9 /* Literal */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 3 /* Text */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n default:\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n throw new Error(`unhandled codegen node type: ${node.type}`);\r\n }\r\n }\r\n}\r\n// generate code from AST\r\nconst generate = (ast, options = {} // eslint-disable-line\r\n) => {\r\n const mode = isString(options.mode) ? options.mode : 'normal';\r\n const filename = isString(options.filename)\r\n ? options.filename\r\n : 'message.intl';\r\n const sourceMap = !!options.sourceMap;\r\n // prettier-ignore\r\n const breakLineCode = options.breakLineCode != null\r\n ? options.breakLineCode\r\n : mode === 'arrow'\r\n ? ';'\r\n : '\\n';\r\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\r\n const helpers = ast.helpers || [];\r\n const generator = createCodeGenerator(ast, {\r\n mode,\r\n filename,\r\n sourceMap,\r\n breakLineCode,\r\n needIndent\r\n });\r\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\r\n generator.indent(needIndent);\r\n if (helpers.length > 0) {\r\n generator.push(`const { ${helpers.map(s => `${s}: _${s}`).join(', ')} } = ctx`);\r\n generator.newline();\r\n }\r\n generator.push(`return `);\r\n generateNode(generator, ast);\r\n generator.deindent(needIndent);\r\n generator.push(`}`);\r\n const { code, map } = generator.context();\r\n return {\r\n ast,\r\n code,\r\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\r\n };\r\n};\n\nfunction baseCompile(source, options = {}) {\r\n const assignedOptions = assign({}, options);\r\n // parse source codes\r\n const parser = createParser(assignedOptions);\r\n const ast = parser.parse(source);\r\n // transform ASTs\r\n transform(ast, assignedOptions);\r\n // generate javascript codes\r\n return generate(ast, assignedOptions);\r\n}\n\nexport { CompileErrorCodes, ERROR_DOMAIN, LocationStub, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, errorMessages };\n","/*!\n * devtools-if v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst IntlifyDevToolsHooks = {\r\n I18nInit: 'i18n:init',\r\n FunctionTranslate: 'function:translate'\r\n};\n\nexport { IntlifyDevToolsHooks };\n","/*!\n * core-base v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { isObject, isString, isFunction, isNumber, isPlainObject, toDisplayString, isArray, format, isBoolean, assign, isRegExp, warn, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate, getGlobalThis } from '@intlify/shared';\nimport { defaultOnError, baseCompile, CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\nimport { IntlifyDevToolsHooks } from '@intlify/devtools-if';\n\nconst pathStateMachine = [];\r\npathStateMachine[0 /* BEFORE_PATH */] = {\r\n [\"w\" /* WORKSPACE */]: [0 /* BEFORE_PATH */],\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */]\r\n};\r\npathStateMachine[1 /* IN_PATH */] = {\r\n [\"w\" /* WORKSPACE */]: [1 /* IN_PATH */],\r\n [\".\" /* DOT */]: [2 /* BEFORE_IDENT */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */]\r\n};\r\npathStateMachine[2 /* BEFORE_IDENT */] = {\r\n [\"w\" /* WORKSPACE */]: [2 /* BEFORE_IDENT */],\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"0\" /* ZERO */]: [3 /* IN_IDENT */, 0 /* APPEND */]\r\n};\r\npathStateMachine[3 /* IN_IDENT */] = {\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"0\" /* ZERO */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"w\" /* WORKSPACE */]: [1 /* IN_PATH */, 1 /* PUSH */],\r\n [\".\" /* DOT */]: [2 /* BEFORE_IDENT */, 1 /* PUSH */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */, 1 /* PUSH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */, 1 /* PUSH */]\r\n};\r\npathStateMachine[4 /* IN_SUB_PATH */] = {\r\n [\"'\" /* SINGLE_QUOTE */]: [5 /* IN_SINGLE_QUOTE */, 0 /* APPEND */],\r\n [\"\\\"\" /* DOUBLE_QUOTE */]: [6 /* IN_DOUBLE_QUOTE */, 0 /* APPEND */],\r\n [\"[\" /* LEFT_BRACKET */]: [\r\n 4 /* IN_SUB_PATH */,\r\n 2 /* INC_SUB_PATH_DEPTH */\r\n ],\r\n [\"]\" /* RIGHT_BRACKET */]: [1 /* IN_PATH */, 3 /* PUSH_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */]\r\n};\r\npathStateMachine[5 /* IN_SINGLE_QUOTE */] = {\r\n [\"'\" /* SINGLE_QUOTE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [5 /* IN_SINGLE_QUOTE */, 0 /* APPEND */]\r\n};\r\npathStateMachine[6 /* IN_DOUBLE_QUOTE */] = {\r\n [\"\\\"\" /* DOUBLE_QUOTE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [6 /* IN_DOUBLE_QUOTE */, 0 /* APPEND */]\r\n};\r\n/**\r\n * Check if an expression is a literal value.\r\n */\r\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\r\nfunction isLiteral(exp) {\r\n return literalValueRE.test(exp);\r\n}\r\n/**\r\n * Strip quotes from a string\r\n */\r\nfunction stripQuotes(str) {\r\n const a = str.charCodeAt(0);\r\n const b = str.charCodeAt(str.length - 1);\r\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\r\n}\r\n/**\r\n * Determine the type of a character in a keypath.\r\n */\r\nfunction getPathCharType(ch) {\r\n if (ch === undefined || ch === null) {\r\n return \"o\" /* END_OF_FAIL */;\r\n }\r\n const code = ch.charCodeAt(0);\r\n switch (code) {\r\n case 0x5b: // [\r\n case 0x5d: // ]\r\n case 0x2e: // .\r\n case 0x22: // \"\r\n case 0x27: // '\r\n return ch;\r\n case 0x5f: // _\r\n case 0x24: // $\r\n case 0x2d: // -\r\n return \"i\" /* IDENT */;\r\n case 0x09: // Tab (HT)\r\n case 0x0a: // Newline (LF)\r\n case 0x0d: // Return (CR)\r\n case 0xa0: // No-break space (NBSP)\r\n case 0xfeff: // Byte Order Mark (BOM)\r\n case 0x2028: // Line Separator (LS)\r\n case 0x2029: // Paragraph Separator (PS)\r\n return \"w\" /* WORKSPACE */;\r\n }\r\n return \"i\" /* IDENT */;\r\n}\r\n/**\r\n * Format a subPath, return its plain form if it is\r\n * a literal string or number. Otherwise prepend the\r\n * dynamic indicator (*).\r\n */\r\nfunction formatSubPath(path) {\r\n const trimmed = path.trim();\r\n // invalid leading 0\r\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\r\n return false;\r\n }\r\n return isLiteral(trimmed)\r\n ? stripQuotes(trimmed)\r\n : \"*\" /* ASTARISK */ + trimmed;\r\n}\r\n/**\r\n * Parse a string path into an array of segments\r\n */\r\nfunction parse(path) {\r\n const keys = [];\r\n let index = -1;\r\n let mode = 0 /* BEFORE_PATH */;\r\n let subPathDepth = 0;\r\n let c;\r\n let key; // eslint-disable-line\r\n let newChar;\r\n let type;\r\n let transition;\r\n let action;\r\n let typeMap;\r\n const actions = [];\r\n actions[0 /* APPEND */] = () => {\r\n if (key === undefined) {\r\n key = newChar;\r\n }\r\n else {\r\n key += newChar;\r\n }\r\n };\r\n actions[1 /* PUSH */] = () => {\r\n if (key !== undefined) {\r\n keys.push(key);\r\n key = undefined;\r\n }\r\n };\r\n actions[2 /* INC_SUB_PATH_DEPTH */] = () => {\r\n actions[0 /* APPEND */]();\r\n subPathDepth++;\r\n };\r\n actions[3 /* PUSH_SUB_PATH */] = () => {\r\n if (subPathDepth > 0) {\r\n subPathDepth--;\r\n mode = 4 /* IN_SUB_PATH */;\r\n actions[0 /* APPEND */]();\r\n }\r\n else {\r\n subPathDepth = 0;\r\n if (key === undefined) {\r\n return false;\r\n }\r\n key = formatSubPath(key);\r\n if (key === false) {\r\n return false;\r\n }\r\n else {\r\n actions[1 /* PUSH */]();\r\n }\r\n }\r\n };\r\n function maybeUnescapeQuote() {\r\n const nextChar = path[index + 1];\r\n if ((mode === 5 /* IN_SINGLE_QUOTE */ &&\r\n nextChar === \"'\" /* SINGLE_QUOTE */) ||\r\n (mode === 6 /* IN_DOUBLE_QUOTE */ &&\r\n nextChar === \"\\\"\" /* DOUBLE_QUOTE */)) {\r\n index++;\r\n newChar = '\\\\' + nextChar;\r\n actions[0 /* APPEND */]();\r\n return true;\r\n }\r\n }\r\n while (mode !== null) {\r\n index++;\r\n c = path[index];\r\n if (c === '\\\\' && maybeUnescapeQuote()) {\r\n continue;\r\n }\r\n type = getPathCharType(c);\r\n typeMap = pathStateMachine[mode];\r\n transition = typeMap[type] || typeMap[\"l\" /* ELSE */] || 8 /* ERROR */;\r\n // check parse error\r\n if (transition === 8 /* ERROR */) {\r\n return;\r\n }\r\n mode = transition[0];\r\n if (transition[1] !== undefined) {\r\n action = actions[transition[1]];\r\n if (action) {\r\n newChar = c;\r\n if (action() === false) {\r\n return;\r\n }\r\n }\r\n }\r\n // check parse finish\r\n if (mode === 7 /* AFTER_PATH */) {\r\n return keys;\r\n }\r\n }\r\n}\r\n// path token cache\r\nconst cache = new Map();\r\n/**\r\n * key-value message resolver\r\n *\r\n * @remarks\r\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\r\n *\r\n * @param obj - A target object to be resolved with path\r\n * @param path - A {@link Path | path} to resolve the value of message\r\n *\r\n * @returns A resolved {@link PathValue | path value}\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction resolveWithKeyValue(obj, path) {\r\n return isObject(obj) ? obj[path] : null;\r\n}\r\n/**\r\n * message resolver\r\n *\r\n * @remarks\r\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\r\n *\r\n * @param obj - A target object to be resolved with path\r\n * @param path - A {@link Path | path} to resolve the value of message\r\n *\r\n * @returns A resolved {@link PathValue | path value}\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction resolveValue(obj, path) {\r\n // check object\r\n if (!isObject(obj)) {\r\n return null;\r\n }\r\n // parse path\r\n let hit = cache.get(path);\r\n if (!hit) {\r\n hit = parse(path);\r\n if (hit) {\r\n cache.set(path, hit);\r\n }\r\n }\r\n // check hit\r\n if (!hit) {\r\n return null;\r\n }\r\n // resolve path value\r\n const len = hit.length;\r\n let last = obj;\r\n let i = 0;\r\n while (i < len) {\r\n const val = last[hit[i]];\r\n if (val === undefined) {\r\n return null;\r\n }\r\n last = val;\r\n i++;\r\n }\r\n return last;\r\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\r\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\r\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\r\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : values.join('');\r\nconst DEFAULT_INTERPOLATE = toDisplayString;\r\nfunction pluralDefault(choice, choicesLength) {\r\n choice = Math.abs(choice);\r\n if (choicesLength === 2) {\r\n // prettier-ignore\r\n return choice\r\n ? choice > 1\r\n ? 1\r\n : 0\r\n : 1;\r\n }\r\n return choice ? Math.min(choice, 2) : 0;\r\n}\r\nfunction getPluralIndex(options) {\r\n // prettier-ignore\r\n const index = isNumber(options.pluralIndex)\r\n ? options.pluralIndex\r\n : -1;\r\n // prettier-ignore\r\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\r\n ? isNumber(options.named.count)\r\n ? options.named.count\r\n : isNumber(options.named.n)\r\n ? options.named.n\r\n : index\r\n : index;\r\n}\r\nfunction normalizeNamed(pluralIndex, props) {\r\n if (!props.count) {\r\n props.count = pluralIndex;\r\n }\r\n if (!props.n) {\r\n props.n = pluralIndex;\r\n }\r\n}\r\nfunction createMessageContext(options = {}) {\r\n const locale = options.locale;\r\n const pluralIndex = getPluralIndex(options);\r\n const pluralRule = isObject(options.pluralRules) &&\r\n isString(locale) &&\r\n isFunction(options.pluralRules[locale])\r\n ? options.pluralRules[locale]\r\n : pluralDefault;\r\n const orgPluralRule = isObject(options.pluralRules) &&\r\n isString(locale) &&\r\n isFunction(options.pluralRules[locale])\r\n ? pluralDefault\r\n : undefined;\r\n const plural = (messages) => {\r\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\r\n };\r\n const _list = options.list || [];\r\n const list = (index) => _list[index];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _named = options.named || {};\r\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\r\n const named = (key) => _named[key];\r\n function message(key) {\r\n // prettier-ignore\r\n const msg = isFunction(options.messages)\r\n ? options.messages(key)\r\n : isObject(options.messages)\r\n ? options.messages[key]\r\n : false;\r\n return !msg\r\n ? options.parent\r\n ? options.parent.message(key) // resolve from parent messages\r\n : DEFAULT_MESSAGE\r\n : msg;\r\n }\r\n const _modifier = (name) => options.modifiers\r\n ? options.modifiers[name]\r\n : DEFAULT_MODIFIER;\r\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\r\n ? options.processor.normalize\r\n : DEFAULT_NORMALIZE;\r\n const interpolate = isPlainObject(options.processor) &&\r\n isFunction(options.processor.interpolate)\r\n ? options.processor.interpolate\r\n : DEFAULT_INTERPOLATE;\r\n const type = isPlainObject(options.processor) && isString(options.processor.type)\r\n ? options.processor.type\r\n : DEFAULT_MESSAGE_DATA_TYPE;\r\n const linked = (key, ...args) => {\r\n const [arg1, arg2] = args;\r\n let type = 'text';\r\n let modifier = '';\r\n if (args.length === 1) {\r\n if (isObject(arg1)) {\r\n modifier = arg1.modifier || modifier;\r\n type = arg1.type || type;\r\n }\r\n else if (isString(arg1)) {\r\n modifier = arg1 || modifier;\r\n }\r\n }\r\n else if (args.length === 2) {\r\n if (isString(arg1)) {\r\n modifier = arg1 || modifier;\r\n }\r\n if (isString(arg2)) {\r\n type = arg2 || type;\r\n }\r\n }\r\n let msg = message(key)(ctx);\r\n // The message in vnode resolved with linked are returned as an array by processor.nomalize\r\n if (type === 'vnode' && isArray(msg) && modifier) {\r\n msg = msg[0];\r\n }\r\n return modifier ? _modifier(modifier)(msg, type) : msg;\r\n };\r\n const ctx = {\r\n [\"list\" /* LIST */]: list,\r\n [\"named\" /* NAMED */]: named,\r\n [\"plural\" /* PLURAL */]: plural,\r\n [\"linked\" /* LINKED */]: linked,\r\n [\"message\" /* MESSAGE */]: message,\r\n [\"type\" /* TYPE */]: type,\r\n [\"interpolate\" /* INTERPOLATE */]: interpolate,\r\n [\"normalize\" /* NORMALIZE */]: normalize\r\n };\r\n return ctx;\r\n}\n\nlet devtools = null;\r\nfunction setDevToolsHook(hook) {\r\n devtools = hook;\r\n}\r\nfunction getDevToolsHook() {\r\n return devtools;\r\n}\r\nfunction initI18nDevTools(i18n, version, meta) {\r\n // TODO: queue if devtools is undefined\r\n devtools &&\r\n devtools.emit(IntlifyDevToolsHooks.I18nInit, {\r\n timestamp: Date.now(),\r\n i18n,\r\n version,\r\n meta\r\n });\r\n}\r\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(IntlifyDevToolsHooks.FunctionTranslate);\r\nfunction createDevToolsHook(hook) {\r\n return (payloads) => devtools && devtools.emit(hook, payloads);\r\n}\n\nconst CoreWarnCodes = {\r\n NOT_FOUND_KEY: 1,\r\n FALLBACK_TO_TRANSLATE: 2,\r\n CANNOT_FORMAT_NUMBER: 3,\r\n FALLBACK_TO_NUMBER_FORMAT: 4,\r\n CANNOT_FORMAT_DATE: 5,\r\n FALLBACK_TO_DATE_FORMAT: 6,\r\n __EXTEND_POINT__: 7\r\n};\r\n/** @internal */\r\nconst warnMessages = {\r\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\r\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\r\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\r\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\r\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\r\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`\r\n};\r\nfunction getWarnMessage(code, ...args) {\r\n return format(warnMessages[code], ...args);\r\n}\n\n/**\r\n * Fallback with simple implemenation\r\n *\r\n * @remarks\r\n * A fallback locale function implemented with a simple fallback algorithm.\r\n *\r\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\r\n *\r\n * @param ctx - A {@link CoreContext | context}\r\n * @param fallback - A {@link FallbackLocale | fallback locale}\r\n * @param start - A starting {@link Locale | locale}\r\n *\r\n * @returns Fallback locales\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\r\n) {\r\n // prettier-ignore\r\n return [...new Set([\r\n start,\r\n ...(isArray(fallback)\r\n ? fallback\r\n : isObject(fallback)\r\n ? Object.keys(fallback)\r\n : isString(fallback)\r\n ? [fallback]\r\n : [start])\r\n ])];\r\n}\r\n/**\r\n * Fallback with locale chain\r\n *\r\n * @remarks\r\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\r\n *\r\n * @param ctx - A {@link CoreContext | context}\r\n * @param fallback - A {@link FallbackLocale | fallback locale}\r\n * @param start - A starting {@link Locale | locale}\r\n *\r\n * @returns Fallback locales\r\n *\r\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\r\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\r\n const context = ctx;\r\n if (!context.__localeChainCache) {\r\n context.__localeChainCache = new Map();\r\n }\r\n let chain = context.__localeChainCache.get(startLocale);\r\n if (!chain) {\r\n chain = [];\r\n // first block defined by start\r\n let block = [start];\r\n // while any intervening block found\r\n while (isArray(block)) {\r\n block = appendBlockToChain(chain, block, fallback);\r\n }\r\n // prettier-ignore\r\n // last block defined by default\r\n const defaults = isArray(fallback) || !isPlainObject(fallback)\r\n ? fallback\r\n : fallback['default']\r\n ? fallback['default']\r\n : null;\r\n // convert defaults to array\r\n block = isString(defaults) ? [defaults] : defaults;\r\n if (isArray(block)) {\r\n appendBlockToChain(chain, block, false);\r\n }\r\n context.__localeChainCache.set(startLocale, chain);\r\n }\r\n return chain;\r\n}\r\nfunction appendBlockToChain(chain, block, blocks) {\r\n let follow = true;\r\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\r\n const locale = block[i];\r\n if (isString(locale)) {\r\n follow = appendLocaleToChain(chain, block[i], blocks);\r\n }\r\n }\r\n return follow;\r\n}\r\nfunction appendLocaleToChain(chain, locale, blocks) {\r\n let follow;\r\n const tokens = locale.split('-');\r\n do {\r\n const target = tokens.join('-');\r\n follow = appendItemToChain(chain, target, blocks);\r\n tokens.splice(-1, 1);\r\n } while (tokens.length && follow === true);\r\n return follow;\r\n}\r\nfunction appendItemToChain(chain, target, blocks) {\r\n let follow = false;\r\n if (!chain.includes(target)) {\r\n follow = true;\r\n if (target) {\r\n follow = target[target.length - 1] !== '!';\r\n const locale = target.replace(/!/g, '');\r\n chain.push(locale);\r\n if ((isArray(blocks) || isPlainObject(blocks)) &&\r\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n follow = blocks[locale];\r\n }\r\n }\r\n }\r\n return follow;\r\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Intlify core-base version\r\n * @internal\r\n */\r\nconst VERSION = '9.2.2';\r\nconst NOT_REOSLVED = -1;\r\nconst DEFAULT_LOCALE = 'en-US';\r\nconst MISSING_RESOLVE_VALUE = '';\r\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\r\nfunction getDefaultLinkedModifiers() {\r\n return {\r\n upper: (val, type) => {\r\n // prettier-ignore\r\n return type === 'text' && isString(val)\r\n ? val.toUpperCase()\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? val.children.toUpperCase()\r\n : val;\r\n },\r\n lower: (val, type) => {\r\n // prettier-ignore\r\n return type === 'text' && isString(val)\r\n ? val.toLowerCase()\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? val.children.toLowerCase()\r\n : val;\r\n },\r\n capitalize: (val, type) => {\r\n // prettier-ignore\r\n return (type === 'text' && isString(val)\r\n ? capitalize(val)\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? capitalize(val.children)\r\n : val);\r\n }\r\n };\r\n}\r\nlet _compiler;\r\nfunction registerMessageCompiler(compiler) {\r\n _compiler = compiler;\r\n}\r\nlet _resolver;\r\n/**\r\n * Register the message resolver\r\n *\r\n * @param resolver - A {@link MessageResolver} function\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction registerMessageResolver(resolver) {\r\n _resolver = resolver;\r\n}\r\nlet _fallbacker;\r\n/**\r\n * Register the locale fallbacker\r\n *\r\n * @param fallbacker - A {@link LocaleFallbacker} function\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction registerLocaleFallbacker(fallbacker) {\r\n _fallbacker = fallbacker;\r\n}\r\n// Additional Meta for Intlify DevTools\r\nlet _additionalMeta = null;\r\nconst setAdditionalMeta = (meta) => {\r\n _additionalMeta = meta;\r\n};\r\nconst getAdditionalMeta = () => _additionalMeta;\r\nlet _fallbackContext = null;\r\nconst setFallbackContext = (context) => {\r\n _fallbackContext = context;\r\n};\r\nconst getFallbackContext = () => _fallbackContext;\r\n// ID for CoreContext\r\nlet _cid = 0;\r\nfunction createCoreContext(options = {}) {\r\n // setup options\r\n const version = isString(options.version) ? options.version : VERSION;\r\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\r\n const fallbackLocale = isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n isString(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : locale;\r\n const messages = isPlainObject(options.messages)\r\n ? options.messages\r\n : { [locale]: {} };\r\n const datetimeFormats = isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [locale]: {} }\r\n ;\r\n const numberFormats = isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [locale]: {} }\r\n ;\r\n const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());\r\n const pluralRules = options.pluralRules || {};\r\n const missing = isFunction(options.missing) ? options.missing : null;\r\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n const fallbackFormat = !!options.fallbackFormat;\r\n const unresolving = !!options.unresolving;\r\n const postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n const processor = isPlainObject(options.processor) ? options.processor : null;\r\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n const escapeParameter = !!options.escapeParameter;\r\n const messageCompiler = isFunction(options.messageCompiler)\r\n ? options.messageCompiler\r\n : _compiler;\r\n const messageResolver = isFunction(options.messageResolver)\r\n ? options.messageResolver\r\n : _resolver || resolveWithKeyValue;\r\n const localeFallbacker = isFunction(options.localeFallbacker)\r\n ? options.localeFallbacker\r\n : _fallbacker || fallbackWithSimple;\r\n const fallbackContext = isObject(options.fallbackContext)\r\n ? options.fallbackContext\r\n : undefined;\r\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\r\n // setup internal options\r\n const internalOptions = options;\r\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\r\n ? internalOptions.__datetimeFormatters\r\n : new Map()\r\n ;\r\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\r\n ? internalOptions.__numberFormatters\r\n : new Map()\r\n ;\r\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\r\n _cid++;\r\n const context = {\r\n version,\r\n cid: _cid,\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n modifiers,\r\n pluralRules,\r\n missing,\r\n missingWarn,\r\n fallbackWarn,\r\n fallbackFormat,\r\n unresolving,\r\n postTranslation,\r\n processor,\r\n warnHtmlMessage,\r\n escapeParameter,\r\n messageCompiler,\r\n messageResolver,\r\n localeFallbacker,\r\n fallbackContext,\r\n onWarn,\r\n __meta\r\n };\r\n {\r\n context.datetimeFormats = datetimeFormats;\r\n context.numberFormats = numberFormats;\r\n context.__datetimeFormatters = __datetimeFormatters;\r\n context.__numberFormatters = __numberFormatters;\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.__v_emitter =\r\n internalOptions.__v_emitter != null\r\n ? internalOptions.__v_emitter\r\n : undefined;\r\n }\r\n // NOTE: experimental !!\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n initI18nDevTools(context, version, __meta);\r\n }\r\n return context;\r\n}\r\n/** @internal */\r\nfunction isTranslateFallbackWarn(fallback, key) {\r\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\r\n}\r\n/** @internal */\r\nfunction isTranslateMissingWarn(missing, key) {\r\n return missing instanceof RegExp ? missing.test(key) : missing;\r\n}\r\n/** @internal */\r\nfunction handleMissing(context, key, locale, missingWarn, type) {\r\n const { missing, onWarn } = context;\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"missing\" /* MISSING */, {\r\n locale,\r\n key,\r\n type,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n if (missing !== null) {\r\n const ret = missing(context, locale, key, type);\r\n return isString(ret) ? ret : key;\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\r\n }\r\n return key;\r\n }\r\n}\r\n/** @internal */\r\nfunction updateFallbackLocale(ctx, locale, fallback) {\r\n const context = ctx;\r\n context.__localeChainCache = new Map();\r\n ctx.localeFallbacker(ctx, fallback, locale);\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\r\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\r\nfunction checkHtmlMessage(source, options) {\r\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n if (warnHtmlMessage && RE_HTML_TAG.test(source)) {\r\n warn(format(WARN_MESSAGE, { source }));\r\n }\r\n}\r\nconst defaultOnCacheKey = (source) => source;\r\nlet compileCache = Object.create(null);\r\nfunction clearCompileCache() {\r\n compileCache = Object.create(null);\r\n}\r\nfunction compileToFunction(source, options = {}) {\r\n {\r\n // check HTML message\r\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(source, options);\r\n // check caches\r\n const onCacheKey = options.onCacheKey || defaultOnCacheKey;\r\n const key = onCacheKey(source);\r\n const cached = compileCache[key];\r\n if (cached) {\r\n return cached;\r\n }\r\n // compile error detecting\r\n let occurred = false;\r\n const onError = options.onError || defaultOnError;\r\n options.onError = (err) => {\r\n occurred = true;\r\n onError(err);\r\n };\r\n // compile\r\n const { code } = baseCompile(source, options);\r\n // evaluate function\r\n const msg = new Function(`return ${code}`)();\r\n // if occurred compile error, don't cache\r\n return !occurred ? (compileCache[key] = msg) : msg;\r\n }\r\n}\n\nlet code = CompileErrorCodes.__EXTEND_POINT__;\r\nconst inc = () => ++code;\r\nconst CoreErrorCodes = {\r\n INVALID_ARGUMENT: code,\r\n INVALID_DATE_ARGUMENT: inc(),\r\n INVALID_ISO_DATE_ARGUMENT: inc(),\r\n __EXTEND_POINT__: inc() // 18\r\n};\r\nfunction createCoreError(code) {\r\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\r\n}\r\n/** @internal */\r\nconst errorMessages = {\r\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\r\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\r\n 'Make sure your Date represents a valid date.',\r\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string'\r\n};\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\r\nconst isMessageFunction = (val) => isFunction(val);\r\n// implementation of `translate` function\r\nfunction translate(context, ...args) {\r\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\r\n const [key, options] = parseTranslateArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const escapeParameter = isBoolean(options.escapeParameter)\r\n ? options.escapeParameter\r\n : context.escapeParameter;\r\n const resolvedMessage = !!options.resolvedMessage;\r\n // prettier-ignore\r\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\r\n ? !isBoolean(options.default)\r\n ? options.default\r\n : (!messageCompiler ? () => key : key)\r\n : fallbackFormat // default by `fallbackFormat` option\r\n ? (!messageCompiler ? () => key : key)\r\n : '';\r\n const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n // escape params\r\n escapeParameter && escapeParams(options);\r\n // resolve message format\r\n // eslint-disable-next-line prefer-const\r\n let [formatScope, targetLocale, message] = !resolvedMessage\r\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\r\n : [\r\n key,\r\n locale,\r\n messages[locale] || {}\r\n ];\r\n // NOTE:\r\n // Fix to work around `ssrTransfrom` bug in Vite.\r\n // https://github.com/vitejs/vite/issues/4306\r\n // To get around this, use temporary variables.\r\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\r\n let format = formatScope;\r\n // if you use default message, set it as message format!\r\n let cacheBaseKey = key;\r\n if (!resolvedMessage &&\r\n !(isString(format) || isMessageFunction(format))) {\r\n if (enableDefaultMsg) {\r\n format = defaultMsgOrKey;\r\n cacheBaseKey = format;\r\n }\r\n }\r\n // checking message format and target locale\r\n if (!resolvedMessage &&\r\n (!(isString(format) || isMessageFunction(format)) ||\r\n !isString(targetLocale))) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\r\n warn(`The message format compilation is not supported in this build. ` +\r\n `Because message compiler isn't included. ` +\r\n `You need to pre-compilation all message format. ` +\r\n `So translate function return '${key}'.`);\r\n return key;\r\n }\r\n // setup compile error detecting\r\n let occurred = false;\r\n const errorDetector = () => {\r\n occurred = true;\r\n };\r\n // compile message format\r\n const msg = !isMessageFunction(format)\r\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, errorDetector)\r\n : format;\r\n // if occurred compile error, return the message format\r\n if (occurred) {\r\n return format;\r\n }\r\n // evaluate message with context\r\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\r\n const msgContext = createMessageContext(ctxOptions);\r\n const messaged = evaluateMessage(context, msg, msgContext);\r\n // if use post translation option, proceed it with handler\r\n const ret = postTranslation\r\n ? postTranslation(messaged, key)\r\n : messaged;\r\n // NOTE: experimental !!\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n // prettier-ignore\r\n const payloads = {\r\n timestamp: Date.now(),\r\n key: isString(key)\r\n ? key\r\n : isMessageFunction(format)\r\n ? format.key\r\n : '',\r\n locale: targetLocale || (isMessageFunction(format)\r\n ? format.locale\r\n : ''),\r\n format: isString(format)\r\n ? format\r\n : isMessageFunction(format)\r\n ? format.source\r\n : '',\r\n message: ret\r\n };\r\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\r\n translateDevTools(payloads);\r\n }\r\n return ret;\r\n}\r\nfunction escapeParams(options) {\r\n if (isArray(options.list)) {\r\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\r\n }\r\n else if (isObject(options.named)) {\r\n Object.keys(options.named).forEach(key => {\r\n if (isString(options.named[key])) {\r\n options.named[key] = escapeHtml(options.named[key]);\r\n }\r\n });\r\n }\r\n}\r\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\r\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\r\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n let message = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'translate';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n message =\r\n messages[targetLocale] || {};\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-resolve-start';\r\n endTag = 'intlify-message-resolve-end';\r\n mark && mark(startTag);\r\n }\r\n if ((format = resolveValue(message, key)) === null) {\r\n // if null, resolve with object key path\r\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start && format) {\r\n emitter.emit(\"message-resolve\" /* MESSAGE_RESOLVE */, {\r\n type: \"message-resolve\" /* MESSAGE_RESOLVE */,\r\n key,\r\n message: format,\r\n time: end - start,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message resolve', startTag, endTag);\r\n }\r\n }\r\n if (isString(format) || isFunction(format))\r\n break;\r\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n key, targetLocale, missingWarn, type);\r\n if (missingRet !== key) {\r\n format = missingRet;\r\n }\r\n from = to;\r\n }\r\n return [format, targetLocale, message];\r\n}\r\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, errorDetector) {\r\n const { messageCompiler, warnHtmlMessage } = context;\r\n if (isMessageFunction(format)) {\r\n const msg = format;\r\n msg.locale = msg.locale || targetLocale;\r\n msg.key = msg.key || key;\r\n return msg;\r\n }\r\n if (messageCompiler == null) {\r\n const msg = (() => format);\r\n msg.locale = targetLocale;\r\n msg.key = key;\r\n return msg;\r\n }\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-compilation-start';\r\n endTag = 'intlify-message-compilation-end';\r\n mark && mark(startTag);\r\n }\r\n const msg = messageCompiler(format, getCompileOptions(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, errorDetector));\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start) {\r\n emitter.emit(\"message-compilation\" /* MESSAGE_COMPILATION */, {\r\n type: \"message-compilation\" /* MESSAGE_COMPILATION */,\r\n message: format,\r\n time: end - start,\r\n groupId: `${'translate'}:${key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message compilation', startTag, endTag);\r\n }\r\n }\r\n msg.locale = targetLocale;\r\n msg.key = key;\r\n msg.source = format;\r\n return msg;\r\n}\r\nfunction evaluateMessage(context, msg, msgCtx) {\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-evaluation-start';\r\n endTag = 'intlify-message-evaluation-end';\r\n mark && mark(startTag);\r\n }\r\n const messaged = msg(msgCtx);\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start) {\r\n emitter.emit(\"message-evaluation\" /* MESSAGE_EVALUATION */, {\r\n type: \"message-evaluation\" /* MESSAGE_EVALUATION */,\r\n value: messaged,\r\n time: end - start,\r\n groupId: `${'translate'}:${msg.key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message evaluation', startTag, endTag);\r\n }\r\n }\r\n return messaged;\r\n}\r\n/** @internal */\r\nfunction parseTranslateArgs(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = {};\r\n if (!isString(arg1) && !isNumber(arg1) && !isMessageFunction(arg1)) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n // prettier-ignore\r\n const key = isNumber(arg1)\r\n ? String(arg1)\r\n : isMessageFunction(arg1)\r\n ? arg1\r\n : arg1;\r\n if (isNumber(arg2)) {\r\n options.plural = arg2;\r\n }\r\n else if (isString(arg2)) {\r\n options.default = arg2;\r\n }\r\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\r\n options.named = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n options.list = arg2;\r\n }\r\n if (isNumber(arg3)) {\r\n options.plural = arg3;\r\n }\r\n else if (isString(arg3)) {\r\n options.default = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n assign(options, arg3);\r\n }\r\n return [key, options];\r\n}\r\nfunction getCompileOptions(context, locale, key, source, warnHtmlMessage, errorDetector) {\r\n return {\r\n warnHtmlMessage,\r\n onError: (err) => {\r\n errorDetector && errorDetector(err);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const message = `Message compilation error: ${err.message}`;\r\n const codeFrame = err.location &&\r\n generateCodeFrame(source, err.location.start.offset, err.location.end.offset);\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"compile-error\" /* COMPILE_ERROR */, {\r\n message: source,\r\n error: err.message,\r\n start: err.location && err.location.start.offset,\r\n end: err.location && err.location.end.offset,\r\n groupId: `${'translate'}:${key}`\r\n });\r\n }\r\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\r\n }\r\n else {\r\n throw err;\r\n }\r\n },\r\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\r\n };\r\n}\r\nfunction getMessageContextOptions(context, locale, message, options) {\r\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\r\n const resolveMessage = (key) => {\r\n let val = resolveValue(message, key);\r\n // fallback to root context\r\n if (val == null && fallbackContext) {\r\n const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\r\n val = resolveValue(message, key);\r\n }\r\n if (isString(val)) {\r\n let occurred = false;\r\n const errorDetector = () => {\r\n occurred = true;\r\n };\r\n const msg = compileMessageFormat(context, key, locale, val, key, errorDetector);\r\n return !occurred\r\n ? msg\r\n : NOOP_MESSAGE_FUNCTION;\r\n }\r\n else if (isMessageFunction(val)) {\r\n return val;\r\n }\r\n else {\r\n // TODO: should be implemented warning message\r\n return NOOP_MESSAGE_FUNCTION;\r\n }\r\n };\r\n const ctxOptions = {\r\n locale,\r\n modifiers,\r\n pluralRules,\r\n messages: resolveMessage\r\n };\r\n if (context.processor) {\r\n ctxOptions.processor = context.processor;\r\n }\r\n if (options.list) {\r\n ctxOptions.list = options.list;\r\n }\r\n if (options.named) {\r\n ctxOptions.named = options.named;\r\n }\r\n if (isNumber(options.plural)) {\r\n ctxOptions.pluralIndex = options.plural;\r\n }\r\n return ctxOptions;\r\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\r\nconst Availabilities = {\r\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\r\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\r\n};\n\n// implementation of `datetime` function\r\nfunction datetime(context, ...args) {\r\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\r\n const { __datetimeFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\r\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\r\n return MISSING_RESOLVE_VALUE;\r\n }\r\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const part = !!options.part;\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.DateTimeFormat(locale, overrides).format(value);\r\n }\r\n // resolve format\r\n let datetimeFormat = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'datetime format';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n datetimeFormat =\r\n datetimeFormats[targetLocale] || {};\r\n format = datetimeFormat[key];\r\n if (isPlainObject(format))\r\n break;\r\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n from = to;\r\n }\r\n // checking format and target locale\r\n if (!isPlainObject(format) || !isString(targetLocale)) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n let id = `${targetLocale}__${key}`;\r\n if (!isEmptyObject(overrides)) {\r\n id = `${id}__${JSON.stringify(overrides)}`;\r\n }\r\n let formatter = __datetimeFormatters.get(id);\r\n if (!formatter) {\r\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\r\n __datetimeFormatters.set(id, formatter);\r\n }\r\n return !part ? formatter.format(value) : formatter.formatToParts(value);\r\n}\r\n/** @internal */\r\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\r\n 'localeMatcher',\r\n 'weekday',\r\n 'era',\r\n 'year',\r\n 'month',\r\n 'day',\r\n 'hour',\r\n 'minute',\r\n 'second',\r\n 'timeZoneName',\r\n 'formatMatcher',\r\n 'hour12',\r\n 'timeZone',\r\n 'dateStyle',\r\n 'timeStyle',\r\n 'calendar',\r\n 'dayPeriod',\r\n 'numberingSystem',\r\n 'hourCycle',\r\n 'fractionalSecondDigits'\r\n];\r\n/** @internal */\r\nfunction parseDateTimeArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n const options = {};\r\n let overrides = {};\r\n let value;\r\n if (isString(arg1)) {\r\n // Only allow ISO strings - other date formats are often supported,\r\n // but may cause different results in different browsers.\r\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\r\n if (!matches) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\r\n }\r\n // Some browsers can not parse the iso datetime separated by space,\r\n // this is a compromise solution by replace the 'T'/' ' with 'T'\r\n const dateTime = matches[3]\r\n ? matches[3].trim().startsWith('T')\r\n ? `${matches[1].trim()}${matches[3].trim()}`\r\n : `${matches[1].trim()}T${matches[3].trim()}`\r\n : matches[1].trim();\r\n value = new Date(dateTime);\r\n try {\r\n // This will fail if the date is not valid\r\n value.toISOString();\r\n }\r\n catch (e) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\r\n }\r\n }\r\n else if (isDate(arg1)) {\r\n if (isNaN(arg1.getTime())) {\r\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\r\n }\r\n value = arg1;\r\n }\r\n else if (isNumber(arg1)) {\r\n value = arg1;\r\n }\r\n else {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n if (isString(arg2)) {\r\n options.key = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n Object.keys(arg2).forEach(key => {\r\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\r\n overrides[key] = arg2[key];\r\n }\r\n else {\r\n options[key] = arg2[key];\r\n }\r\n });\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n overrides = arg3;\r\n }\r\n if (isPlainObject(arg4)) {\r\n overrides = arg4;\r\n }\r\n return [options.key || '', value, options, overrides];\r\n}\r\n/** @internal */\r\nfunction clearDateTimeFormat(ctx, locale, format) {\r\n const context = ctx;\r\n for (const key in format) {\r\n const id = `${locale}__${key}`;\r\n if (!context.__datetimeFormatters.has(id)) {\r\n continue;\r\n }\r\n context.__datetimeFormatters.delete(id);\r\n }\r\n}\n\n// implementation of `number` function\r\nfunction number(context, ...args) {\r\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\r\n const { __numberFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\r\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\r\n return MISSING_RESOLVE_VALUE;\r\n }\r\n const [key, value, options, overrides] = parseNumberArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const part = !!options.part;\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.NumberFormat(locale, overrides).format(value);\r\n }\r\n // resolve format\r\n let numberFormat = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'number format';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n numberFormat =\r\n numberFormats[targetLocale] || {};\r\n format = numberFormat[key];\r\n if (isPlainObject(format))\r\n break;\r\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n from = to;\r\n }\r\n // checking format and target locale\r\n if (!isPlainObject(format) || !isString(targetLocale)) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n let id = `${targetLocale}__${key}`;\r\n if (!isEmptyObject(overrides)) {\r\n id = `${id}__${JSON.stringify(overrides)}`;\r\n }\r\n let formatter = __numberFormatters.get(id);\r\n if (!formatter) {\r\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\r\n __numberFormatters.set(id, formatter);\r\n }\r\n return !part ? formatter.format(value) : formatter.formatToParts(value);\r\n}\r\n/** @internal */\r\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\r\n 'localeMatcher',\r\n 'style',\r\n 'currency',\r\n 'currencyDisplay',\r\n 'currencySign',\r\n 'useGrouping',\r\n 'minimumIntegerDigits',\r\n 'minimumFractionDigits',\r\n 'maximumFractionDigits',\r\n 'minimumSignificantDigits',\r\n 'maximumSignificantDigits',\r\n 'compactDisplay',\r\n 'notation',\r\n 'signDisplay',\r\n 'unit',\r\n 'unitDisplay',\r\n 'roundingMode',\r\n 'roundingPriority',\r\n 'roundingIncrement',\r\n 'trailingZeroDisplay'\r\n];\r\n/** @internal */\r\nfunction parseNumberArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n const options = {};\r\n let overrides = {};\r\n if (!isNumber(arg1)) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n const value = arg1;\r\n if (isString(arg2)) {\r\n options.key = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n Object.keys(arg2).forEach(key => {\r\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\r\n overrides[key] = arg2[key];\r\n }\r\n else {\r\n options[key] = arg2[key];\r\n }\r\n });\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n overrides = arg3;\r\n }\r\n if (isPlainObject(arg4)) {\r\n overrides = arg4;\r\n }\r\n return [options.key || '', value, options, overrides];\r\n}\r\n/** @internal */\r\nfunction clearNumberFormat(ctx, locale, format) {\r\n const context = ctx;\r\n for (const key in format) {\r\n const id = `${locale}__${key}`;\r\n if (!context.__numberFormatters.has(id)) {\r\n continue;\r\n }\r\n context.__numberFormatters.delete(id);\r\n }\r\n}\n\n// TODO: we could not exports for Node native ES Moudles yet...\r\n{\r\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\r\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\r\n }\r\n}\n\nexport { 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, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getWarnMessage, handleMissing, initI18nDevTools, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-devtools v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst VueDevToolsLabels = {\r\n [\"vue-devtools-plugin-vue-i18n\" /* PLUGIN */]: 'Vue I18n devtools',\r\n [\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */]: 'I18n Resources',\r\n [\"vue-i18n-timeline\" /* TIMELINE */]: 'Vue I18n'\r\n};\r\nconst VueDevToolsPlaceholders = {\r\n [\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */]: 'Search for scopes ...'\r\n};\r\nconst VueDevToolsTimelineColors = {\r\n [\"vue-i18n-timeline\" /* TIMELINE */]: 0xffcd19\r\n};\n\nexport { VueDevToolsLabels, VueDevToolsPlaceholders, VueDevToolsTimelineColors };\n","/*!\n * vue-i18n v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, format, makeSymbol, isPlainObject, isArray, isString, hasOwn, isObject, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, warn, createEmitter, isEmptyObject } from '@intlify/shared';\nimport { CoreWarnCodes, CompileErrorCodes, createCompileError, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compileToFunction, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { createVNode, Text, ref, computed, watch, getCurrentInstance, Fragment, h, effectScope, inject, onMounted, onUnmounted, shallowRef, onBeforeMount, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\nimport { VueDevToolsLabels, VueDevToolsPlaceholders, VueDevToolsTimelineColors } from '@intlify/vue-devtools';\n\n/**\r\n * Vue I18n Version\r\n *\r\n * @remarks\r\n * Semver format. Same format as the package.json `version` field.\r\n *\r\n * @VueI18nGeneral\r\n */\r\nconst VERSION = '9.2.2';\r\n/**\r\n * This is only called in esm-bundler builds.\r\n * istanbul-ignore-next\r\n */\r\nfunction initFeatureFlags() {\r\n let needWarn = false;\r\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\r\n }\r\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\r\n needWarn = true;\r\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\r\n }\r\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\r\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && needWarn) {\r\n console.warn(`You are running the esm-bundler build of vue-i18n. It is recommended to ` +\r\n `configure your bundler to explicitly replace feature flag globals ` +\r\n `with boolean literals to get proper tree-shaking in the final bundle.`);\r\n }\r\n}\n\nlet code$1 = CoreWarnCodes.__EXTEND_POINT__;\r\nconst inc$1 = () => ++code$1;\r\nconst I18nWarnCodes = {\r\n FALLBACK_TO_ROOT: code$1,\r\n NOT_SUPPORTED_PRESERVE: inc$1(),\r\n NOT_SUPPORTED_FORMATTER: inc$1(),\r\n NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(),\r\n NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(),\r\n COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(),\r\n NOT_FOUND_PARENT_SCOPE: inc$1() // 13\r\n};\r\nconst warnMessages = {\r\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`,\r\n [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`,\r\n [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`,\r\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`\r\n};\r\nfunction getWarnMessage(code, ...args) {\r\n return format(warnMessages[code], ...args);\r\n}\n\nlet code = CompileErrorCodes.__EXTEND_POINT__;\r\nconst inc = () => ++code;\r\nconst I18nErrorCodes = {\r\n // composer module errors\r\n UNEXPECTED_RETURN_TYPE: code,\r\n // legacy module errors\r\n INVALID_ARGUMENT: inc(),\r\n // i18n module errors\r\n MUST_BE_CALL_SETUP_TOP: inc(),\r\n NOT_INSLALLED: inc(),\r\n NOT_AVAILABLE_IN_LEGACY_MODE: inc(),\r\n // directive module errors\r\n REQUIRED_VALUE: inc(),\r\n INVALID_VALUE: inc(),\r\n // vue-devtools errors\r\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(),\r\n NOT_INSLALLED_WITH_PROVIDE: inc(),\r\n // unexpected error\r\n UNEXPECTED_ERROR: inc(),\r\n // not compatible legacy vue-i18n constructor\r\n NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(),\r\n // bridge support vue 2.x only\r\n BRIDGE_SUPPORT_VUE_2_ONLY: inc(),\r\n // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``\r\n MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(),\r\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\r\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(),\r\n // for enhancement\r\n __EXTEND_POINT__: inc() // 29\r\n};\r\nfunction createI18nError(code, ...args) {\r\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\r\n}\r\nconst errorMessages = {\r\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\r\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\r\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\r\n [I18nErrorCodes.NOT_INSLALLED]: 'Need to install with `app.use` function',\r\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\r\n [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: 'Not available in legacy mode',\r\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\r\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\r\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\r\n [I18nErrorCodes.NOT_INSLALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\r\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\r\n [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: 'vue-i18n-bridge support Vue 2.x only',\r\n [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: 'Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode',\r\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'\r\n};\n\nconst TransrateVNodeSymbol = \r\n/* #__PURE__*/ makeSymbol('__transrateVNode');\r\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\r\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\r\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\r\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\r\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\r\nmakeSymbol('__intlifyMeta');\r\nconst InejctWithOption = /* #__PURE__*/ makeSymbol('__injectWithOption');\r\nconst __VUE_I18N_BRIDGE__ = '__VUE_I18N_BRIDGE__';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Transform flat json in obj to normal json in obj\r\n */\r\nfunction handleFlatJson(obj) {\r\n // check obj\r\n if (!isObject(obj)) {\r\n return obj;\r\n }\r\n for (const key in obj) {\r\n // check key\r\n if (!hasOwn(obj, key)) {\r\n continue;\r\n }\r\n // handle for normal json\r\n if (!key.includes('.')) {\r\n // recursive process value if value is also a object\r\n if (isObject(obj[key])) {\r\n handleFlatJson(obj[key]);\r\n }\r\n }\r\n // handle for flat json, transform to normal json\r\n else {\r\n // go to the last object\r\n const subKeys = key.split('.');\r\n const lastIndex = subKeys.length - 1;\r\n let currentObj = obj;\r\n for (let i = 0; i < lastIndex; i++) {\r\n if (!(subKeys[i] in currentObj)) {\r\n currentObj[subKeys[i]] = {};\r\n }\r\n currentObj = currentObj[subKeys[i]];\r\n }\r\n // update last object value, delete old property\r\n currentObj[subKeys[lastIndex]] = obj[key];\r\n delete obj[key];\r\n // recursive process value if value is also a object\r\n if (isObject(currentObj[subKeys[lastIndex]])) {\r\n handleFlatJson(currentObj[subKeys[lastIndex]]);\r\n }\r\n }\r\n }\r\n return obj;\r\n}\r\nfunction getLocaleMessages(locale, options) {\r\n const { messages, __i18n, messageResolver, flatJson } = options;\r\n // prettier-ignore\r\n const ret = isPlainObject(messages)\r\n ? messages\r\n : isArray(__i18n)\r\n ? {}\r\n : { [locale]: {} };\r\n // merge locale messages of i18n custom block\r\n if (isArray(__i18n)) {\r\n __i18n.forEach(custom => {\r\n if ('locale' in custom && 'resource' in custom) {\r\n const { locale, resource } = custom;\r\n if (locale) {\r\n ret[locale] = ret[locale] || {};\r\n deepCopy(resource, ret[locale]);\r\n }\r\n else {\r\n deepCopy(resource, ret);\r\n }\r\n }\r\n else {\r\n isString(custom) && deepCopy(JSON.parse(custom), ret);\r\n }\r\n });\r\n }\r\n // handle messages for flat json\r\n if (messageResolver == null && flatJson) {\r\n for (const key in ret) {\r\n if (hasOwn(ret, key)) {\r\n handleFlatJson(ret[key]);\r\n }\r\n }\r\n }\r\n return ret;\r\n}\r\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\nfunction deepCopy(src, des) {\r\n // src and des should both be objects, and non of then can be a array\r\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\r\n }\r\n for (const key in src) {\r\n if (hasOwn(src, key)) {\r\n if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {\r\n // replace with src[key] when:\r\n // src[key] or des[key] is not a object, or\r\n // src[key] or des[key] is a array\r\n des[key] = src[key];\r\n }\r\n else {\r\n // src[key] and des[key] are both object, merge them\r\n deepCopy(src[key], des[key]);\r\n }\r\n }\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getComponentOptions(instance) {\r\n return instance.type ;\r\n}\r\nfunction adjustI18nResources(global, options, componentOptions // eslint-disable-line @typescript-eslint/no-explicit-any\r\n) {\r\n let messages = isObject(options.messages) ? options.messages : {};\r\n if ('__i18nGlobal' in componentOptions) {\r\n messages = getLocaleMessages(global.locale.value, {\r\n messages,\r\n __i18n: componentOptions.__i18nGlobal\r\n });\r\n }\r\n // merge locale messages\r\n const locales = Object.keys(messages);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeLocaleMessage(locale, messages[locale]);\r\n });\r\n }\r\n {\r\n // merge datetime formats\r\n if (isObject(options.datetimeFormats)) {\r\n const locales = Object.keys(options.datetimeFormats);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\r\n });\r\n }\r\n }\r\n // merge number formats\r\n if (isObject(options.numberFormats)) {\r\n const locales = Object.keys(options.numberFormats);\r\n if (locales.length) {\r\n locales.forEach(locale => {\r\n global.mergeNumberFormat(locale, options.numberFormats[locale]);\r\n });\r\n }\r\n }\r\n }\r\n}\r\nfunction createTextNode(key) {\r\n return createVNode(Text, null, key, 0)\r\n ;\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n// extend VNode interface\r\nconst DEVTOOLS_META = '__INTLIFY_META__';\r\nlet composerID = 0;\r\nfunction defineCoreMissingHandler(missing) {\r\n return ((ctx, locale, key, type) => {\r\n return missing(locale, key, getCurrentInstance() || undefined, type);\r\n });\r\n}\r\n// for Intlify DevTools\r\nconst getMetaInfo = () => {\r\n const instance = getCurrentInstance();\r\n let meta = null; // eslint-disable-line @typescript-eslint/no-explicit-any\r\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\r\n ? { [DEVTOOLS_META]: meta } // eslint-disable-line @typescript-eslint/no-explicit-any\r\n : null;\r\n};\r\n/**\r\n * Create composer interface factory\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nfunction createComposer(options = {}, VueI18nLegacy) {\r\n const { __root } = options;\r\n const _isGlobal = __root === undefined;\r\n let _inheritLocale = isBoolean(options.inheritLocale)\r\n ? options.inheritLocale\r\n : true;\r\n const _locale = ref(\r\n // prettier-ignore\r\n __root && _inheritLocale\r\n ? __root.locale.value\r\n : isString(options.locale)\r\n ? options.locale\r\n : DEFAULT_LOCALE);\r\n const _fallbackLocale = ref(\r\n // prettier-ignore\r\n __root && _inheritLocale\r\n ? __root.fallbackLocale.value\r\n : isString(options.fallbackLocale) ||\r\n isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : _locale.value);\r\n const _messages = ref(getLocaleMessages(_locale.value, options));\r\n // prettier-ignore\r\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [_locale.value]: {} })\r\n ;\r\n // prettier-ignore\r\n const _numberFormats = ref(isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [_locale.value]: {} })\r\n ;\r\n // warning suppress options\r\n // prettier-ignore\r\n let _missingWarn = __root\r\n ? __root.missingWarn\r\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n // prettier-ignore\r\n let _fallbackWarn = __root\r\n ? __root.fallbackWarn\r\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n // prettier-ignore\r\n let _fallbackRoot = __root\r\n ? __root.fallbackRoot\r\n : isBoolean(options.fallbackRoot)\r\n ? options.fallbackRoot\r\n : true;\r\n // configure fall back to root\r\n let _fallbackFormat = !!options.fallbackFormat;\r\n // runtime missing\r\n let _missing = isFunction(options.missing) ? options.missing : null;\r\n let _runtimeMissing = isFunction(options.missing)\r\n ? defineCoreMissingHandler(options.missing)\r\n : null;\r\n // postTranslation handler\r\n let _postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n // prettier-ignore\r\n let _warnHtmlMessage = __root\r\n ? __root.warnHtmlMessage\r\n : isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n let _escapeParameter = !!options.escapeParameter;\r\n // custom linked modifiers\r\n // prettier-ignore\r\n const _modifiers = __root\r\n ? __root.modifiers\r\n : isPlainObject(options.modifiers)\r\n ? options.modifiers\r\n : {};\r\n // pluralRules\r\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\r\n // runtime context\r\n // eslint-disable-next-line prefer-const\r\n let _context;\r\n const getCoreContext = () => {\r\n _isGlobal && setFallbackContext(null);\r\n const ctxOptions = {\r\n version: VERSION,\r\n locale: _locale.value,\r\n fallbackLocale: _fallbackLocale.value,\r\n messages: _messages.value,\r\n modifiers: _modifiers,\r\n pluralRules: _pluralRules,\r\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\r\n missingWarn: _missingWarn,\r\n fallbackWarn: _fallbackWarn,\r\n fallbackFormat: _fallbackFormat,\r\n unresolving: true,\r\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\r\n warnHtmlMessage: _warnHtmlMessage,\r\n escapeParameter: _escapeParameter,\r\n messageResolver: options.messageResolver,\r\n __meta: { framework: 'vue' }\r\n };\r\n {\r\n ctxOptions.datetimeFormats = _datetimeFormats.value;\r\n ctxOptions.numberFormats = _numberFormats.value;\r\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\r\n ? _context.__datetimeFormatters\r\n : undefined;\r\n ctxOptions.__numberFormatters = isPlainObject(_context)\r\n ? _context.__numberFormatters\r\n : undefined;\r\n }\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n ctxOptions.__v_emitter = isPlainObject(_context)\r\n ? _context.__v_emitter\r\n : undefined;\r\n }\r\n const ctx = createCoreContext(ctxOptions);\r\n _isGlobal && setFallbackContext(ctx);\r\n return ctx;\r\n };\r\n _context = getCoreContext();\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n // track reactivity\r\n function trackReactivityValues() {\r\n return [\r\n _locale.value,\r\n _fallbackLocale.value,\r\n _messages.value,\r\n _datetimeFormats.value,\r\n _numberFormats.value\r\n ]\r\n ;\r\n }\r\n // locale\r\n const locale = computed({\r\n get: () => _locale.value,\r\n set: val => {\r\n _locale.value = val;\r\n _context.locale = _locale.value;\r\n }\r\n });\r\n // fallbackLocale\r\n const fallbackLocale = computed({\r\n get: () => _fallbackLocale.value,\r\n set: val => {\r\n _fallbackLocale.value = val;\r\n _context.fallbackLocale = _fallbackLocale.value;\r\n updateFallbackLocale(_context, _locale.value, val);\r\n }\r\n });\r\n // messages\r\n const messages = computed(() => _messages.value);\r\n // datetimeFormats\r\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\r\n // numberFormats\r\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\r\n // getPostTranslationHandler\r\n function getPostTranslationHandler() {\r\n return isFunction(_postTranslation) ? _postTranslation : null;\r\n }\r\n // setPostTranslationHandler\r\n function setPostTranslationHandler(handler) {\r\n _postTranslation = handler;\r\n _context.postTranslation = handler;\r\n }\r\n // getMissingHandler\r\n function getMissingHandler() {\r\n return _missing;\r\n }\r\n // setMissingHandler\r\n function setMissingHandler(handler) {\r\n if (handler !== null) {\r\n _runtimeMissing = defineCoreMissingHandler(handler);\r\n }\r\n _missing = handler;\r\n _context.missing = _runtimeMissing;\r\n }\r\n function isResolvedTranslateMessage(type, arg // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n return type !== 'translate' || !arg.resolvedMessage;\r\n }\r\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\r\n trackReactivityValues(); // track reactive dependency\r\n // NOTE: experimental !!\r\n let ret;\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n try {\r\n setAdditionalMeta(getMetaInfo());\r\n if (!_isGlobal) {\r\n _context.fallbackContext = __root\r\n ? getFallbackContext()\r\n : undefined;\r\n }\r\n ret = fn(_context);\r\n }\r\n finally {\r\n setAdditionalMeta(null);\r\n if (!_isGlobal) {\r\n _context.fallbackContext = undefined;\r\n }\r\n }\r\n }\r\n else {\r\n ret = fn(_context);\r\n }\r\n if (isNumber(ret) && ret === NOT_REOSLVED) {\r\n const [key, arg2] = argumentParser();\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n __root &&\r\n isString(key) &&\r\n isResolvedTranslateMessage(warnType, arg2)) {\r\n if (_fallbackRoot &&\r\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\r\n isTranslateMissingWarn(_missingWarn, key))) {\r\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\r\n key,\r\n type: warnType\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const { __v_emitter: emitter } = _context;\r\n if (emitter && _fallbackRoot) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type: warnType,\r\n key,\r\n to: 'global',\r\n groupId: `${warnType}:${key}`\r\n });\r\n }\r\n }\r\n }\r\n return __root && _fallbackRoot\r\n ? fallbackSuccess(__root)\r\n : fallbackFail(key);\r\n }\r\n else if (successCondition(ret)) {\r\n return ret;\r\n }\r\n else {\r\n /* istanbul ignore next */\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\r\n }\r\n };\r\n // t\r\n function t(...args) {\r\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));\r\n }\r\n // rt\r\n function rt(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n if (arg3 && !isObject(arg3)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\r\n }\r\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\r\n }\r\n // d\r\n function d(...args) {\r\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));\r\n }\r\n // n\r\n function n(...args) {\r\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));\r\n }\r\n // for custom processor\r\n function normalize(values) {\r\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\r\n ? createTextNode(String(val))\r\n : val);\r\n }\r\n const interpolate = (val) => val;\r\n const processor = {\r\n normalize,\r\n interpolate,\r\n type: 'vnode'\r\n };\r\n // transrateVNode, using for `i18n-t` component\r\n function transrateVNode(...args) {\r\n return wrapWithDeps(context => {\r\n let ret;\r\n const _context = context;\r\n try {\r\n _context.processor = processor;\r\n ret = Reflect.apply(translate, null, [_context, ...args]);\r\n }\r\n finally {\r\n _context.processor = null;\r\n }\r\n return ret;\r\n }, () => parseTranslateArgs(...args), 'translate', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[TransrateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\r\n }\r\n // numberParts, using for `i18n-n` component\r\n function numberParts(...args) {\r\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[NumberPartsSymbol](...args), () => [], val => isString(val) || isArray(val));\r\n }\r\n // datetimeParts, using for `i18n-d` component\r\n function datetimeParts(...args) {\r\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n root => root[DatetimePartsSymbol](...args), () => [], val => isString(val) || isArray(val));\r\n }\r\n function setPluralRules(rules) {\r\n _pluralRules = rules;\r\n _context.pluralRules = _pluralRules;\r\n }\r\n // te\r\n function te(key, locale) {\r\n const targetLocale = isString(locale) ? locale : _locale.value;\r\n const message = getLocaleMessage(targetLocale);\r\n return _context.messageResolver(message, key) !== null;\r\n }\r\n function resolveMessages(key) {\r\n let messages = null;\r\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\r\n for (let i = 0; i < locales.length; i++) {\r\n const targetLocaleMessages = _messages.value[locales[i]] || {};\r\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\r\n if (messageValue != null) {\r\n messages = messageValue;\r\n break;\r\n }\r\n }\r\n return messages;\r\n }\r\n // tm\r\n function tm(key) {\r\n const messages = resolveMessages(key);\r\n // prettier-ignore\r\n return messages != null\r\n ? messages\r\n : __root\r\n ? __root.tm(key) || {}\r\n : {};\r\n }\r\n // getLocaleMessage\r\n function getLocaleMessage(locale) {\r\n return (_messages.value[locale] || {});\r\n }\r\n // setLocaleMessage\r\n function setLocaleMessage(locale, message) {\r\n _messages.value[locale] = message;\r\n _context.messages = _messages.value;\r\n }\r\n // mergeLocaleMessage\r\n function mergeLocaleMessage(locale, message) {\r\n _messages.value[locale] = _messages.value[locale] || {};\r\n deepCopy(message, _messages.value[locale]);\r\n _context.messages = _messages.value;\r\n }\r\n // getDateTimeFormat\r\n function getDateTimeFormat(locale) {\r\n return _datetimeFormats.value[locale] || {};\r\n }\r\n // setDateTimeFormat\r\n function setDateTimeFormat(locale, format) {\r\n _datetimeFormats.value[locale] = format;\r\n _context.datetimeFormats = _datetimeFormats.value;\r\n clearDateTimeFormat(_context, locale, format);\r\n }\r\n // mergeDateTimeFormat\r\n function mergeDateTimeFormat(locale, format) {\r\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\r\n _context.datetimeFormats = _datetimeFormats.value;\r\n clearDateTimeFormat(_context, locale, format);\r\n }\r\n // getNumberFormat\r\n function getNumberFormat(locale) {\r\n return _numberFormats.value[locale] || {};\r\n }\r\n // setNumberFormat\r\n function setNumberFormat(locale, format) {\r\n _numberFormats.value[locale] = format;\r\n _context.numberFormats = _numberFormats.value;\r\n clearNumberFormat(_context, locale, format);\r\n }\r\n // mergeNumberFormat\r\n function mergeNumberFormat(locale, format) {\r\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\r\n _context.numberFormats = _numberFormats.value;\r\n clearNumberFormat(_context, locale, format);\r\n }\r\n // for debug\r\n composerID++;\r\n // watch root locale & fallbackLocale\r\n if (__root && inBrowser) {\r\n watch(__root.locale, (val) => {\r\n if (_inheritLocale) {\r\n _locale.value = val;\r\n _context.locale = val;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n });\r\n watch(__root.fallbackLocale, (val) => {\r\n if (_inheritLocale) {\r\n _fallbackLocale.value = val;\r\n _context.fallbackLocale = val;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n });\r\n }\r\n // define basic composition API!\r\n const composer = {\r\n id: composerID,\r\n locale,\r\n fallbackLocale,\r\n get inheritLocale() {\r\n return _inheritLocale;\r\n },\r\n set inheritLocale(val) {\r\n _inheritLocale = val;\r\n if (val && __root) {\r\n _locale.value = __root.locale.value;\r\n _fallbackLocale.value = __root.fallbackLocale.value;\r\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\r\n }\r\n },\r\n get availableLocales() {\r\n return Object.keys(_messages.value).sort();\r\n },\r\n messages,\r\n get modifiers() {\r\n return _modifiers;\r\n },\r\n get pluralRules() {\r\n return _pluralRules || {};\r\n },\r\n get isGlobal() {\r\n return _isGlobal;\r\n },\r\n get missingWarn() {\r\n return _missingWarn;\r\n },\r\n set missingWarn(val) {\r\n _missingWarn = val;\r\n _context.missingWarn = _missingWarn;\r\n },\r\n get fallbackWarn() {\r\n return _fallbackWarn;\r\n },\r\n set fallbackWarn(val) {\r\n _fallbackWarn = val;\r\n _context.fallbackWarn = _fallbackWarn;\r\n },\r\n get fallbackRoot() {\r\n return _fallbackRoot;\r\n },\r\n set fallbackRoot(val) {\r\n _fallbackRoot = val;\r\n },\r\n get fallbackFormat() {\r\n return _fallbackFormat;\r\n },\r\n set fallbackFormat(val) {\r\n _fallbackFormat = val;\r\n _context.fallbackFormat = _fallbackFormat;\r\n },\r\n get warnHtmlMessage() {\r\n return _warnHtmlMessage;\r\n },\r\n set warnHtmlMessage(val) {\r\n _warnHtmlMessage = val;\r\n _context.warnHtmlMessage = val;\r\n },\r\n get escapeParameter() {\r\n return _escapeParameter;\r\n },\r\n set escapeParameter(val) {\r\n _escapeParameter = val;\r\n _context.escapeParameter = val;\r\n },\r\n t,\r\n getLocaleMessage,\r\n setLocaleMessage,\r\n mergeLocaleMessage,\r\n getPostTranslationHandler,\r\n setPostTranslationHandler,\r\n getMissingHandler,\r\n setMissingHandler,\r\n [SetPluralRulesSymbol]: setPluralRules\r\n };\r\n {\r\n composer.datetimeFormats = datetimeFormats;\r\n composer.numberFormats = numberFormats;\r\n composer.rt = rt;\r\n composer.te = te;\r\n composer.tm = tm;\r\n composer.d = d;\r\n composer.n = n;\r\n composer.getDateTimeFormat = getDateTimeFormat;\r\n composer.setDateTimeFormat = setDateTimeFormat;\r\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\r\n composer.getNumberFormat = getNumberFormat;\r\n composer.setNumberFormat = setNumberFormat;\r\n composer.mergeNumberFormat = mergeNumberFormat;\r\n composer[InejctWithOption] = options.__injectWithOption;\r\n composer[TransrateVNodeSymbol] = transrateVNode;\r\n composer[DatetimePartsSymbol] = datetimeParts;\r\n composer[NumberPartsSymbol] = numberParts;\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n composer[EnableEmitter] = (emitter) => {\r\n _context.__v_emitter = emitter;\r\n };\r\n composer[DisableEmitter] = () => {\r\n _context.__v_emitter = undefined;\r\n };\r\n }\r\n return composer;\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Convert to I18n Composer Options from VueI18n Options\r\n *\r\n * @internal\r\n */\r\nfunction convertComposerOptions(options) {\r\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\r\n const fallbackLocale = isString(options.fallbackLocale) ||\r\n isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : locale;\r\n const missing = isFunction(options.missing) ? options.missing : undefined;\r\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\r\n isRegExp(options.silentTranslationWarn)\r\n ? !options.silentTranslationWarn\r\n : true;\r\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\r\n isRegExp(options.silentFallbackWarn)\r\n ? !options.silentFallbackWarn\r\n : true;\r\n const fallbackRoot = isBoolean(options.fallbackRoot)\r\n ? options.fallbackRoot\r\n : true;\r\n const fallbackFormat = !!options.formatFallbackMessages;\r\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\r\n const pluralizationRules = options.pluralizationRules;\r\n const postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : undefined;\r\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\r\n ? options.warnHtmlInMessage !== 'off'\r\n : true;\r\n const escapeParameter = !!options.escapeParameterHtml;\r\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\r\n if ((process.env.NODE_ENV !== 'production') && options.formatter) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && options.preserveDirectiveContent) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\r\n }\r\n let messages = options.messages;\r\n if (isPlainObject(options.sharedMessages)) {\r\n const sharedMessages = options.sharedMessages;\r\n const locales = Object.keys(sharedMessages);\r\n messages = locales.reduce((messages, locale) => {\r\n const message = messages[locale] || (messages[locale] = {});\r\n assign(message, sharedMessages[locale]);\r\n return messages;\r\n }, (messages || {}));\r\n }\r\n const { __i18n, __root, __injectWithOption } = options;\r\n const datetimeFormats = options.datetimeFormats;\r\n const numberFormats = options.numberFormats;\r\n const flatJson = options.flatJson;\r\n return {\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n flatJson,\r\n datetimeFormats,\r\n numberFormats,\r\n missing,\r\n missingWarn,\r\n fallbackWarn,\r\n fallbackRoot,\r\n fallbackFormat,\r\n modifiers,\r\n pluralRules: pluralizationRules,\r\n postTranslation,\r\n warnHtmlMessage,\r\n escapeParameter,\r\n messageResolver: options.messageResolver,\r\n inheritLocale,\r\n __i18n,\r\n __root,\r\n __injectWithOption\r\n };\r\n}\r\n/**\r\n * create VueI18n interface factory\r\n *\r\n * @internal\r\n */\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nfunction createVueI18n(options = {}, VueI18nLegacy) {\r\n {\r\n const composer = createComposer(convertComposerOptions(options));\r\n // defines VueI18n\r\n const vueI18n = {\r\n // id\r\n id: composer.id,\r\n // locale\r\n get locale() {\r\n return composer.locale.value;\r\n },\r\n set locale(val) {\r\n composer.locale.value = val;\r\n },\r\n // fallbackLocale\r\n get fallbackLocale() {\r\n return composer.fallbackLocale.value;\r\n },\r\n set fallbackLocale(val) {\r\n composer.fallbackLocale.value = val;\r\n },\r\n // messages\r\n get messages() {\r\n return composer.messages.value;\r\n },\r\n // datetimeFormats\r\n get datetimeFormats() {\r\n return composer.datetimeFormats.value;\r\n },\r\n // numberFormats\r\n get numberFormats() {\r\n return composer.numberFormats.value;\r\n },\r\n // availableLocales\r\n get availableLocales() {\r\n return composer.availableLocales;\r\n },\r\n // formatter\r\n get formatter() {\r\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\r\n // dummy\r\n return {\r\n interpolate() {\r\n return [];\r\n }\r\n };\r\n },\r\n set formatter(val) {\r\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\r\n },\r\n // missing\r\n get missing() {\r\n return composer.getMissingHandler();\r\n },\r\n set missing(handler) {\r\n composer.setMissingHandler(handler);\r\n },\r\n // silentTranslationWarn\r\n get silentTranslationWarn() {\r\n return isBoolean(composer.missingWarn)\r\n ? !composer.missingWarn\r\n : composer.missingWarn;\r\n },\r\n set silentTranslationWarn(val) {\r\n composer.missingWarn = isBoolean(val) ? !val : val;\r\n },\r\n // silentFallbackWarn\r\n get silentFallbackWarn() {\r\n return isBoolean(composer.fallbackWarn)\r\n ? !composer.fallbackWarn\r\n : composer.fallbackWarn;\r\n },\r\n set silentFallbackWarn(val) {\r\n composer.fallbackWarn = isBoolean(val) ? !val : val;\r\n },\r\n // modifiers\r\n get modifiers() {\r\n return composer.modifiers;\r\n },\r\n // formatFallbackMessages\r\n get formatFallbackMessages() {\r\n return composer.fallbackFormat;\r\n },\r\n set formatFallbackMessages(val) {\r\n composer.fallbackFormat = val;\r\n },\r\n // postTranslation\r\n get postTranslation() {\r\n return composer.getPostTranslationHandler();\r\n },\r\n set postTranslation(handler) {\r\n composer.setPostTranslationHandler(handler);\r\n },\r\n // sync\r\n get sync() {\r\n return composer.inheritLocale;\r\n },\r\n set sync(val) {\r\n composer.inheritLocale = val;\r\n },\r\n // warnInHtmlMessage\r\n get warnHtmlInMessage() {\r\n return composer.warnHtmlMessage ? 'warn' : 'off';\r\n },\r\n set warnHtmlInMessage(val) {\r\n composer.warnHtmlMessage = val !== 'off';\r\n },\r\n // escapeParameterHtml\r\n get escapeParameterHtml() {\r\n return composer.escapeParameter;\r\n },\r\n set escapeParameterHtml(val) {\r\n composer.escapeParameter = val;\r\n },\r\n // preserveDirectiveContent\r\n get preserveDirectiveContent() {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\r\n return true;\r\n },\r\n set preserveDirectiveContent(val) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\r\n },\r\n // pluralizationRules\r\n get pluralizationRules() {\r\n return composer.pluralRules || {};\r\n },\r\n // for internal\r\n __composer: composer,\r\n // t\r\n t(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = {};\r\n let list = null;\r\n let named = null;\r\n if (!isString(arg1)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\r\n }\r\n const key = arg1;\r\n if (isString(arg2)) {\r\n options.locale = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n list = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n named = arg2;\r\n }\r\n if (isArray(arg3)) {\r\n list = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n named = arg3;\r\n }\r\n // return composer.t(key, (list || named || {}) as any, options)\r\n return Reflect.apply(composer.t, composer, [\r\n key,\r\n (list || named || {}),\r\n options\r\n ]);\r\n },\r\n rt(...args) {\r\n return Reflect.apply(composer.rt, composer, [...args]);\r\n },\r\n // tc\r\n tc(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = { plural: 1 };\r\n let list = null;\r\n let named = null;\r\n if (!isString(arg1)) {\r\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\r\n }\r\n const key = arg1;\r\n if (isString(arg2)) {\r\n options.locale = arg2;\r\n }\r\n else if (isNumber(arg2)) {\r\n options.plural = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n list = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n named = arg2;\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isArray(arg3)) {\r\n list = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n named = arg3;\r\n }\r\n // return composer.t(key, (list || named || {}) as any, options)\r\n return Reflect.apply(composer.t, composer, [\r\n key,\r\n (list || named || {}),\r\n options\r\n ]);\r\n },\r\n // te\r\n te(key, locale) {\r\n return composer.te(key, locale);\r\n },\r\n // tm\r\n tm(key) {\r\n return composer.tm(key);\r\n },\r\n // getLocaleMessage\r\n getLocaleMessage(locale) {\r\n return composer.getLocaleMessage(locale);\r\n },\r\n // setLocaleMessage\r\n setLocaleMessage(locale, message) {\r\n composer.setLocaleMessage(locale, message);\r\n },\r\n // mergeLocaleMessage\r\n mergeLocaleMessage(locale, message) {\r\n composer.mergeLocaleMessage(locale, message);\r\n },\r\n // d\r\n d(...args) {\r\n return Reflect.apply(composer.d, composer, [...args]);\r\n },\r\n // getDateTimeFormat\r\n getDateTimeFormat(locale) {\r\n return composer.getDateTimeFormat(locale);\r\n },\r\n // setDateTimeFormat\r\n setDateTimeFormat(locale, format) {\r\n composer.setDateTimeFormat(locale, format);\r\n },\r\n // mergeDateTimeFormat\r\n mergeDateTimeFormat(locale, format) {\r\n composer.mergeDateTimeFormat(locale, format);\r\n },\r\n // n\r\n n(...args) {\r\n return Reflect.apply(composer.n, composer, [...args]);\r\n },\r\n // getNumberFormat\r\n getNumberFormat(locale) {\r\n return composer.getNumberFormat(locale);\r\n },\r\n // setNumberFormat\r\n setNumberFormat(locale, format) {\r\n composer.setNumberFormat(locale, format);\r\n },\r\n // mergeNumberFormat\r\n mergeNumberFormat(locale, format) {\r\n composer.mergeNumberFormat(locale, format);\r\n },\r\n // getChoiceIndex\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n getChoiceIndex(choice, choicesLength) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX));\r\n return -1;\r\n },\r\n // for internal\r\n __onComponentInstanceCreated(target) {\r\n const { componentInstanceCreatedListener } = options;\r\n if (componentInstanceCreatedListener) {\r\n componentInstanceCreatedListener(target, vueI18n);\r\n }\r\n }\r\n };\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n vueI18n.__enableEmitter = (emitter) => {\r\n const __composer = composer;\r\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\r\n };\r\n vueI18n.__disableEmitter = () => {\r\n const __composer = composer;\r\n __composer[DisableEmitter] && __composer[DisableEmitter]();\r\n };\r\n }\r\n return vueI18n;\r\n }\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst baseFormatProps = {\r\n tag: {\r\n type: [String, Object]\r\n },\r\n locale: {\r\n type: String\r\n },\r\n scope: {\r\n type: String,\r\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\r\n validator: (val /* ComponetI18nScope */) => val === 'parent' || val === 'global',\r\n default: 'parent' /* ComponetI18nScope */\r\n },\r\n i18n: {\r\n type: Object\r\n }\r\n};\n\nfunction getInterpolateArg(\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n{ slots }, // SetupContext,\r\nkeys) {\r\n if (keys.length === 1 && keys[0] === 'default') {\r\n // default slot with list\r\n const ret = slots.default ? slots.default() : [];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return ret.reduce((slot, current) => {\r\n return (slot = [\r\n ...slot,\r\n ...(isArray(current.children) ? current.children : [current])\r\n ]);\r\n }, []);\r\n }\r\n else {\r\n // named slots\r\n return keys.reduce((arg, key) => {\r\n const slot = slots[key];\r\n if (slot) {\r\n arg[key] = slot();\r\n }\r\n return arg;\r\n }, {});\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getFragmentableTag(tag) {\r\n return Fragment ;\r\n}\n\n/**\r\n * Translation Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [TranslationProps](component#translationprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\r\n *\r\n * @example\r\n * ```html\r\n *
\r\n * \r\n * \r\n * {{ $t('tos') }}\r\n * \r\n * \r\n *
\r\n * ```\r\n * ```js\r\n * import { createApp } from 'vue'\r\n * import { createI18n } from 'vue-i18n'\r\n *\r\n * const messages = {\r\n * en: {\r\n * tos: 'Term of Service',\r\n * term: 'I accept xxx {0}.'\r\n * },\r\n * ja: {\r\n * tos: '利用規約',\r\n * term: '私は xxx の{0}に同意します。'\r\n * }\r\n * }\r\n *\r\n * const i18n = createI18n({\r\n * locale: 'en',\r\n * messages\r\n * })\r\n *\r\n * const app = createApp({\r\n * data: {\r\n * url: '/term'\r\n * }\r\n * }).use(i18n).mount('#app')\r\n * ```\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst Translation = /* defineComponent */ {\r\n /* eslint-disable */\r\n name: 'i18n-t',\r\n props: assign({\r\n keypath: {\r\n type: String,\r\n required: true\r\n },\r\n plural: {\r\n type: [Number, String],\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n validator: (val) => isNumber(val) || !isNaN(val)\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setup(props, context) {\r\n const { slots, attrs } = context;\r\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\r\n const i18n = props.i18n ||\r\n useI18n({\r\n useScope: props.scope,\r\n __useComponent: true\r\n });\r\n return () => {\r\n const keys = Object.keys(slots).filter(key => key !== '_');\r\n const options = {};\r\n if (props.locale) {\r\n options.locale = props.locale;\r\n }\r\n if (props.plural !== undefined) {\r\n options.plural = isString(props.plural) ? +props.plural : props.plural;\r\n }\r\n const arg = getInterpolateArg(context, keys);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const children = i18n[TransrateVNodeSymbol](props.keypath, arg, options);\r\n const assignedAttrs = assign({}, attrs);\r\n const tag = isString(props.tag) || isObject(props.tag)\r\n ? props.tag\r\n : getFragmentableTag();\r\n return h(tag, assignedAttrs, children);\r\n };\r\n }\r\n};\n\nfunction isVNode(target) {\r\n return isArray(target) && !isString(target[0]);\r\n}\r\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\r\n const { slots, attrs } = context;\r\n return () => {\r\n const options = { part: true };\r\n let overrides = {};\r\n if (props.locale) {\r\n options.locale = props.locale;\r\n }\r\n if (isString(props.format)) {\r\n options.key = props.format;\r\n }\r\n else if (isObject(props.format)) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if (isString(props.format.key)) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n options.key = props.format.key;\r\n }\r\n // Filter out number format options only\r\n overrides = Object.keys(props.format).reduce((options, prop) => {\r\n return slotKeys.includes(prop)\r\n ? assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\r\n : options;\r\n }, {});\r\n }\r\n const parts = partFormatter(...[props.value, options, overrides]);\r\n let children = [options.key];\r\n if (isArray(parts)) {\r\n children = parts.map((part, index) => {\r\n const slot = slots[part.type];\r\n const node = slot\r\n ? slot({ [part.type]: part.value, index, parts })\r\n : [part.value];\r\n if (isVNode(node)) {\r\n node[0].key = `${part.type}-${index}`;\r\n }\r\n return node;\r\n });\r\n }\r\n else if (isString(parts)) {\r\n children = [parts];\r\n }\r\n const assignedAttrs = assign({}, attrs);\r\n const tag = isString(props.tag) || isObject(props.tag)\r\n ? props.tag\r\n : getFragmentableTag();\r\n return h(tag, assignedAttrs, children);\r\n };\r\n}\n\n/**\r\n * Number Format Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [FormattableProps](component#formattableprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\r\n *\r\n * @VueI18nDanger\r\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)\r\n *\r\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst NumberFormat = /* defineComponent */ {\r\n /* eslint-disable */\r\n name: 'i18n-n',\r\n props: assign({\r\n value: {\r\n type: Number,\r\n required: true\r\n },\r\n format: {\r\n type: [String, Object]\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setup(props, context) {\r\n const i18n = props.i18n ||\r\n useI18n({ useScope: 'parent', __useComponent: true });\r\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n i18n[NumberPartsSymbol](...args));\r\n }\r\n};\n\n/**\r\n * Datetime Format Component\r\n *\r\n * @remarks\r\n * See the following items for property about details\r\n *\r\n * @VueI18nSee [FormattableProps](component#formattableprops)\r\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\r\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\r\n *\r\n * @VueI18nDanger\r\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)\r\n *\r\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\r\n *\r\n * @VueI18nComponent\r\n */\r\nconst DatetimeFormat = /*defineComponent */ {\r\n /* eslint-disable */\r\n name: 'i18n-d',\r\n props: assign({\r\n value: {\r\n type: [Number, Date],\r\n required: true\r\n },\r\n format: {\r\n type: [String, Object]\r\n }\r\n }, baseFormatProps),\r\n /* eslint-enable */\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n setup(props, context) {\r\n const i18n = props.i18n ||\r\n useI18n({ useScope: 'parent', __useComponent: true });\r\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n i18n[DatetimePartsSymbol](...args));\r\n }\r\n};\n\nfunction getComposer$2(i18n, instance) {\r\n const i18nInternal = i18n;\r\n if (i18n.mode === 'composition') {\r\n return (i18nInternal.__getInstance(instance) || i18n.global);\r\n }\r\n else {\r\n const vueI18n = i18nInternal.__getInstance(instance);\r\n return vueI18n != null\r\n ? vueI18n.__composer\r\n : i18n.global.__composer;\r\n }\r\n}\r\nfunction vTDirective(i18n) {\r\n const _process = (binding) => {\r\n const { instance, modifiers, value } = binding;\r\n /* istanbul ignore if */\r\n if (!instance || !instance.$) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n const composer = getComposer$2(i18n, instance.$);\r\n if ((process.env.NODE_ENV !== 'production') && modifiers.preserve) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE));\r\n }\r\n const parsedValue = parseValue(value);\r\n return [\r\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\r\n composer\r\n ];\r\n };\r\n const register = (el, binding) => {\r\n const [textContent, composer] = _process(binding);\r\n if (inBrowser && i18n.global === composer) {\r\n // global scope only\r\n el.__i18nWatcher = watch(composer.locale, () => {\r\n binding.instance && binding.instance.$forceUpdate();\r\n });\r\n }\r\n el.__composer = composer;\r\n el.textContent = textContent;\r\n };\r\n const unregister = (el) => {\r\n if (inBrowser && el.__i18nWatcher) {\r\n el.__i18nWatcher();\r\n el.__i18nWatcher = undefined;\r\n delete el.__i18nWatcher;\r\n }\r\n if (el.__composer) {\r\n el.__composer = undefined;\r\n delete el.__composer;\r\n }\r\n };\r\n const update = (el, { value }) => {\r\n if (el.__composer) {\r\n const composer = el.__composer;\r\n const parsedValue = parseValue(value);\r\n el.textContent = Reflect.apply(composer.t, composer, [\r\n ...makeParams(parsedValue)\r\n ]);\r\n }\r\n };\r\n const getSSRProps = (binding) => {\r\n const [textContent] = _process(binding);\r\n return { textContent };\r\n };\r\n return {\r\n created: register,\r\n unmounted: unregister,\r\n beforeUpdate: update,\r\n getSSRProps\r\n };\r\n}\r\nfunction parseValue(value) {\r\n if (isString(value)) {\r\n return { path: value };\r\n }\r\n else if (isPlainObject(value)) {\r\n if (!('path' in value)) {\r\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\r\n }\r\n return value;\r\n }\r\n else {\r\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\r\n }\r\n}\r\nfunction makeParams(value) {\r\n const { path, locale, args, choice, plural } = value;\r\n const options = {};\r\n const named = args || {};\r\n if (isString(locale)) {\r\n options.locale = locale;\r\n }\r\n if (isNumber(choice)) {\r\n options.plural = choice;\r\n }\r\n if (isNumber(plural)) {\r\n options.plural = plural;\r\n }\r\n return [path, named, options];\r\n}\n\nfunction apply(app, i18n, ...options) {\r\n const pluginOptions = isPlainObject(options[0])\r\n ? options[0]\r\n : {};\r\n const useI18nComponentName = !!pluginOptions.useI18nComponentName;\r\n const globalInstall = isBoolean(pluginOptions.globalInstall)\r\n ? pluginOptions.globalInstall\r\n : true;\r\n if ((process.env.NODE_ENV !== 'production') && globalInstall && useI18nComponentName) {\r\n warn(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, {\r\n name: Translation.name\r\n }));\r\n }\r\n if (globalInstall) {\r\n // install components\r\n app.component(!useI18nComponentName ? Translation.name : 'i18n', Translation);\r\n app.component(NumberFormat.name, NumberFormat);\r\n app.component(DatetimeFormat.name, DatetimeFormat);\r\n }\r\n // install directive\r\n {\r\n app.directive('t', vTDirective(i18n));\r\n }\r\n}\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\r\nlet devtoolsApi;\r\nasync function enableDevTools(app, i18n) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n setupDevtoolsPlugin({\r\n id: \"vue-devtools-plugin-vue-i18n\" /* PLUGIN */,\r\n label: VueDevToolsLabels[\"vue-devtools-plugin-vue-i18n\" /* PLUGIN */],\r\n packageName: 'vue-i18n',\r\n homepage: 'https://vue-i18n.intlify.dev',\r\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\r\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\r\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\r\n }, api => {\r\n devtoolsApi = api;\r\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\r\n updateComponentTreeTags(componentInstance, treeNode, i18n);\r\n });\r\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\r\n if (componentInstance.vnode.el &&\r\n componentInstance.vnode.el.__VUE_I18N__ &&\r\n instanceData) {\r\n if (i18n.mode === 'legacy') {\r\n // ignore global scope on legacy mode\r\n if (componentInstance.vnode.el.__VUE_I18N__ !==\r\n i18n.global.__composer) {\r\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\r\n }\r\n }\r\n else {\r\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\r\n }\r\n }\r\n });\r\n api.addInspector({\r\n id: \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */,\r\n label: VueDevToolsLabels[\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */],\r\n icon: 'language',\r\n treeFilterPlaceholder: VueDevToolsPlaceholders[\"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */]\r\n });\r\n api.on.getInspectorTree(payload => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n registerScope(payload, i18n);\r\n }\r\n });\r\n const roots = new Map();\r\n api.on.getInspectorState(async (payload) => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n api.unhighlightElement();\r\n inspectScope(payload, i18n);\r\n if (payload.nodeId === 'global') {\r\n if (!roots.has(payload.app)) {\r\n const [root] = await api.getComponentInstances(payload.app);\r\n roots.set(payload.app, root);\r\n }\r\n api.highlightElement(roots.get(payload.app));\r\n }\r\n else {\r\n const instance = getComponentInstance(payload.nodeId, i18n);\r\n instance && api.highlightElement(instance);\r\n }\r\n }\r\n });\r\n api.on.editInspectorState(payload => {\r\n if (payload.app === app &&\r\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* CUSTOM_INSPECTOR */) {\r\n editScope(payload, i18n);\r\n }\r\n });\r\n api.addTimelineLayer({\r\n id: \"vue-i18n-timeline\" /* TIMELINE */,\r\n label: VueDevToolsLabels[\"vue-i18n-timeline\" /* TIMELINE */],\r\n color: VueDevToolsTimelineColors[\"vue-i18n-timeline\" /* TIMELINE */]\r\n });\r\n resolve(true);\r\n });\r\n }\r\n catch (e) {\r\n console.error(e);\r\n reject(false);\r\n }\r\n });\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getI18nScopeLable(instance) {\r\n return (instance.type.name ||\r\n instance.type.displayName ||\r\n instance.type.__file ||\r\n 'Anonymous');\r\n}\r\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\r\ntreeNode, i18n) {\r\n // prettier-ignore\r\n const global = i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\r\n // add custom tags local scope only\r\n if (instance.vnode.el.__VUE_I18N__ !== global) {\r\n const tag = {\r\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\r\n textColor: 0x000000,\r\n backgroundColor: 0xffcd19\r\n };\r\n treeNode.tags.push(tag);\r\n }\r\n }\r\n}\r\nfunction inspectComposer(instanceData, composer) {\r\n const type = VUE_I18N_COMPONENT_TYPES;\r\n instanceData.state.push({\r\n type,\r\n key: 'locale',\r\n editable: true,\r\n value: composer.locale.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'availableLocales',\r\n editable: false,\r\n value: composer.availableLocales\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'fallbackLocale',\r\n editable: true,\r\n value: composer.fallbackLocale.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'inheritLocale',\r\n editable: true,\r\n value: composer.inheritLocale\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'messages',\r\n editable: false,\r\n value: getLocaleMessageValue(composer.messages.value)\r\n });\r\n {\r\n instanceData.state.push({\r\n type,\r\n key: 'datetimeFormats',\r\n editable: false,\r\n value: composer.datetimeFormats.value\r\n });\r\n instanceData.state.push({\r\n type,\r\n key: 'numberFormats',\r\n editable: false,\r\n value: composer.numberFormats.value\r\n });\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getLocaleMessageValue(messages) {\r\n const value = {};\r\n Object.keys(messages).forEach((key) => {\r\n const v = messages[key];\r\n if (isFunction(v) && 'source' in v) {\r\n value[key] = getMessageFunctionDetails(v);\r\n }\r\n else if (isObject(v)) {\r\n value[key] = getLocaleMessageValue(v);\r\n }\r\n else {\r\n value[key] = v;\r\n }\r\n });\r\n return value;\r\n}\r\nconst ESC = {\r\n '<': '<',\r\n '>': '>',\r\n '\"': '"',\r\n '&': '&'\r\n};\r\nfunction escape(s) {\r\n return s.replace(/[<>\"&]/g, escapeChar);\r\n}\r\nfunction escapeChar(a) {\r\n return ESC[a] || a;\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getMessageFunctionDetails(func) {\r\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\r\n return {\r\n _custom: {\r\n type: 'function',\r\n display: `ƒ ${argString}`\r\n }\r\n };\r\n}\r\nfunction registerScope(payload, i18n) {\r\n payload.rootNodes.push({\r\n id: 'global',\r\n label: 'Global Scope'\r\n });\r\n // prettier-ignore\r\n const global = i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n for (const [keyInstance, instance] of i18n.__instances) {\r\n // prettier-ignore\r\n const composer = i18n.mode === 'composition'\r\n ? instance\r\n : instance.__composer;\r\n if (global === composer) {\r\n continue;\r\n }\r\n payload.rootNodes.push({\r\n id: composer.id.toString(),\r\n label: `${getI18nScopeLable(keyInstance)} Scope`\r\n });\r\n }\r\n}\r\nfunction getComponentInstance(nodeId, i18n) {\r\n let instance = null;\r\n if (nodeId !== 'global') {\r\n for (const [component, composer] of i18n.__instances.entries()) {\r\n if (composer.id.toString() === nodeId) {\r\n instance = component;\r\n break;\r\n }\r\n }\r\n }\r\n return instance;\r\n}\r\nfunction getComposer$1(nodeId, i18n) {\r\n if (nodeId === 'global') {\r\n return i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer;\r\n }\r\n else {\r\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\r\n if (instance) {\r\n return i18n.mode === 'composition'\r\n ? instance\r\n : instance.__composer;\r\n }\r\n else {\r\n return null;\r\n }\r\n }\r\n}\r\nfunction inspectScope(payload, i18n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n) {\r\n const composer = getComposer$1(payload.nodeId, i18n);\r\n if (composer) {\r\n // TODO:\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n payload.state = makeScopeInspectState(composer);\r\n }\r\n return null;\r\n}\r\nfunction makeScopeInspectState(composer) {\r\n const state = {};\r\n const localeType = 'Locale related info';\r\n const localeStates = [\r\n {\r\n type: localeType,\r\n key: 'locale',\r\n editable: true,\r\n value: composer.locale.value\r\n },\r\n {\r\n type: localeType,\r\n key: 'fallbackLocale',\r\n editable: true,\r\n value: composer.fallbackLocale.value\r\n },\r\n {\r\n type: localeType,\r\n key: 'availableLocales',\r\n editable: false,\r\n value: composer.availableLocales\r\n },\r\n {\r\n type: localeType,\r\n key: 'inheritLocale',\r\n editable: true,\r\n value: composer.inheritLocale\r\n }\r\n ];\r\n state[localeType] = localeStates;\r\n const localeMessagesType = 'Locale messages info';\r\n const localeMessagesStates = [\r\n {\r\n type: localeMessagesType,\r\n key: 'messages',\r\n editable: false,\r\n value: getLocaleMessageValue(composer.messages.value)\r\n }\r\n ];\r\n state[localeMessagesType] = localeMessagesStates;\r\n {\r\n const datetimeFormatsType = 'Datetime formats info';\r\n const datetimeFormatsStates = [\r\n {\r\n type: datetimeFormatsType,\r\n key: 'datetimeFormats',\r\n editable: false,\r\n value: composer.datetimeFormats.value\r\n }\r\n ];\r\n state[datetimeFormatsType] = datetimeFormatsStates;\r\n const numberFormatsType = 'Datetime formats info';\r\n const numberFormatsStates = [\r\n {\r\n type: numberFormatsType,\r\n key: 'numberFormats',\r\n editable: false,\r\n value: composer.numberFormats.value\r\n }\r\n ];\r\n state[numberFormatsType] = numberFormatsStates;\r\n }\r\n return state;\r\n}\r\nfunction addTimelineEvent(event, payload) {\r\n if (devtoolsApi) {\r\n let groupId;\r\n if (payload && 'groupId' in payload) {\r\n groupId = payload.groupId;\r\n delete payload.groupId;\r\n }\r\n devtoolsApi.addTimelineEvent({\r\n layerId: \"vue-i18n-timeline\" /* TIMELINE */,\r\n event: {\r\n title: event,\r\n groupId,\r\n time: Date.now(),\r\n meta: {},\r\n data: payload || {},\r\n logType: event === \"compile-error\" /* COMPILE_ERROR */\r\n ? 'error'\r\n : event === \"fallback\" /* FALBACK */ ||\r\n event === \"missing\" /* MISSING */\r\n ? 'warning'\r\n : 'default'\r\n }\r\n });\r\n }\r\n}\r\nfunction editScope(payload, i18n) {\r\n const composer = getComposer$1(payload.nodeId, i18n);\r\n if (composer) {\r\n const [field] = payload.path;\r\n if (field === 'locale' && isString(payload.state.value)) {\r\n composer.locale.value = payload.state.value;\r\n }\r\n else if (field === 'fallbackLocale' &&\r\n (isString(payload.state.value) ||\r\n isArray(payload.state.value) ||\r\n isObject(payload.state.value))) {\r\n composer.fallbackLocale.value = payload.state.value;\r\n }\r\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\r\n composer.inheritLocale = payload.state.value;\r\n }\r\n }\r\n}\n\n/**\r\n * Supports compatibility for legacy vue-i18n APIs\r\n * This mixin is used when we use vue-i18n@v9.x or later\r\n */\r\nfunction defineMixin(vuei18n, composer, i18n) {\r\n return {\r\n beforeCreate() {\r\n const instance = getCurrentInstance();\r\n /* istanbul ignore if */\r\n if (!instance) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n const options = this.$options;\r\n if (options.i18n) {\r\n const optionsI18n = options.i18n;\r\n if (options.__i18n) {\r\n optionsI18n.__i18n = options.__i18n;\r\n }\r\n optionsI18n.__root = composer;\r\n if (this === this.$root) {\r\n this.$i18n = mergeToRoot(vuei18n, optionsI18n);\r\n }\r\n else {\r\n optionsI18n.__injectWithOption = true;\r\n this.$i18n = createVueI18n(optionsI18n);\r\n }\r\n }\r\n else if (options.__i18n) {\r\n if (this === this.$root) {\r\n this.$i18n = mergeToRoot(vuei18n, options);\r\n }\r\n else {\r\n this.$i18n = createVueI18n({\r\n __i18n: options.__i18n,\r\n __injectWithOption: true,\r\n __root: composer\r\n });\r\n }\r\n }\r\n else {\r\n // set global\r\n this.$i18n = vuei18n;\r\n }\r\n if (options.__i18nGlobal) {\r\n adjustI18nResources(composer, options, options);\r\n }\r\n vuei18n.__onComponentInstanceCreated(this.$i18n);\r\n i18n.__setInstance(instance, this.$i18n);\r\n // defines vue-i18n legacy APIs\r\n this.$t = (...args) => this.$i18n.t(...args);\r\n this.$rt = (...args) => this.$i18n.rt(...args);\r\n this.$tc = (...args) => this.$i18n.tc(...args);\r\n this.$te = (key, locale) => this.$i18n.te(key, locale);\r\n this.$d = (...args) => this.$i18n.d(...args);\r\n this.$n = (...args) => this.$i18n.n(...args);\r\n this.$tm = (key) => this.$i18n.tm(key);\r\n },\r\n mounted() {\r\n /* istanbul ignore if */\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n this.$el &&\r\n this.$i18n) {\r\n this.$el.__VUE_I18N__ = this.$i18n.__composer;\r\n const emitter = (this.__v_emitter =\r\n createEmitter());\r\n const _vueI18n = this.$i18n;\r\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n },\r\n unmounted() {\r\n const instance = getCurrentInstance();\r\n /* istanbul ignore if */\r\n if (!instance) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n /* istanbul ignore if */\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n this.$el &&\r\n this.$el.__VUE_I18N__) {\r\n if (this.__v_emitter) {\r\n this.__v_emitter.off('*', addTimelineEvent);\r\n delete this.__v_emitter;\r\n }\r\n if (this.$i18n) {\r\n const _vueI18n = this.$i18n;\r\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\r\n delete this.$el.__VUE_I18N__;\r\n }\r\n }\r\n delete this.$t;\r\n delete this.$rt;\r\n delete this.$tc;\r\n delete this.$te;\r\n delete this.$d;\r\n delete this.$n;\r\n delete this.$tm;\r\n i18n.__deleteInstance(instance);\r\n delete this.$i18n;\r\n }\r\n };\r\n}\r\nfunction mergeToRoot(root, options) {\r\n root.locale = options.locale || root.locale;\r\n root.fallbackLocale = options.fallbackLocale || root.fallbackLocale;\r\n root.missing = options.missing || root.missing;\r\n root.silentTranslationWarn =\r\n options.silentTranslationWarn || root.silentFallbackWarn;\r\n root.silentFallbackWarn =\r\n options.silentFallbackWarn || root.silentFallbackWarn;\r\n root.formatFallbackMessages =\r\n options.formatFallbackMessages || root.formatFallbackMessages;\r\n root.postTranslation = options.postTranslation || root.postTranslation;\r\n root.warnHtmlInMessage = options.warnHtmlInMessage || root.warnHtmlInMessage;\r\n root.escapeParameterHtml =\r\n options.escapeParameterHtml || root.escapeParameterHtml;\r\n root.sync = options.sync || root.sync;\r\n root.__composer[SetPluralRulesSymbol](options.pluralizationRules || root.pluralizationRules);\r\n const messages = getLocaleMessages(root.locale, {\r\n messages: options.messages,\r\n __i18n: options.__i18n\r\n });\r\n Object.keys(messages).forEach(locale => root.mergeLocaleMessage(locale, messages[locale]));\r\n if (options.datetimeFormats) {\r\n Object.keys(options.datetimeFormats).forEach(locale => root.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\r\n }\r\n if (options.numberFormats) {\r\n Object.keys(options.numberFormats).forEach(locale => root.mergeNumberFormat(locale, options.numberFormats[locale]));\r\n }\r\n return root;\r\n}\n\n/**\r\n * Injection key for {@link useI18n}\r\n *\r\n * @remarks\r\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\r\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\r\n *\r\n * @VueI18nGeneral\r\n */\r\nconst I18nInjectionKey = \r\n/* #__PURE__*/ makeSymbol('global-vue-i18n');\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\r\nfunction createI18n(options = {}, VueI18nLegacy) {\r\n // prettier-ignore\r\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\r\n ? options.legacy\r\n : __VUE_I18N_LEGACY_API__;\r\n // prettier-ignore\r\n const __globalInjection = isBoolean(options.globalInjection)\r\n ? options.globalInjection\r\n : true;\r\n // prettier-ignore\r\n const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode\r\n ? !!options.allowComposition\r\n : true;\r\n const __instances = new Map();\r\n const [globalScope, __global] = createGlobal(options, __legacyMode);\r\n const symbol = makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\r\n function __getInstance(component) {\r\n return __instances.get(component) || null;\r\n }\r\n function __setInstance(component, instance) {\r\n __instances.set(component, instance);\r\n }\r\n function __deleteInstance(component) {\r\n __instances.delete(component);\r\n }\r\n {\r\n const i18n = {\r\n // mode\r\n get mode() {\r\n return __VUE_I18N_LEGACY_API__ && __legacyMode\r\n ? 'legacy'\r\n : 'composition';\r\n },\r\n // allowComposition\r\n get allowComposition() {\r\n return __allowComposition;\r\n },\r\n // install plugin\r\n async install(app, ...options) {\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false) {\r\n app.__VUE_I18N__ = i18n;\r\n }\r\n // setup global provider\r\n app.__VUE_I18N_SYMBOL__ = symbol;\r\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\r\n // global method and properties injection for Composition API\r\n if (!__legacyMode && __globalInjection) {\r\n injectGlobalFields(app, i18n.global);\r\n }\r\n // install built-in components and directive\r\n if (__VUE_I18N_FULL_INSTALL__) {\r\n apply(app, i18n, ...options);\r\n }\r\n // setup mixin for Legacy API\r\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\r\n app.mixin(defineMixin(__global, __global.__composer, i18n));\r\n }\r\n // release global scope\r\n const unmountApp = app.unmount;\r\n app.unmount = () => {\r\n i18n.dispose();\r\n unmountApp();\r\n };\r\n // setup vue-devtools plugin\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\r\n const ret = await enableDevTools(app, i18n);\r\n if (!ret) {\r\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\r\n }\r\n const emitter = createEmitter();\r\n if (__legacyMode) {\r\n const _vueI18n = __global;\r\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\r\n }\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = __global;\r\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\r\n }\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n },\r\n // global accessor\r\n get global() {\r\n return __global;\r\n },\r\n dispose() {\r\n globalScope.stop();\r\n },\r\n // @internal\r\n __instances,\r\n // @internal\r\n __getInstance,\r\n // @internal\r\n __setInstance,\r\n // @internal\r\n __deleteInstance\r\n };\r\n return i18n;\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\r\nfunction useI18n(options = {}) {\r\n const instance = getCurrentInstance();\r\n if (instance == null) {\r\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\r\n }\r\n if (!instance.isCE &&\r\n instance.appContext.app != null &&\r\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\r\n throw createI18nError(I18nErrorCodes.NOT_INSLALLED);\r\n }\r\n const i18n = getI18nInstance(instance);\r\n const global = getGlobalComposer(i18n);\r\n const componentOptions = getComponentOptions(instance);\r\n const scope = getScope(options, componentOptions);\r\n if (__VUE_I18N_LEGACY_API__) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n if (i18n.mode === 'legacy' && !options.__useComponent) {\r\n if (!i18n.allowComposition) {\r\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);\r\n }\r\n return useI18nForLegacy(instance, scope, global, options);\r\n }\r\n }\r\n if (scope === 'global') {\r\n adjustI18nResources(global, options, componentOptions);\r\n return global;\r\n }\r\n if (scope === 'parent') {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n let composer = getComposer(i18n, instance, options.__useComponent);\r\n if (composer == null) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\r\n }\r\n composer = global;\r\n }\r\n return composer;\r\n }\r\n const i18nInternal = i18n;\r\n let composer = i18nInternal.__getInstance(instance);\r\n if (composer == null) {\r\n const composerOptions = assign({}, options);\r\n if ('__i18n' in componentOptions) {\r\n composerOptions.__i18n = componentOptions.__i18n;\r\n }\r\n if (global) {\r\n composerOptions.__root = global;\r\n }\r\n composer = createComposer(composerOptions);\r\n setupLifeCycle(i18nInternal, instance, composer);\r\n i18nInternal.__setInstance(instance, composer);\r\n }\r\n return composer;\r\n}\r\n/**\r\n * Cast to VueI18n legacy compatible type\r\n *\r\n * @remarks\r\n * This API is provided only with [vue-i18n-bridge](https://vue-i18n.intlify.dev/guide/migration/ways.html#what-is-vue-i18n-bridge).\r\n *\r\n * The purpose of this function is to convert an {@link I18n} instance created with {@link createI18n | createI18n(legacy: true)} into a `vue-i18n@v8.x` compatible instance of `new VueI18n` in a TypeScript environment.\r\n *\r\n * @param i18n - An instance of {@link I18n}\r\n * @returns A i18n instance which is casted to {@link VueI18n} type\r\n *\r\n * @VueI18nTip\r\n * :new: provided by **vue-i18n-bridge only**\r\n *\r\n * @VueI18nGeneral\r\n */\r\nconst castToVueI18n = (i18n\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n) => {\r\n if (!(__VUE_I18N_BRIDGE__ in i18n)) {\r\n throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);\r\n }\r\n return i18n;\r\n};\r\nfunction createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any\r\n) {\r\n const scope = effectScope();\r\n {\r\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\r\n ? scope.run(() => createVueI18n(options))\r\n : scope.run(() => createComposer(options));\r\n if (obj == null) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n return [scope, obj];\r\n }\r\n}\r\nfunction getI18nInstance(instance) {\r\n {\r\n const i18n = inject(!instance.isCE\r\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\r\n : I18nInjectionKey);\r\n /* istanbul ignore if */\r\n if (!i18n) {\r\n throw createI18nError(!instance.isCE\r\n ? I18nErrorCodes.UNEXPECTED_ERROR\r\n : I18nErrorCodes.NOT_INSLALLED_WITH_PROVIDE);\r\n }\r\n return i18n;\r\n }\r\n}\r\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\nfunction getScope(options, componentOptions) {\r\n // prettier-ignore\r\n return isEmptyObject(options)\r\n ? ('__i18n' in componentOptions)\r\n ? 'local'\r\n : 'global'\r\n : !options.useScope\r\n ? 'local'\r\n : options.useScope;\r\n}\r\nfunction getGlobalComposer(i18n) {\r\n // prettier-ignore\r\n return i18n.mode === 'composition'\r\n ? i18n.global\r\n : i18n.global.__composer\r\n ;\r\n}\r\nfunction getComposer(i18n, target, useComponent = false) {\r\n let composer = null;\r\n const root = target.root;\r\n let current = target.parent;\r\n while (current != null) {\r\n const i18nInternal = i18n;\r\n if (i18n.mode === 'composition') {\r\n composer = i18nInternal.__getInstance(current);\r\n }\r\n else {\r\n if (__VUE_I18N_LEGACY_API__) {\r\n const vueI18n = i18nInternal.__getInstance(current);\r\n if (vueI18n != null) {\r\n composer = vueI18n\r\n .__composer;\r\n if (useComponent &&\r\n composer &&\r\n !composer[InejctWithOption] // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n composer = null;\r\n }\r\n }\r\n }\r\n }\r\n if (composer != null) {\r\n break;\r\n }\r\n if (root === current) {\r\n break;\r\n }\r\n current = current.parent;\r\n }\r\n return composer;\r\n}\r\nfunction setupLifeCycle(i18n, target, composer) {\r\n let emitter = null;\r\n {\r\n onMounted(() => {\r\n // inject composer instance to DOM for intlify-devtools\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n target.vnode.el) {\r\n target.vnode.el.__VUE_I18N__ = composer;\r\n emitter = createEmitter();\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = composer;\r\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\r\n emitter.on('*', addTimelineEvent);\r\n }\r\n }, target);\r\n onUnmounted(() => {\r\n // remove composer instance from DOM for intlify-devtools\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n !false &&\r\n target.vnode.el &&\r\n target.vnode.el.__VUE_I18N__) {\r\n emitter && emitter.off('*', addTimelineEvent);\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _composer = composer;\r\n _composer[DisableEmitter] && _composer[DisableEmitter]();\r\n delete target.vnode.el.__VUE_I18N__;\r\n }\r\n i18n.__deleteInstance(target);\r\n }, target);\r\n }\r\n}\r\nfunction useI18nForLegacy(instance, scope, root, options = {} // eslint-disable-line @typescript-eslint/no-explicit-any\r\n) {\r\n const isLocale = scope === 'local';\r\n const _composer = shallowRef(null);\r\n if (isLocale &&\r\n instance.proxy &&\r\n !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {\r\n throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);\r\n }\r\n const _inheritLocale = isBoolean(options.inheritLocale)\r\n ? options.inheritLocale\r\n : true;\r\n const _locale = ref(\r\n // prettier-ignore\r\n isLocale && _inheritLocale\r\n ? root.locale.value\r\n : isString(options.locale)\r\n ? options.locale\r\n : DEFAULT_LOCALE);\r\n const _fallbackLocale = ref(\r\n // prettier-ignore\r\n isLocale && _inheritLocale\r\n ? root.fallbackLocale.value\r\n : isString(options.fallbackLocale) ||\r\n isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : _locale.value);\r\n const _messages = ref(getLocaleMessages(_locale.value, options));\r\n // prettier-ignore\r\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [_locale.value]: {} });\r\n // prettier-ignore\r\n const _numberFormats = ref(isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [_locale.value]: {} });\r\n // prettier-ignore\r\n const _missingWarn = isLocale\r\n ? root.missingWarn\r\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n // prettier-ignore\r\n const _fallbackWarn = isLocale\r\n ? root.fallbackWarn\r\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n // prettier-ignore\r\n const _fallbackRoot = isLocale\r\n ? root.fallbackRoot\r\n : isBoolean(options.fallbackRoot)\r\n ? options.fallbackRoot\r\n : true;\r\n // configure fall back to root\r\n const _fallbackFormat = !!options.fallbackFormat;\r\n // runtime missing\r\n const _missing = isFunction(options.missing) ? options.missing : null;\r\n // postTranslation handler\r\n const _postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n // prettier-ignore\r\n const _warnHtmlMessage = isLocale\r\n ? root.warnHtmlMessage\r\n : isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n const _escapeParameter = !!options.escapeParameter;\r\n // prettier-ignore\r\n const _modifiers = isLocale\r\n ? root.modifiers\r\n : isPlainObject(options.modifiers)\r\n ? options.modifiers\r\n : {};\r\n // pluralRules\r\n const _pluralRules = options.pluralRules || (isLocale && root.pluralRules);\r\n // track reactivity\r\n function trackReactivityValues() {\r\n return [\r\n _locale.value,\r\n _fallbackLocale.value,\r\n _messages.value,\r\n _datetimeFormats.value,\r\n _numberFormats.value\r\n ];\r\n }\r\n // locale\r\n const locale = computed({\r\n get: () => {\r\n return _composer.value ? _composer.value.locale.value : _locale.value;\r\n },\r\n set: val => {\r\n if (_composer.value) {\r\n _composer.value.locale.value = val;\r\n }\r\n _locale.value = val;\r\n }\r\n });\r\n // fallbackLocale\r\n const fallbackLocale = computed({\r\n get: () => {\r\n return _composer.value\r\n ? _composer.value.fallbackLocale.value\r\n : _fallbackLocale.value;\r\n },\r\n set: val => {\r\n if (_composer.value) {\r\n _composer.value.fallbackLocale.value = val;\r\n }\r\n _fallbackLocale.value = val;\r\n }\r\n });\r\n // messages\r\n const messages = computed(() => {\r\n if (_composer.value) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return _composer.value.messages.value;\r\n }\r\n else {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n return _messages.value;\r\n }\r\n });\r\n const datetimeFormats = computed(() => _datetimeFormats.value);\r\n const numberFormats = computed(() => _numberFormats.value);\r\n function getPostTranslationHandler() {\r\n return _composer.value\r\n ? _composer.value.getPostTranslationHandler()\r\n : _postTranslation;\r\n }\r\n function setPostTranslationHandler(handler) {\r\n if (_composer.value) {\r\n _composer.value.setPostTranslationHandler(handler);\r\n }\r\n }\r\n function getMissingHandler() {\r\n return _composer.value ? _composer.value.getMissingHandler() : _missing;\r\n }\r\n function setMissingHandler(handler) {\r\n if (_composer.value) {\r\n _composer.value.setMissingHandler(handler);\r\n }\r\n }\r\n function warpWithDeps(fn) {\r\n trackReactivityValues();\r\n return fn();\r\n }\r\n function t(...args) {\r\n return _composer.value\r\n ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args]))\r\n : warpWithDeps(() => '');\r\n }\r\n function rt(...args) {\r\n return _composer.value\r\n ? Reflect.apply(_composer.value.rt, null, [...args])\r\n : '';\r\n }\r\n function d(...args) {\r\n return _composer.value\r\n ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args]))\r\n : warpWithDeps(() => '');\r\n }\r\n function n(...args) {\r\n return _composer.value\r\n ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args]))\r\n : warpWithDeps(() => '');\r\n }\r\n function tm(key) {\r\n return _composer.value ? _composer.value.tm(key) : {};\r\n }\r\n function te(key, locale) {\r\n return _composer.value ? _composer.value.te(key, locale) : false;\r\n }\r\n function getLocaleMessage(locale) {\r\n return _composer.value ? _composer.value.getLocaleMessage(locale) : {};\r\n }\r\n function setLocaleMessage(locale, message) {\r\n if (_composer.value) {\r\n _composer.value.setLocaleMessage(locale, message);\r\n _messages.value[locale] = message;\r\n }\r\n }\r\n function mergeLocaleMessage(locale, message) {\r\n if (_composer.value) {\r\n _composer.value.mergeLocaleMessage(locale, message);\r\n }\r\n }\r\n function getDateTimeFormat(locale) {\r\n return _composer.value ? _composer.value.getDateTimeFormat(locale) : {};\r\n }\r\n function setDateTimeFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.setDateTimeFormat(locale, format);\r\n _datetimeFormats.value[locale] = format;\r\n }\r\n }\r\n function mergeDateTimeFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.mergeDateTimeFormat(locale, format);\r\n }\r\n }\r\n function getNumberFormat(locale) {\r\n return _composer.value ? _composer.value.getNumberFormat(locale) : {};\r\n }\r\n function setNumberFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.setNumberFormat(locale, format);\r\n _numberFormats.value[locale] = format;\r\n }\r\n }\r\n function mergeNumberFormat(locale, format) {\r\n if (_composer.value) {\r\n _composer.value.mergeNumberFormat(locale, format);\r\n }\r\n }\r\n const wrapper = {\r\n get id() {\r\n return _composer.value ? _composer.value.id : -1;\r\n },\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n datetimeFormats,\r\n numberFormats,\r\n get inheritLocale() {\r\n return _composer.value ? _composer.value.inheritLocale : _inheritLocale;\r\n },\r\n set inheritLocale(val) {\r\n if (_composer.value) {\r\n _composer.value.inheritLocale = val;\r\n }\r\n },\r\n get availableLocales() {\r\n return _composer.value\r\n ? _composer.value.availableLocales\r\n : Object.keys(_messages.value);\r\n },\r\n get modifiers() {\r\n return (_composer.value ? _composer.value.modifiers : _modifiers);\r\n },\r\n get pluralRules() {\r\n return (_composer.value ? _composer.value.pluralRules : _pluralRules);\r\n },\r\n get isGlobal() {\r\n return _composer.value ? _composer.value.isGlobal : false;\r\n },\r\n get missingWarn() {\r\n return _composer.value ? _composer.value.missingWarn : _missingWarn;\r\n },\r\n set missingWarn(val) {\r\n if (_composer.value) {\r\n _composer.value.missingWarn = val;\r\n }\r\n },\r\n get fallbackWarn() {\r\n return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;\r\n },\r\n set fallbackWarn(val) {\r\n if (_composer.value) {\r\n _composer.value.missingWarn = val;\r\n }\r\n },\r\n get fallbackRoot() {\r\n return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;\r\n },\r\n set fallbackRoot(val) {\r\n if (_composer.value) {\r\n _composer.value.fallbackRoot = val;\r\n }\r\n },\r\n get fallbackFormat() {\r\n return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;\r\n },\r\n set fallbackFormat(val) {\r\n if (_composer.value) {\r\n _composer.value.fallbackFormat = val;\r\n }\r\n },\r\n get warnHtmlMessage() {\r\n return _composer.value\r\n ? _composer.value.warnHtmlMessage\r\n : _warnHtmlMessage;\r\n },\r\n set warnHtmlMessage(val) {\r\n if (_composer.value) {\r\n _composer.value.warnHtmlMessage = val;\r\n }\r\n },\r\n get escapeParameter() {\r\n return _composer.value\r\n ? _composer.value.escapeParameter\r\n : _escapeParameter;\r\n },\r\n set escapeParameter(val) {\r\n if (_composer.value) {\r\n _composer.value.escapeParameter = val;\r\n }\r\n },\r\n t,\r\n getPostTranslationHandler,\r\n setPostTranslationHandler,\r\n getMissingHandler,\r\n setMissingHandler,\r\n rt,\r\n d,\r\n n,\r\n tm,\r\n te,\r\n getLocaleMessage,\r\n setLocaleMessage,\r\n mergeLocaleMessage,\r\n getDateTimeFormat,\r\n setDateTimeFormat,\r\n mergeDateTimeFormat,\r\n getNumberFormat,\r\n setNumberFormat,\r\n mergeNumberFormat\r\n };\r\n function sync(composer) {\r\n composer.locale.value = _locale.value;\r\n composer.fallbackLocale.value = _fallbackLocale.value;\r\n Object.keys(_messages.value).forEach(locale => {\r\n composer.mergeLocaleMessage(locale, _messages.value[locale]);\r\n });\r\n Object.keys(_datetimeFormats.value).forEach(locale => {\r\n composer.mergeDateTimeFormat(locale, _datetimeFormats.value[locale]);\r\n });\r\n Object.keys(_numberFormats.value).forEach(locale => {\r\n composer.mergeNumberFormat(locale, _numberFormats.value[locale]);\r\n });\r\n composer.escapeParameter = _escapeParameter;\r\n composer.fallbackFormat = _fallbackFormat;\r\n composer.fallbackRoot = _fallbackRoot;\r\n composer.fallbackWarn = _fallbackWarn;\r\n composer.missingWarn = _missingWarn;\r\n composer.warnHtmlMessage = _warnHtmlMessage;\r\n }\r\n onBeforeMount(() => {\r\n if (instance.proxy == null || instance.proxy.$i18n == null) {\r\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\r\n }\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const composer = (_composer.value = instance.proxy.$i18n\r\n .__composer);\r\n if (scope === 'global') {\r\n _locale.value = composer.locale.value;\r\n _fallbackLocale.value = composer.fallbackLocale.value;\r\n _messages.value = composer.messages.value;\r\n _datetimeFormats.value = composer.datetimeFormats.value;\r\n _numberFormats.value = composer.numberFormats.value;\r\n }\r\n else if (isLocale) {\r\n sync(composer);\r\n }\r\n });\r\n return wrapper;\r\n}\r\nconst globalExportProps = [\r\n 'locale',\r\n 'fallbackLocale',\r\n 'availableLocales'\r\n];\r\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm'] ;\r\nfunction injectGlobalFields(app, composer) {\r\n const i18n = Object.create(null);\r\n globalExportProps.forEach(prop => {\r\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\r\n if (!desc) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n const wrap = isRef(desc.value) // check computed props\r\n ? {\r\n get() {\r\n return desc.value.value;\r\n },\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n set(val) {\r\n desc.value.value = val;\r\n }\r\n }\r\n : {\r\n get() {\r\n return desc.get && desc.get();\r\n }\r\n };\r\n Object.defineProperty(i18n, prop, wrap);\r\n });\r\n app.config.globalProperties.$i18n = i18n;\r\n globalExportMethods.forEach(method => {\r\n const desc = Object.getOwnPropertyDescriptor(composer, method);\r\n if (!desc || !desc.value) {\r\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\r\n }\r\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\r\n });\r\n}\n\n// register message compiler at vue-i18n\r\nregisterMessageCompiler(compileToFunction);\r\n// register message resolver at vue-i18n\r\nregisterMessageResolver(resolveValue);\r\n// register fallback locale at vue-i18n\r\nregisterLocaleFallbacker(fallbackWithLocaleChain);\r\n{\r\n initFeatureFlags();\r\n}\r\n// NOTE: experimental !!\r\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n const target = getGlobalThis();\r\n target.__INTLIFY__ = true;\r\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\r\n}\r\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nInjectionKey, NumberFormat, Translation, VERSION, castToVueI18n, createI18n, useI18n, vTDirective };\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var Clipboard = require('clipboard/dist/clipboard.min.js') // FIXME: workaround for browserify\n\nvar VueClipboardConfig = {\n autoSetContainer: false,\n appendToBody: true // This fixes IE, see #50\n}\n\nvar VueClipboard = {\n install: function (Vue) {\n var globalPrototype = Vue.version.slice(0, 2) === '3.' ? Vue.config.globalProperties : Vue.prototype\n globalPrototype.$clipboardConfig = VueClipboardConfig\n globalPrototype.$copyText = function (text, container) {\n return new Promise(function (resolve, reject) {\n var fakeElement = document.createElement('button')\n var clipboard = new Clipboard(fakeElement, {\n text: function () { return text },\n action: function () { return 'copy' },\n container: typeof container === 'object' ? container : document.body\n })\n clipboard.on('success', function (e) {\n clipboard.destroy()\n resolve(e)\n })\n clipboard.on('error', function (e) {\n clipboard.destroy()\n reject(e)\n })\n if (VueClipboardConfig.appendToBody) document.body.appendChild(fakeElement)\n fakeElement.click()\n if (VueClipboardConfig.appendToBody) document.body.removeChild(fakeElement)\n })\n }\n\n Vue.directive('clipboard', {\n bind: function (el, binding, vnode) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n var clipboard = new Clipboard(el, {\n text: function () { return binding.value },\n action: function () { return binding.arg === 'cut' ? 'cut' : 'copy' },\n container: VueClipboardConfig.autoSetContainer ? el : undefined\n })\n clipboard.on('success', function (e) {\n var callback = el._vClipboard_success\n callback && callback(e)\n })\n clipboard.on('error', function (e) {\n var callback = el._vClipboard_error\n callback && callback(e)\n })\n el._vClipboard = clipboard\n }\n },\n update: function (el, binding) {\n if (binding.arg === 'success') {\n el._vClipboard_success = binding.value\n } else if (binding.arg === 'error') {\n el._vClipboard_error = binding.value\n } else {\n el._vClipboard.text = function () { return binding.value }\n el._vClipboard.action = function () { return binding.arg === 'cut' ? 'cut' : 'copy' }\n }\n },\n unbind: function (el, binding) {\n // FIXME: investigate why $element._vClipboard was missing\n if (!el._vClipboard) return\n if (binding.arg === 'success') {\n delete el._vClipboard_success\n } else if (binding.arg === 'error') {\n delete el._vClipboard_error\n } else {\n el._vClipboard.destroy()\n delete el._vClipboard\n }\n }\n })\n },\n config: VueClipboardConfig\n}\n\nif (typeof exports === 'object') {\n module.exports = VueClipboard\n} else if (typeof define === 'function' && define.amd) {\n define([], function () {\n return VueClipboard\n })\n}\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","let supported;\nlet perf;\nexport function isPerformanceSupported() {\n var _a;\n if (supported !== undefined) {\n return supported;\n }\n if (typeof window !== 'undefined' && window.performance) {\n supported = true;\n perf = window.performance;\n }\n else if (typeof global !== 'undefined' && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {\n supported = true;\n perf = global.perf_hooks.performance;\n }\n else {\n supported = false;\n }\n return supported;\n}\nexport function now() {\n return isPerformanceSupported() ? perf.now() : Date.now();\n}\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","function isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction extend(target, src) {\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n Object.keys(src).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n }).forEach(function (key) {\n if (typeof target[key] === 'undefined') target[key] = src[key];else if (isObject(src[key]) && isObject(target[key]) && Object.keys(src[key]).length > 0) {\n if (src[key].__swiper__) target[key] = src[key];else extend(target[key], src[key]);\n } else {\n target[key] = src[key];\n }\n });\n}\n\nfunction needsNavigation(props) {\n if (props === void 0) {\n props = {};\n }\n\n return props.navigation && typeof props.navigation.nextEl === 'undefined' && typeof props.navigation.prevEl === 'undefined';\n}\n\nfunction needsPagination(props) {\n if (props === void 0) {\n props = {};\n }\n\n return props.pagination && typeof props.pagination.el === 'undefined';\n}\n\nfunction needsScrollbar(props) {\n if (props === void 0) {\n props = {};\n }\n\n return props.scrollbar && typeof props.scrollbar.el === 'undefined';\n}\n\nfunction uniqueClasses(classNames) {\n if (classNames === void 0) {\n classNames = '';\n }\n\n var classes = classNames.split(' ').map(function (c) {\n return c.trim();\n }).filter(function (c) {\n return !!c;\n });\n var unique = [];\n classes.forEach(function (c) {\n if (unique.indexOf(c) < 0) unique.push(c);\n });\n return unique.join(' ');\n}\n\nexport { isObject, extend, needsNavigation, needsPagination, needsScrollbar, uniqueClasses };","/*!\n * vuex v4.1.0\n * (c) 2022 Evan You\n * @license MIT\n */\nimport { inject, effectScope, reactive, watch, computed } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nvar storeKey = 'store';\n\nfunction useStore (key) {\n if ( key === void 0 ) key = null;\n\n return inject(key !== null ? key : storeKey)\n}\n\n/**\n * Get the first item that pass the test\n * by second argument function\n *\n * @param {Array} list\n * @param {Function} f\n * @return {*}\n */\nfunction find (list, f) {\n return list.filter(f)[0]\n}\n\n/**\n * Deep copy the given object considering circular structure.\n * This function caches all nested objects and its copies.\n * If it detects circular structure, use cached copy to avoid infinite loop.\n *\n * @param {*} obj\n * @param {Array} cache\n * @return {*}\n */\nfunction deepCopy (obj, cache) {\n if ( cache === void 0 ) cache = [];\n\n // just return if obj is immutable value\n if (obj === null || typeof obj !== 'object') {\n return obj\n }\n\n // if obj is hit, it is in circular structure\n var hit = find(cache, function (c) { return c.original === obj; });\n if (hit) {\n return hit.copy\n }\n\n var copy = Array.isArray(obj) ? [] : {};\n // put the copy into cache at first\n // because we want to refer it in recursive deepCopy\n cache.push({\n original: obj,\n copy: copy\n });\n\n Object.keys(obj).forEach(function (key) {\n copy[key] = deepCopy(obj[key], cache);\n });\n\n return copy\n}\n\n/**\n * forEach for object\n */\nfunction forEachValue (obj, fn) {\n Object.keys(obj).forEach(function (key) { return fn(obj[key], key); });\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPromise (val) {\n return val && typeof val.then === 'function'\n}\n\nfunction assert (condition, msg) {\n if (!condition) { throw new Error((\"[vuex] \" + msg)) }\n}\n\nfunction partial (fn, arg) {\n return function () {\n return fn(arg)\n }\n}\n\nfunction genericSubscribe (fn, subs, options) {\n if (subs.indexOf(fn) < 0) {\n options && options.prepend\n ? subs.unshift(fn)\n : subs.push(fn);\n }\n return function () {\n var i = subs.indexOf(fn);\n if (i > -1) {\n subs.splice(i, 1);\n }\n }\n}\n\nfunction resetStore (store, hot) {\n store._actions = Object.create(null);\n store._mutations = Object.create(null);\n store._wrappedGetters = Object.create(null);\n store._modulesNamespaceMap = Object.create(null);\n var state = store.state;\n // init all modules\n installModule(store, state, [], store._modules.root, true);\n // reset state\n resetStoreState(store, state, hot);\n}\n\nfunction resetStoreState (store, state, hot) {\n var oldState = store._state;\n var oldScope = store._scope;\n\n // bind store public getters\n store.getters = {};\n // reset local getters cache\n store._makeLocalGettersCache = Object.create(null);\n var wrappedGetters = store._wrappedGetters;\n var computedObj = {};\n var computedCache = {};\n\n // create a new effect scope and create computed object inside it to avoid\n // getters (computed) getting destroyed on component unmount.\n var scope = effectScope(true);\n\n scope.run(function () {\n forEachValue(wrappedGetters, function (fn, key) {\n // use computed to leverage its lazy-caching mechanism\n // direct inline function use will lead to closure preserving oldState.\n // using partial to return function with only arguments preserved in closure environment.\n computedObj[key] = partial(fn, store);\n computedCache[key] = computed(function () { return computedObj[key](); });\n Object.defineProperty(store.getters, key, {\n get: function () { return computedCache[key].value; },\n enumerable: true // for local getters\n });\n });\n });\n\n store._state = reactive({\n data: state\n });\n\n // register the newly created effect scope to the store so that we can\n // dispose the effects when this method runs again in the future.\n store._scope = scope;\n\n // enable strict mode for new state\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldState) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldState.data = null;\n });\n }\n }\n\n // dispose previously registered effect scope if there is one.\n if (oldScope) {\n oldScope.stop();\n }\n}\n\nfunction installModule (store, rootState, path, module, hot) {\n var isRoot = !path.length;\n var namespace = store._modules.getNamespace(path);\n\n // register in namespace map\n if (module.namespaced) {\n if (store._modulesNamespaceMap[namespace] && true) {\n console.error((\"[vuex] duplicate namespace \" + namespace + \" for the namespaced module \" + (path.join('/'))));\n }\n store._modulesNamespaceMap[namespace] = module;\n }\n\n // set state\n if (!isRoot && !hot) {\n var parentState = getNestedState(rootState, path.slice(0, -1));\n var moduleName = path[path.length - 1];\n store._withCommit(function () {\n {\n if (moduleName in parentState) {\n console.warn(\n (\"[vuex] state field \\\"\" + moduleName + \"\\\" was overridden by a module with the same name at \\\"\" + (path.join('.')) + \"\\\"\")\n );\n }\n }\n parentState[moduleName] = module.state;\n });\n }\n\n var local = module.context = makeLocalContext(store, namespace, path);\n\n module.forEachMutation(function (mutation, key) {\n var namespacedType = namespace + key;\n registerMutation(store, namespacedType, mutation, local);\n });\n\n module.forEachAction(function (action, key) {\n var type = action.root ? key : namespace + key;\n var handler = action.handler || action;\n registerAction(store, type, handler, local);\n });\n\n module.forEachGetter(function (getter, key) {\n var namespacedType = namespace + key;\n registerGetter(store, namespacedType, getter, local);\n });\n\n module.forEachChild(function (child, key) {\n installModule(store, rootState, path.concat(key), child, hot);\n });\n}\n\n/**\n * make localized dispatch, commit, getters and state\n * if there is no namespace, just use root ones\n */\nfunction makeLocalContext (store, namespace, path) {\n var noNamespace = namespace === '';\n\n var local = {\n dispatch: noNamespace ? store.dispatch : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (!store._actions[type]) {\n console.error((\"[vuex] unknown local action type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n return store.dispatch(type, payload)\n },\n\n commit: noNamespace ? store.commit : function (_type, _payload, _options) {\n var args = unifyObjectStyle(_type, _payload, _options);\n var payload = args.payload;\n var options = args.options;\n var type = args.type;\n\n if (!options || !options.root) {\n type = namespace + type;\n if (!store._mutations[type]) {\n console.error((\"[vuex] unknown local mutation type: \" + (args.type) + \", global type: \" + type));\n return\n }\n }\n\n store.commit(type, payload, options);\n }\n };\n\n // getters and state object must be gotten lazily\n // because they will be changed by state update\n Object.defineProperties(local, {\n getters: {\n get: noNamespace\n ? function () { return store.getters; }\n : function () { return makeLocalGetters(store, namespace); }\n },\n state: {\n get: function () { return getNestedState(store.state, path); }\n }\n });\n\n return local\n}\n\nfunction makeLocalGetters (store, namespace) {\n if (!store._makeLocalGettersCache[namespace]) {\n var gettersProxy = {};\n var splitPos = namespace.length;\n Object.keys(store.getters).forEach(function (type) {\n // skip if the target getter is not match this namespace\n if (type.slice(0, splitPos) !== namespace) { return }\n\n // extract local getter type\n var localType = type.slice(splitPos);\n\n // Add a port to the getters proxy.\n // Define as getter property because\n // we do not want to evaluate the getters in this time.\n Object.defineProperty(gettersProxy, localType, {\n get: function () { return store.getters[type]; },\n enumerable: true\n });\n });\n store._makeLocalGettersCache[namespace] = gettersProxy;\n }\n\n return store._makeLocalGettersCache[namespace]\n}\n\nfunction registerMutation (store, type, handler, local) {\n var entry = store._mutations[type] || (store._mutations[type] = []);\n entry.push(function wrappedMutationHandler (payload) {\n handler.call(store, local.state, payload);\n });\n}\n\nfunction registerAction (store, type, handler, local) {\n var entry = store._actions[type] || (store._actions[type] = []);\n entry.push(function wrappedActionHandler (payload) {\n var res = handler.call(store, {\n dispatch: local.dispatch,\n commit: local.commit,\n getters: local.getters,\n state: local.state,\n rootGetters: store.getters,\n rootState: store.state\n }, payload);\n if (!isPromise(res)) {\n res = Promise.resolve(res);\n }\n if (store._devtoolHook) {\n return res.catch(function (err) {\n store._devtoolHook.emit('vuex:error', err);\n throw err\n })\n } else {\n return res\n }\n });\n}\n\nfunction registerGetter (store, type, rawGetter, local) {\n if (store._wrappedGetters[type]) {\n {\n console.error((\"[vuex] duplicate getter key: \" + type));\n }\n return\n }\n store._wrappedGetters[type] = function wrappedGetter (store) {\n return rawGetter(\n local.state, // local state\n local.getters, // local getters\n store.state, // root state\n store.getters // root getters\n )\n };\n}\n\nfunction enableStrictMode (store) {\n watch(function () { return store._state.data; }, function () {\n {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, flush: 'sync' });\n}\n\nfunction getNestedState (state, path) {\n return path.reduce(function (state, key) { return state[key]; }, state)\n}\n\nfunction unifyObjectStyle (type, payload, options) {\n if (isObject(type) && type.type) {\n options = payload;\n payload = type;\n type = type.type;\n }\n\n {\n assert(typeof type === 'string', (\"expects string as the type, but found \" + (typeof type) + \".\"));\n }\n\n return { type: type, payload: payload, options: options }\n}\n\nvar LABEL_VUEX_BINDINGS = 'vuex bindings';\nvar MUTATIONS_LAYER_ID = 'vuex:mutations';\nvar ACTIONS_LAYER_ID = 'vuex:actions';\nvar INSPECTOR_ID = 'vuex';\n\nvar actionId = 0;\n\nfunction addDevtools (app, store) {\n setupDevtoolsPlugin(\n {\n id: 'org.vuejs.vuex',\n app: app,\n label: 'Vuex',\n homepage: 'https://next.vuex.vuejs.org/',\n logo: 'https://vuejs.org/images/icons/favicon-96x96.png',\n packageName: 'vuex',\n componentStateTypes: [LABEL_VUEX_BINDINGS]\n },\n function (api) {\n api.addTimelineLayer({\n id: MUTATIONS_LAYER_ID,\n label: 'Vuex Mutations',\n color: COLOR_LIME_500\n });\n\n api.addTimelineLayer({\n id: ACTIONS_LAYER_ID,\n label: 'Vuex Actions',\n color: COLOR_LIME_500\n });\n\n api.addInspector({\n id: INSPECTOR_ID,\n label: 'Vuex',\n icon: 'storage',\n treeFilterPlaceholder: 'Filter stores...'\n });\n\n api.on.getInspectorTree(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n if (payload.filter) {\n var nodes = [];\n flattenStoreForInspectorTree(nodes, store._modules.root, payload.filter, '');\n payload.rootNodes = nodes;\n } else {\n payload.rootNodes = [\n formatStoreForInspectorTree(store._modules.root, '')\n ];\n }\n }\n });\n\n api.on.getInspectorState(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n var modulePath = payload.nodeId;\n makeLocalGetters(store, modulePath);\n payload.state = formatStoreForInspectorState(\n getStoreModule(store._modules, modulePath),\n modulePath === 'root' ? store.getters : store._makeLocalGettersCache,\n modulePath\n );\n }\n });\n\n api.on.editInspectorState(function (payload) {\n if (payload.app === app && payload.inspectorId === INSPECTOR_ID) {\n var modulePath = payload.nodeId;\n var path = payload.path;\n if (modulePath !== 'root') {\n path = modulePath.split('/').filter(Boolean).concat( path);\n }\n store._withCommit(function () {\n payload.set(store._state.data, path, payload.state.value);\n });\n }\n });\n\n store.subscribe(function (mutation, state) {\n var data = {};\n\n if (mutation.payload) {\n data.payload = mutation.payload;\n }\n\n data.state = state;\n\n api.notifyComponentUpdate();\n api.sendInspectorTree(INSPECTOR_ID);\n api.sendInspectorState(INSPECTOR_ID);\n\n api.addTimelineEvent({\n layerId: MUTATIONS_LAYER_ID,\n event: {\n time: Date.now(),\n title: mutation.type,\n data: data\n }\n });\n });\n\n store.subscribeAction({\n before: function (action, state) {\n var data = {};\n if (action.payload) {\n data.payload = action.payload;\n }\n action._id = actionId++;\n action._time = Date.now();\n data.state = state;\n\n api.addTimelineEvent({\n layerId: ACTIONS_LAYER_ID,\n event: {\n time: action._time,\n title: action.type,\n groupId: action._id,\n subtitle: 'start',\n data: data\n }\n });\n },\n after: function (action, state) {\n var data = {};\n var duration = Date.now() - action._time;\n data.duration = {\n _custom: {\n type: 'duration',\n display: (duration + \"ms\"),\n tooltip: 'Action duration',\n value: duration\n }\n };\n if (action.payload) {\n data.payload = action.payload;\n }\n data.state = state;\n\n api.addTimelineEvent({\n layerId: ACTIONS_LAYER_ID,\n event: {\n time: Date.now(),\n title: action.type,\n groupId: action._id,\n subtitle: 'end',\n data: data\n }\n });\n }\n });\n }\n );\n}\n\n// extracted from tailwind palette\nvar COLOR_LIME_500 = 0x84cc16;\nvar COLOR_DARK = 0x666666;\nvar COLOR_WHITE = 0xffffff;\n\nvar TAG_NAMESPACED = {\n label: 'namespaced',\n textColor: COLOR_WHITE,\n backgroundColor: COLOR_DARK\n};\n\n/**\n * @param {string} path\n */\nfunction extractNameFromPath (path) {\n return path && path !== 'root' ? path.split('/').slice(-2, -1)[0] : 'Root'\n}\n\n/**\n * @param {*} module\n * @return {import('@vue/devtools-api').CustomInspectorNode}\n */\nfunction formatStoreForInspectorTree (module, path) {\n return {\n id: path || 'root',\n // all modules end with a `/`, we want the last segment only\n // cart/ -> cart\n // nested/cart/ -> cart\n label: extractNameFromPath(path),\n tags: module.namespaced ? [TAG_NAMESPACED] : [],\n children: Object.keys(module._children).map(function (moduleName) { return formatStoreForInspectorTree(\n module._children[moduleName],\n path + moduleName + '/'\n ); }\n )\n }\n}\n\n/**\n * @param {import('@vue/devtools-api').CustomInspectorNode[]} result\n * @param {*} module\n * @param {string} filter\n * @param {string} path\n */\nfunction flattenStoreForInspectorTree (result, module, filter, path) {\n if (path.includes(filter)) {\n result.push({\n id: path || 'root',\n label: path.endsWith('/') ? path.slice(0, path.length - 1) : path || 'Root',\n tags: module.namespaced ? [TAG_NAMESPACED] : []\n });\n }\n Object.keys(module._children).forEach(function (moduleName) {\n flattenStoreForInspectorTree(result, module._children[moduleName], filter, path + moduleName + '/');\n });\n}\n\n/**\n * @param {*} module\n * @return {import('@vue/devtools-api').CustomInspectorState}\n */\nfunction formatStoreForInspectorState (module, getters, path) {\n getters = path === 'root' ? getters : getters[path];\n var gettersKeys = Object.keys(getters);\n var storeState = {\n state: Object.keys(module.state).map(function (key) { return ({\n key: key,\n editable: true,\n value: module.state[key]\n }); })\n };\n\n if (gettersKeys.length) {\n var tree = transformPathsToObjectTree(getters);\n storeState.getters = Object.keys(tree).map(function (key) { return ({\n key: key.endsWith('/') ? extractNameFromPath(key) : key,\n editable: false,\n value: canThrow(function () { return tree[key]; })\n }); });\n }\n\n return storeState\n}\n\nfunction transformPathsToObjectTree (getters) {\n var result = {};\n Object.keys(getters).forEach(function (key) {\n var path = key.split('/');\n if (path.length > 1) {\n var target = result;\n var leafKey = path.pop();\n path.forEach(function (p) {\n if (!target[p]) {\n target[p] = {\n _custom: {\n value: {},\n display: p,\n tooltip: 'Module',\n abstract: true\n }\n };\n }\n target = target[p]._custom.value;\n });\n target[leafKey] = canThrow(function () { return getters[key]; });\n } else {\n result[key] = canThrow(function () { return getters[key]; });\n }\n });\n return result\n}\n\nfunction getStoreModule (moduleMap, path) {\n var names = path.split('/').filter(function (n) { return n; });\n return names.reduce(\n function (module, moduleName, i) {\n var child = module[moduleName];\n if (!child) {\n throw new Error((\"Missing module \\\"\" + moduleName + \"\\\" for path \\\"\" + path + \"\\\".\"))\n }\n return i === names.length - 1 ? child : child._children\n },\n path === 'root' ? moduleMap : moduleMap.root._children\n )\n}\n\nfunction canThrow (cb) {\n try {\n return cb()\n } catch (e) {\n return e\n }\n}\n\n// Base data struct for store's module, package with some attribute and method\nvar Module = function Module (rawModule, runtime) {\n this.runtime = runtime;\n // Store some children item\n this._children = Object.create(null);\n // Store the origin module object which passed by programmer\n this._rawModule = rawModule;\n var rawState = rawModule.state;\n\n // Store the origin module's state\n this.state = (typeof rawState === 'function' ? rawState() : rawState) || {};\n};\n\nvar prototypeAccessors$1 = { namespaced: { configurable: true } };\n\nprototypeAccessors$1.namespaced.get = function () {\n return !!this._rawModule.namespaced\n};\n\nModule.prototype.addChild = function addChild (key, module) {\n this._children[key] = module;\n};\n\nModule.prototype.removeChild = function removeChild (key) {\n delete this._children[key];\n};\n\nModule.prototype.getChild = function getChild (key) {\n return this._children[key]\n};\n\nModule.prototype.hasChild = function hasChild (key) {\n return key in this._children\n};\n\nModule.prototype.update = function update (rawModule) {\n this._rawModule.namespaced = rawModule.namespaced;\n if (rawModule.actions) {\n this._rawModule.actions = rawModule.actions;\n }\n if (rawModule.mutations) {\n this._rawModule.mutations = rawModule.mutations;\n }\n if (rawModule.getters) {\n this._rawModule.getters = rawModule.getters;\n }\n};\n\nModule.prototype.forEachChild = function forEachChild (fn) {\n forEachValue(this._children, fn);\n};\n\nModule.prototype.forEachGetter = function forEachGetter (fn) {\n if (this._rawModule.getters) {\n forEachValue(this._rawModule.getters, fn);\n }\n};\n\nModule.prototype.forEachAction = function forEachAction (fn) {\n if (this._rawModule.actions) {\n forEachValue(this._rawModule.actions, fn);\n }\n};\n\nModule.prototype.forEachMutation = function forEachMutation (fn) {\n if (this._rawModule.mutations) {\n forEachValue(this._rawModule.mutations, fn);\n }\n};\n\nObject.defineProperties( Module.prototype, prototypeAccessors$1 );\n\nvar ModuleCollection = function ModuleCollection (rawRootModule) {\n // register root module (Vuex.Store options)\n this.register([], rawRootModule, false);\n};\n\nModuleCollection.prototype.get = function get (path) {\n return path.reduce(function (module, key) {\n return module.getChild(key)\n }, this.root)\n};\n\nModuleCollection.prototype.getNamespace = function getNamespace (path) {\n var module = this.root;\n return path.reduce(function (namespace, key) {\n module = module.getChild(key);\n return namespace + (module.namespaced ? key + '/' : '')\n }, '')\n};\n\nModuleCollection.prototype.update = function update$1 (rawRootModule) {\n update([], this.root, rawRootModule);\n};\n\nModuleCollection.prototype.register = function register (path, rawModule, runtime) {\n var this$1$1 = this;\n if ( runtime === void 0 ) runtime = true;\n\n {\n assertRawModule(path, rawModule);\n }\n\n var newModule = new Module(rawModule, runtime);\n if (path.length === 0) {\n this.root = newModule;\n } else {\n var parent = this.get(path.slice(0, -1));\n parent.addChild(path[path.length - 1], newModule);\n }\n\n // register nested modules\n if (rawModule.modules) {\n forEachValue(rawModule.modules, function (rawChildModule, key) {\n this$1$1.register(path.concat(key), rawChildModule, runtime);\n });\n }\n};\n\nModuleCollection.prototype.unregister = function unregister (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n var child = parent.getChild(key);\n\n if (!child) {\n {\n console.warn(\n \"[vuex] trying to unregister module '\" + key + \"', which is \" +\n \"not registered\"\n );\n }\n return\n }\n\n if (!child.runtime) {\n return\n }\n\n parent.removeChild(key);\n};\n\nModuleCollection.prototype.isRegistered = function isRegistered (path) {\n var parent = this.get(path.slice(0, -1));\n var key = path[path.length - 1];\n\n if (parent) {\n return parent.hasChild(key)\n }\n\n return false\n};\n\nfunction update (path, targetModule, newModule) {\n {\n assertRawModule(path, newModule);\n }\n\n // update target module\n targetModule.update(newModule);\n\n // update nested modules\n if (newModule.modules) {\n for (var key in newModule.modules) {\n if (!targetModule.getChild(key)) {\n {\n console.warn(\n \"[vuex] trying to add a new module '\" + key + \"' on hot reloading, \" +\n 'manual reload is needed'\n );\n }\n return\n }\n update(\n path.concat(key),\n targetModule.getChild(key),\n newModule.modules[key]\n );\n }\n }\n}\n\nvar functionAssert = {\n assert: function (value) { return typeof value === 'function'; },\n expected: 'function'\n};\n\nvar objectAssert = {\n assert: function (value) { return typeof value === 'function' ||\n (typeof value === 'object' && typeof value.handler === 'function'); },\n expected: 'function or object with \"handler\" function'\n};\n\nvar assertTypes = {\n getters: functionAssert,\n mutations: functionAssert,\n actions: objectAssert\n};\n\nfunction assertRawModule (path, rawModule) {\n Object.keys(assertTypes).forEach(function (key) {\n if (!rawModule[key]) { return }\n\n var assertOptions = assertTypes[key];\n\n forEachValue(rawModule[key], function (value, type) {\n assert(\n assertOptions.assert(value),\n makeAssertionMessage(path, key, type, value, assertOptions.expected)\n );\n });\n });\n}\n\nfunction makeAssertionMessage (path, key, type, value, expected) {\n var buf = key + \" should be \" + expected + \" but \\\"\" + key + \".\" + type + \"\\\"\";\n if (path.length > 0) {\n buf += \" in module \\\"\" + (path.join('.')) + \"\\\"\";\n }\n buf += \" is \" + (JSON.stringify(value)) + \".\";\n return buf\n}\n\nfunction createStore (options) {\n return new Store(options)\n}\n\nvar Store = function Store (options) {\n var this$1$1 = this;\n if ( options === void 0 ) options = {};\n\n {\n assert(typeof Promise !== 'undefined', \"vuex requires a Promise polyfill in this browser.\");\n assert(this instanceof Store, \"store must be called with the new operator.\");\n }\n\n var plugins = options.plugins; if ( plugins === void 0 ) plugins = [];\n var strict = options.strict; if ( strict === void 0 ) strict = false;\n var devtools = options.devtools;\n\n // store internal state\n this._committing = false;\n this._actions = Object.create(null);\n this._actionSubscribers = [];\n this._mutations = Object.create(null);\n this._wrappedGetters = Object.create(null);\n this._modules = new ModuleCollection(options);\n this._modulesNamespaceMap = Object.create(null);\n this._subscribers = [];\n this._makeLocalGettersCache = Object.create(null);\n\n // EffectScope instance. when registering new getters, we wrap them inside\n // EffectScope so that getters (computed) would not be destroyed on\n // component unmount.\n this._scope = null;\n\n this._devtools = devtools;\n\n // bind commit and dispatch to self\n var store = this;\n var ref = this;\n var dispatch = ref.dispatch;\n var commit = ref.commit;\n this.dispatch = function boundDispatch (type, payload) {\n return dispatch.call(store, type, payload)\n };\n this.commit = function boundCommit (type, payload, options) {\n return commit.call(store, type, payload, options)\n };\n\n // strict mode\n this.strict = strict;\n\n var state = this._modules.root.state;\n\n // init root module.\n // this also recursively registers all sub-modules\n // and collects all module getters inside this._wrappedGetters\n installModule(this, state, [], this._modules.root);\n\n // initialize the store state, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreState(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1$1); });\n};\n\nvar prototypeAccessors = { state: { configurable: true } };\n\nStore.prototype.install = function install (app, injectKey) {\n app.provide(injectKey || storeKey, this);\n app.config.globalProperties.$store = this;\n\n var useDevtools = this._devtools !== undefined\n ? this._devtools\n : true ;\n\n if (useDevtools) {\n addDevtools(app, this);\n }\n};\n\nprototypeAccessors.state.get = function () {\n return this._state.data\n};\n\nprototypeAccessors.state.set = function (v) {\n {\n assert(false, \"use store.replaceState() to explicit replace store state.\");\n }\n};\n\nStore.prototype.commit = function commit (_type, _payload, _options) {\n var this$1$1 = this;\n\n // check object-style commit\n var ref = unifyObjectStyle(_type, _payload, _options);\n var type = ref.type;\n var payload = ref.payload;\n var options = ref.options;\n\n var mutation = { type: type, payload: payload };\n var entry = this._mutations[type];\n if (!entry) {\n {\n console.error((\"[vuex] unknown mutation type: \" + type));\n }\n return\n }\n this._withCommit(function () {\n entry.forEach(function commitIterator (handler) {\n handler(payload);\n });\n });\n\n this._subscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .forEach(function (sub) { return sub(mutation, this$1$1.state); });\n\n if (\n options && options.silent\n ) {\n console.warn(\n \"[vuex] mutation type: \" + type + \". Silent option has been removed. \" +\n 'Use the filter functionality in the vue-devtools'\n );\n }\n};\n\nStore.prototype.dispatch = function dispatch (_type, _payload) {\n var this$1$1 = this;\n\n // check object-style dispatch\n var ref = unifyObjectStyle(_type, _payload);\n var type = ref.type;\n var payload = ref.payload;\n\n var action = { type: type, payload: payload };\n var entry = this._actions[type];\n if (!entry) {\n {\n console.error((\"[vuex] unknown action type: \" + type));\n }\n return\n }\n\n try {\n this._actionSubscribers\n .slice() // shallow copy to prevent iterator invalidation if subscriber synchronously calls unsubscribe\n .filter(function (sub) { return sub.before; })\n .forEach(function (sub) { return sub.before(action, this$1$1.state); });\n } catch (e) {\n {\n console.warn(\"[vuex] error in before action subscribers: \");\n console.error(e);\n }\n }\n\n var result = entry.length > 1\n ? Promise.all(entry.map(function (handler) { return handler(payload); }))\n : entry[0](payload);\n\n return new Promise(function (resolve, reject) {\n result.then(function (res) {\n try {\n this$1$1._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1$1.state); });\n } catch (e) {\n {\n console.warn(\"[vuex] error in after action subscribers: \");\n console.error(e);\n }\n }\n resolve(res);\n }, function (error) {\n try {\n this$1$1._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1$1.state, error); });\n } catch (e) {\n {\n console.warn(\"[vuex] error in error action subscribers: \");\n console.error(e);\n }\n }\n reject(error);\n });\n })\n};\n\nStore.prototype.subscribe = function subscribe (fn, options) {\n return genericSubscribe(fn, this._subscribers, options)\n};\n\nStore.prototype.subscribeAction = function subscribeAction (fn, options) {\n var subs = typeof fn === 'function' ? { before: fn } : fn;\n return genericSubscribe(subs, this._actionSubscribers, options)\n};\n\nStore.prototype.watch = function watch$1 (getter, cb, options) {\n var this$1$1 = this;\n\n {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return watch(function () { return getter(this$1$1.state, this$1$1.getters); }, cb, Object.assign({}, options))\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1$1 = this;\n\n this._withCommit(function () {\n this$1$1._state.data = state;\n });\n};\n\nStore.prototype.registerModule = function registerModule (path, rawModule, options) {\n if ( options === void 0 ) options = {};\n\n if (typeof path === 'string') { path = [path]; }\n\n {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n assert(path.length > 0, 'cannot register the root module by using registerModule.');\n }\n\n this._modules.register(path, rawModule);\n installModule(this, this.state, path, this._modules.get(path), options.preserveState);\n // reset store to update getters...\n resetStoreState(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n this._modules.unregister(path);\n this._withCommit(function () {\n var parentState = getNestedState(this$1$1.state, path.slice(0, -1));\n delete parentState[path[path.length - 1]];\n });\n resetStore(this);\n};\n\nStore.prototype.hasModule = function hasModule (path) {\n if (typeof path === 'string') { path = [path]; }\n\n {\n assert(Array.isArray(path), \"module path must be a string or an Array.\");\n }\n\n return this._modules.isRegistered(path)\n};\n\nStore.prototype.hotUpdate = function hotUpdate (newOptions) {\n this._modules.update(newOptions);\n resetStore(this, true);\n};\n\nStore.prototype._withCommit = function _withCommit (fn) {\n var committing = this._committing;\n this._committing = true;\n fn();\n this._committing = committing;\n};\n\nObject.defineProperties( Store.prototype, prototypeAccessors );\n\n/**\n * Reduce the code which written in Vue.js for getting the state.\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} states # Object's item can be a function which accept state and getters for param, you can do something for state and getters in it.\n * @param {Object}\n */\nvar mapState = normalizeNamespace(function (namespace, states) {\n var res = {};\n if (!isValidMap(states)) {\n console.error('[vuex] mapState: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(states).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedState () {\n var state = this.$store.state;\n var getters = this.$store.getters;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapState', namespace);\n if (!module) {\n return\n }\n state = module.context.state;\n getters = module.context.getters;\n }\n return typeof val === 'function'\n ? val.call(this, state, getters)\n : state[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for committing the mutation\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} mutations # Object's item can be a function which accept `commit` function as the first param, it can accept another params. You can commit mutation and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapMutations = normalizeNamespace(function (namespace, mutations) {\n var res = {};\n if (!isValidMap(mutations)) {\n console.error('[vuex] mapMutations: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(mutations).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedMutation () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // Get the commit method from store\n var commit = this.$store.commit;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapMutations', namespace);\n if (!module) {\n return\n }\n commit = module.context.commit;\n }\n return typeof val === 'function'\n ? val.apply(this, [commit].concat(args))\n : commit.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for getting the getters\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} getters\n * @return {Object}\n */\nvar mapGetters = normalizeNamespace(function (namespace, getters) {\n var res = {};\n if (!isValidMap(getters)) {\n console.error('[vuex] mapGetters: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(getters).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n // The namespace has been mutated by normalizeNamespace\n val = namespace + val;\n res[key] = function mappedGetter () {\n if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {\n return\n }\n if (!(val in this.$store.getters)) {\n console.error((\"[vuex] unknown getter: \" + val));\n return\n }\n return this.$store.getters[val]\n };\n // mark vuex getter for devtools\n res[key].vuex = true;\n });\n return res\n});\n\n/**\n * Reduce the code which written in Vue.js for dispatch the action\n * @param {String} [namespace] - Module's namespace\n * @param {Object|Array} actions # Object's item can be a function which accept `dispatch` function as the first param, it can accept anthor params. You can dispatch action and do any other things in this function. specially, You need to pass anthor params from the mapped function.\n * @return {Object}\n */\nvar mapActions = normalizeNamespace(function (namespace, actions) {\n var res = {};\n if (!isValidMap(actions)) {\n console.error('[vuex] mapActions: mapper parameter must be either an Array or an Object');\n }\n normalizeMap(actions).forEach(function (ref) {\n var key = ref.key;\n var val = ref.val;\n\n res[key] = function mappedAction () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n // get dispatch function from store\n var dispatch = this.$store.dispatch;\n if (namespace) {\n var module = getModuleByNamespace(this.$store, 'mapActions', namespace);\n if (!module) {\n return\n }\n dispatch = module.context.dispatch;\n }\n return typeof val === 'function'\n ? val.apply(this, [dispatch].concat(args))\n : dispatch.apply(this.$store, [val].concat(args))\n };\n });\n return res\n});\n\n/**\n * Rebinding namespace param for mapXXX function in special scoped, and return them by simple object\n * @param {String} namespace\n * @return {Object}\n */\nvar createNamespacedHelpers = function (namespace) { return ({\n mapState: mapState.bind(null, namespace),\n mapGetters: mapGetters.bind(null, namespace),\n mapMutations: mapMutations.bind(null, namespace),\n mapActions: mapActions.bind(null, namespace)\n}); };\n\n/**\n * Normalize the map\n * normalizeMap([1, 2, 3]) => [ { key: 1, val: 1 }, { key: 2, val: 2 }, { key: 3, val: 3 } ]\n * normalizeMap({a: 1, b: 2, c: 3}) => [ { key: 'a', val: 1 }, { key: 'b', val: 2 }, { key: 'c', val: 3 } ]\n * @param {Array|Object} map\n * @return {Object}\n */\nfunction normalizeMap (map) {\n if (!isValidMap(map)) {\n return []\n }\n return Array.isArray(map)\n ? map.map(function (key) { return ({ key: key, val: key }); })\n : Object.keys(map).map(function (key) { return ({ key: key, val: map[key] }); })\n}\n\n/**\n * Validate whether given map is valid or not\n * @param {*} map\n * @return {Boolean}\n */\nfunction isValidMap (map) {\n return Array.isArray(map) || isObject(map)\n}\n\n/**\n * Return a function expect two param contains namespace and map. it will normalize the namespace and then the param's function will handle the new namespace and the map.\n * @param {Function} fn\n * @return {Function}\n */\nfunction normalizeNamespace (fn) {\n return function (namespace, map) {\n if (typeof namespace !== 'string') {\n map = namespace;\n namespace = '';\n } else if (namespace.charAt(namespace.length - 1) !== '/') {\n namespace += '/';\n }\n return fn(namespace, map)\n }\n}\n\n/**\n * Search a special module from store by namespace. if module not exist, print error message.\n * @param {Object} store\n * @param {String} helper\n * @param {String} namespace\n * @return {Object}\n */\nfunction getModuleByNamespace (store, helper, namespace) {\n var module = store._modulesNamespaceMap[namespace];\n if (!module) {\n console.error((\"[vuex] module namespace not found in \" + helper + \"(): \" + namespace));\n }\n return module\n}\n\n// Credits: borrowed code from fcomb/redux-logger\n\nfunction createLogger (ref) {\n if ( ref === void 0 ) ref = {};\n var collapsed = ref.collapsed; if ( collapsed === void 0 ) collapsed = true;\n var filter = ref.filter; if ( filter === void 0 ) filter = function (mutation, stateBefore, stateAfter) { return true; };\n var transformer = ref.transformer; if ( transformer === void 0 ) transformer = function (state) { return state; };\n var mutationTransformer = ref.mutationTransformer; if ( mutationTransformer === void 0 ) mutationTransformer = function (mut) { return mut; };\n var actionFilter = ref.actionFilter; if ( actionFilter === void 0 ) actionFilter = function (action, state) { return true; };\n var actionTransformer = ref.actionTransformer; if ( actionTransformer === void 0 ) actionTransformer = function (act) { return act; };\n var logMutations = ref.logMutations; if ( logMutations === void 0 ) logMutations = true;\n var logActions = ref.logActions; if ( logActions === void 0 ) logActions = true;\n var logger = ref.logger; if ( logger === void 0 ) logger = console;\n\n return function (store) {\n var prevState = deepCopy(store.state);\n\n if (typeof logger === 'undefined') {\n return\n }\n\n if (logMutations) {\n store.subscribe(function (mutation, state) {\n var nextState = deepCopy(state);\n\n if (filter(mutation, prevState, nextState)) {\n var formattedTime = getFormattedTime();\n var formattedMutation = mutationTransformer(mutation);\n var message = \"mutation \" + (mutation.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c prev state', 'color: #9E9E9E; font-weight: bold', transformer(prevState));\n logger.log('%c mutation', 'color: #03A9F4; font-weight: bold', formattedMutation);\n logger.log('%c next state', 'color: #4CAF50; font-weight: bold', transformer(nextState));\n endMessage(logger);\n }\n\n prevState = nextState;\n });\n }\n\n if (logActions) {\n store.subscribeAction(function (action, state) {\n if (actionFilter(action, state)) {\n var formattedTime = getFormattedTime();\n var formattedAction = actionTransformer(action);\n var message = \"action \" + (action.type) + formattedTime;\n\n startMessage(logger, message, collapsed);\n logger.log('%c action', 'color: #03A9F4; font-weight: bold', formattedAction);\n endMessage(logger);\n }\n });\n }\n }\n}\n\nfunction startMessage (logger, message, collapsed) {\n var startMessage = collapsed\n ? logger.groupCollapsed\n : logger.group;\n\n // render\n try {\n startMessage.call(logger, message);\n } catch (e) {\n logger.log(message);\n }\n}\n\nfunction endMessage (logger) {\n try {\n logger.groupEnd();\n } catch (e) {\n logger.log('—— log end ——');\n }\n}\n\nfunction getFormattedTime () {\n var time = new Date();\n return (\" @ \" + (pad(time.getHours(), 2)) + \":\" + (pad(time.getMinutes(), 2)) + \":\" + (pad(time.getSeconds(), 2)) + \".\" + (pad(time.getMilliseconds(), 3)))\n}\n\nfunction repeat (str, times) {\n return (new Array(times + 1)).join(str)\n}\n\nfunction pad (num, maxLength) {\n return repeat('0', maxLength - num.toString().length) + num\n}\n\nvar index = {\n version: '4.1.0',\n Store: Store,\n storeKey: storeKey,\n createStore: createStore,\n useStore: useStore,\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nexport default index;\nexport { Store, createLogger, createNamespacedHelpers, createStore, mapActions, mapGetters, mapMutations, mapState, storeKey, useStore };\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.27.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.27.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","module.exports = {\n \"version\": \"0.22.0\"\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { extend, bindModuleMethods, classesToSelector, createElementIfNotDefined } from '../../utils/utils';\nvar Pagination = {\n update: function update() {\n // Render || Update Pagination bullets/items\n var swiper = this;\n var rtl = swiper.rtl;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el; // Current/Total\n\n var current;\n var total = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.loop) {\n current = Math.ceil((swiper.activeIndex - swiper.loopedSlides) / swiper.params.slidesPerGroup);\n\n if (current > slidesLength - 1 - swiper.loopedSlides * 2) {\n current -= slidesLength - swiper.loopedSlides * 2;\n }\n\n if (current > total - 1) current -= total;\n if (current < 0 && swiper.params.paginationType !== 'bullets') current = total + current;\n } else if (typeof swiper.snapIndex !== 'undefined') {\n current = swiper.snapIndex;\n } else {\n current = swiper.activeIndex || 0;\n } // Types\n\n\n if (params.type === 'bullets' && swiper.pagination.bullets && swiper.pagination.bullets.length > 0) {\n var bullets = swiper.pagination.bullets;\n var firstIndex;\n var lastIndex;\n var midIndex;\n\n if (params.dynamicBullets) {\n swiper.pagination.bulletSize = bullets.eq(0)[swiper.isHorizontal() ? 'outerWidth' : 'outerHeight'](true);\n $el.css(swiper.isHorizontal() ? 'width' : 'height', swiper.pagination.bulletSize * (params.dynamicMainBullets + 4) + \"px\");\n\n if (params.dynamicMainBullets > 1 && swiper.previousIndex !== undefined) {\n swiper.pagination.dynamicBulletIndex += current - swiper.previousIndex;\n\n if (swiper.pagination.dynamicBulletIndex > params.dynamicMainBullets - 1) {\n swiper.pagination.dynamicBulletIndex = params.dynamicMainBullets - 1;\n } else if (swiper.pagination.dynamicBulletIndex < 0) {\n swiper.pagination.dynamicBulletIndex = 0;\n }\n }\n\n firstIndex = current - swiper.pagination.dynamicBulletIndex;\n lastIndex = firstIndex + (Math.min(bullets.length, params.dynamicMainBullets) - 1);\n midIndex = (lastIndex + firstIndex) / 2;\n }\n\n bullets.removeClass(params.bulletActiveClass + \" \" + params.bulletActiveClass + \"-next \" + params.bulletActiveClass + \"-next-next \" + params.bulletActiveClass + \"-prev \" + params.bulletActiveClass + \"-prev-prev \" + params.bulletActiveClass + \"-main\");\n\n if ($el.length > 1) {\n bullets.each(function (bullet) {\n var $bullet = $(bullet);\n var bulletIndex = $bullet.index();\n\n if (bulletIndex === current) {\n $bullet.addClass(params.bulletActiveClass);\n }\n\n if (params.dynamicBullets) {\n if (bulletIndex >= firstIndex && bulletIndex <= lastIndex) {\n $bullet.addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (bulletIndex === firstIndex) {\n $bullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n }\n\n if (bulletIndex === lastIndex) {\n $bullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n });\n } else {\n var $bullet = bullets.eq(current);\n var bulletIndex = $bullet.index();\n $bullet.addClass(params.bulletActiveClass);\n\n if (params.dynamicBullets) {\n var $firstDisplayedBullet = bullets.eq(firstIndex);\n var $lastDisplayedBullet = bullets.eq(lastIndex);\n\n for (var i = firstIndex; i <= lastIndex; i += 1) {\n bullets.eq(i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n if (swiper.params.loop) {\n if (bulletIndex >= bullets.length - params.dynamicMainBullets) {\n for (var _i = params.dynamicMainBullets; _i >= 0; _i -= 1) {\n bullets.eq(bullets.length - _i).addClass(params.bulletActiveClass + \"-main\");\n }\n\n bullets.eq(bullets.length - params.dynamicMainBullets - 1).addClass(params.bulletActiveClass + \"-prev\");\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n } else {\n $firstDisplayedBullet.prev().addClass(params.bulletActiveClass + \"-prev\").prev().addClass(params.bulletActiveClass + \"-prev-prev\");\n $lastDisplayedBullet.next().addClass(params.bulletActiveClass + \"-next\").next().addClass(params.bulletActiveClass + \"-next-next\");\n }\n }\n }\n\n if (params.dynamicBullets) {\n var dynamicBulletsLength = Math.min(bullets.length, params.dynamicMainBullets + 4);\n var bulletsOffset = (swiper.pagination.bulletSize * dynamicBulletsLength - swiper.pagination.bulletSize) / 2 - midIndex * swiper.pagination.bulletSize;\n var offsetProp = rtl ? 'right' : 'left';\n bullets.css(swiper.isHorizontal() ? offsetProp : 'top', bulletsOffset + \"px\");\n }\n }\n\n if (params.type === 'fraction') {\n $el.find(classesToSelector(params.currentClass)).text(params.formatFractionCurrent(current + 1));\n $el.find(classesToSelector(params.totalClass)).text(params.formatFractionTotal(total));\n }\n\n if (params.type === 'progressbar') {\n var progressbarDirection;\n\n if (params.progressbarOpposite) {\n progressbarDirection = swiper.isHorizontal() ? 'vertical' : 'horizontal';\n } else {\n progressbarDirection = swiper.isHorizontal() ? 'horizontal' : 'vertical';\n }\n\n var scale = (current + 1) / total;\n var scaleX = 1;\n var scaleY = 1;\n\n if (progressbarDirection === 'horizontal') {\n scaleX = scale;\n } else {\n scaleY = scale;\n }\n\n $el.find(classesToSelector(params.progressbarFillClass)).transform(\"translate3d(0,0,0) scaleX(\" + scaleX + \") scaleY(\" + scaleY + \")\").transition(swiper.params.speed);\n }\n\n if (params.type === 'custom' && params.renderCustom) {\n $el.html(params.renderCustom(swiper, current + 1, total));\n swiper.emit('paginationRender', $el[0]);\n } else {\n swiper.emit('paginationUpdate', $el[0]);\n }\n\n if (swiper.params.watchOverflow && swiper.enabled) {\n $el[swiper.isLocked ? 'addClass' : 'removeClass'](params.lockClass);\n }\n },\n render: function render() {\n // Render Container\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var slidesLength = swiper.virtual && swiper.params.virtual.enabled ? swiper.virtual.slides.length : swiper.slides.length;\n var $el = swiper.pagination.$el;\n var paginationHTML = '';\n\n if (params.type === 'bullets') {\n var numberOfBullets = swiper.params.loop ? Math.ceil((slidesLength - swiper.loopedSlides * 2) / swiper.params.slidesPerGroup) : swiper.snapGrid.length;\n\n if (swiper.params.freeMode && !swiper.params.loop && numberOfBullets > slidesLength) {\n numberOfBullets = slidesLength;\n }\n\n for (var i = 0; i < numberOfBullets; i += 1) {\n if (params.renderBullet) {\n paginationHTML += params.renderBullet.call(swiper, i, params.bulletClass);\n } else {\n paginationHTML += \"<\" + params.bulletElement + \" class=\\\"\" + params.bulletClass + \"\\\">\";\n }\n }\n\n $el.html(paginationHTML);\n swiper.pagination.bullets = $el.find(classesToSelector(params.bulletClass));\n }\n\n if (params.type === 'fraction') {\n if (params.renderFraction) {\n paginationHTML = params.renderFraction.call(swiper, params.currentClass, params.totalClass);\n } else {\n paginationHTML = \"\" + ' / ' + (\"\");\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type === 'progressbar') {\n if (params.renderProgressbar) {\n paginationHTML = params.renderProgressbar.call(swiper, params.progressbarFillClass);\n } else {\n paginationHTML = \"\";\n }\n\n $el.html(paginationHTML);\n }\n\n if (params.type !== 'custom') {\n swiper.emit('paginationRender', swiper.pagination.$el[0]);\n }\n },\n init: function init() {\n var swiper = this;\n swiper.params.pagination = createElementIfNotDefined(swiper.$el, swiper.params.pagination, swiper.params.createElements, {\n el: 'swiper-pagination'\n });\n var params = swiper.params.pagination;\n if (!params.el) return;\n var $el = $(params.el);\n if ($el.length === 0) return;\n\n if (swiper.params.uniqueNavElements && typeof params.el === 'string' && $el.length > 1) {\n $el = swiper.$el.find(params.el);\n }\n\n if (params.type === 'bullets' && params.clickable) {\n $el.addClass(params.clickableClass);\n }\n\n $el.addClass(params.modifierClass + params.type);\n\n if (params.type === 'bullets' && params.dynamicBullets) {\n $el.addClass(\"\" + params.modifierClass + params.type + \"-dynamic\");\n swiper.pagination.dynamicBulletIndex = 0;\n\n if (params.dynamicMainBullets < 1) {\n params.dynamicMainBullets = 1;\n }\n }\n\n if (params.type === 'progressbar' && params.progressbarOpposite) {\n $el.addClass(params.progressbarOppositeClass);\n }\n\n if (params.clickable) {\n $el.on('click', classesToSelector(params.bulletClass), function onClick(e) {\n e.preventDefault();\n var index = $(this).index() * swiper.params.slidesPerGroup;\n if (swiper.params.loop) index += swiper.loopedSlides;\n swiper.slideTo(index);\n });\n }\n\n extend(swiper.pagination, {\n $el: $el,\n el: $el[0]\n });\n\n if (!swiper.enabled) {\n $el.addClass(params.lockClass);\n }\n },\n destroy: function destroy() {\n var swiper = this;\n var params = swiper.params.pagination;\n if (!params.el || !swiper.pagination.el || !swiper.pagination.$el || swiper.pagination.$el.length === 0) return;\n var $el = swiper.pagination.$el;\n $el.removeClass(params.hiddenClass);\n $el.removeClass(params.modifierClass + params.type);\n if (swiper.pagination.bullets) swiper.pagination.bullets.removeClass(params.bulletActiveClass);\n\n if (params.clickable) {\n $el.off('click', classesToSelector(params.bulletClass));\n }\n }\n};\nexport default {\n name: 'pagination',\n params: {\n pagination: {\n el: null,\n bulletElement: 'span',\n clickable: false,\n hideOnClick: false,\n renderBullet: null,\n renderProgressbar: null,\n renderFraction: null,\n renderCustom: null,\n progressbarOpposite: false,\n type: 'bullets',\n // 'bullets' or 'progressbar' or 'fraction' or 'custom'\n dynamicBullets: false,\n dynamicMainBullets: 1,\n formatFractionCurrent: function formatFractionCurrent(number) {\n return number;\n },\n formatFractionTotal: function formatFractionTotal(number) {\n return number;\n },\n bulletClass: 'swiper-pagination-bullet',\n bulletActiveClass: 'swiper-pagination-bullet-active',\n modifierClass: 'swiper-pagination-',\n // NEW\n currentClass: 'swiper-pagination-current',\n totalClass: 'swiper-pagination-total',\n hiddenClass: 'swiper-pagination-hidden',\n progressbarFillClass: 'swiper-pagination-progressbar-fill',\n progressbarOppositeClass: 'swiper-pagination-progressbar-opposite',\n clickableClass: 'swiper-pagination-clickable',\n // NEW\n lockClass: 'swiper-pagination-lock'\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n pagination: _extends({\n dynamicBulletIndex: 0\n }, Pagination)\n });\n },\n on: {\n init: function init(swiper) {\n swiper.pagination.init();\n swiper.pagination.render();\n swiper.pagination.update();\n },\n activeIndexChange: function activeIndexChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.update();\n } else if (typeof swiper.snapIndex === 'undefined') {\n swiper.pagination.update();\n }\n },\n snapIndexChange: function snapIndexChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.update();\n }\n },\n slidesLengthChange: function slidesLengthChange(swiper) {\n if (swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n snapGridLengthChange: function snapGridLengthChange(swiper) {\n if (!swiper.params.loop) {\n swiper.pagination.render();\n swiper.pagination.update();\n }\n },\n destroy: function destroy(swiper) {\n swiper.pagination.destroy();\n },\n 'enable disable': function enableDisable(swiper) {\n var $el = swiper.pagination.$el;\n\n if ($el) {\n $el[swiper.enabled ? 'removeClass' : 'addClass'](swiper.params.pagination.lockClass);\n }\n },\n click: function click(swiper, e) {\n var targetEl = e.target;\n\n if (swiper.params.pagination.el && swiper.params.pagination.hideOnClick && swiper.pagination.$el.length > 0 && !$(targetEl).hasClass(swiper.params.pagination.bulletClass)) {\n if (swiper.navigation && (swiper.navigation.nextEl && targetEl === swiper.navigation.nextEl || swiper.navigation.prevEl && targetEl === swiper.navigation.prevEl)) return;\n var isHidden = swiper.pagination.$el.hasClass(swiper.params.pagination.hiddenClass);\n\n if (isHidden === true) {\n swiper.emit('paginationShow');\n } else {\n swiper.emit('paginationHide');\n }\n\n swiper.pagination.$el.toggleClass(swiper.params.pagination.hiddenClass);\n }\n }\n }\n};","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return (typeof payload === 'object') && (payload.isAxiosError === true);\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","/*!\n * vue-router v4.1.6\n * (c) 2022 Eduardo San Martin Morote\n * @license MIT\n */\nimport { getCurrentInstance, inject, onUnmounted, onDeactivated, onActivated, computed, unref, watchEffect, defineComponent, reactive, h, provide, ref, watch, shallowRef, nextTick } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\nconst isBrowser = typeof window !== 'undefined';\n\nfunction isESModule(obj) {\r\n return obj.__esModule || obj[Symbol.toStringTag] === 'Module';\r\n}\r\nconst assign = Object.assign;\r\nfunction applyToParams(fn, params) {\r\n const newParams = {};\r\n for (const key in params) {\r\n const value = params[key];\r\n newParams[key] = isArray(value)\r\n ? value.map(fn)\r\n : fn(value);\r\n }\r\n return newParams;\r\n}\r\nconst noop = () => { };\r\n/**\r\n * Typesafe alternative to Array.isArray\r\n * https://github.com/microsoft/TypeScript/pull/48228\r\n */\r\nconst isArray = Array.isArray;\n\nfunction warn(msg) {\r\n // avoid using ...args as it breaks in older Edge builds\r\n const args = Array.from(arguments).slice(1);\r\n console.warn.apply(console, ['[Vue Router warn]: ' + msg].concat(args));\r\n}\n\nconst TRAILING_SLASH_RE = /\\/$/;\r\nconst removeTrailingSlash = (path) => path.replace(TRAILING_SLASH_RE, '');\r\n/**\r\n * Transforms a URI into a normalized history location\r\n *\r\n * @param parseQuery\r\n * @param location - URI to normalize\r\n * @param currentLocation - current absolute location. Allows resolving relative\r\n * paths. Must start with `/`. Defaults to `/`\r\n * @returns a normalized history location\r\n */\r\nfunction parseURL(parseQuery, location, currentLocation = '/') {\r\n let path, query = {}, searchString = '', hash = '';\r\n // Could use URL and URLSearchParams but IE 11 doesn't support it\r\n // TODO: move to new URL()\r\n const hashPos = location.indexOf('#');\r\n let searchPos = location.indexOf('?');\r\n // the hash appears before the search, so it's not part of the search string\r\n if (hashPos < searchPos && hashPos >= 0) {\r\n searchPos = -1;\r\n }\r\n if (searchPos > -1) {\r\n path = location.slice(0, searchPos);\r\n searchString = location.slice(searchPos + 1, hashPos > -1 ? hashPos : location.length);\r\n query = parseQuery(searchString);\r\n }\r\n if (hashPos > -1) {\r\n path = path || location.slice(0, hashPos);\r\n // keep the # character\r\n hash = location.slice(hashPos, location.length);\r\n }\r\n // no search and no query\r\n path = resolveRelativePath(path != null ? path : location, currentLocation);\r\n // empty path means a relative query or hash `?foo=f`, `#thing`\r\n return {\r\n fullPath: path + (searchString && '?') + searchString + hash,\r\n path,\r\n query,\r\n hash,\r\n };\r\n}\r\n/**\r\n * Stringifies a URL object\r\n *\r\n * @param stringifyQuery\r\n * @param location\r\n */\r\nfunction stringifyURL(stringifyQuery, location) {\r\n const query = location.query ? stringifyQuery(location.query) : '';\r\n return location.path + (query && '?') + query + (location.hash || '');\r\n}\r\n/**\r\n * Strips off the base from the beginning of a location.pathname in a non-case-sensitive way.\r\n *\r\n * @param pathname - location.pathname\r\n * @param base - base to strip off\r\n */\r\nfunction stripBase(pathname, base) {\r\n // no base or base is not found at the beginning\r\n if (!base || !pathname.toLowerCase().startsWith(base.toLowerCase()))\r\n return pathname;\r\n return pathname.slice(base.length) || '/';\r\n}\r\n/**\r\n * Checks if two RouteLocation are equal. This means that both locations are\r\n * pointing towards the same {@link RouteRecord} and that all `params`, `query`\r\n * parameters and `hash` are the same\r\n *\r\n * @param a - first {@link RouteLocation}\r\n * @param b - second {@link RouteLocation}\r\n */\r\nfunction isSameRouteLocation(stringifyQuery, a, b) {\r\n const aLastIndex = a.matched.length - 1;\r\n const bLastIndex = b.matched.length - 1;\r\n return (aLastIndex > -1 &&\r\n aLastIndex === bLastIndex &&\r\n isSameRouteRecord(a.matched[aLastIndex], b.matched[bLastIndex]) &&\r\n isSameRouteLocationParams(a.params, b.params) &&\r\n stringifyQuery(a.query) === stringifyQuery(b.query) &&\r\n a.hash === b.hash);\r\n}\r\n/**\r\n * Check if two `RouteRecords` are equal. Takes into account aliases: they are\r\n * considered equal to the `RouteRecord` they are aliasing.\r\n *\r\n * @param a - first {@link RouteRecord}\r\n * @param b - second {@link RouteRecord}\r\n */\r\nfunction isSameRouteRecord(a, b) {\r\n // since the original record has an undefined value for aliasOf\r\n // but all aliases point to the original record, this will always compare\r\n // the original record\r\n return (a.aliasOf || a) === (b.aliasOf || b);\r\n}\r\nfunction isSameRouteLocationParams(a, b) {\r\n if (Object.keys(a).length !== Object.keys(b).length)\r\n return false;\r\n for (const key in a) {\r\n if (!isSameRouteLocationParamsValue(a[key], b[key]))\r\n return false;\r\n }\r\n return true;\r\n}\r\nfunction isSameRouteLocationParamsValue(a, b) {\r\n return isArray(a)\r\n ? isEquivalentArray(a, b)\r\n : isArray(b)\r\n ? isEquivalentArray(b, a)\r\n : a === b;\r\n}\r\n/**\r\n * Check if two arrays are the same or if an array with one single entry is the\r\n * same as another primitive value. Used to check query and parameters\r\n *\r\n * @param a - array of values\r\n * @param b - array of values or a single value\r\n */\r\nfunction isEquivalentArray(a, b) {\r\n return isArray(b)\r\n ? a.length === b.length && a.every((value, i) => value === b[i])\r\n : a.length === 1 && a[0] === b;\r\n}\r\n/**\r\n * Resolves a relative path that starts with `.`.\r\n *\r\n * @param to - path location we are resolving\r\n * @param from - currentLocation.path, should start with `/`\r\n */\r\nfunction resolveRelativePath(to, from) {\r\n if (to.startsWith('/'))\r\n return to;\r\n if ((process.env.NODE_ENV !== 'production') && !from.startsWith('/')) {\r\n warn(`Cannot resolve a relative location without an absolute path. Trying to resolve \"${to}\" from \"${from}\". It should look like \"/${from}\".`);\r\n return to;\r\n }\r\n if (!to)\r\n return from;\r\n const fromSegments = from.split('/');\r\n const toSegments = to.split('/');\r\n let position = fromSegments.length - 1;\r\n let toPosition;\r\n let segment;\r\n for (toPosition = 0; toPosition < toSegments.length; toPosition++) {\r\n segment = toSegments[toPosition];\r\n // we stay on the same position\r\n if (segment === '.')\r\n continue;\r\n // go up in the from array\r\n if (segment === '..') {\r\n // we can't go below zero, but we still need to increment toPosition\r\n if (position > 1)\r\n position--;\r\n // continue\r\n }\r\n // we reached a non-relative path, we stop here\r\n else\r\n break;\r\n }\r\n return (fromSegments.slice(0, position).join('/') +\r\n '/' +\r\n toSegments\r\n // ensure we use at least the last element in the toSegments\r\n .slice(toPosition - (toPosition === toSegments.length ? 1 : 0))\r\n .join('/'));\r\n}\n\nvar NavigationType;\r\n(function (NavigationType) {\r\n NavigationType[\"pop\"] = \"pop\";\r\n NavigationType[\"push\"] = \"push\";\r\n})(NavigationType || (NavigationType = {}));\r\nvar NavigationDirection;\r\n(function (NavigationDirection) {\r\n NavigationDirection[\"back\"] = \"back\";\r\n NavigationDirection[\"forward\"] = \"forward\";\r\n NavigationDirection[\"unknown\"] = \"\";\r\n})(NavigationDirection || (NavigationDirection = {}));\r\n/**\r\n * Starting location for Histories\r\n */\r\nconst START = '';\r\n// Generic utils\r\n/**\r\n * Normalizes a base by removing any trailing slash and reading the base tag if\r\n * present.\r\n *\r\n * @param base - base to normalize\r\n */\r\nfunction normalizeBase(base) {\r\n if (!base) {\r\n if (isBrowser) {\r\n // respect tag\r\n const baseEl = document.querySelector('base');\r\n base = (baseEl && baseEl.getAttribute('href')) || '/';\r\n // strip full URL origin\r\n base = base.replace(/^\\w+:\\/\\/[^\\/]+/, '');\r\n }\r\n else {\r\n base = '/';\r\n }\r\n }\r\n // ensure leading slash when it was removed by the regex above avoid leading\r\n // slash with hash because the file could be read from the disk like file://\r\n // and the leading slash would cause problems\r\n if (base[0] !== '/' && base[0] !== '#')\r\n base = '/' + base;\r\n // remove the trailing slash so all other method can just do `base + fullPath`\r\n // to build an href\r\n return removeTrailingSlash(base);\r\n}\r\n// remove any character before the hash\r\nconst BEFORE_HASH_RE = /^[^#]+#/;\r\nfunction createHref(base, location) {\r\n return base.replace(BEFORE_HASH_RE, '#') + location;\r\n}\n\nfunction getElementPosition(el, offset) {\r\n const docRect = document.documentElement.getBoundingClientRect();\r\n const elRect = el.getBoundingClientRect();\r\n return {\r\n behavior: offset.behavior,\r\n left: elRect.left - docRect.left - (offset.left || 0),\r\n top: elRect.top - docRect.top - (offset.top || 0),\r\n };\r\n}\r\nconst computeScrollPosition = () => ({\r\n left: window.pageXOffset,\r\n top: window.pageYOffset,\r\n});\r\nfunction scrollToPosition(position) {\r\n let scrollToOptions;\r\n if ('el' in position) {\r\n const positionEl = position.el;\r\n const isIdSelector = typeof positionEl === 'string' && positionEl.startsWith('#');\r\n /**\r\n * `id`s can accept pretty much any characters, including CSS combinators\r\n * like `>` or `~`. It's still possible to retrieve elements using\r\n * `document.getElementById('~')` but it needs to be escaped when using\r\n * `document.querySelector('#\\\\~')` for it to be valid. The only\r\n * requirements for `id`s are them to be unique on the page and to not be\r\n * empty (`id=\"\"`). Because of that, when passing an id selector, it should\r\n * be properly escaped for it to work with `querySelector`. We could check\r\n * for the id selector to be simple (no CSS combinators `+ >~`) but that\r\n * would make things inconsistent since they are valid characters for an\r\n * `id` but would need to be escaped when using `querySelector`, breaking\r\n * their usage and ending up in no selector returned. Selectors need to be\r\n * escaped:\r\n *\r\n * - `#1-thing` becomes `#\\31 -thing`\r\n * - `#with~symbols` becomes `#with\\\\~symbols`\r\n *\r\n * - More information about the topic can be found at\r\n * https://mathiasbynens.be/notes/html5-id-class.\r\n * - Practical example: https://mathiasbynens.be/demo/html5-id\r\n */\r\n if ((process.env.NODE_ENV !== 'production') && typeof position.el === 'string') {\r\n if (!isIdSelector || !document.getElementById(position.el.slice(1))) {\r\n try {\r\n const foundEl = document.querySelector(position.el);\r\n if (isIdSelector && foundEl) {\r\n warn(`The selector \"${position.el}\" should be passed as \"el: document.querySelector('${position.el}')\" because it starts with \"#\".`);\r\n // return to avoid other warnings\r\n return;\r\n }\r\n }\r\n catch (err) {\r\n warn(`The selector \"${position.el}\" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`);\r\n // return to avoid other warnings\r\n return;\r\n }\r\n }\r\n }\r\n const el = typeof positionEl === 'string'\r\n ? isIdSelector\r\n ? document.getElementById(positionEl.slice(1))\r\n : document.querySelector(positionEl)\r\n : positionEl;\r\n if (!el) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn(`Couldn't find element using selector \"${position.el}\" returned by scrollBehavior.`);\r\n return;\r\n }\r\n scrollToOptions = getElementPosition(el, position);\r\n }\r\n else {\r\n scrollToOptions = position;\r\n }\r\n if ('scrollBehavior' in document.documentElement.style)\r\n window.scrollTo(scrollToOptions);\r\n else {\r\n window.scrollTo(scrollToOptions.left != null ? scrollToOptions.left : window.pageXOffset, scrollToOptions.top != null ? scrollToOptions.top : window.pageYOffset);\r\n }\r\n}\r\nfunction getScrollKey(path, delta) {\r\n const position = history.state ? history.state.position - delta : -1;\r\n return position + path;\r\n}\r\nconst scrollPositions = new Map();\r\nfunction saveScrollPosition(key, scrollPosition) {\r\n scrollPositions.set(key, scrollPosition);\r\n}\r\nfunction getSavedScrollPosition(key) {\r\n const scroll = scrollPositions.get(key);\r\n // consume it so it's not used again\r\n scrollPositions.delete(key);\r\n return scroll;\r\n}\r\n// TODO: RFC about how to save scroll position\r\n/**\r\n * ScrollBehavior instance used by the router to compute and restore the scroll\r\n * position when navigating.\r\n */\r\n// export interface ScrollHandler {\r\n// // returns a scroll position that can be saved in history\r\n// compute(): ScrollPositionEntry\r\n// // can take an extended ScrollPositionEntry\r\n// scroll(position: ScrollPosition): void\r\n// }\r\n// export const scrollHandler: ScrollHandler = {\r\n// compute: computeScroll,\r\n// scroll: scrollToPosition,\r\n// }\n\nlet createBaseLocation = () => location.protocol + '//' + location.host;\r\n/**\r\n * Creates a normalized history location from a window.location object\r\n * @param location -\r\n */\r\nfunction createCurrentLocation(base, location) {\r\n const { pathname, search, hash } = location;\r\n // allows hash bases like #, /#, #/, #!, #!/, /#!/, or even /folder#end\r\n const hashPos = base.indexOf('#');\r\n if (hashPos > -1) {\r\n let slicePos = hash.includes(base.slice(hashPos))\r\n ? base.slice(hashPos).length\r\n : 1;\r\n let pathFromHash = hash.slice(slicePos);\r\n // prepend the starting slash to hash so the url starts with /#\r\n if (pathFromHash[0] !== '/')\r\n pathFromHash = '/' + pathFromHash;\r\n return stripBase(pathFromHash, '');\r\n }\r\n const path = stripBase(pathname, base);\r\n return path + search + hash;\r\n}\r\nfunction useHistoryListeners(base, historyState, currentLocation, replace) {\r\n let listeners = [];\r\n let teardowns = [];\r\n // TODO: should it be a stack? a Dict. Check if the popstate listener\r\n // can trigger twice\r\n let pauseState = null;\r\n const popStateHandler = ({ state, }) => {\r\n const to = createCurrentLocation(base, location);\r\n const from = currentLocation.value;\r\n const fromState = historyState.value;\r\n let delta = 0;\r\n if (state) {\r\n currentLocation.value = to;\r\n historyState.value = state;\r\n // ignore the popstate and reset the pauseState\r\n if (pauseState && pauseState === from) {\r\n pauseState = null;\r\n return;\r\n }\r\n delta = fromState ? state.position - fromState.position : 0;\r\n }\r\n else {\r\n replace(to);\r\n }\r\n // console.log({ deltaFromCurrent })\r\n // Here we could also revert the navigation by calling history.go(-delta)\r\n // this listener will have to be adapted to not trigger again and to wait for the url\r\n // to be updated before triggering the listeners. Some kind of validation function would also\r\n // need to be passed to the listeners so the navigation can be accepted\r\n // call all listeners\r\n listeners.forEach(listener => {\r\n listener(currentLocation.value, from, {\r\n delta,\r\n type: NavigationType.pop,\r\n direction: delta\r\n ? delta > 0\r\n ? NavigationDirection.forward\r\n : NavigationDirection.back\r\n : NavigationDirection.unknown,\r\n });\r\n });\r\n };\r\n function pauseListeners() {\r\n pauseState = currentLocation.value;\r\n }\r\n function listen(callback) {\r\n // set up the listener and prepare teardown callbacks\r\n listeners.push(callback);\r\n const teardown = () => {\r\n const index = listeners.indexOf(callback);\r\n if (index > -1)\r\n listeners.splice(index, 1);\r\n };\r\n teardowns.push(teardown);\r\n return teardown;\r\n }\r\n function beforeUnloadListener() {\r\n const { history } = window;\r\n if (!history.state)\r\n return;\r\n history.replaceState(assign({}, history.state, { scroll: computeScrollPosition() }), '');\r\n }\r\n function destroy() {\r\n for (const teardown of teardowns)\r\n teardown();\r\n teardowns = [];\r\n window.removeEventListener('popstate', popStateHandler);\r\n window.removeEventListener('beforeunload', beforeUnloadListener);\r\n }\r\n // set up the listeners and prepare teardown callbacks\r\n window.addEventListener('popstate', popStateHandler);\r\n window.addEventListener('beforeunload', beforeUnloadListener);\r\n return {\r\n pauseListeners,\r\n listen,\r\n destroy,\r\n };\r\n}\r\n/**\r\n * Creates a state object\r\n */\r\nfunction buildState(back, current, forward, replaced = false, computeScroll = false) {\r\n return {\r\n back,\r\n current,\r\n forward,\r\n replaced,\r\n position: window.history.length,\r\n scroll: computeScroll ? computeScrollPosition() : null,\r\n };\r\n}\r\nfunction useHistoryStateNavigation(base) {\r\n const { history, location } = window;\r\n // private variables\r\n const currentLocation = {\r\n value: createCurrentLocation(base, location),\r\n };\r\n const historyState = { value: history.state };\r\n // build current history entry as this is a fresh navigation\r\n if (!historyState.value) {\r\n changeLocation(currentLocation.value, {\r\n back: null,\r\n current: currentLocation.value,\r\n forward: null,\r\n // the length is off by one, we need to decrease it\r\n position: history.length - 1,\r\n replaced: true,\r\n // don't add a scroll as the user may have an anchor, and we want\r\n // scrollBehavior to be triggered without a saved position\r\n scroll: null,\r\n }, true);\r\n }\r\n function changeLocation(to, state, replace) {\r\n /**\r\n * if a base tag is provided, and we are on a normal domain, we have to\r\n * respect the provided `base` attribute because pushState() will use it and\r\n * potentially erase anything before the `#` like at\r\n * https://github.com/vuejs/router/issues/685 where a base of\r\n * `/folder/#` but a base of `/` would erase the `/folder/` section. If\r\n * there is no host, the `` tag makes no sense and if there isn't a\r\n * base tag we can just use everything after the `#`.\r\n */\r\n const hashIndex = base.indexOf('#');\r\n const url = hashIndex > -1\r\n ? (location.host && document.querySelector('base')\r\n ? base\r\n : base.slice(hashIndex)) + to\r\n : createBaseLocation() + base + to;\r\n try {\r\n // BROWSER QUIRK\r\n // NOTE: Safari throws a SecurityError when calling this function 100 times in 30 seconds\r\n history[replace ? 'replaceState' : 'pushState'](state, '', url);\r\n historyState.value = state;\r\n }\r\n catch (err) {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn('Error with push/replace State', err);\r\n }\r\n else {\r\n console.error(err);\r\n }\r\n // Force the navigation, this also resets the call count\r\n location[replace ? 'replace' : 'assign'](url);\r\n }\r\n }\r\n function replace(to, data) {\r\n const state = assign({}, history.state, buildState(historyState.value.back, \r\n // keep back and forward entries but override current position\r\n to, historyState.value.forward, true), data, { position: historyState.value.position });\r\n changeLocation(to, state, true);\r\n currentLocation.value = to;\r\n }\r\n function push(to, data) {\r\n // Add to current entry the information of where we are going\r\n // as well as saving the current position\r\n const currentState = assign({}, \r\n // use current history state to gracefully handle a wrong call to\r\n // history.replaceState\r\n // https://github.com/vuejs/router/issues/366\r\n historyState.value, history.state, {\r\n forward: to,\r\n scroll: computeScrollPosition(),\r\n });\r\n if ((process.env.NODE_ENV !== 'production') && !history.state) {\r\n warn(`history.state seems to have been manually replaced without preserving the necessary values. Make sure to preserve existing history state if you are manually calling history.replaceState:\\n\\n` +\r\n `history.replaceState(history.state, '', url)\\n\\n` +\r\n `You can find more information at https://next.router.vuejs.org/guide/migration/#usage-of-history-state.`);\r\n }\r\n changeLocation(currentState.current, currentState, true);\r\n const state = assign({}, buildState(currentLocation.value, to, null), { position: currentState.position + 1 }, data);\r\n changeLocation(to, state, false);\r\n currentLocation.value = to;\r\n }\r\n return {\r\n location: currentLocation,\r\n state: historyState,\r\n push,\r\n replace,\r\n };\r\n}\r\n/**\r\n * Creates an HTML5 history. Most common history for single page applications.\r\n *\r\n * @param base -\r\n */\r\nfunction createWebHistory(base) {\r\n base = normalizeBase(base);\r\n const historyNavigation = useHistoryStateNavigation(base);\r\n const historyListeners = useHistoryListeners(base, historyNavigation.state, historyNavigation.location, historyNavigation.replace);\r\n function go(delta, triggerListeners = true) {\r\n if (!triggerListeners)\r\n historyListeners.pauseListeners();\r\n history.go(delta);\r\n }\r\n const routerHistory = assign({\r\n // it's overridden right after\r\n location: '',\r\n base,\r\n go,\r\n createHref: createHref.bind(null, base),\r\n }, historyNavigation, historyListeners);\r\n Object.defineProperty(routerHistory, 'location', {\r\n enumerable: true,\r\n get: () => historyNavigation.location.value,\r\n });\r\n Object.defineProperty(routerHistory, 'state', {\r\n enumerable: true,\r\n get: () => historyNavigation.state.value,\r\n });\r\n return routerHistory;\r\n}\n\n/**\r\n * Creates an in-memory based history. The main purpose of this history is to handle SSR. It starts in a special location that is nowhere.\r\n * It's up to the user to replace that location with the starter location by either calling `router.push` or `router.replace`.\r\n *\r\n * @param base - Base applied to all urls, defaults to '/'\r\n * @returns a history object that can be passed to the router constructor\r\n */\r\nfunction createMemoryHistory(base = '') {\r\n let listeners = [];\r\n let queue = [START];\r\n let position = 0;\r\n base = normalizeBase(base);\r\n function setLocation(location) {\r\n position++;\r\n if (position === queue.length) {\r\n // we are at the end, we can simply append a new entry\r\n queue.push(location);\r\n }\r\n else {\r\n // we are in the middle, we remove everything from here in the queue\r\n queue.splice(position);\r\n queue.push(location);\r\n }\r\n }\r\n function triggerListeners(to, from, { direction, delta }) {\r\n const info = {\r\n direction,\r\n delta,\r\n type: NavigationType.pop,\r\n };\r\n for (const callback of listeners) {\r\n callback(to, from, info);\r\n }\r\n }\r\n const routerHistory = {\r\n // rewritten by Object.defineProperty\r\n location: START,\r\n // TODO: should be kept in queue\r\n state: {},\r\n base,\r\n createHref: createHref.bind(null, base),\r\n replace(to) {\r\n // remove current entry and decrement position\r\n queue.splice(position--, 1);\r\n setLocation(to);\r\n },\r\n push(to, data) {\r\n setLocation(to);\r\n },\r\n listen(callback) {\r\n listeners.push(callback);\r\n return () => {\r\n const index = listeners.indexOf(callback);\r\n if (index > -1)\r\n listeners.splice(index, 1);\r\n };\r\n },\r\n destroy() {\r\n listeners = [];\r\n queue = [START];\r\n position = 0;\r\n },\r\n go(delta, shouldTrigger = true) {\r\n const from = this.location;\r\n const direction = \r\n // we are considering delta === 0 going forward, but in abstract mode\r\n // using 0 for the delta doesn't make sense like it does in html5 where\r\n // it reloads the page\r\n delta < 0 ? NavigationDirection.back : NavigationDirection.forward;\r\n position = Math.max(0, Math.min(position + delta, queue.length - 1));\r\n if (shouldTrigger) {\r\n triggerListeners(this.location, from, {\r\n direction,\r\n delta,\r\n });\r\n }\r\n },\r\n };\r\n Object.defineProperty(routerHistory, 'location', {\r\n enumerable: true,\r\n get: () => queue[position],\r\n });\r\n return routerHistory;\r\n}\n\n/**\r\n * Creates a hash history. Useful for web applications with no host (e.g. `file://`) or when configuring a server to\r\n * handle any URL is not possible.\r\n *\r\n * @param base - optional base to provide. Defaults to `location.pathname + location.search` If there is a `` tag\r\n * in the `head`, its value will be ignored in favor of this parameter **but note it affects all the history.pushState()\r\n * calls**, meaning that if you use a `` tag, it's `href` value **has to match this parameter** (ignoring anything\r\n * after the `#`).\r\n *\r\n * @example\r\n * ```js\r\n * // at https://example.com/folder\r\n * createWebHashHistory() // gives a url of `https://example.com/folder#`\r\n * createWebHashHistory('/folder/') // gives a url of `https://example.com/folder/#`\r\n * // if the `#` is provided in the base, it won't be added by `createWebHashHistory`\r\n * createWebHashHistory('/folder/#/app/') // gives a url of `https://example.com/folder/#/app/`\r\n * // you should avoid doing this because it changes the original url and breaks copying urls\r\n * createWebHashHistory('/other-folder/') // gives a url of `https://example.com/other-folder/#`\r\n *\r\n * // at file:///usr/etc/folder/index.html\r\n * // for locations with no `host`, the base is ignored\r\n * createWebHashHistory('/iAmIgnored') // gives a url of `file:///usr/etc/folder/index.html#`\r\n * ```\r\n */\r\nfunction createWebHashHistory(base) {\r\n // Make sure this implementation is fine in terms of encoding, specially for IE11\r\n // for `file://`, directly use the pathname and ignore the base\r\n // location.pathname contains an initial `/` even at the root: `https://example.com`\r\n base = location.host ? base || location.pathname + location.search : '';\r\n // allow the user to provide a `#` in the middle: `/base/#/app`\r\n if (!base.includes('#'))\r\n base += '#';\r\n if ((process.env.NODE_ENV !== 'production') && !base.endsWith('#/') && !base.endsWith('#')) {\r\n warn(`A hash base must end with a \"#\":\\n\"${base}\" should be \"${base.replace(/#.*$/, '#')}\".`);\r\n }\r\n return createWebHistory(base);\r\n}\n\nfunction isRouteLocation(route) {\r\n return typeof route === 'string' || (route && typeof route === 'object');\r\n}\r\nfunction isRouteName(name) {\r\n return typeof name === 'string' || typeof name === 'symbol';\r\n}\n\n/**\r\n * Initial route location where the router is. Can be used in navigation guards\r\n * to differentiate the initial navigation.\r\n *\r\n * @example\r\n * ```js\r\n * import { START_LOCATION } from 'vue-router'\r\n *\r\n * router.beforeEach((to, from) => {\r\n * if (from === START_LOCATION) {\r\n * // initial navigation\r\n * }\r\n * })\r\n * ```\r\n */\r\nconst START_LOCATION_NORMALIZED = {\r\n path: '/',\r\n name: undefined,\r\n params: {},\r\n query: {},\r\n hash: '',\r\n fullPath: '/',\r\n matched: [],\r\n meta: {},\r\n redirectedFrom: undefined,\r\n};\n\nconst NavigationFailureSymbol = Symbol((process.env.NODE_ENV !== 'production') ? 'navigation failure' : '');\r\n/**\r\n * Enumeration with all possible types for navigation failures. Can be passed to\r\n * {@link isNavigationFailure} to check for specific failures.\r\n */\r\nvar NavigationFailureType;\r\n(function (NavigationFailureType) {\r\n /**\r\n * An aborted navigation is a navigation that failed because a navigation\r\n * guard returned `false` or called `next(false)`\r\n */\r\n NavigationFailureType[NavigationFailureType[\"aborted\"] = 4] = \"aborted\";\r\n /**\r\n * A cancelled navigation is a navigation that failed because a more recent\r\n * navigation finished started (not necessarily finished).\r\n */\r\n NavigationFailureType[NavigationFailureType[\"cancelled\"] = 8] = \"cancelled\";\r\n /**\r\n * A duplicated navigation is a navigation that failed because it was\r\n * initiated while already being at the exact same location.\r\n */\r\n NavigationFailureType[NavigationFailureType[\"duplicated\"] = 16] = \"duplicated\";\r\n})(NavigationFailureType || (NavigationFailureType = {}));\r\n// DEV only debug messages\r\nconst ErrorTypeMessages = {\r\n [1 /* ErrorTypes.MATCHER_NOT_FOUND */]({ location, currentLocation }) {\r\n return `No match for\\n ${JSON.stringify(location)}${currentLocation\r\n ? '\\nwhile being at\\n' + JSON.stringify(currentLocation)\r\n : ''}`;\r\n },\r\n [2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */]({ from, to, }) {\r\n return `Redirected from \"${from.fullPath}\" to \"${stringifyRoute(to)}\" via a navigation guard.`;\r\n },\r\n [4 /* ErrorTypes.NAVIGATION_ABORTED */]({ from, to }) {\r\n return `Navigation aborted from \"${from.fullPath}\" to \"${to.fullPath}\" via a navigation guard.`;\r\n },\r\n [8 /* ErrorTypes.NAVIGATION_CANCELLED */]({ from, to }) {\r\n return `Navigation cancelled from \"${from.fullPath}\" to \"${to.fullPath}\" with a new navigation.`;\r\n },\r\n [16 /* ErrorTypes.NAVIGATION_DUPLICATED */]({ from, to }) {\r\n return `Avoided redundant navigation to current location: \"${from.fullPath}\".`;\r\n },\r\n};\r\nfunction createRouterError(type, params) {\r\n // keep full error messages in cjs versions\r\n if ((process.env.NODE_ENV !== 'production') || !true) {\r\n return assign(new Error(ErrorTypeMessages[type](params)), {\r\n type,\r\n [NavigationFailureSymbol]: true,\r\n }, params);\r\n }\r\n else {\r\n return assign(new Error(), {\r\n type,\r\n [NavigationFailureSymbol]: true,\r\n }, params);\r\n }\r\n}\r\nfunction isNavigationFailure(error, type) {\r\n return (error instanceof Error &&\r\n NavigationFailureSymbol in error &&\r\n (type == null || !!(error.type & type)));\r\n}\r\nconst propertiesToLog = ['params', 'query', 'hash'];\r\nfunction stringifyRoute(to) {\r\n if (typeof to === 'string')\r\n return to;\r\n if ('path' in to)\r\n return to.path;\r\n const location = {};\r\n for (const key of propertiesToLog) {\r\n if (key in to)\r\n location[key] = to[key];\r\n }\r\n return JSON.stringify(location, null, 2);\r\n}\n\n// default pattern for a param: non-greedy everything but /\r\nconst BASE_PARAM_PATTERN = '[^/]+?';\r\nconst BASE_PATH_PARSER_OPTIONS = {\r\n sensitive: false,\r\n strict: false,\r\n start: true,\r\n end: true,\r\n};\r\n// Special Regex characters that must be escaped in static tokens\r\nconst REGEX_CHARS_RE = /[.+*?^${}()[\\]/\\\\]/g;\r\n/**\r\n * Creates a path parser from an array of Segments (a segment is an array of Tokens)\r\n *\r\n * @param segments - array of segments returned by tokenizePath\r\n * @param extraOptions - optional options for the regexp\r\n * @returns a PathParser\r\n */\r\nfunction tokensToParser(segments, extraOptions) {\r\n const options = assign({}, BASE_PATH_PARSER_OPTIONS, extraOptions);\r\n // the amount of scores is the same as the length of segments except for the root segment \"/\"\r\n const score = [];\r\n // the regexp as a string\r\n let pattern = options.start ? '^' : '';\r\n // extracted keys\r\n const keys = [];\r\n for (const segment of segments) {\r\n // the root segment needs special treatment\r\n const segmentScores = segment.length ? [] : [90 /* PathScore.Root */];\r\n // allow trailing slash\r\n if (options.strict && !segment.length)\r\n pattern += '/';\r\n for (let tokenIndex = 0; tokenIndex < segment.length; tokenIndex++) {\r\n const token = segment[tokenIndex];\r\n // resets the score if we are inside a sub-segment /:a-other-:b\r\n let subSegmentScore = 40 /* PathScore.Segment */ +\r\n (options.sensitive ? 0.25 /* PathScore.BonusCaseSensitive */ : 0);\r\n if (token.type === 0 /* TokenType.Static */) {\r\n // prepend the slash if we are starting a new segment\r\n if (!tokenIndex)\r\n pattern += '/';\r\n pattern += token.value.replace(REGEX_CHARS_RE, '\\\\$&');\r\n subSegmentScore += 40 /* PathScore.Static */;\r\n }\r\n else if (token.type === 1 /* TokenType.Param */) {\r\n const { value, repeatable, optional, regexp } = token;\r\n keys.push({\r\n name: value,\r\n repeatable,\r\n optional,\r\n });\r\n const re = regexp ? regexp : BASE_PARAM_PATTERN;\r\n // the user provided a custom regexp /:id(\\\\d+)\r\n if (re !== BASE_PARAM_PATTERN) {\r\n subSegmentScore += 10 /* PathScore.BonusCustomRegExp */;\r\n // make sure the regexp is valid before using it\r\n try {\r\n new RegExp(`(${re})`);\r\n }\r\n catch (err) {\r\n throw new Error(`Invalid custom RegExp for param \"${value}\" (${re}): ` +\r\n err.message);\r\n }\r\n }\r\n // when we repeat we must take care of the repeating leading slash\r\n let subPattern = repeatable ? `((?:${re})(?:/(?:${re}))*)` : `(${re})`;\r\n // prepend the slash if we are starting a new segment\r\n if (!tokenIndex)\r\n subPattern =\r\n // avoid an optional / if there are more segments e.g. /:p?-static\r\n // or /:p?-:p2\r\n optional && segment.length < 2\r\n ? `(?:/${subPattern})`\r\n : '/' + subPattern;\r\n if (optional)\r\n subPattern += '?';\r\n pattern += subPattern;\r\n subSegmentScore += 20 /* PathScore.Dynamic */;\r\n if (optional)\r\n subSegmentScore += -8 /* PathScore.BonusOptional */;\r\n if (repeatable)\r\n subSegmentScore += -20 /* PathScore.BonusRepeatable */;\r\n if (re === '.*')\r\n subSegmentScore += -50 /* PathScore.BonusWildcard */;\r\n }\r\n segmentScores.push(subSegmentScore);\r\n }\r\n // an empty array like /home/ -> [[{home}], []]\r\n // if (!segment.length) pattern += '/'\r\n score.push(segmentScores);\r\n }\r\n // only apply the strict bonus to the last score\r\n if (options.strict && options.end) {\r\n const i = score.length - 1;\r\n score[i][score[i].length - 1] += 0.7000000000000001 /* PathScore.BonusStrict */;\r\n }\r\n // TODO: dev only warn double trailing slash\r\n if (!options.strict)\r\n pattern += '/?';\r\n if (options.end)\r\n pattern += '$';\r\n // allow paths like /dynamic to only match dynamic or dynamic/... but not dynamic_something_else\r\n else if (options.strict)\r\n pattern += '(?:/|$)';\r\n const re = new RegExp(pattern, options.sensitive ? '' : 'i');\r\n function parse(path) {\r\n const match = path.match(re);\r\n const params = {};\r\n if (!match)\r\n return null;\r\n for (let i = 1; i < match.length; i++) {\r\n const value = match[i] || '';\r\n const key = keys[i - 1];\r\n params[key.name] = value && key.repeatable ? value.split('/') : value;\r\n }\r\n return params;\r\n }\r\n function stringify(params) {\r\n let path = '';\r\n // for optional parameters to allow to be empty\r\n let avoidDuplicatedSlash = false;\r\n for (const segment of segments) {\r\n if (!avoidDuplicatedSlash || !path.endsWith('/'))\r\n path += '/';\r\n avoidDuplicatedSlash = false;\r\n for (const token of segment) {\r\n if (token.type === 0 /* TokenType.Static */) {\r\n path += token.value;\r\n }\r\n else if (token.type === 1 /* TokenType.Param */) {\r\n const { value, repeatable, optional } = token;\r\n const param = value in params ? params[value] : '';\r\n if (isArray(param) && !repeatable) {\r\n throw new Error(`Provided param \"${value}\" is an array but it is not repeatable (* or + modifiers)`);\r\n }\r\n const text = isArray(param)\r\n ? param.join('/')\r\n : param;\r\n if (!text) {\r\n if (optional) {\r\n // if we have more than one optional param like /:a?-static we don't need to care about the optional param\r\n if (segment.length < 2) {\r\n // remove the last slash as we could be at the end\r\n if (path.endsWith('/'))\r\n path = path.slice(0, -1);\r\n // do not append a slash on the next iteration\r\n else\r\n avoidDuplicatedSlash = true;\r\n }\r\n }\r\n else\r\n throw new Error(`Missing required param \"${value}\"`);\r\n }\r\n path += text;\r\n }\r\n }\r\n }\r\n // avoid empty path when we have multiple optional params\r\n return path || '/';\r\n }\r\n return {\r\n re,\r\n score,\r\n keys,\r\n parse,\r\n stringify,\r\n };\r\n}\r\n/**\r\n * Compares an array of numbers as used in PathParser.score and returns a\r\n * number. This function can be used to `sort` an array\r\n *\r\n * @param a - first array of numbers\r\n * @param b - second array of numbers\r\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\r\n * should be sorted first\r\n */\r\nfunction compareScoreArray(a, b) {\r\n let i = 0;\r\n while (i < a.length && i < b.length) {\r\n const diff = b[i] - a[i];\r\n // only keep going if diff === 0\r\n if (diff)\r\n return diff;\r\n i++;\r\n }\r\n // if the last subsegment was Static, the shorter segments should be sorted first\r\n // otherwise sort the longest segment first\r\n if (a.length < b.length) {\r\n return a.length === 1 && a[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\r\n ? -1\r\n : 1;\r\n }\r\n else if (a.length > b.length) {\r\n return b.length === 1 && b[0] === 40 /* PathScore.Static */ + 40 /* PathScore.Segment */\r\n ? 1\r\n : -1;\r\n }\r\n return 0;\r\n}\r\n/**\r\n * Compare function that can be used with `sort` to sort an array of PathParser\r\n *\r\n * @param a - first PathParser\r\n * @param b - second PathParser\r\n * @returns 0 if both are equal, < 0 if a should be sorted first, > 0 if b\r\n */\r\nfunction comparePathParserScore(a, b) {\r\n let i = 0;\r\n const aScore = a.score;\r\n const bScore = b.score;\r\n while (i < aScore.length && i < bScore.length) {\r\n const comp = compareScoreArray(aScore[i], bScore[i]);\r\n // do not return if both are equal\r\n if (comp)\r\n return comp;\r\n i++;\r\n }\r\n if (Math.abs(bScore.length - aScore.length) === 1) {\r\n if (isLastScoreNegative(aScore))\r\n return 1;\r\n if (isLastScoreNegative(bScore))\r\n return -1;\r\n }\r\n // if a and b share the same score entries but b has more, sort b first\r\n return bScore.length - aScore.length;\r\n // this is the ternary version\r\n // return aScore.length < bScore.length\r\n // ? 1\r\n // : aScore.length > bScore.length\r\n // ? -1\r\n // : 0\r\n}\r\n/**\r\n * This allows detecting splats at the end of a path: /home/:id(.*)*\r\n *\r\n * @param score - score to check\r\n * @returns true if the last entry is negative\r\n */\r\nfunction isLastScoreNegative(score) {\r\n const last = score[score.length - 1];\r\n return score.length > 0 && last[last.length - 1] < 0;\r\n}\n\nconst ROOT_TOKEN = {\r\n type: 0 /* TokenType.Static */,\r\n value: '',\r\n};\r\nconst VALID_PARAM_RE = /[a-zA-Z0-9_]/;\r\n// After some profiling, the cache seems to be unnecessary because tokenizePath\r\n// (the slowest part of adding a route) is very fast\r\n// const tokenCache = new Map()\r\nfunction tokenizePath(path) {\r\n if (!path)\r\n return [[]];\r\n if (path === '/')\r\n return [[ROOT_TOKEN]];\r\n if (!path.startsWith('/')) {\r\n throw new Error((process.env.NODE_ENV !== 'production')\r\n ? `Route paths should start with a \"/\": \"${path}\" should be \"/${path}\".`\r\n : `Invalid path \"${path}\"`);\r\n }\r\n // if (tokenCache.has(path)) return tokenCache.get(path)!\r\n function crash(message) {\r\n throw new Error(`ERR (${state})/\"${buffer}\": ${message}`);\r\n }\r\n let state = 0 /* TokenizerState.Static */;\r\n let previousState = state;\r\n const tokens = [];\r\n // the segment will always be valid because we get into the initial state\r\n // with the leading /\r\n let segment;\r\n function finalizeSegment() {\r\n if (segment)\r\n tokens.push(segment);\r\n segment = [];\r\n }\r\n // index on the path\r\n let i = 0;\r\n // char at index\r\n let char;\r\n // buffer of the value read\r\n let buffer = '';\r\n // custom regexp for a param\r\n let customRe = '';\r\n function consumeBuffer() {\r\n if (!buffer)\r\n return;\r\n if (state === 0 /* TokenizerState.Static */) {\r\n segment.push({\r\n type: 0 /* TokenType.Static */,\r\n value: buffer,\r\n });\r\n }\r\n else if (state === 1 /* TokenizerState.Param */ ||\r\n state === 2 /* TokenizerState.ParamRegExp */ ||\r\n state === 3 /* TokenizerState.ParamRegExpEnd */) {\r\n if (segment.length > 1 && (char === '*' || char === '+'))\r\n crash(`A repeatable param (${buffer}) must be alone in its segment. eg: '/:ids+.`);\r\n segment.push({\r\n type: 1 /* TokenType.Param */,\r\n value: buffer,\r\n regexp: customRe,\r\n repeatable: char === '*' || char === '+',\r\n optional: char === '*' || char === '?',\r\n });\r\n }\r\n else {\r\n crash('Invalid state to consume buffer');\r\n }\r\n buffer = '';\r\n }\r\n function addCharToBuffer() {\r\n buffer += char;\r\n }\r\n while (i < path.length) {\r\n char = path[i++];\r\n if (char === '\\\\' && state !== 2 /* TokenizerState.ParamRegExp */) {\r\n previousState = state;\r\n state = 4 /* TokenizerState.EscapeNext */;\r\n continue;\r\n }\r\n switch (state) {\r\n case 0 /* TokenizerState.Static */:\r\n if (char === '/') {\r\n if (buffer) {\r\n consumeBuffer();\r\n }\r\n finalizeSegment();\r\n }\r\n else if (char === ':') {\r\n consumeBuffer();\r\n state = 1 /* TokenizerState.Param */;\r\n }\r\n else {\r\n addCharToBuffer();\r\n }\r\n break;\r\n case 4 /* TokenizerState.EscapeNext */:\r\n addCharToBuffer();\r\n state = previousState;\r\n break;\r\n case 1 /* TokenizerState.Param */:\r\n if (char === '(') {\r\n state = 2 /* TokenizerState.ParamRegExp */;\r\n }\r\n else if (VALID_PARAM_RE.test(char)) {\r\n addCharToBuffer();\r\n }\r\n else {\r\n consumeBuffer();\r\n state = 0 /* TokenizerState.Static */;\r\n // go back one character if we were not modifying\r\n if (char !== '*' && char !== '?' && char !== '+')\r\n i--;\r\n }\r\n break;\r\n case 2 /* TokenizerState.ParamRegExp */:\r\n // TODO: is it worth handling nested regexp? like :p(?:prefix_([^/]+)_suffix)\r\n // it already works by escaping the closing )\r\n // https://paths.esm.dev/?p=AAMeJbiAwQEcDKbAoAAkP60PG2R6QAvgNaA6AFACM2ABuQBB#\r\n // is this really something people need since you can also write\r\n // /prefix_:p()_suffix\r\n if (char === ')') {\r\n // handle the escaped )\r\n if (customRe[customRe.length - 1] == '\\\\')\r\n customRe = customRe.slice(0, -1) + char;\r\n else\r\n state = 3 /* TokenizerState.ParamRegExpEnd */;\r\n }\r\n else {\r\n customRe += char;\r\n }\r\n break;\r\n case 3 /* TokenizerState.ParamRegExpEnd */:\r\n // same as finalizing a param\r\n consumeBuffer();\r\n state = 0 /* TokenizerState.Static */;\r\n // go back one character if we were not modifying\r\n if (char !== '*' && char !== '?' && char !== '+')\r\n i--;\r\n customRe = '';\r\n break;\r\n default:\r\n crash('Unknown state');\r\n break;\r\n }\r\n }\r\n if (state === 2 /* TokenizerState.ParamRegExp */)\r\n crash(`Unfinished custom RegExp for param \"${buffer}\"`);\r\n consumeBuffer();\r\n finalizeSegment();\r\n // tokenCache.set(path, tokens)\r\n return tokens;\r\n}\n\nfunction createRouteRecordMatcher(record, parent, options) {\r\n const parser = tokensToParser(tokenizePath(record.path), options);\r\n // warn against params with the same name\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const existingKeys = new Set();\r\n for (const key of parser.keys) {\r\n if (existingKeys.has(key.name))\r\n warn(`Found duplicated params with name \"${key.name}\" for path \"${record.path}\". Only the last one will be available on \"$route.params\".`);\r\n existingKeys.add(key.name);\r\n }\r\n }\r\n const matcher = assign(parser, {\r\n record,\r\n parent,\r\n // these needs to be populated by the parent\r\n children: [],\r\n alias: [],\r\n });\r\n if (parent) {\r\n // both are aliases or both are not aliases\r\n // we don't want to mix them because the order is used when\r\n // passing originalRecord in Matcher.addRoute\r\n if (!matcher.record.aliasOf === !parent.record.aliasOf)\r\n parent.children.push(matcher);\r\n }\r\n return matcher;\r\n}\n\n/**\r\n * Creates a Router Matcher.\r\n *\r\n * @internal\r\n * @param routes - array of initial routes\r\n * @param globalOptions - global route options\r\n */\r\nfunction createRouterMatcher(routes, globalOptions) {\r\n // normalized ordered array of matchers\r\n const matchers = [];\r\n const matcherMap = new Map();\r\n globalOptions = mergeOptions({ strict: false, end: true, sensitive: false }, globalOptions);\r\n function getRecordMatcher(name) {\r\n return matcherMap.get(name);\r\n }\r\n function addRoute(record, parent, originalRecord) {\r\n // used later on to remove by name\r\n const isRootAdd = !originalRecord;\r\n const mainNormalizedRecord = normalizeRouteRecord(record);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent);\r\n }\r\n // we might be the child of an alias\r\n mainNormalizedRecord.aliasOf = originalRecord && originalRecord.record;\r\n const options = mergeOptions(globalOptions, record);\r\n // generate an array of records to correctly handle aliases\r\n const normalizedRecords = [\r\n mainNormalizedRecord,\r\n ];\r\n if ('alias' in record) {\r\n const aliases = typeof record.alias === 'string' ? [record.alias] : record.alias;\r\n for (const alias of aliases) {\r\n normalizedRecords.push(assign({}, mainNormalizedRecord, {\r\n // this allows us to hold a copy of the `components` option\r\n // so that async components cache is hold on the original record\r\n components: originalRecord\r\n ? originalRecord.record.components\r\n : mainNormalizedRecord.components,\r\n path: alias,\r\n // we might be the child of an alias\r\n aliasOf: originalRecord\r\n ? originalRecord.record\r\n : mainNormalizedRecord,\r\n // the aliases are always of the same kind as the original since they\r\n // are defined on the same record\r\n }));\r\n }\r\n }\r\n let matcher;\r\n let originalMatcher;\r\n for (const normalizedRecord of normalizedRecords) {\r\n const { path } = normalizedRecord;\r\n // Build up the path for nested routes if the child isn't an absolute\r\n // route. Only add the / delimiter if the child path isn't empty and if the\r\n // parent path doesn't have a trailing slash\r\n if (parent && path[0] !== '/') {\r\n const parentPath = parent.record.path;\r\n const connectingSlash = parentPath[parentPath.length - 1] === '/' ? '' : '/';\r\n normalizedRecord.path =\r\n parent.record.path + (path && connectingSlash + path);\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && normalizedRecord.path === '*') {\r\n throw new Error('Catch all routes (\"*\") must now be defined using a param with a custom regexp.\\n' +\r\n 'See more at https://next.router.vuejs.org/guide/migration/#removed-star-or-catch-all-routes.');\r\n }\r\n // create the object beforehand, so it can be passed to children\r\n matcher = createRouteRecordMatcher(normalizedRecord, parent, options);\r\n if ((process.env.NODE_ENV !== 'production') && parent && path[0] === '/')\r\n checkMissingParamsInAbsolutePath(matcher, parent);\r\n // if we are an alias we must tell the original record that we exist,\r\n // so we can be removed\r\n if (originalRecord) {\r\n originalRecord.alias.push(matcher);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n checkSameParams(originalRecord, matcher);\r\n }\r\n }\r\n else {\r\n // otherwise, the first record is the original and others are aliases\r\n originalMatcher = originalMatcher || matcher;\r\n if (originalMatcher !== matcher)\r\n originalMatcher.alias.push(matcher);\r\n // remove the route if named and only for the top record (avoid in nested calls)\r\n // this works because the original record is the first one\r\n if (isRootAdd && record.name && !isAliasRecord(matcher))\r\n removeRoute(record.name);\r\n }\r\n if (mainNormalizedRecord.children) {\r\n const children = mainNormalizedRecord.children;\r\n for (let i = 0; i < children.length; i++) {\r\n addRoute(children[i], matcher, originalRecord && originalRecord.children[i]);\r\n }\r\n }\r\n // if there was no original record, then the first one was not an alias and all\r\n // other aliases (if any) need to reference this record when adding children\r\n originalRecord = originalRecord || matcher;\r\n // TODO: add normalized records for more flexibility\r\n // if (parent && isAliasRecord(originalRecord)) {\r\n // parent.children.push(originalRecord)\r\n // }\r\n // Avoid adding a record that doesn't display anything. This allows passing through records without a component to\r\n // not be reached and pass through the catch all route\r\n if ((matcher.record.components &&\r\n Object.keys(matcher.record.components).length) ||\r\n matcher.record.name ||\r\n matcher.record.redirect) {\r\n insertMatcher(matcher);\r\n }\r\n }\r\n return originalMatcher\r\n ? () => {\r\n // since other matchers are aliases, they should be removed by the original matcher\r\n removeRoute(originalMatcher);\r\n }\r\n : noop;\r\n }\r\n function removeRoute(matcherRef) {\r\n if (isRouteName(matcherRef)) {\r\n const matcher = matcherMap.get(matcherRef);\r\n if (matcher) {\r\n matcherMap.delete(matcherRef);\r\n matchers.splice(matchers.indexOf(matcher), 1);\r\n matcher.children.forEach(removeRoute);\r\n matcher.alias.forEach(removeRoute);\r\n }\r\n }\r\n else {\r\n const index = matchers.indexOf(matcherRef);\r\n if (index > -1) {\r\n matchers.splice(index, 1);\r\n if (matcherRef.record.name)\r\n matcherMap.delete(matcherRef.record.name);\r\n matcherRef.children.forEach(removeRoute);\r\n matcherRef.alias.forEach(removeRoute);\r\n }\r\n }\r\n }\r\n function getRoutes() {\r\n return matchers;\r\n }\r\n function insertMatcher(matcher) {\r\n let i = 0;\r\n while (i < matchers.length &&\r\n comparePathParserScore(matcher, matchers[i]) >= 0 &&\r\n // Adding children with empty path should still appear before the parent\r\n // https://github.com/vuejs/router/issues/1124\r\n (matcher.record.path !== matchers[i].record.path ||\r\n !isRecordChildOf(matcher, matchers[i])))\r\n i++;\r\n matchers.splice(i, 0, matcher);\r\n // only add the original record to the name map\r\n if (matcher.record.name && !isAliasRecord(matcher))\r\n matcherMap.set(matcher.record.name, matcher);\r\n }\r\n function resolve(location, currentLocation) {\r\n let matcher;\r\n let params = {};\r\n let path;\r\n let name;\r\n if ('name' in location && location.name) {\r\n matcher = matcherMap.get(location.name);\r\n if (!matcher)\r\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\r\n location,\r\n });\r\n // warn if the user is passing invalid params so they can debug it better when they get removed\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const invalidParams = Object.keys(location.params || {}).filter(paramName => !matcher.keys.find(k => k.name === paramName));\r\n if (invalidParams.length) {\r\n warn(`Discarded invalid param(s) \"${invalidParams.join('\", \"')}\" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`);\r\n }\r\n }\r\n name = matcher.record.name;\r\n params = assign(\r\n // paramsFromLocation is a new object\r\n paramsFromLocation(currentLocation.params, \r\n // only keep params that exist in the resolved location\r\n // TODO: only keep optional params coming from a parent record\r\n matcher.keys.filter(k => !k.optional).map(k => k.name)), \r\n // discard any existing params in the current location that do not exist here\r\n // #1497 this ensures better active/exact matching\r\n location.params &&\r\n paramsFromLocation(location.params, matcher.keys.map(k => k.name)));\r\n // throws if cannot be stringified\r\n path = matcher.stringify(params);\r\n }\r\n else if ('path' in location) {\r\n // no need to resolve the path with the matcher as it was provided\r\n // this also allows the user to control the encoding\r\n path = location.path;\r\n if ((process.env.NODE_ENV !== 'production') && !path.startsWith('/')) {\r\n warn(`The Matcher cannot resolve relative paths but received \"${path}\". Unless you directly called \\`matcher.resolve(\"${path}\")\\`, this is probably a bug in vue-router. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/router.`);\r\n }\r\n matcher = matchers.find(m => m.re.test(path));\r\n // matcher should have a value after the loop\r\n if (matcher) {\r\n // we know the matcher works because we tested the regexp\r\n params = matcher.parse(path);\r\n name = matcher.record.name;\r\n }\r\n // location is a relative path\r\n }\r\n else {\r\n // match by name or path of current route\r\n matcher = currentLocation.name\r\n ? matcherMap.get(currentLocation.name)\r\n : matchers.find(m => m.re.test(currentLocation.path));\r\n if (!matcher)\r\n throw createRouterError(1 /* ErrorTypes.MATCHER_NOT_FOUND */, {\r\n location,\r\n currentLocation,\r\n });\r\n name = matcher.record.name;\r\n // since we are navigating to the same location, we don't need to pick the\r\n // params like when `name` is provided\r\n params = assign({}, currentLocation.params, location.params);\r\n path = matcher.stringify(params);\r\n }\r\n const matched = [];\r\n let parentMatcher = matcher;\r\n while (parentMatcher) {\r\n // reversed order so parents are at the beginning\r\n matched.unshift(parentMatcher.record);\r\n parentMatcher = parentMatcher.parent;\r\n }\r\n return {\r\n name,\r\n path,\r\n params,\r\n matched,\r\n meta: mergeMetaFields(matched),\r\n };\r\n }\r\n // add initial routes\r\n routes.forEach(route => addRoute(route));\r\n return { addRoute, resolve, removeRoute, getRoutes, getRecordMatcher };\r\n}\r\nfunction paramsFromLocation(params, keys) {\r\n const newParams = {};\r\n for (const key of keys) {\r\n if (key in params)\r\n newParams[key] = params[key];\r\n }\r\n return newParams;\r\n}\r\n/**\r\n * Normalizes a RouteRecordRaw. Creates a copy\r\n *\r\n * @param record\r\n * @returns the normalized version\r\n */\r\nfunction normalizeRouteRecord(record) {\r\n return {\r\n path: record.path,\r\n redirect: record.redirect,\r\n name: record.name,\r\n meta: record.meta || {},\r\n aliasOf: undefined,\r\n beforeEnter: record.beforeEnter,\r\n props: normalizeRecordProps(record),\r\n children: record.children || [],\r\n instances: {},\r\n leaveGuards: new Set(),\r\n updateGuards: new Set(),\r\n enterCallbacks: {},\r\n components: 'components' in record\r\n ? record.components || null\r\n : record.component && { default: record.component },\r\n };\r\n}\r\n/**\r\n * Normalize the optional `props` in a record to always be an object similar to\r\n * components. Also accept a boolean for components.\r\n * @param record\r\n */\r\nfunction normalizeRecordProps(record) {\r\n const propsObject = {};\r\n // props does not exist on redirect records, but we can set false directly\r\n const props = record.props || false;\r\n if ('component' in record) {\r\n propsObject.default = props;\r\n }\r\n else {\r\n // NOTE: we could also allow a function to be applied to every component.\r\n // Would need user feedback for use cases\r\n for (const name in record.components)\r\n propsObject[name] = typeof props === 'boolean' ? props : props[name];\r\n }\r\n return propsObject;\r\n}\r\n/**\r\n * Checks if a record or any of its parent is an alias\r\n * @param record\r\n */\r\nfunction isAliasRecord(record) {\r\n while (record) {\r\n if (record.record.aliasOf)\r\n return true;\r\n record = record.parent;\r\n }\r\n return false;\r\n}\r\n/**\r\n * Merge meta fields of an array of records\r\n *\r\n * @param matched - array of matched records\r\n */\r\nfunction mergeMetaFields(matched) {\r\n return matched.reduce((meta, record) => assign(meta, record.meta), {});\r\n}\r\nfunction mergeOptions(defaults, partialOptions) {\r\n const options = {};\r\n for (const key in defaults) {\r\n options[key] = key in partialOptions ? partialOptions[key] : defaults[key];\r\n }\r\n return options;\r\n}\r\nfunction isSameParam(a, b) {\r\n return (a.name === b.name &&\r\n a.optional === b.optional &&\r\n a.repeatable === b.repeatable);\r\n}\r\n/**\r\n * Check if a path and its alias have the same required params\r\n *\r\n * @param a - original record\r\n * @param b - alias record\r\n */\r\nfunction checkSameParams(a, b) {\r\n for (const key of a.keys) {\r\n if (!key.optional && !b.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\r\n }\r\n for (const key of b.keys) {\r\n if (!key.optional && !a.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Alias \"${b.record.path}\" and the original record: \"${a.record.path}\" must have the exact same param named \"${key.name}\"`);\r\n }\r\n}\r\n/**\r\n * A route with a name and a child with an empty path without a name should warn when adding the route\r\n *\r\n * @param mainNormalizedRecord - RouteRecordNormalized\r\n * @param parent - RouteRecordMatcher\r\n */\r\nfunction checkChildMissingNameWithEmptyPath(mainNormalizedRecord, parent) {\r\n if (parent &&\r\n parent.record.name &&\r\n !mainNormalizedRecord.name &&\r\n !mainNormalizedRecord.path) {\r\n warn(`The route named \"${String(parent.record.name)}\" has a child without a name and an empty path. Using that name won't render the empty path child so you probably want to move the name to the child instead. If this is intentional, add a name to the child route to remove the warning.`);\r\n }\r\n}\r\nfunction checkMissingParamsInAbsolutePath(record, parent) {\r\n for (const key of parent.keys) {\r\n if (!record.keys.find(isSameParam.bind(null, key)))\r\n return warn(`Absolute path \"${record.record.path}\" must have the exact same param named \"${key.name}\" as its parent \"${parent.record.path}\".`);\r\n }\r\n}\r\nfunction isRecordChildOf(record, parent) {\r\n return parent.children.some(child => child === record || isRecordChildOf(record, child));\r\n}\n\n/**\r\n * Encoding Rules ␣ = Space Path: ␣ \" < > # ? { } Query: ␣ \" < > # & = Hash: ␣ \"\r\n * < > `\r\n *\r\n * On top of that, the RFC3986 (https://tools.ietf.org/html/rfc3986#section-2.2)\r\n * defines some extra characters to be encoded. Most browsers do not encode them\r\n * in encodeURI https://github.com/whatwg/url/issues/369, so it may be safer to\r\n * also encode `!'()*`. Leaving un-encoded only ASCII alphanumeric(`a-zA-Z0-9`)\r\n * plus `-._~`. This extra safety should be applied to query by patching the\r\n * string returned by encodeURIComponent encodeURI also encodes `[\\]^`. `\\`\r\n * should be encoded to avoid ambiguity. Browsers (IE, FF, C) transform a `\\`\r\n * into a `/` if directly typed in. The _backtick_ (`````) should also be\r\n * encoded everywhere because some browsers like FF encode it when directly\r\n * written while others don't. Safari and IE don't encode ``\"<>{}``` in hash.\r\n */\r\n// const EXTRA_RESERVED_RE = /[!'()*]/g\r\n// const encodeReservedReplacer = (c: string) => '%' + c.charCodeAt(0).toString(16)\r\nconst HASH_RE = /#/g; // %23\r\nconst AMPERSAND_RE = /&/g; // %26\r\nconst SLASH_RE = /\\//g; // %2F\r\nconst EQUAL_RE = /=/g; // %3D\r\nconst IM_RE = /\\?/g; // %3F\r\nconst PLUS_RE = /\\+/g; // %2B\r\n/**\r\n * NOTE: It's not clear to me if we should encode the + symbol in queries, it\r\n * seems to be less flexible than not doing so and I can't find out the legacy\r\n * systems requiring this for regular requests like text/html. In the standard,\r\n * the encoding of the plus character is only mentioned for\r\n * application/x-www-form-urlencoded\r\n * (https://url.spec.whatwg.org/#urlencoded-parsing) and most browsers seems lo\r\n * leave the plus character as is in queries. To be more flexible, we allow the\r\n * plus character on the query, but it can also be manually encoded by the user.\r\n *\r\n * Resources:\r\n * - https://url.spec.whatwg.org/#urlencoded-parsing\r\n * - https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20\r\n */\r\nconst ENC_BRACKET_OPEN_RE = /%5B/g; // [\r\nconst ENC_BRACKET_CLOSE_RE = /%5D/g; // ]\r\nconst ENC_CARET_RE = /%5E/g; // ^\r\nconst ENC_BACKTICK_RE = /%60/g; // `\r\nconst ENC_CURLY_OPEN_RE = /%7B/g; // {\r\nconst ENC_PIPE_RE = /%7C/g; // |\r\nconst ENC_CURLY_CLOSE_RE = /%7D/g; // }\r\nconst ENC_SPACE_RE = /%20/g; // }\r\n/**\r\n * Encode characters that need to be encoded on the path, search and hash\r\n * sections of the URL.\r\n *\r\n * @internal\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction commonEncode(text) {\r\n return encodeURI('' + text)\r\n .replace(ENC_PIPE_RE, '|')\r\n .replace(ENC_BRACKET_OPEN_RE, '[')\r\n .replace(ENC_BRACKET_CLOSE_RE, ']');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the hash section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeHash(text) {\r\n return commonEncode(text)\r\n .replace(ENC_CURLY_OPEN_RE, '{')\r\n .replace(ENC_CURLY_CLOSE_RE, '}')\r\n .replace(ENC_CARET_RE, '^');\r\n}\r\n/**\r\n * Encode characters that need to be encoded query values on the query\r\n * section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeQueryValue(text) {\r\n return (commonEncode(text)\r\n // Encode the space as +, encode the + to differentiate it from the space\r\n .replace(PLUS_RE, '%2B')\r\n .replace(ENC_SPACE_RE, '+')\r\n .replace(HASH_RE, '%23')\r\n .replace(AMPERSAND_RE, '%26')\r\n .replace(ENC_BACKTICK_RE, '`')\r\n .replace(ENC_CURLY_OPEN_RE, '{')\r\n .replace(ENC_CURLY_CLOSE_RE, '}')\r\n .replace(ENC_CARET_RE, '^'));\r\n}\r\n/**\r\n * Like `encodeQueryValue` but also encodes the `=` character.\r\n *\r\n * @param text - string to encode\r\n */\r\nfunction encodeQueryKey(text) {\r\n return encodeQueryValue(text).replace(EQUAL_RE, '%3D');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the path section of the URL.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodePath(text) {\r\n return commonEncode(text).replace(HASH_RE, '%23').replace(IM_RE, '%3F');\r\n}\r\n/**\r\n * Encode characters that need to be encoded on the path section of the URL as a\r\n * param. This function encodes everything {@link encodePath} does plus the\r\n * slash (`/`) character. If `text` is `null` or `undefined`, returns an empty\r\n * string instead.\r\n *\r\n * @param text - string to encode\r\n * @returns encoded string\r\n */\r\nfunction encodeParam(text) {\r\n return text == null ? '' : encodePath(text).replace(SLASH_RE, '%2F');\r\n}\r\n/**\r\n * Decode text using `decodeURIComponent`. Returns the original text if it\r\n * fails.\r\n *\r\n * @param text - string to decode\r\n * @returns decoded string\r\n */\r\nfunction decode(text) {\r\n try {\r\n return decodeURIComponent('' + text);\r\n }\r\n catch (err) {\r\n (process.env.NODE_ENV !== 'production') && warn(`Error decoding \"${text}\". Using original value`);\r\n }\r\n return '' + text;\r\n}\n\n/**\r\n * Transforms a queryString into a {@link LocationQuery} object. Accept both, a\r\n * version with the leading `?` and without Should work as URLSearchParams\r\n\n * @internal\r\n *\r\n * @param search - search string to parse\r\n * @returns a query object\r\n */\r\nfunction parseQuery(search) {\r\n const query = {};\r\n // avoid creating an object with an empty key and empty value\r\n // because of split('&')\r\n if (search === '' || search === '?')\r\n return query;\r\n const hasLeadingIM = search[0] === '?';\r\n const searchParams = (hasLeadingIM ? search.slice(1) : search).split('&');\r\n for (let i = 0; i < searchParams.length; ++i) {\r\n // pre decode the + into space\r\n const searchParam = searchParams[i].replace(PLUS_RE, ' ');\r\n // allow the = character\r\n const eqPos = searchParam.indexOf('=');\r\n const key = decode(eqPos < 0 ? searchParam : searchParam.slice(0, eqPos));\r\n const value = eqPos < 0 ? null : decode(searchParam.slice(eqPos + 1));\r\n if (key in query) {\r\n // an extra variable for ts types\r\n let currentValue = query[key];\r\n if (!isArray(currentValue)) {\r\n currentValue = query[key] = [currentValue];\r\n }\r\n currentValue.push(value);\r\n }\r\n else {\r\n query[key] = value;\r\n }\r\n }\r\n return query;\r\n}\r\n/**\r\n * Stringifies a {@link LocationQueryRaw} object. Like `URLSearchParams`, it\r\n * doesn't prepend a `?`\r\n *\r\n * @internal\r\n *\r\n * @param query - query object to stringify\r\n * @returns string version of the query without the leading `?`\r\n */\r\nfunction stringifyQuery(query) {\r\n let search = '';\r\n for (let key in query) {\r\n const value = query[key];\r\n key = encodeQueryKey(key);\r\n if (value == null) {\r\n // only null adds the value\r\n if (value !== undefined) {\r\n search += (search.length ? '&' : '') + key;\r\n }\r\n continue;\r\n }\r\n // keep null values\r\n const values = isArray(value)\r\n ? value.map(v => v && encodeQueryValue(v))\r\n : [value && encodeQueryValue(value)];\r\n values.forEach(value => {\r\n // skip undefined values in arrays as if they were not present\r\n // smaller code than using filter\r\n if (value !== undefined) {\r\n // only append & with non-empty search\r\n search += (search.length ? '&' : '') + key;\r\n if (value != null)\r\n search += '=' + value;\r\n }\r\n });\r\n }\r\n return search;\r\n}\r\n/**\r\n * Transforms a {@link LocationQueryRaw} into a {@link LocationQuery} by casting\r\n * numbers into strings, removing keys with an undefined value and replacing\r\n * undefined with null in arrays\r\n *\r\n * @param query - query object to normalize\r\n * @returns a normalized query object\r\n */\r\nfunction normalizeQuery(query) {\r\n const normalizedQuery = {};\r\n for (const key in query) {\r\n const value = query[key];\r\n if (value !== undefined) {\r\n normalizedQuery[key] = isArray(value)\r\n ? value.map(v => (v == null ? null : '' + v))\r\n : value == null\r\n ? value\r\n : '' + value;\r\n }\r\n }\r\n return normalizedQuery;\r\n}\n\n/**\r\n * RouteRecord being rendered by the closest ancestor Router View. Used for\r\n * `onBeforeRouteUpdate` and `onBeforeRouteLeave`. rvlm stands for Router View\r\n * Location Matched\r\n *\r\n * @internal\r\n */\r\nconst matchedRouteKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location matched' : '');\r\n/**\r\n * Allows overriding the router view depth to control which component in\r\n * `matched` is rendered. rvd stands for Router View Depth\r\n *\r\n * @internal\r\n */\r\nconst viewDepthKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view depth' : '');\r\n/**\r\n * Allows overriding the router instance returned by `useRouter` in tests. r\r\n * stands for router\r\n *\r\n * @internal\r\n */\r\nconst routerKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router' : '');\r\n/**\r\n * Allows overriding the current route returned by `useRoute` in tests. rl\r\n * stands for route location\r\n *\r\n * @internal\r\n */\r\nconst routeLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'route location' : '');\r\n/**\r\n * Allows overriding the current route used by router-view. Internally this is\r\n * used when the `route` prop is passed.\r\n *\r\n * @internal\r\n */\r\nconst routerViewLocationKey = Symbol((process.env.NODE_ENV !== 'production') ? 'router view location' : '');\n\n/**\r\n * Create a list of callbacks that can be reset. Used to create before and after navigation guards list\r\n */\r\nfunction useCallbacks() {\r\n let handlers = [];\r\n function add(handler) {\r\n handlers.push(handler);\r\n return () => {\r\n const i = handlers.indexOf(handler);\r\n if (i > -1)\r\n handlers.splice(i, 1);\r\n };\r\n }\r\n function reset() {\r\n handlers = [];\r\n }\r\n return {\r\n add,\r\n list: () => handlers,\r\n reset,\r\n };\r\n}\n\nfunction registerGuard(record, name, guard) {\r\n const removeFromList = () => {\r\n record[name].delete(guard);\r\n };\r\n onUnmounted(removeFromList);\r\n onDeactivated(removeFromList);\r\n onActivated(() => {\r\n record[name].add(guard);\r\n });\r\n record[name].add(guard);\r\n}\r\n/**\r\n * Add a navigation guard that triggers whenever the component for the current\r\n * location is about to be left. Similar to {@link beforeRouteLeave} but can be\r\n * used in any component. The guard is removed when the component is unmounted.\r\n *\r\n * @param leaveGuard - {@link NavigationGuard}\r\n */\r\nfunction onBeforeRouteLeave(leaveGuard) {\r\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\r\n warn('getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function');\r\n return;\r\n }\r\n const activeRecord = inject(matchedRouteKey, \r\n // to avoid warning\r\n {}).value;\r\n if (!activeRecord) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn('No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\r\n return;\r\n }\r\n registerGuard(activeRecord, 'leaveGuards', leaveGuard);\r\n}\r\n/**\r\n * Add a navigation guard that triggers whenever the current location is about\r\n * to be updated. Similar to {@link beforeRouteUpdate} but can be used in any\r\n * component. The guard is removed when the component is unmounted.\r\n *\r\n * @param updateGuard - {@link NavigationGuard}\r\n */\r\nfunction onBeforeRouteUpdate(updateGuard) {\r\n if ((process.env.NODE_ENV !== 'production') && !getCurrentInstance()) {\r\n warn('getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function');\r\n return;\r\n }\r\n const activeRecord = inject(matchedRouteKey, \r\n // to avoid warning\r\n {}).value;\r\n if (!activeRecord) {\r\n (process.env.NODE_ENV !== 'production') &&\r\n warn('No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?');\r\n return;\r\n }\r\n registerGuard(activeRecord, 'updateGuards', updateGuard);\r\n}\r\nfunction guardToPromiseFn(guard, to, from, record, name) {\r\n // keep a reference to the enterCallbackArray to prevent pushing callbacks if a new navigation took place\r\n const enterCallbackArray = record &&\r\n // name is defined if record is because of the function overload\r\n (record.enterCallbacks[name] = record.enterCallbacks[name] || []);\r\n return () => new Promise((resolve, reject) => {\r\n const next = (valid) => {\r\n if (valid === false) {\r\n reject(createRouterError(4 /* ErrorTypes.NAVIGATION_ABORTED */, {\r\n from,\r\n to,\r\n }));\r\n }\r\n else if (valid instanceof Error) {\r\n reject(valid);\r\n }\r\n else if (isRouteLocation(valid)) {\r\n reject(createRouterError(2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */, {\r\n from: to,\r\n to: valid,\r\n }));\r\n }\r\n else {\r\n if (enterCallbackArray &&\r\n // since enterCallbackArray is truthy, both record and name also are\r\n record.enterCallbacks[name] === enterCallbackArray &&\r\n typeof valid === 'function') {\r\n enterCallbackArray.push(valid);\r\n }\r\n resolve();\r\n }\r\n };\r\n // wrapping with Promise.resolve allows it to work with both async and sync guards\r\n const guardReturn = guard.call(record && record.instances[name], to, from, (process.env.NODE_ENV !== 'production') ? canOnlyBeCalledOnce(next, to, from) : next);\r\n let guardCall = Promise.resolve(guardReturn);\r\n if (guard.length < 3)\r\n guardCall = guardCall.then(next);\r\n if ((process.env.NODE_ENV !== 'production') && guard.length > 2) {\r\n const message = `The \"next\" callback was never called inside of ${guard.name ? '\"' + guard.name + '\"' : ''}:\\n${guard.toString()}\\n. If you are returning a value instead of calling \"next\", make sure to remove the \"next\" parameter from your function.`;\r\n if (typeof guardReturn === 'object' && 'then' in guardReturn) {\r\n guardCall = guardCall.then(resolvedValue => {\r\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\r\n if (!next._called) {\r\n warn(message);\r\n return Promise.reject(new Error('Invalid navigation guard'));\r\n }\r\n return resolvedValue;\r\n });\r\n }\r\n else if (guardReturn !== undefined) {\r\n // @ts-expect-error: _called is added at canOnlyBeCalledOnce\r\n if (!next._called) {\r\n warn(message);\r\n reject(new Error('Invalid navigation guard'));\r\n return;\r\n }\r\n }\r\n }\r\n guardCall.catch(err => reject(err));\r\n });\r\n}\r\nfunction canOnlyBeCalledOnce(next, to, from) {\r\n let called = 0;\r\n return function () {\r\n if (called++ === 1)\r\n warn(`The \"next\" callback was called more than once in one navigation guard when going from \"${from.fullPath}\" to \"${to.fullPath}\". It should be called exactly one time in each navigation guard. This will fail in production.`);\r\n // @ts-expect-error: we put it in the original one because it's easier to check\r\n next._called = true;\r\n if (called === 1)\r\n next.apply(null, arguments);\r\n };\r\n}\r\nfunction extractComponentsGuards(matched, guardType, to, from) {\r\n const guards = [];\r\n for (const record of matched) {\r\n if ((process.env.NODE_ENV !== 'production') && !record.components && !record.children.length) {\r\n warn(`Record with path \"${record.path}\" is either missing a \"component(s)\"` +\r\n ` or \"children\" property.`);\r\n }\r\n for (const name in record.components) {\r\n let rawComponent = record.components[name];\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (!rawComponent ||\r\n (typeof rawComponent !== 'object' &&\r\n typeof rawComponent !== 'function')) {\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is not` +\r\n ` a valid component. Received \"${String(rawComponent)}\".`);\r\n // throw to ensure we stop here but warn to ensure the message isn't\r\n // missed by the user\r\n throw new Error('Invalid route component');\r\n }\r\n else if ('then' in rawComponent) {\r\n // warn if user wrote import('/component.vue') instead of () =>\r\n // import('./component.vue')\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a ` +\r\n `Promise instead of a function that returns a Promise. Did you ` +\r\n `write \"import('./MyPage.vue')\" instead of ` +\r\n `\"() => import('./MyPage.vue')\" ? This will break in ` +\r\n `production if not fixed.`);\r\n const promise = rawComponent;\r\n rawComponent = () => promise;\r\n }\r\n else if (rawComponent.__asyncLoader &&\r\n // warn only once per component\r\n !rawComponent.__warnedDefineAsync) {\r\n rawComponent.__warnedDefineAsync = true;\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is defined ` +\r\n `using \"defineAsyncComponent()\". ` +\r\n `Write \"() => import('./MyPage.vue')\" instead of ` +\r\n `\"defineAsyncComponent(() => import('./MyPage.vue'))\".`);\r\n }\r\n }\r\n // skip update and leave guards if the route component is not mounted\r\n if (guardType !== 'beforeRouteEnter' && !record.instances[name])\r\n continue;\r\n if (isRouteComponent(rawComponent)) {\r\n // __vccOpts is added by vue-class-component and contain the regular options\r\n const options = rawComponent.__vccOpts || rawComponent;\r\n const guard = options[guardType];\r\n guard && guards.push(guardToPromiseFn(guard, to, from, record, name));\r\n }\r\n else {\r\n // start requesting the chunk already\r\n let componentPromise = rawComponent();\r\n if ((process.env.NODE_ENV !== 'production') && !('catch' in componentPromise)) {\r\n warn(`Component \"${name}\" in record with path \"${record.path}\" is a function that does not return a Promise. If you were passing a functional component, make sure to add a \"displayName\" to the component. This will break in production if not fixed.`);\r\n componentPromise = Promise.resolve(componentPromise);\r\n }\r\n guards.push(() => componentPromise.then(resolved => {\r\n if (!resolved)\r\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\"`));\r\n const resolvedComponent = isESModule(resolved)\r\n ? resolved.default\r\n : resolved;\r\n // replace the function with the resolved component\r\n // cannot be null or undefined because we went into the for loop\r\n record.components[name] = resolvedComponent;\r\n // __vccOpts is added by vue-class-component and contain the regular options\r\n const options = resolvedComponent.__vccOpts || resolvedComponent;\r\n const guard = options[guardType];\r\n return guard && guardToPromiseFn(guard, to, from, record, name)();\r\n }));\r\n }\r\n }\r\n }\r\n return guards;\r\n}\r\n/**\r\n * Allows differentiating lazy components from functional components and vue-class-component\r\n * @internal\r\n *\r\n * @param component\r\n */\r\nfunction isRouteComponent(component) {\r\n return (typeof component === 'object' ||\r\n 'displayName' in component ||\r\n 'props' in component ||\r\n '__vccOpts' in component);\r\n}\r\n/**\r\n * Ensures a route is loaded, so it can be passed as o prop to ``.\r\n *\r\n * @param route - resolved route to load\r\n */\r\nfunction loadRouteLocation(route) {\r\n return route.matched.every(record => record.redirect)\r\n ? Promise.reject(new Error('Cannot load a route that redirects.'))\r\n : Promise.all(route.matched.map(record => record.components &&\r\n Promise.all(Object.keys(record.components).reduce((promises, name) => {\r\n const rawComponent = record.components[name];\r\n if (typeof rawComponent === 'function' &&\r\n !('displayName' in rawComponent)) {\r\n promises.push(rawComponent().then(resolved => {\r\n if (!resolved)\r\n return Promise.reject(new Error(`Couldn't resolve component \"${name}\" at \"${record.path}\". Ensure you passed a function that returns a promise.`));\r\n const resolvedComponent = isESModule(resolved)\r\n ? resolved.default\r\n : resolved;\r\n // replace the function with the resolved component\r\n // cannot be null or undefined because we went into the for loop\r\n record.components[name] = resolvedComponent;\r\n return;\r\n }));\r\n }\r\n return promises;\r\n }, [])))).then(() => route);\r\n}\n\n// TODO: we could allow currentRoute as a prop to expose `isActive` and\r\n// `isExactActive` behavior should go through an RFC\r\nfunction useLink(props) {\r\n const router = inject(routerKey);\r\n const currentRoute = inject(routeLocationKey);\r\n const route = computed(() => router.resolve(unref(props.to)));\r\n const activeRecordIndex = computed(() => {\r\n const { matched } = route.value;\r\n const { length } = matched;\r\n const routeMatched = matched[length - 1];\r\n const currentMatched = currentRoute.matched;\r\n if (!routeMatched || !currentMatched.length)\r\n return -1;\r\n const index = currentMatched.findIndex(isSameRouteRecord.bind(null, routeMatched));\r\n if (index > -1)\r\n return index;\r\n // possible parent record\r\n const parentRecordPath = getOriginalPath(matched[length - 2]);\r\n return (\r\n // we are dealing with nested routes\r\n length > 1 &&\r\n // if the parent and matched route have the same path, this link is\r\n // referring to the empty child. Or we currently are on a different\r\n // child of the same parent\r\n getOriginalPath(routeMatched) === parentRecordPath &&\r\n // avoid comparing the child with its parent\r\n currentMatched[currentMatched.length - 1].path !== parentRecordPath\r\n ? currentMatched.findIndex(isSameRouteRecord.bind(null, matched[length - 2]))\r\n : index);\r\n });\r\n const isActive = computed(() => activeRecordIndex.value > -1 &&\r\n includesParams(currentRoute.params, route.value.params));\r\n const isExactActive = computed(() => activeRecordIndex.value > -1 &&\r\n activeRecordIndex.value === currentRoute.matched.length - 1 &&\r\n isSameRouteLocationParams(currentRoute.params, route.value.params));\r\n function navigate(e = {}) {\r\n if (guardEvent(e)) {\r\n return router[unref(props.replace) ? 'replace' : 'push'](unref(props.to)\r\n // avoid uncaught errors are they are logged anyway\r\n ).catch(noop);\r\n }\r\n return Promise.resolve();\r\n }\r\n // devtools only\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\r\n const instance = getCurrentInstance();\r\n if (instance) {\r\n const linkContextDevtools = {\r\n route: route.value,\r\n isActive: isActive.value,\r\n isExactActive: isExactActive.value,\r\n };\r\n // @ts-expect-error: this is internal\r\n instance.__vrl_devtools = instance.__vrl_devtools || [];\r\n // @ts-expect-error: this is internal\r\n instance.__vrl_devtools.push(linkContextDevtools);\r\n watchEffect(() => {\r\n linkContextDevtools.route = route.value;\r\n linkContextDevtools.isActive = isActive.value;\r\n linkContextDevtools.isExactActive = isExactActive.value;\r\n }, { flush: 'post' });\r\n }\r\n }\r\n /**\r\n * NOTE: update {@link _RouterLinkI}'s `$slots` type when updating this\r\n */\r\n return {\r\n route,\r\n href: computed(() => route.value.href),\r\n isActive,\r\n isExactActive,\r\n navigate,\r\n };\r\n}\r\nconst RouterLinkImpl = /*#__PURE__*/ defineComponent({\r\n name: 'RouterLink',\r\n compatConfig: { MODE: 3 },\r\n props: {\r\n to: {\r\n type: [String, Object],\r\n required: true,\r\n },\r\n replace: Boolean,\r\n activeClass: String,\r\n // inactiveClass: String,\r\n exactActiveClass: String,\r\n custom: Boolean,\r\n ariaCurrentValue: {\r\n type: String,\r\n default: 'page',\r\n },\r\n },\r\n useLink,\r\n setup(props, { slots }) {\r\n const link = reactive(useLink(props));\r\n const { options } = inject(routerKey);\r\n const elClass = computed(() => ({\r\n [getLinkClass(props.activeClass, options.linkActiveClass, 'router-link-active')]: link.isActive,\r\n // [getLinkClass(\r\n // props.inactiveClass,\r\n // options.linkInactiveClass,\r\n // 'router-link-inactive'\r\n // )]: !link.isExactActive,\r\n [getLinkClass(props.exactActiveClass, options.linkExactActiveClass, 'router-link-exact-active')]: link.isExactActive,\r\n }));\r\n return () => {\r\n const children = slots.default && slots.default(link);\r\n return props.custom\r\n ? children\r\n : h('a', {\r\n 'aria-current': link.isExactActive\r\n ? props.ariaCurrentValue\r\n : null,\r\n href: link.href,\r\n // this would override user added attrs but Vue will still add\r\n // the listener, so we end up triggering both\r\n onClick: link.navigate,\r\n class: elClass.value,\r\n }, children);\r\n };\r\n },\r\n});\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\n/**\r\n * Component to render a link that triggers a navigation on click.\r\n */\r\nconst RouterLink = RouterLinkImpl;\r\nfunction guardEvent(e) {\r\n // don't redirect with control keys\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)\r\n return;\r\n // don't redirect when preventDefault called\r\n if (e.defaultPrevented)\r\n return;\r\n // don't redirect on right click\r\n if (e.button !== undefined && e.button !== 0)\r\n return;\r\n // don't redirect if `target=\"_blank\"`\r\n // @ts-expect-error getAttribute does exist\r\n if (e.currentTarget && e.currentTarget.getAttribute) {\r\n // @ts-expect-error getAttribute exists\r\n const target = e.currentTarget.getAttribute('target');\r\n if (/\\b_blank\\b/i.test(target))\r\n return;\r\n }\r\n // this may be a Weex event which doesn't have this method\r\n if (e.preventDefault)\r\n e.preventDefault();\r\n return true;\r\n}\r\nfunction includesParams(outer, inner) {\r\n for (const key in inner) {\r\n const innerValue = inner[key];\r\n const outerValue = outer[key];\r\n if (typeof innerValue === 'string') {\r\n if (innerValue !== outerValue)\r\n return false;\r\n }\r\n else {\r\n if (!isArray(outerValue) ||\r\n outerValue.length !== innerValue.length ||\r\n innerValue.some((value, i) => value !== outerValue[i]))\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Get the original path value of a record by following its aliasOf\r\n * @param record\r\n */\r\nfunction getOriginalPath(record) {\r\n return record ? (record.aliasOf ? record.aliasOf.path : record.path) : '';\r\n}\r\n/**\r\n * Utility class to get the active class based on defaults.\r\n * @param propClass\r\n * @param globalClass\r\n * @param defaultClass\r\n */\r\nconst getLinkClass = (propClass, globalClass, defaultClass) => propClass != null\r\n ? propClass\r\n : globalClass != null\r\n ? globalClass\r\n : defaultClass;\n\nconst RouterViewImpl = /*#__PURE__*/ defineComponent({\r\n name: 'RouterView',\r\n // #674 we manually inherit them\r\n inheritAttrs: false,\r\n props: {\r\n name: {\r\n type: String,\r\n default: 'default',\r\n },\r\n route: Object,\r\n },\r\n // Better compat for @vue/compat users\r\n // https://github.com/vuejs/router/issues/1315\r\n compatConfig: { MODE: 3 },\r\n setup(props, { attrs, slots }) {\r\n (process.env.NODE_ENV !== 'production') && warnDeprecatedUsage();\r\n const injectedRoute = inject(routerViewLocationKey);\r\n const routeToDisplay = computed(() => props.route || injectedRoute.value);\r\n const injectedDepth = inject(viewDepthKey, 0);\r\n // The depth changes based on empty components option, which allows passthrough routes e.g. routes with children\r\n // that are used to reuse the `path` property\r\n const depth = computed(() => {\r\n let initialDepth = unref(injectedDepth);\r\n const { matched } = routeToDisplay.value;\r\n let matchedRoute;\r\n while ((matchedRoute = matched[initialDepth]) &&\r\n !matchedRoute.components) {\r\n initialDepth++;\r\n }\r\n return initialDepth;\r\n });\r\n const matchedRouteRef = computed(() => routeToDisplay.value.matched[depth.value]);\r\n provide(viewDepthKey, computed(() => depth.value + 1));\r\n provide(matchedRouteKey, matchedRouteRef);\r\n provide(routerViewLocationKey, routeToDisplay);\r\n const viewRef = ref();\r\n // watch at the same time the component instance, the route record we are\r\n // rendering, and the name\r\n watch(() => [viewRef.value, matchedRouteRef.value, props.name], ([instance, to, name], [oldInstance, from, oldName]) => {\r\n // copy reused instances\r\n if (to) {\r\n // this will update the instance for new instances as well as reused\r\n // instances when navigating to a new route\r\n to.instances[name] = instance;\r\n // the component instance is reused for a different route or name, so\r\n // we copy any saved update or leave guards. With async setup, the\r\n // mounting component will mount before the matchedRoute changes,\r\n // making instance === oldInstance, so we check if guards have been\r\n // added before. This works because we remove guards when\r\n // unmounting/deactivating components\r\n if (from && from !== to && instance && instance === oldInstance) {\r\n if (!to.leaveGuards.size) {\r\n to.leaveGuards = from.leaveGuards;\r\n }\r\n if (!to.updateGuards.size) {\r\n to.updateGuards = from.updateGuards;\r\n }\r\n }\r\n }\r\n // trigger beforeRouteEnter next callbacks\r\n if (instance &&\r\n to &&\r\n // if there is no instance but to and from are the same this might be\r\n // the first visit\r\n (!from || !isSameRouteRecord(to, from) || !oldInstance)) {\r\n (to.enterCallbacks[name] || []).forEach(callback => callback(instance));\r\n }\r\n }, { flush: 'post' });\r\n return () => {\r\n const route = routeToDisplay.value;\r\n // we need the value at the time we render because when we unmount, we\r\n // navigated to a different location so the value is different\r\n const currentName = props.name;\r\n const matchedRoute = matchedRouteRef.value;\r\n const ViewComponent = matchedRoute && matchedRoute.components[currentName];\r\n if (!ViewComponent) {\r\n return normalizeSlot(slots.default, { Component: ViewComponent, route });\r\n }\r\n // props from route configuration\r\n const routePropsOption = matchedRoute.props[currentName];\r\n const routeProps = routePropsOption\r\n ? routePropsOption === true\r\n ? route.params\r\n : typeof routePropsOption === 'function'\r\n ? routePropsOption(route)\r\n : routePropsOption\r\n : null;\r\n const onVnodeUnmounted = vnode => {\r\n // remove the instance reference to prevent leak\r\n if (vnode.component.isUnmounted) {\r\n matchedRoute.instances[currentName] = null;\r\n }\r\n };\r\n const component = h(ViewComponent, assign({}, routeProps, attrs, {\r\n onVnodeUnmounted,\r\n ref: viewRef,\r\n }));\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\r\n isBrowser &&\r\n component.ref) {\r\n // TODO: can display if it's an alias, its props\r\n const info = {\r\n depth: depth.value,\r\n name: matchedRoute.name,\r\n path: matchedRoute.path,\r\n meta: matchedRoute.meta,\r\n };\r\n const internalInstances = isArray(component.ref)\r\n ? component.ref.map(r => r.i)\r\n : [component.ref.i];\r\n internalInstances.forEach(instance => {\r\n // @ts-expect-error\r\n instance.__vrv_devtools = info;\r\n });\r\n }\r\n return (\r\n // pass the vnode to the slot as a prop.\r\n // h and both accept vnodes\r\n normalizeSlot(slots.default, { Component: component, route }) ||\r\n component);\r\n };\r\n },\r\n});\r\nfunction normalizeSlot(slot, data) {\r\n if (!slot)\r\n return null;\r\n const slotContent = slot(data);\r\n return slotContent.length === 1 ? slotContent[0] : slotContent;\r\n}\r\n// export the public type for h/tsx inference\r\n// also to avoid inline import() in generated d.ts files\r\n/**\r\n * Component to display the current route the user is at.\r\n */\r\nconst RouterView = RouterViewImpl;\r\n// warn against deprecated usage with & \r\n// due to functional component being no longer eager in Vue 3\r\nfunction warnDeprecatedUsage() {\r\n const instance = getCurrentInstance();\r\n const parentName = instance.parent && instance.parent.type.name;\r\n if (parentName &&\r\n (parentName === 'KeepAlive' || parentName.includes('Transition'))) {\r\n const comp = parentName === 'KeepAlive' ? 'keep-alive' : 'transition';\r\n warn(` can no longer be used directly inside or .\\n` +\r\n `Use slot props instead:\\n\\n` +\r\n `\\n` +\r\n ` <${comp}>\\n` +\r\n ` \\n` +\r\n ` \\n` +\r\n ``);\r\n }\r\n}\n\n/**\r\n * Copies a route location and removes any problematic properties that cannot be shown in devtools (e.g. Vue instances).\r\n *\r\n * @param routeLocation - routeLocation to format\r\n * @param tooltip - optional tooltip\r\n * @returns a copy of the routeLocation\r\n */\r\nfunction formatRouteLocation(routeLocation, tooltip) {\r\n const copy = assign({}, routeLocation, {\r\n // remove variables that can contain vue instances\r\n matched: routeLocation.matched.map(matched => omit(matched, ['instances', 'children', 'aliasOf'])),\r\n });\r\n return {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: routeLocation.fullPath,\r\n tooltip,\r\n value: copy,\r\n },\r\n };\r\n}\r\nfunction formatDisplay(display) {\r\n return {\r\n _custom: {\r\n display,\r\n },\r\n };\r\n}\r\n// to support multiple router instances\r\nlet routerId = 0;\r\nfunction addDevtools(app, router, matcher) {\r\n // Take over router.beforeEach and afterEach\r\n // make sure we are not registering the devtool twice\r\n if (router.__hasDevtools)\r\n return;\r\n router.__hasDevtools = true;\r\n // increment to support multiple router instances\r\n const id = routerId++;\r\n setupDevtoolsPlugin({\r\n id: 'org.vuejs.router' + (id ? '.' + id : ''),\r\n label: 'Vue Router',\r\n packageName: 'vue-router',\r\n homepage: 'https://router.vuejs.org',\r\n logo: 'https://router.vuejs.org/logo.png',\r\n componentStateTypes: ['Routing'],\r\n app,\r\n }, api => {\r\n if (typeof api.now !== 'function') {\r\n console.warn('[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html.');\r\n }\r\n // display state added by the router\r\n api.on.inspectComponent((payload, ctx) => {\r\n if (payload.instanceData) {\r\n payload.instanceData.state.push({\r\n type: 'Routing',\r\n key: '$route',\r\n editable: false,\r\n value: formatRouteLocation(router.currentRoute.value, 'Current Route'),\r\n });\r\n }\r\n });\r\n // mark router-link as active and display tags on router views\r\n api.on.visitComponentTree(({ treeNode: node, componentInstance }) => {\r\n if (componentInstance.__vrv_devtools) {\r\n const info = componentInstance.__vrv_devtools;\r\n node.tags.push({\r\n label: (info.name ? `${info.name.toString()}: ` : '') + info.path,\r\n textColor: 0,\r\n tooltip: 'This component is rendered by <router-view>',\r\n backgroundColor: PINK_500,\r\n });\r\n }\r\n // if multiple useLink are used\r\n if (isArray(componentInstance.__vrl_devtools)) {\r\n componentInstance.__devtoolsApi = api;\r\n componentInstance.__vrl_devtools.forEach(devtoolsData => {\r\n let backgroundColor = ORANGE_400;\r\n let tooltip = '';\r\n if (devtoolsData.isExactActive) {\r\n backgroundColor = LIME_500;\r\n tooltip = 'This is exactly active';\r\n }\r\n else if (devtoolsData.isActive) {\r\n backgroundColor = BLUE_600;\r\n tooltip = 'This link is active';\r\n }\r\n node.tags.push({\r\n label: devtoolsData.route.path,\r\n textColor: 0,\r\n tooltip,\r\n backgroundColor,\r\n });\r\n });\r\n }\r\n });\r\n watch(router.currentRoute, () => {\r\n // refresh active state\r\n refreshRoutesView();\r\n api.notifyComponentUpdate();\r\n api.sendInspectorTree(routerInspectorId);\r\n api.sendInspectorState(routerInspectorId);\r\n });\r\n const navigationsLayerId = 'router:navigations:' + id;\r\n api.addTimelineLayer({\r\n id: navigationsLayerId,\r\n label: `Router${id ? ' ' + id : ''} Navigations`,\r\n color: 0x40a8c4,\r\n });\r\n // const errorsLayerId = 'router:errors'\r\n // api.addTimelineLayer({\r\n // id: errorsLayerId,\r\n // label: 'Router Errors',\r\n // color: 0xea5455,\r\n // })\r\n router.onError((error, to) => {\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n title: 'Error during Navigation',\r\n subtitle: to.fullPath,\r\n logType: 'error',\r\n time: api.now(),\r\n data: { error },\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n // attached to `meta` and used to group events\r\n let navigationId = 0;\r\n router.beforeEach((to, from) => {\r\n const data = {\r\n guard: formatDisplay('beforeEach'),\r\n from: formatRouteLocation(from, 'Current Location during this navigation'),\r\n to: formatRouteLocation(to, 'Target location'),\r\n };\r\n // Used to group navigations together, hide from devtools\r\n Object.defineProperty(to.meta, '__navigationId', {\r\n value: navigationId++,\r\n });\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n time: api.now(),\r\n title: 'Start of navigation',\r\n subtitle: to.fullPath,\r\n data,\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n router.afterEach((to, from, failure) => {\r\n const data = {\r\n guard: formatDisplay('afterEach'),\r\n };\r\n if (failure) {\r\n data.failure = {\r\n _custom: {\r\n type: Error,\r\n readOnly: true,\r\n display: failure ? failure.message : '',\r\n tooltip: 'Navigation Failure',\r\n value: failure,\r\n },\r\n };\r\n data.status = formatDisplay('❌');\r\n }\r\n else {\r\n data.status = formatDisplay('✅');\r\n }\r\n // we set here to have the right order\r\n data.from = formatRouteLocation(from, 'Current Location during this navigation');\r\n data.to = formatRouteLocation(to, 'Target location');\r\n api.addTimelineEvent({\r\n layerId: navigationsLayerId,\r\n event: {\r\n title: 'End of navigation',\r\n subtitle: to.fullPath,\r\n time: api.now(),\r\n data,\r\n logType: failure ? 'warning' : 'default',\r\n groupId: to.meta.__navigationId,\r\n },\r\n });\r\n });\r\n /**\r\n * Inspector of Existing routes\r\n */\r\n const routerInspectorId = 'router-inspector:' + id;\r\n api.addInspector({\r\n id: routerInspectorId,\r\n label: 'Routes' + (id ? ' ' + id : ''),\r\n icon: 'book',\r\n treeFilterPlaceholder: 'Search routes',\r\n });\r\n function refreshRoutesView() {\r\n // the routes view isn't active\r\n if (!activeRoutesPayload)\r\n return;\r\n const payload = activeRoutesPayload;\r\n // children routes will appear as nested\r\n let routes = matcher.getRoutes().filter(route => !route.parent);\r\n // reset match state to false\r\n routes.forEach(resetMatchStateOnRouteRecord);\r\n // apply a match state if there is a payload\r\n if (payload.filter) {\r\n routes = routes.filter(route => \r\n // save matches state based on the payload\r\n isRouteMatching(route, payload.filter.toLowerCase()));\r\n }\r\n // mark active routes\r\n routes.forEach(route => markRouteRecordActive(route, router.currentRoute.value));\r\n payload.rootNodes = routes.map(formatRouteRecordForInspector);\r\n }\r\n let activeRoutesPayload;\r\n api.on.getInspectorTree(payload => {\r\n activeRoutesPayload = payload;\r\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\r\n refreshRoutesView();\r\n }\r\n });\r\n /**\r\n * Display information about the currently selected route record\r\n */\r\n api.on.getInspectorState(payload => {\r\n if (payload.app === app && payload.inspectorId === routerInspectorId) {\r\n const routes = matcher.getRoutes();\r\n const route = routes.find(route => route.record.__vd_id === payload.nodeId);\r\n if (route) {\r\n payload.state = {\r\n options: formatRouteRecordMatcherForStateInspector(route),\r\n };\r\n }\r\n }\r\n });\r\n api.sendInspectorTree(routerInspectorId);\r\n api.sendInspectorState(routerInspectorId);\r\n });\r\n}\r\nfunction modifierForKey(key) {\r\n if (key.optional) {\r\n return key.repeatable ? '*' : '?';\r\n }\r\n else {\r\n return key.repeatable ? '+' : '';\r\n }\r\n}\r\nfunction formatRouteRecordMatcherForStateInspector(route) {\r\n const { record } = route;\r\n const fields = [\r\n { editable: false, key: 'path', value: record.path },\r\n ];\r\n if (record.name != null) {\r\n fields.push({\r\n editable: false,\r\n key: 'name',\r\n value: record.name,\r\n });\r\n }\r\n fields.push({ editable: false, key: 'regexp', value: route.re });\r\n if (route.keys.length) {\r\n fields.push({\r\n editable: false,\r\n key: 'keys',\r\n value: {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: route.keys\r\n .map(key => `${key.name}${modifierForKey(key)}`)\r\n .join(' '),\r\n tooltip: 'Param keys',\r\n value: route.keys,\r\n },\r\n },\r\n });\r\n }\r\n if (record.redirect != null) {\r\n fields.push({\r\n editable: false,\r\n key: 'redirect',\r\n value: record.redirect,\r\n });\r\n }\r\n if (route.alias.length) {\r\n fields.push({\r\n editable: false,\r\n key: 'aliases',\r\n value: route.alias.map(alias => alias.record.path),\r\n });\r\n }\r\n if (Object.keys(route.record.meta).length) {\r\n fields.push({\r\n editable: false,\r\n key: 'meta',\r\n value: route.record.meta,\r\n });\r\n }\r\n fields.push({\r\n key: 'score',\r\n editable: false,\r\n value: {\r\n _custom: {\r\n type: null,\r\n readOnly: true,\r\n display: route.score.map(score => score.join(', ')).join(' | '),\r\n tooltip: 'Score used to sort routes',\r\n value: route.score,\r\n },\r\n },\r\n });\r\n return fields;\r\n}\r\n/**\r\n * Extracted from tailwind palette\r\n */\r\nconst PINK_500 = 0xec4899;\r\nconst BLUE_600 = 0x2563eb;\r\nconst LIME_500 = 0x84cc16;\r\nconst CYAN_400 = 0x22d3ee;\r\nconst ORANGE_400 = 0xfb923c;\r\n// const GRAY_100 = 0xf4f4f5\r\nconst DARK = 0x666666;\r\nfunction formatRouteRecordForInspector(route) {\r\n const tags = [];\r\n const { record } = route;\r\n if (record.name != null) {\r\n tags.push({\r\n label: String(record.name),\r\n textColor: 0,\r\n backgroundColor: CYAN_400,\r\n });\r\n }\r\n if (record.aliasOf) {\r\n tags.push({\r\n label: 'alias',\r\n textColor: 0,\r\n backgroundColor: ORANGE_400,\r\n });\r\n }\r\n if (route.__vd_match) {\r\n tags.push({\r\n label: 'matches',\r\n textColor: 0,\r\n backgroundColor: PINK_500,\r\n });\r\n }\r\n if (route.__vd_exactActive) {\r\n tags.push({\r\n label: 'exact',\r\n textColor: 0,\r\n backgroundColor: LIME_500,\r\n });\r\n }\r\n if (route.__vd_active) {\r\n tags.push({\r\n label: 'active',\r\n textColor: 0,\r\n backgroundColor: BLUE_600,\r\n });\r\n }\r\n if (record.redirect) {\r\n tags.push({\r\n label: typeof record.redirect === 'string'\r\n ? `redirect: ${record.redirect}`\r\n : 'redirects',\r\n textColor: 0xffffff,\r\n backgroundColor: DARK,\r\n });\r\n }\r\n // add an id to be able to select it. Using the `path` is not possible because\r\n // empty path children would collide with their parents\r\n let id = record.__vd_id;\r\n if (id == null) {\r\n id = String(routeRecordId++);\r\n record.__vd_id = id;\r\n }\r\n return {\r\n id,\r\n label: record.path,\r\n tags,\r\n children: route.children.map(formatRouteRecordForInspector),\r\n };\r\n}\r\n// incremental id for route records and inspector state\r\nlet routeRecordId = 0;\r\nconst EXTRACT_REGEXP_RE = /^\\/(.*)\\/([a-z]*)$/;\r\nfunction markRouteRecordActive(route, currentRoute) {\r\n // no route will be active if matched is empty\r\n // reset the matching state\r\n const isExactActive = currentRoute.matched.length &&\r\n isSameRouteRecord(currentRoute.matched[currentRoute.matched.length - 1], route.record);\r\n route.__vd_exactActive = route.__vd_active = isExactActive;\r\n if (!isExactActive) {\r\n route.__vd_active = currentRoute.matched.some(match => isSameRouteRecord(match, route.record));\r\n }\r\n route.children.forEach(childRoute => markRouteRecordActive(childRoute, currentRoute));\r\n}\r\nfunction resetMatchStateOnRouteRecord(route) {\r\n route.__vd_match = false;\r\n route.children.forEach(resetMatchStateOnRouteRecord);\r\n}\r\nfunction isRouteMatching(route, filter) {\r\n const found = String(route.re).match(EXTRACT_REGEXP_RE);\r\n route.__vd_match = false;\r\n if (!found || found.length < 3) {\r\n return false;\r\n }\r\n // use a regexp without $ at the end to match nested routes better\r\n const nonEndingRE = new RegExp(found[1].replace(/\\$$/, ''), found[2]);\r\n if (nonEndingRE.test(filter)) {\r\n // mark children as matches\r\n route.children.forEach(child => isRouteMatching(child, filter));\r\n // exception case: `/`\r\n if (route.record.path !== '/' || filter === '/') {\r\n route.__vd_match = route.re.test(filter);\r\n return true;\r\n }\r\n // hide the / route\r\n return false;\r\n }\r\n const path = route.record.path.toLowerCase();\r\n const decodedPath = decode(path);\r\n // also allow partial matching on the path\r\n if (!filter.startsWith('/') &&\r\n (decodedPath.includes(filter) || path.includes(filter)))\r\n return true;\r\n if (decodedPath.startsWith(filter) || path.startsWith(filter))\r\n return true;\r\n if (route.record.name && String(route.record.name).includes(filter))\r\n return true;\r\n return route.children.some(child => isRouteMatching(child, filter));\r\n}\r\nfunction omit(obj, keys) {\r\n const ret = {};\r\n for (const key in obj) {\r\n if (!keys.includes(key)) {\r\n // @ts-expect-error\r\n ret[key] = obj[key];\r\n }\r\n }\r\n return ret;\r\n}\n\n/**\r\n * Creates a Router instance that can be used by a Vue app.\r\n *\r\n * @param options - {@link RouterOptions}\r\n */\r\nfunction createRouter(options) {\r\n const matcher = createRouterMatcher(options.routes, options);\r\n const parseQuery$1 = options.parseQuery || parseQuery;\r\n const stringifyQuery$1 = options.stringifyQuery || stringifyQuery;\r\n const routerHistory = options.history;\r\n if ((process.env.NODE_ENV !== 'production') && !routerHistory)\r\n throw new Error('Provide the \"history\" option when calling \"createRouter()\":' +\r\n ' https://next.router.vuejs.org/api/#history.');\r\n const beforeGuards = useCallbacks();\r\n const beforeResolveGuards = useCallbacks();\r\n const afterGuards = useCallbacks();\r\n const currentRoute = shallowRef(START_LOCATION_NORMALIZED);\r\n let pendingLocation = START_LOCATION_NORMALIZED;\r\n // leave the scrollRestoration if no scrollBehavior is provided\r\n if (isBrowser && options.scrollBehavior && 'scrollRestoration' in history) {\r\n history.scrollRestoration = 'manual';\r\n }\r\n const normalizeParams = applyToParams.bind(null, paramValue => '' + paramValue);\r\n const encodeParams = applyToParams.bind(null, encodeParam);\r\n const decodeParams = \r\n // @ts-expect-error: intentionally avoid the type check\r\n applyToParams.bind(null, decode);\r\n function addRoute(parentOrRoute, route) {\r\n let parent;\r\n let record;\r\n if (isRouteName(parentOrRoute)) {\r\n parent = matcher.getRecordMatcher(parentOrRoute);\r\n record = route;\r\n }\r\n else {\r\n record = parentOrRoute;\r\n }\r\n return matcher.addRoute(record, parent);\r\n }\r\n function removeRoute(name) {\r\n const recordMatcher = matcher.getRecordMatcher(name);\r\n if (recordMatcher) {\r\n matcher.removeRoute(recordMatcher);\r\n }\r\n else if ((process.env.NODE_ENV !== 'production')) {\r\n warn(`Cannot remove non-existent route \"${String(name)}\"`);\r\n }\r\n }\r\n function getRoutes() {\r\n return matcher.getRoutes().map(routeMatcher => routeMatcher.record);\r\n }\r\n function hasRoute(name) {\r\n return !!matcher.getRecordMatcher(name);\r\n }\r\n function resolve(rawLocation, currentLocation) {\r\n // const objectLocation = routerLocationAsObject(rawLocation)\r\n // we create a copy to modify it later\r\n currentLocation = assign({}, currentLocation || currentRoute.value);\r\n if (typeof rawLocation === 'string') {\r\n const locationNormalized = parseURL(parseQuery$1, rawLocation, currentLocation.path);\r\n const matchedRoute = matcher.resolve({ path: locationNormalized.path }, currentLocation);\r\n const href = routerHistory.createHref(locationNormalized.fullPath);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (href.startsWith('//'))\r\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\r\n else if (!matchedRoute.matched.length) {\r\n warn(`No match found for location with path \"${rawLocation}\"`);\r\n }\r\n }\r\n // locationNormalized is always a new object\r\n return assign(locationNormalized, matchedRoute, {\r\n params: decodeParams(matchedRoute.params),\r\n hash: decode(locationNormalized.hash),\r\n redirectedFrom: undefined,\r\n href,\r\n });\r\n }\r\n let matcherLocation;\r\n // path could be relative in object as well\r\n if ('path' in rawLocation) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n 'params' in rawLocation &&\r\n !('name' in rawLocation) &&\r\n // @ts-expect-error: the type is never\r\n Object.keys(rawLocation.params).length) {\r\n warn(`Path \"${\r\n // @ts-expect-error: the type is never\r\n rawLocation.path}\" was passed with params but they will be ignored. Use a named route alongside params instead.`);\r\n }\r\n matcherLocation = assign({}, rawLocation, {\r\n path: parseURL(parseQuery$1, rawLocation.path, currentLocation.path).path,\r\n });\r\n }\r\n else {\r\n // remove any nullish param\r\n const targetParams = assign({}, rawLocation.params);\r\n for (const key in targetParams) {\r\n if (targetParams[key] == null) {\r\n delete targetParams[key];\r\n }\r\n }\r\n // pass encoded values to the matcher, so it can produce encoded path and fullPath\r\n matcherLocation = assign({}, rawLocation, {\r\n params: encodeParams(rawLocation.params),\r\n });\r\n // current location params are decoded, we need to encode them in case the\r\n // matcher merges the params\r\n currentLocation.params = encodeParams(currentLocation.params);\r\n }\r\n const matchedRoute = matcher.resolve(matcherLocation, currentLocation);\r\n const hash = rawLocation.hash || '';\r\n if ((process.env.NODE_ENV !== 'production') && hash && !hash.startsWith('#')) {\r\n warn(`A \\`hash\\` should always start with the character \"#\". Replace \"${hash}\" with \"#${hash}\".`);\r\n }\r\n // the matcher might have merged current location params, so\r\n // we need to run the decoding again\r\n matchedRoute.params = normalizeParams(decodeParams(matchedRoute.params));\r\n const fullPath = stringifyURL(stringifyQuery$1, assign({}, rawLocation, {\r\n hash: encodeHash(hash),\r\n path: matchedRoute.path,\r\n }));\r\n const href = routerHistory.createHref(fullPath);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n if (href.startsWith('//')) {\r\n warn(`Location \"${rawLocation}\" resolved to \"${href}\". A resolved location cannot start with multiple slashes.`);\r\n }\r\n else if (!matchedRoute.matched.length) {\r\n warn(`No match found for location with path \"${'path' in rawLocation ? rawLocation.path : rawLocation}\"`);\r\n }\r\n }\r\n return assign({\r\n fullPath,\r\n // keep the hash encoded so fullPath is effectively path + encodedQuery +\r\n // hash\r\n hash,\r\n query: \r\n // if the user is using a custom query lib like qs, we might have\r\n // nested objects, so we keep the query as is, meaning it can contain\r\n // numbers at `$route.query`, but at the point, the user will have to\r\n // use their own type anyway.\r\n // https://github.com/vuejs/router/issues/328#issuecomment-649481567\r\n stringifyQuery$1 === stringifyQuery\r\n ? normalizeQuery(rawLocation.query)\r\n : (rawLocation.query || {}),\r\n }, matchedRoute, {\r\n redirectedFrom: undefined,\r\n href,\r\n });\r\n }\r\n function locationAsObject(to) {\r\n return typeof to === 'string'\r\n ? parseURL(parseQuery$1, to, currentRoute.value.path)\r\n : assign({}, to);\r\n }\r\n function checkCanceledNavigation(to, from) {\r\n if (pendingLocation !== to) {\r\n return createRouterError(8 /* ErrorTypes.NAVIGATION_CANCELLED */, {\r\n from,\r\n to,\r\n });\r\n }\r\n }\r\n function push(to) {\r\n return pushWithRedirect(to);\r\n }\r\n function replace(to) {\r\n return push(assign(locationAsObject(to), { replace: true }));\r\n }\r\n function handleRedirectRecord(to) {\r\n const lastMatched = to.matched[to.matched.length - 1];\r\n if (lastMatched && lastMatched.redirect) {\r\n const { redirect } = lastMatched;\r\n let newTargetLocation = typeof redirect === 'function' ? redirect(to) : redirect;\r\n if (typeof newTargetLocation === 'string') {\r\n newTargetLocation =\r\n newTargetLocation.includes('?') || newTargetLocation.includes('#')\r\n ? (newTargetLocation = locationAsObject(newTargetLocation))\r\n : // force empty params\r\n { path: newTargetLocation };\r\n // @ts-expect-error: force empty params when a string is passed to let\r\n // the router parse them again\r\n newTargetLocation.params = {};\r\n }\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n !('path' in newTargetLocation) &&\r\n !('name' in newTargetLocation)) {\r\n warn(`Invalid redirect found:\\n${JSON.stringify(newTargetLocation, null, 2)}\\n when navigating to \"${to.fullPath}\". A redirect must contain a name or path. This will break in production.`);\r\n throw new Error('Invalid redirect');\r\n }\r\n return assign({\r\n query: to.query,\r\n hash: to.hash,\r\n // avoid transferring params if the redirect has a path\r\n params: 'path' in newTargetLocation ? {} : to.params,\r\n }, newTargetLocation);\r\n }\r\n }\r\n function pushWithRedirect(to, redirectedFrom) {\r\n const targetLocation = (pendingLocation = resolve(to));\r\n const from = currentRoute.value;\r\n const data = to.state;\r\n const force = to.force;\r\n // to could be a string where `replace` is a function\r\n const replace = to.replace === true;\r\n const shouldRedirect = handleRedirectRecord(targetLocation);\r\n if (shouldRedirect)\r\n return pushWithRedirect(assign(locationAsObject(shouldRedirect), {\r\n state: typeof shouldRedirect === 'object'\r\n ? assign({}, data, shouldRedirect.state)\r\n : data,\r\n force,\r\n replace,\r\n }), \r\n // keep original redirectedFrom if it exists\r\n redirectedFrom || targetLocation);\r\n // if it was a redirect we already called `pushWithRedirect` above\r\n const toLocation = targetLocation;\r\n toLocation.redirectedFrom = redirectedFrom;\r\n let failure;\r\n if (!force && isSameRouteLocation(stringifyQuery$1, from, targetLocation)) {\r\n failure = createRouterError(16 /* ErrorTypes.NAVIGATION_DUPLICATED */, { to: toLocation, from });\r\n // trigger scroll to allow scrolling to the same anchor\r\n handleScroll(from, from, \r\n // this is a push, the only way for it to be triggered from a\r\n // history.listen is with a redirect, which makes it become a push\r\n true, \r\n // This cannot be the first navigation because the initial location\r\n // cannot be manually navigated to\r\n false);\r\n }\r\n return (failure ? Promise.resolve(failure) : navigate(toLocation, from))\r\n .catch((error) => isNavigationFailure(error)\r\n ? // navigation redirects still mark the router as ready\r\n isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)\r\n ? error\r\n : markAsReady(error) // also returns the error\r\n : // reject any unknown error\r\n triggerError(error, toLocation, from))\r\n .then((failure) => {\r\n if (failure) {\r\n if (isNavigationFailure(failure, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n // we are redirecting to the same location we were already at\r\n isSameRouteLocation(stringifyQuery$1, resolve(failure.to), toLocation) &&\r\n // and we have done it a couple of times\r\n redirectedFrom &&\r\n // @ts-expect-error: added only in dev\r\n (redirectedFrom._count = redirectedFrom._count\r\n ? // @ts-expect-error\r\n redirectedFrom._count + 1\r\n : 1) > 10) {\r\n warn(`Detected an infinite redirection in a navigation guard when going from \"${from.fullPath}\" to \"${toLocation.fullPath}\". Aborting to avoid a Stack Overflow. This will break in production if not fixed.`);\r\n return Promise.reject(new Error('Infinite redirect in navigation guard'));\r\n }\r\n return pushWithRedirect(\r\n // keep options\r\n assign({\r\n // preserve an existing replacement but allow the redirect to override it\r\n replace,\r\n }, locationAsObject(failure.to), {\r\n state: typeof failure.to === 'object'\r\n ? assign({}, data, failure.to.state)\r\n : data,\r\n force,\r\n }), \r\n // preserve the original redirectedFrom if any\r\n redirectedFrom || toLocation);\r\n }\r\n }\r\n else {\r\n // if we fail we don't finalize the navigation\r\n failure = finalizeNavigation(toLocation, from, true, replace, data);\r\n }\r\n triggerAfterEach(toLocation, from, failure);\r\n return failure;\r\n });\r\n }\r\n /**\r\n * Helper to reject and skip all navigation guards if a new navigation happened\r\n * @param to\r\n * @param from\r\n */\r\n function checkCanceledNavigationAndReject(to, from) {\r\n const error = checkCanceledNavigation(to, from);\r\n return error ? Promise.reject(error) : Promise.resolve();\r\n }\r\n // TODO: refactor the whole before guards by internally using router.beforeEach\r\n function navigate(to, from) {\r\n let guards;\r\n const [leavingRecords, updatingRecords, enteringRecords] = extractChangingRecords(to, from);\r\n // all components here have been resolved once because we are leaving\r\n guards = extractComponentsGuards(leavingRecords.reverse(), 'beforeRouteLeave', to, from);\r\n // leavingRecords is already reversed\r\n for (const record of leavingRecords) {\r\n record.leaveGuards.forEach(guard => {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n });\r\n }\r\n const canceledNavigationCheck = checkCanceledNavigationAndReject.bind(null, to, from);\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeRouteLeave guards\r\n return (runGuardQueue(guards)\r\n .then(() => {\r\n // check global guards beforeEach\r\n guards = [];\r\n for (const guard of beforeGuards.list()) {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n }\r\n guards.push(canceledNavigationCheck);\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check in components beforeRouteUpdate\r\n guards = extractComponentsGuards(updatingRecords, 'beforeRouteUpdate', to, from);\r\n for (const record of updatingRecords) {\r\n record.updateGuards.forEach(guard => {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n });\r\n }\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check the route beforeEnter\r\n guards = [];\r\n for (const record of to.matched) {\r\n // do not trigger beforeEnter on reused views\r\n if (record.beforeEnter && !from.matched.includes(record)) {\r\n if (isArray(record.beforeEnter)) {\r\n for (const beforeEnter of record.beforeEnter)\r\n guards.push(guardToPromiseFn(beforeEnter, to, from));\r\n }\r\n else {\r\n guards.push(guardToPromiseFn(record.beforeEnter, to, from));\r\n }\r\n }\r\n }\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // NOTE: at this point to.matched is normalized and does not contain any () => Promise\r\n // clear existing enterCallbacks, these are added by extractComponentsGuards\r\n to.matched.forEach(record => (record.enterCallbacks = {}));\r\n // check in-component beforeRouteEnter\r\n guards = extractComponentsGuards(enteringRecords, 'beforeRouteEnter', to, from);\r\n guards.push(canceledNavigationCheck);\r\n // run the queue of per route beforeEnter guards\r\n return runGuardQueue(guards);\r\n })\r\n .then(() => {\r\n // check global guards beforeResolve\r\n guards = [];\r\n for (const guard of beforeResolveGuards.list()) {\r\n guards.push(guardToPromiseFn(guard, to, from));\r\n }\r\n guards.push(canceledNavigationCheck);\r\n return runGuardQueue(guards);\r\n })\r\n // catch any navigation canceled\r\n .catch(err => isNavigationFailure(err, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)\r\n ? err\r\n : Promise.reject(err)));\r\n }\r\n function triggerAfterEach(to, from, failure) {\r\n // navigation is confirmed, call afterGuards\r\n // TODO: wrap with error handlers\r\n for (const guard of afterGuards.list())\r\n guard(to, from, failure);\r\n }\r\n /**\r\n * - Cleans up any navigation guards\r\n * - Changes the url if necessary\r\n * - Calls the scrollBehavior\r\n */\r\n function finalizeNavigation(toLocation, from, isPush, replace, data) {\r\n // a more recent navigation took place\r\n const error = checkCanceledNavigation(toLocation, from);\r\n if (error)\r\n return error;\r\n // only consider as push if it's not the first navigation\r\n const isFirstNavigation = from === START_LOCATION_NORMALIZED;\r\n const state = !isBrowser ? {} : history.state;\r\n // change URL only if the user did a push/replace and if it's not the initial navigation because\r\n // it's just reflecting the url\r\n if (isPush) {\r\n // on the initial navigation, we want to reuse the scroll position from\r\n // history state if it exists\r\n if (replace || isFirstNavigation)\r\n routerHistory.replace(toLocation.fullPath, assign({\r\n scroll: isFirstNavigation && state && state.scroll,\r\n }, data));\r\n else\r\n routerHistory.push(toLocation.fullPath, data);\r\n }\r\n // accept current navigation\r\n currentRoute.value = toLocation;\r\n handleScroll(toLocation, from, isPush, isFirstNavigation);\r\n markAsReady();\r\n }\r\n let removeHistoryListener;\r\n // attach listener to history to trigger navigations\r\n function setupListeners() {\r\n // avoid setting up listeners twice due to an invalid first navigation\r\n if (removeHistoryListener)\r\n return;\r\n removeHistoryListener = routerHistory.listen((to, _from, info) => {\r\n if (!router.listening)\r\n return;\r\n // cannot be a redirect route because it was in history\r\n const toLocation = resolve(to);\r\n // due to dynamic routing, and to hash history with manual navigation\r\n // (manually changing the url or calling history.hash = '#/somewhere'),\r\n // there could be a redirect record in history\r\n const shouldRedirect = handleRedirectRecord(toLocation);\r\n if (shouldRedirect) {\r\n pushWithRedirect(assign(shouldRedirect, { replace: true }), toLocation).catch(noop);\r\n return;\r\n }\r\n pendingLocation = toLocation;\r\n const from = currentRoute.value;\r\n // TODO: should be moved to web history?\r\n if (isBrowser) {\r\n saveScrollPosition(getScrollKey(from.fullPath, info.delta), computeScrollPosition());\r\n }\r\n navigate(toLocation, from)\r\n .catch((error) => {\r\n if (isNavigationFailure(error, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\r\n return error;\r\n }\r\n if (isNavigationFailure(error, 2 /* ErrorTypes.NAVIGATION_GUARD_REDIRECT */)) {\r\n // Here we could call if (info.delta) routerHistory.go(-info.delta,\r\n // false) but this is bug prone as we have no way to wait the\r\n // navigation to be finished before calling pushWithRedirect. Using\r\n // a setTimeout of 16ms seems to work but there is no guarantee for\r\n // it to work on every browser. So instead we do not restore the\r\n // history entry and trigger a new navigation as requested by the\r\n // navigation guard.\r\n // the error is already handled by router.push we just want to avoid\r\n // logging the error\r\n pushWithRedirect(error.to, toLocation\r\n // avoid an uncaught rejection, let push call triggerError\r\n )\r\n .then(failure => {\r\n // manual change in hash history #916 ending up in the URL not\r\n // changing, but it was changed by the manual url change, so we\r\n // need to manually change it ourselves\r\n if (isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ |\r\n 16 /* ErrorTypes.NAVIGATION_DUPLICATED */) &&\r\n !info.delta &&\r\n info.type === NavigationType.pop) {\r\n routerHistory.go(-1, false);\r\n }\r\n })\r\n .catch(noop);\r\n // avoid the then branch\r\n return Promise.reject();\r\n }\r\n // do not restore history on unknown direction\r\n if (info.delta) {\r\n routerHistory.go(-info.delta, false);\r\n }\r\n // unrecognized error, transfer to the global handler\r\n return triggerError(error, toLocation, from);\r\n })\r\n .then((failure) => {\r\n failure =\r\n failure ||\r\n finalizeNavigation(\r\n // after navigation, all matched components are resolved\r\n toLocation, from, false);\r\n // revert the navigation\r\n if (failure) {\r\n if (info.delta &&\r\n // a new navigation has been triggered, so we do not want to revert, that will change the current history\r\n // entry while a different route is displayed\r\n !isNavigationFailure(failure, 8 /* ErrorTypes.NAVIGATION_CANCELLED */)) {\r\n routerHistory.go(-info.delta, false);\r\n }\r\n else if (info.type === NavigationType.pop &&\r\n isNavigationFailure(failure, 4 /* ErrorTypes.NAVIGATION_ABORTED */ | 16 /* ErrorTypes.NAVIGATION_DUPLICATED */)) {\r\n // manual change in hash history #916\r\n // it's like a push but lacks the information of the direction\r\n routerHistory.go(-1, false);\r\n }\r\n }\r\n triggerAfterEach(toLocation, from, failure);\r\n })\r\n .catch(noop);\r\n });\r\n }\r\n // Initialization and Errors\r\n let readyHandlers = useCallbacks();\r\n let errorHandlers = useCallbacks();\r\n let ready;\r\n /**\r\n * Trigger errorHandlers added via onError and throws the error as well\r\n *\r\n * @param error - error to throw\r\n * @param to - location we were navigating to when the error happened\r\n * @param from - location we were navigating from when the error happened\r\n * @returns the error as a rejected promise\r\n */\r\n function triggerError(error, to, from) {\r\n markAsReady(error);\r\n const list = errorHandlers.list();\r\n if (list.length) {\r\n list.forEach(handler => handler(error, to, from));\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n warn('uncaught error during route navigation:');\r\n }\r\n console.error(error);\r\n }\r\n return Promise.reject(error);\r\n }\r\n function isReady() {\r\n if (ready && currentRoute.value !== START_LOCATION_NORMALIZED)\r\n return Promise.resolve();\r\n return new Promise((resolve, reject) => {\r\n readyHandlers.add([resolve, reject]);\r\n });\r\n }\r\n function markAsReady(err) {\r\n if (!ready) {\r\n // still not ready if an error happened\r\n ready = !err;\r\n setupListeners();\r\n readyHandlers\r\n .list()\r\n .forEach(([resolve, reject]) => (err ? reject(err) : resolve()));\r\n readyHandlers.reset();\r\n }\r\n return err;\r\n }\r\n // Scroll behavior\r\n function handleScroll(to, from, isPush, isFirstNavigation) {\r\n const { scrollBehavior } = options;\r\n if (!isBrowser || !scrollBehavior)\r\n return Promise.resolve();\r\n const scrollPosition = (!isPush && getSavedScrollPosition(getScrollKey(to.fullPath, 0))) ||\r\n ((isFirstNavigation || !isPush) &&\r\n history.state &&\r\n history.state.scroll) ||\r\n null;\r\n return nextTick()\r\n .then(() => scrollBehavior(to, from, scrollPosition))\r\n .then(position => position && scrollToPosition(position))\r\n .catch(err => triggerError(err, to, from));\r\n }\r\n const go = (delta) => routerHistory.go(delta);\r\n let started;\r\n const installedApps = new Set();\r\n const router = {\r\n currentRoute,\r\n listening: true,\r\n addRoute,\r\n removeRoute,\r\n hasRoute,\r\n getRoutes,\r\n resolve,\r\n options,\r\n push,\r\n replace,\r\n go,\r\n back: () => go(-1),\r\n forward: () => go(1),\r\n beforeEach: beforeGuards.add,\r\n beforeResolve: beforeResolveGuards.add,\r\n afterEach: afterGuards.add,\r\n onError: errorHandlers.add,\r\n isReady,\r\n install(app) {\r\n const router = this;\r\n app.component('RouterLink', RouterLink);\r\n app.component('RouterView', RouterView);\r\n app.config.globalProperties.$router = router;\r\n Object.defineProperty(app.config.globalProperties, '$route', {\r\n enumerable: true,\r\n get: () => unref(currentRoute),\r\n });\r\n // this initial navigation is only necessary on client, on server it doesn't\r\n // make sense because it will create an extra unnecessary navigation and could\r\n // lead to problems\r\n if (isBrowser &&\r\n // used for the initial navigation client side to avoid pushing\r\n // multiple times when the router is used in multiple apps\r\n !started &&\r\n currentRoute.value === START_LOCATION_NORMALIZED) {\r\n // see above\r\n started = true;\r\n push(routerHistory.location).catch(err => {\r\n if ((process.env.NODE_ENV !== 'production'))\r\n warn('Unexpected error when starting the router:', err);\r\n });\r\n }\r\n const reactiveRoute = {};\r\n for (const key in START_LOCATION_NORMALIZED) {\r\n // @ts-expect-error: the key matches\r\n reactiveRoute[key] = computed(() => currentRoute.value[key]);\r\n }\r\n app.provide(routerKey, router);\r\n app.provide(routeLocationKey, reactive(reactiveRoute));\r\n app.provide(routerViewLocationKey, currentRoute);\r\n const unmountApp = app.unmount;\r\n installedApps.add(app);\r\n app.unmount = function () {\r\n installedApps.delete(app);\r\n // the router is not attached to an app anymore\r\n if (installedApps.size < 1) {\r\n // invalidate the current navigation\r\n pendingLocation = START_LOCATION_NORMALIZED;\r\n removeHistoryListener && removeHistoryListener();\r\n removeHistoryListener = null;\r\n currentRoute.value = START_LOCATION_NORMALIZED;\r\n started = false;\r\n ready = false;\r\n }\r\n unmountApp();\r\n };\r\n // TODO: this probably needs to be updated so it can be used by vue-termui\r\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && isBrowser) {\r\n addDevtools(app, router, matcher);\r\n }\r\n },\r\n };\r\n return router;\r\n}\r\nfunction runGuardQueue(guards) {\r\n return guards.reduce((promise, guard) => promise.then(() => guard()), Promise.resolve());\r\n}\r\nfunction extractChangingRecords(to, from) {\r\n const leavingRecords = [];\r\n const updatingRecords = [];\r\n const enteringRecords = [];\r\n const len = Math.max(from.matched.length, to.matched.length);\r\n for (let i = 0; i < len; i++) {\r\n const recordFrom = from.matched[i];\r\n if (recordFrom) {\r\n if (to.matched.find(record => isSameRouteRecord(record, recordFrom)))\r\n updatingRecords.push(recordFrom);\r\n else\r\n leavingRecords.push(recordFrom);\r\n }\r\n const recordTo = to.matched[i];\r\n if (recordTo) {\r\n // the type doesn't matter because we are comparing per reference\r\n if (!from.matched.find(record => isSameRouteRecord(record, recordTo))) {\r\n enteringRecords.push(recordTo);\r\n }\r\n }\r\n }\r\n return [leavingRecords, updatingRecords, enteringRecords];\r\n}\n\n/**\r\n * Returns the router instance. Equivalent to using `$router` inside\r\n * templates.\r\n */\r\nfunction useRouter() {\r\n return inject(routerKey);\r\n}\r\n/**\r\n * Returns the current route location. Equivalent to using `$route` inside\r\n * templates.\r\n */\r\nfunction useRoute() {\r\n return inject(routeLocationKey);\r\n}\n\nexport { NavigationFailureType, RouterLink, RouterView, START_LOCATION_NORMALIZED as START_LOCATION, createMemoryHistory, createRouter, createRouterMatcher, createWebHashHistory, createWebHistory, isNavigationFailure, loadRouteLocation, matchedRouteKey, onBeforeRouteLeave, onBeforeRouteUpdate, parseQuery, routeLocationKey, routerKey, routerViewLocationKey, stringifyQuery, useLink, useRoute, useRouter, viewDepthKey };\n","/*!\n * clipboard.js v2.0.11\n * https://clipboardjs.com/\n *\n * Licensed MIT © Zeno Rocha\n */\n!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.ClipboardJS=e():t.ClipboardJS=e()}(this,function(){return n={686:function(t,e,n){\"use strict\";n.d(e,{default:function(){return b}});var e=n(279),i=n.n(e),e=n(370),u=n.n(e),e=n(817),r=n.n(e);function c(t){try{return document.execCommand(t)}catch(t){return}}var a=function(t){t=r()(t);return c(\"cut\"),t};function o(t,e){var n,o,t=(n=t,o=\"rtl\"===document.documentElement.getAttribute(\"dir\"),(t=document.createElement(\"textarea\")).style.fontSize=\"12pt\",t.style.border=\"0\",t.style.padding=\"0\",t.style.margin=\"0\",t.style.position=\"absolute\",t.style[o?\"right\":\"left\"]=\"-9999px\",o=window.pageYOffset||document.documentElement.scrollTop,t.style.top=\"\".concat(o,\"px\"),t.setAttribute(\"readonly\",\"\"),t.value=n,t);return e.container.appendChild(t),e=r()(t),c(\"copy\"),t.remove(),e}var f=function(t){var e=1 {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\n","import { resolveDirective, openBlock, createElementBlock, normalizeClass, withDirectives, withKeys, createElementVNode, createCommentVNode, toDisplayString, renderSlot, Fragment, renderList, vModelDynamic } from \"vue\";\nconst allCountries = [\n [\n \"Afghanistan (\\u202B\\u0627\\u0641\\u063A\\u0627\\u0646\\u0633\\u062A\\u0627\\u0646\\u202C\\u200E)\",\n \"af\",\n \"93\"\n ],\n [\n \"Albania (Shqip\\xEBri)\",\n \"al\",\n \"355\"\n ],\n [\n \"Algeria (\\u202B\\u0627\\u0644\\u062C\\u0632\\u0627\\u0626\\u0631\\u202C\\u200E)\",\n \"dz\",\n \"213\"\n ],\n [\n \"American Samoa\",\n \"as\",\n \"1684\"\n ],\n [\n \"Andorra\",\n \"ad\",\n \"376\"\n ],\n [\n \"Angola\",\n \"ao\",\n \"244\"\n ],\n [\n \"Anguilla\",\n \"ai\",\n \"1264\"\n ],\n [\n \"Antigua and Barbuda\",\n \"ag\",\n \"1268\"\n ],\n [\n \"Argentina\",\n \"ar\",\n \"54\"\n ],\n [\n \"Armenia (\\u0540\\u0561\\u0575\\u0561\\u057D\\u057F\\u0561\\u0576)\",\n \"am\",\n \"374\"\n ],\n [\n \"Aruba\",\n \"aw\",\n \"297\"\n ],\n [\n \"Australia\",\n \"au\",\n \"61\"\n ],\n [\n \"Austria (\\xD6sterreich)\",\n \"at\",\n \"43\"\n ],\n [\n \"Azerbaijan (Az\\u0259rbaycan)\",\n \"az\",\n \"994\"\n ],\n [\n \"Bahamas\",\n \"bs\",\n \"1242\"\n ],\n [\n \"Bahrain (\\u202B\\u0627\\u0644\\u0628\\u062D\\u0631\\u064A\\u0646\\u202C\\u200E)\",\n \"bh\",\n \"973\"\n ],\n [\n \"Bangladesh (\\u09AC\\u09BE\\u0982\\u09B2\\u09BE\\u09A6\\u09C7\\u09B6)\",\n \"bd\",\n \"880\"\n ],\n [\n \"Barbados\",\n \"bb\",\n \"1246\"\n ],\n [\n \"Belarus (\\u0411\\u0435\\u043B\\u0430\\u0440\\u0443\\u0441\\u044C)\",\n \"by\",\n \"375\"\n ],\n [\n \"Belgium (Belgi\\xEB)\",\n \"be\",\n \"32\"\n ],\n [\n \"Belize\",\n \"bz\",\n \"501\"\n ],\n [\n \"Benin (B\\xE9nin)\",\n \"bj\",\n \"229\"\n ],\n [\n \"Bermuda\",\n \"bm\",\n \"1441\"\n ],\n [\n \"Bhutan (\\u0F60\\u0F56\\u0FB2\\u0F74\\u0F42)\",\n \"bt\",\n \"975\"\n ],\n [\n \"Bolivia\",\n \"bo\",\n \"591\"\n ],\n [\n \"Bosnia and Herzegovina (\\u0411\\u043E\\u0441\\u043D\\u0430 \\u0438 \\u0425\\u0435\\u0440\\u0446\\u0435\\u0433\\u043E\\u0432\\u0438\\u043D\\u0430)\",\n \"ba\",\n \"387\"\n ],\n [\n \"Botswana\",\n \"bw\",\n \"267\"\n ],\n [\n \"Brazil (Brasil)\",\n \"br\",\n \"55\"\n ],\n [\n \"British Indian Ocean Territory\",\n \"io\",\n \"246\"\n ],\n [\n \"British Virgin Islands\",\n \"vg\",\n \"1284\"\n ],\n [\n \"Brunei\",\n \"bn\",\n \"673\"\n ],\n [\n \"Bulgaria (\\u0411\\u044A\\u043B\\u0433\\u0430\\u0440\\u0438\\u044F)\",\n \"bg\",\n \"359\"\n ],\n [\n \"Burkina Faso\",\n \"bf\",\n \"226\"\n ],\n [\n \"Burundi (Uburundi)\",\n \"bi\",\n \"257\"\n ],\n [\n \"Cambodia (\\u1780\\u1798\\u17D2\\u1796\\u17BB\\u1787\\u17B6)\",\n \"kh\",\n \"855\"\n ],\n [\n \"Cameroon (Cameroun)\",\n \"cm\",\n \"237\"\n ],\n [\n \"Canada\",\n \"ca\",\n \"1\"\n ],\n [\n \"Cape Verde (Kabu Verdi)\",\n \"cv\",\n \"238\"\n ],\n [\n \"Caribbean Netherlands\",\n \"bq\",\n \"599\"\n ],\n [\n \"Cayman Islands\",\n \"ky\",\n \"1345\"\n ],\n [\n \"Central African Republic (R\\xE9publique centrafricaine)\",\n \"cf\",\n \"236\"\n ],\n [\n \"Chad (Tchad)\",\n \"td\",\n \"235\"\n ],\n [\n \"Chile\",\n \"cl\",\n \"56\"\n ],\n [\n \"China (\\u4E2D\\u56FD)\",\n \"cn\",\n \"86\"\n ],\n [\n \"Christmas Island\",\n \"cx\",\n \"61\"\n ],\n [\n \"Cocos (Keeling) Islands\",\n \"cc\",\n \"61\"\n ],\n [\n \"Colombia\",\n \"co\",\n \"57\"\n ],\n [\n \"Comoros (\\u202B\\u062C\\u0632\\u0631 \\u0627\\u0644\\u0642\\u0645\\u0631\\u202C\\u200E)\",\n \"km\",\n \"269\"\n ],\n [\n \"Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)\",\n \"cd\",\n \"243\"\n ],\n [\n \"Congo (Republic) (Congo-Brazzaville)\",\n \"cg\",\n \"242\"\n ],\n [\n \"Cook Islands\",\n \"ck\",\n \"682\"\n ],\n [\n \"Costa Rica\",\n \"cr\",\n \"506\"\n ],\n [\n \"C\\xF4te d\\u2019Ivoire\",\n \"ci\",\n \"225\"\n ],\n [\n \"Croatia (Hrvatska)\",\n \"hr\",\n \"385\"\n ],\n [\n \"Cuba\",\n \"cu\",\n \"53\"\n ],\n [\n \"Cura\\xE7ao\",\n \"cw\",\n \"599\"\n ],\n [\n \"Cyprus (\\u039A\\u03CD\\u03C0\\u03C1\\u03BF\\u03C2)\",\n \"cy\",\n \"357\"\n ],\n [\n \"Czech Republic (\\u010Cesk\\xE1 republika)\",\n \"cz\",\n \"420\"\n ],\n [\n \"Denmark (Danmark)\",\n \"dk\",\n \"45\"\n ],\n [\n \"Djibouti\",\n \"dj\",\n \"253\"\n ],\n [\n \"Dominica\",\n \"dm\",\n \"1767\"\n ],\n [\n \"Dominican Republic (Rep\\xFAblica Dominicana)\",\n \"do\",\n \"1\"\n ],\n [\n \"Ecuador\",\n \"ec\",\n \"593\"\n ],\n [\n \"Egypt (\\u202B\\u0645\\u0635\\u0631\\u202C\\u200E)\",\n \"eg\",\n \"20\"\n ],\n [\n \"El Salvador\",\n \"sv\",\n \"503\"\n ],\n [\n \"Equatorial Guinea (Guinea Ecuatorial)\",\n \"gq\",\n \"240\"\n ],\n [\n \"Eritrea\",\n \"er\",\n \"291\"\n ],\n [\n \"Estonia (Eesti)\",\n \"ee\",\n \"372\"\n ],\n [\n \"Ethiopia\",\n \"et\",\n \"251\"\n ],\n [\n \"Falkland Islands (Islas Malvinas)\",\n \"fk\",\n \"500\"\n ],\n [\n \"Faroe Islands (F\\xF8royar)\",\n \"fo\",\n \"298\"\n ],\n [\n \"Fiji\",\n \"fj\",\n \"679\"\n ],\n [\n \"Finland (Suomi)\",\n \"fi\",\n \"358\"\n ],\n [\n \"France\",\n \"fr\",\n \"33\"\n ],\n [\n \"French Guiana (Guyane fran\\xE7aise)\",\n \"gf\",\n \"594\"\n ],\n [\n \"French Polynesia (Polyn\\xE9sie fran\\xE7aise)\",\n \"pf\",\n \"689\"\n ],\n [\n \"Gabon\",\n \"ga\",\n \"241\"\n ],\n [\n \"Gambia\",\n \"gm\",\n \"220\"\n ],\n [\n \"Georgia (\\u10E1\\u10D0\\u10E5\\u10D0\\u10E0\\u10D7\\u10D5\\u10D4\\u10DA\\u10DD)\",\n \"ge\",\n \"995\"\n ],\n [\n \"Germany (Deutschland)\",\n \"de\",\n \"49\"\n ],\n [\n \"Ghana (Gaana)\",\n \"gh\",\n \"233\"\n ],\n [\n \"Gibraltar\",\n \"gi\",\n \"350\"\n ],\n [\n \"Greece (\\u0395\\u03BB\\u03BB\\u03AC\\u03B4\\u03B1)\",\n \"gr\",\n \"30\"\n ],\n [\n \"Greenland (Kalaallit Nunaat)\",\n \"gl\",\n \"299\"\n ],\n [\n \"Grenada\",\n \"gd\",\n \"1473\"\n ],\n [\n \"Guadeloupe\",\n \"gp\",\n \"590\"\n ],\n [\n \"Guam\",\n \"gu\",\n \"1671\"\n ],\n [\n \"Guatemala\",\n \"gt\",\n \"502\"\n ],\n [\n \"Guernsey\",\n \"gg\",\n \"44\",\n 1\n ],\n [\n \"Guinea (Guin\\xE9e)\",\n \"gn\",\n \"224\"\n ],\n [\n \"Guinea-Bissau (Guin\\xE9 Bissau)\",\n \"gw\",\n \"245\"\n ],\n [\n \"Guyana\",\n \"gy\",\n \"592\"\n ],\n [\n \"Haiti\",\n \"ht\",\n \"509\"\n ],\n [\n \"Honduras\",\n \"hn\",\n \"504\"\n ],\n [\n \"Hong Kong (\\u9999\\u6E2F)\",\n \"hk\",\n \"852\"\n ],\n [\n \"Hungary (Magyarorsz\\xE1g)\",\n \"hu\",\n \"36\"\n ],\n [\n \"Iceland (\\xCDsland)\",\n \"is\",\n \"354\"\n ],\n [\n \"India (\\u092D\\u093E\\u0930\\u0924)\",\n \"in\",\n \"91\"\n ],\n [\n \"Indonesia\",\n \"id\",\n \"62\"\n ],\n [\n \"Iran (\\u202B\\u0627\\u06CC\\u0631\\u0627\\u0646\\u202C\\u200E)\",\n \"ir\",\n \"98\"\n ],\n [\n \"Iraq (\\u202B\\u0627\\u0644\\u0639\\u0631\\u0627\\u0642\\u202C\\u200E)\",\n \"iq\",\n \"964\"\n ],\n [\n \"Ireland\",\n \"ie\",\n \"353\"\n ],\n [\n \"Isle of Man\",\n \"im\",\n \"44\"\n ],\n [\n \"Israel (\\u202B\\u05D9\\u05E9\\u05E8\\u05D0\\u05DC\\u202C\\u200E)\",\n \"il\",\n \"972\"\n ],\n [\n \"Italy (Italia)\",\n \"it\",\n \"39\"\n ],\n [\n \"Jamaica\",\n \"jm\",\n \"1876\"\n ],\n [\n \"Japan (\\u65E5\\u672C)\",\n \"jp\",\n \"81\"\n ],\n [\n \"Jersey\",\n \"je\",\n \"44\"\n ],\n [\n \"Jordan (\\u202B\\u0627\\u0644\\u0623\\u0631\\u062F\\u0646\\u202C\\u200E)\",\n \"jo\",\n \"962\"\n ],\n [\n \"Kazakhstan (\\u041A\\u0430\\u0437\\u0430\\u0445\\u0441\\u0442\\u0430\\u043D)\",\n \"kz\",\n \"7\"\n ],\n [\n \"Kenya\",\n \"ke\",\n \"254\"\n ],\n [\n \"Kiribati\",\n \"ki\",\n \"686\"\n ],\n [\n \"Kosovo\",\n \"xk\",\n \"383\"\n ],\n [\n \"Kuwait (\\u202B\\u0627\\u0644\\u0643\\u0648\\u064A\\u062A\\u202C\\u200E)\",\n \"kw\",\n \"965\"\n ],\n [\n \"Kyrgyzstan (\\u041A\\u044B\\u0440\\u0433\\u044B\\u0437\\u0441\\u0442\\u0430\\u043D)\",\n \"kg\",\n \"996\"\n ],\n [\n \"Laos (\\u0EA5\\u0EB2\\u0EA7)\",\n \"la\",\n \"856\"\n ],\n [\n \"Latvia (Latvija)\",\n \"lv\",\n \"371\"\n ],\n [\n \"Lebanon (\\u202B\\u0644\\u0628\\u0646\\u0627\\u0646\\u202C\\u200E)\",\n \"lb\",\n \"961\"\n ],\n [\n \"Lesotho\",\n \"ls\",\n \"266\"\n ],\n [\n \"Liberia\",\n \"lr\",\n \"231\"\n ],\n [\n \"Libya (\\u202B\\u0644\\u064A\\u0628\\u064A\\u0627\\u202C\\u200E)\",\n \"ly\",\n \"218\"\n ],\n [\n \"Liechtenstein\",\n \"li\",\n \"423\"\n ],\n [\n \"Lithuania (Lietuva)\",\n \"lt\",\n \"370\"\n ],\n [\n \"Luxembourg\",\n \"lu\",\n \"352\"\n ],\n [\n \"Macau (\\u6FB3\\u9580)\",\n \"mo\",\n \"853\"\n ],\n [\n \"Macedonia (FYROM) (\\u041C\\u0430\\u043A\\u0435\\u0434\\u043E\\u043D\\u0438\\u0458\\u0430)\",\n \"mk\",\n \"389\"\n ],\n [\n \"Madagascar (Madagasikara)\",\n \"mg\",\n \"261\"\n ],\n [\n \"Malawi\",\n \"mw\",\n \"265\"\n ],\n [\n \"Malaysia\",\n \"my\",\n \"60\"\n ],\n [\n \"Maldives\",\n \"mv\",\n \"960\"\n ],\n [\n \"Mali\",\n \"ml\",\n \"223\"\n ],\n [\n \"Malta\",\n \"mt\",\n \"356\"\n ],\n [\n \"Marshall Islands\",\n \"mh\",\n \"692\"\n ],\n [\n \"Martinique\",\n \"mq\",\n \"596\"\n ],\n [\n \"Mauritania (\\u202B\\u0645\\u0648\\u0631\\u064A\\u062A\\u0627\\u0646\\u064A\\u0627\\u202C\\u200E)\",\n \"mr\",\n \"222\"\n ],\n [\n \"Mauritius (Moris)\",\n \"mu\",\n \"230\"\n ],\n [\n \"Mayotte\",\n \"yt\",\n \"262\"\n ],\n [\n \"Mexico (M\\xE9xico)\",\n \"mx\",\n \"52\"\n ],\n [\n \"Micronesia\",\n \"fm\",\n \"691\"\n ],\n [\n \"Moldova (Republica Moldova)\",\n \"md\",\n \"373\"\n ],\n [\n \"Monaco\",\n \"mc\",\n \"377\"\n ],\n [\n \"Mongolia (\\u041C\\u043E\\u043D\\u0433\\u043E\\u043B)\",\n \"mn\",\n \"976\"\n ],\n [\n \"Montenegro (Crna Gora)\",\n \"me\",\n \"382\"\n ],\n [\n \"Montserrat\",\n \"ms\",\n \"1664\"\n ],\n [\n \"Morocco (\\u202B\\u0627\\u0644\\u0645\\u063A\\u0631\\u0628\\u202C\\u200E)\",\n \"ma\",\n \"212\"\n ],\n [\n \"Mozambique (Mo\\xE7ambique)\",\n \"mz\",\n \"258\"\n ],\n [\n \"Myanmar (Burma) (\\u1019\\u103C\\u1014\\u103A\\u1019\\u102C)\",\n \"mm\",\n \"95\"\n ],\n [\n \"Namibia (Namibi\\xEB)\",\n \"na\",\n \"264\"\n ],\n [\n \"Nauru\",\n \"nr\",\n \"674\"\n ],\n [\n \"Nepal (\\u0928\\u0947\\u092A\\u093E\\u0932)\",\n \"np\",\n \"977\"\n ],\n [\n \"Netherlands (Nederland)\",\n \"nl\",\n \"31\"\n ],\n [\n \"New Caledonia (Nouvelle-Cal\\xE9donie)\",\n \"nc\",\n \"687\"\n ],\n [\n \"New Zealand\",\n \"nz\",\n \"64\"\n ],\n [\n \"Nicaragua\",\n \"ni\",\n \"505\"\n ],\n [\n \"Niger (Nijar)\",\n \"ne\",\n \"227\"\n ],\n [\n \"Nigeria\",\n \"ng\",\n \"234\"\n ],\n [\n \"Niue\",\n \"nu\",\n \"683\"\n ],\n [\n \"Norfolk Island\",\n \"nf\",\n \"672\"\n ],\n [\n \"North Korea (\\uC870\\uC120 \\uBBFC\\uC8FC\\uC8FC\\uC758 \\uC778\\uBBFC \\uACF5\\uD654\\uAD6D)\",\n \"kp\",\n \"850\"\n ],\n [\n \"Northern Mariana Islands\",\n \"mp\",\n \"1670\"\n ],\n [\n \"Norway (Norge)\",\n \"no\",\n \"47\"\n ],\n [\n \"Oman (\\u202B\\u0639\\u064F\\u0645\\u0627\\u0646\\u202C\\u200E)\",\n \"om\",\n \"968\"\n ],\n [\n \"Pakistan (\\u202B\\u067E\\u0627\\u06A9\\u0633\\u062A\\u0627\\u0646\\u202C\\u200E)\",\n \"pk\",\n \"92\"\n ],\n [\n \"Palau\",\n \"pw\",\n \"680\"\n ],\n [\n \"Palestine (\\u202B\\u0641\\u0644\\u0633\\u0637\\u064A\\u0646\\u202C\\u200E)\",\n \"ps\",\n \"970\"\n ],\n [\n \"Panama (Panam\\xE1)\",\n \"pa\",\n \"507\"\n ],\n [\n \"Papua New Guinea\",\n \"pg\",\n \"675\"\n ],\n [\n \"Paraguay\",\n \"py\",\n \"595\"\n ],\n [\n \"Peru (Per\\xFA)\",\n \"pe\",\n \"51\"\n ],\n [\n \"Philippines\",\n \"ph\",\n \"63\"\n ],\n [\n \"Poland (Polska)\",\n \"pl\",\n \"48\"\n ],\n [\n \"Portugal\",\n \"pt\",\n \"351\"\n ],\n [\n \"Puerto Rico\",\n \"pr\",\n \"1\"\n ],\n [\n \"Qatar (\\u202B\\u0642\\u0637\\u0631\\u202C\\u200E)\",\n \"qa\",\n \"974\"\n ],\n [\n \"R\\xE9union (La R\\xE9union)\",\n \"re\",\n \"262\"\n ],\n [\n \"Romania (Rom\\xE2nia)\",\n \"ro\",\n \"40\"\n ],\n [\n \"Russia (\\u0420\\u043E\\u0441\\u0441\\u0438\\u044F)\",\n \"ru\",\n \"7\"\n ],\n [\n \"Rwanda\",\n \"rw\",\n \"250\"\n ],\n [\n \"Saint Barth\\xE9lemy\",\n \"bl\",\n \"590\"\n ],\n [\n \"Saint Helena\",\n \"sh\",\n \"290\"\n ],\n [\n \"Saint Kitts and Nevis\",\n \"kn\",\n \"1869\"\n ],\n [\n \"Saint Lucia\",\n \"lc\",\n \"1758\"\n ],\n [\n \"Saint Martin (Saint-Martin (partie fran\\xE7aise))\",\n \"mf\",\n \"590\"\n ],\n [\n \"Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)\",\n \"pm\",\n \"508\"\n ],\n [\n \"Saint Vincent and the Grenadines\",\n \"vc\",\n \"1784\"\n ],\n [\n \"Samoa\",\n \"ws\",\n \"685\"\n ],\n [\n \"San Marino\",\n \"sm\",\n \"378\"\n ],\n [\n \"S\\xE3o Tom\\xE9 and Pr\\xEDncipe (S\\xE3o Tom\\xE9 e Pr\\xEDncipe)\",\n \"st\",\n \"239\"\n ],\n [\n \"Saudi Arabia (\\u202B\\u0627\\u0644\\u0645\\u0645\\u0644\\u0643\\u0629 \\u0627\\u0644\\u0639\\u0631\\u0628\\u064A\\u0629 \\u0627\\u0644\\u0633\\u0639\\u0648\\u062F\\u064A\\u0629\\u202C\\u200E)\",\n \"sa\",\n \"966\"\n ],\n [\n \"Senegal (S\\xE9n\\xE9gal)\",\n \"sn\",\n \"221\"\n ],\n [\n \"Serbia (\\u0421\\u0440\\u0431\\u0438\\u0458\\u0430)\",\n \"rs\",\n \"381\"\n ],\n [\n \"Seychelles\",\n \"sc\",\n \"248\"\n ],\n [\n \"Sierra Leone\",\n \"sl\",\n \"232\"\n ],\n [\n \"Singapore\",\n \"sg\",\n \"65\"\n ],\n [\n \"Sint Maarten\",\n \"sx\",\n \"1721\"\n ],\n [\n \"Slovakia (Slovensko)\",\n \"sk\",\n \"421\"\n ],\n [\n \"Slovenia (Slovenija)\",\n \"si\",\n \"386\"\n ],\n [\n \"Solomon Islands\",\n \"sb\",\n \"677\"\n ],\n [\n \"Somalia (Soomaaliya)\",\n \"so\",\n \"252\"\n ],\n [\n \"South Africa\",\n \"za\",\n \"27\"\n ],\n [\n \"South Korea (\\uB300\\uD55C\\uBBFC\\uAD6D)\",\n \"kr\",\n \"82\"\n ],\n [\n \"South Sudan (\\u202B\\u062C\\u0646\\u0648\\u0628 \\u0627\\u0644\\u0633\\u0648\\u062F\\u0627\\u0646\\u202C\\u200E)\",\n \"ss\",\n \"211\"\n ],\n [\n \"Spain (Espa\\xF1a)\",\n \"es\",\n \"34\"\n ],\n [\n \"Sri Lanka (\\u0DC1\\u0DCA\\u200D\\u0DBB\\u0DD3 \\u0DBD\\u0D82\\u0D9A\\u0DCF\\u0DC0)\",\n \"lk\",\n \"94\"\n ],\n [\n \"Sudan (\\u202B\\u0627\\u0644\\u0633\\u0648\\u062F\\u0627\\u0646\\u202C\\u200E)\",\n \"sd\",\n \"249\"\n ],\n [\n \"Suriname\",\n \"sr\",\n \"597\"\n ],\n [\n \"Svalbard and Jan Mayen\",\n \"sj\",\n \"47\"\n ],\n [\n \"Swaziland\",\n \"sz\",\n \"268\"\n ],\n [\n \"Sweden (Sverige)\",\n \"se\",\n \"46\"\n ],\n [\n \"Switzerland (Schweiz)\",\n \"ch\",\n \"41\"\n ],\n [\n \"Syria (\\u202B\\u0633\\u0648\\u0631\\u064A\\u0627\\u202C\\u200E)\",\n \"sy\",\n \"963\"\n ],\n [\n \"Taiwan (\\u53F0\\u7063)\",\n \"tw\",\n \"886\"\n ],\n [\n \"Tajikistan\",\n \"tj\",\n \"992\"\n ],\n [\n \"Tanzania\",\n \"tz\",\n \"255\"\n ],\n [\n \"Thailand (\\u0E44\\u0E17\\u0E22)\",\n \"th\",\n \"66\"\n ],\n [\n \"Timor-Leste\",\n \"tl\",\n \"670\"\n ],\n [\n \"Togo\",\n \"tg\",\n \"228\"\n ],\n [\n \"Tokelau\",\n \"tk\",\n \"690\"\n ],\n [\n \"Tonga\",\n \"to\",\n \"676\"\n ],\n [\n \"Trinidad and Tobago\",\n \"tt\",\n \"1868\"\n ],\n [\n \"Tunisia (\\u202B\\u062A\\u0648\\u0646\\u0633\\u202C\\u200E)\",\n \"tn\",\n \"216\"\n ],\n [\n \"Turkey (T\\xFCrkiye)\",\n \"tr\",\n \"90\"\n ],\n [\n \"Turkmenistan\",\n \"tm\",\n \"993\"\n ],\n [\n \"Turks and Caicos Islands\",\n \"tc\",\n \"1649\"\n ],\n [\n \"Tuvalu\",\n \"tv\",\n \"688\"\n ],\n [\n \"U.S. Virgin Islands\",\n \"vi\",\n \"1340\"\n ],\n [\n \"Uganda\",\n \"ug\",\n \"256\"\n ],\n [\n \"Ukraine (\\u0423\\u043A\\u0440\\u0430\\u0457\\u043D\\u0430)\",\n \"ua\",\n \"380\"\n ],\n [\n \"United Arab Emirates (\\u202B\\u0627\\u0644\\u0625\\u0645\\u0627\\u0631\\u0627\\u062A \\u0627\\u0644\\u0639\\u0631\\u0628\\u064A\\u0629 \\u0627\\u0644\\u0645\\u062A\\u062D\\u062F\\u0629\\u202C\\u200E)\",\n \"ae\",\n \"971\"\n ],\n [\n \"United Kingdom\",\n \"gb\",\n \"44\"\n ],\n [\n \"United States\",\n \"us\",\n \"1\"\n ],\n [\n \"Uruguay\",\n \"uy\",\n \"598\"\n ],\n [\n \"Uzbekistan (O\\u02BBzbekiston)\",\n \"uz\",\n \"998\"\n ],\n [\n \"Vanuatu\",\n \"vu\",\n \"678\"\n ],\n [\n \"Vatican City (Citt\\xE0 del Vaticano)\",\n \"va\",\n \"39\"\n ],\n [\n \"Venezuela\",\n \"ve\",\n \"58\"\n ],\n [\n \"Vietnam (Vi\\u1EC7t Nam)\",\n \"vn\",\n \"84\"\n ],\n [\n \"Wallis and Futuna (Wallis-et-Futuna)\",\n \"wf\",\n \"681\"\n ],\n [\n \"Western Sahara (\\u202B\\u0627\\u0644\\u0635\\u062D\\u0631\\u0627\\u0621 \\u0627\\u0644\\u063A\\u0631\\u0628\\u064A\\u0629\\u202C\\u200E)\",\n \"eh\",\n \"212\"\n ],\n [\n \"Yemen (\\u202B\\u0627\\u0644\\u064A\\u0645\\u0646\\u202C\\u200E)\",\n \"ye\",\n \"967\"\n ],\n [\n \"Zambia\",\n \"zm\",\n \"260\"\n ],\n [\n \"Zimbabwe\",\n \"zw\",\n \"263\"\n ],\n [\n \"\\xC5land Islands\",\n \"ax\",\n \"358\"\n ]\n];\nvar allCountries$1 = allCountries.map(([name, iso2, dialCode]) => ({\n name,\n iso2: iso2.toUpperCase(),\n dialCode\n}));\nfunction getCountry() {\n return fetch(\"https://ip2c.org/s\").then((response) => response.text()).then((response) => {\n const result2 = (response || \"\").toString();\n if (!result2 || result2[0] !== \"1\") {\n throw new Error(\"unable to fetch the country\");\n }\n return result2.substr(2, 2);\n });\n}\nfunction setCaretPosition(ctrl, pos) {\n if (ctrl.setSelectionRange) {\n ctrl.focus();\n ctrl.setSelectionRange(pos, pos);\n } else if (ctrl.createTextRange) {\n const range = ctrl.createTextRange();\n range.collapse(true);\n range.moveEnd(\"character\", pos);\n range.moveStart(\"character\", pos);\n range.select();\n }\n}\nconst allProps = [\n {\n name: \"allCountries\",\n type: Array,\n default: allCountries$1,\n description: \"All countries that are used in libphonenumber-js, can be overridden by this prop\",\n inDemo: false\n },\n {\n name: \"autoFormat\",\n type: Boolean,\n default: true,\n description: \"Auto update the input to the formatted phone number when it's valid\",\n inDemo: true\n },\n {\n name: \"customValidate\",\n type: [Boolean, RegExp],\n default: false,\n description: \"Custom validation RegExp for input\",\n inDemo: false\n },\n {\n name: \"defaultCountry\",\n default: \"\",\n type: [String, Number],\n description: \"Default country (by iso2 or dialCode), will override the country fetched from IP address of user\",\n inDemo: false\n },\n {\n name: \"disabled\",\n default: false,\n type: Boolean,\n description: \"Disable vue-tel-input, including the input & flag dropdown\",\n inDemo: false\n },\n {\n name: \"autoDefaultCountry\",\n default: true,\n type: Boolean,\n description: \"To fetch default country based on IP address of user\",\n inDemo: false\n },\n {\n name: \"dropdownOptions\",\n type: Object,\n description: \"Options for dropdown, see below\",\n inDemo: false\n },\n {\n name: \"dropdownOptions.disabled\",\n default: false,\n type: Boolean,\n description: \"Disable dropdown\",\n inDemo: false\n },\n {\n name: \"dropdownOptions.showDialCodeInList\",\n default: true,\n type: Boolean,\n description: \"Show dial code in the dropdown list\",\n inDemo: true\n },\n {\n name: \"dropdownOptions.showDialCodeInSelection\",\n default: false,\n type: Boolean,\n description: \"Show dial code in the dropdown selection\",\n inDemo: true\n },\n {\n name: \"dropdownOptions.showFlags\",\n default: true,\n type: Boolean,\n description: \"Show flags in the dropdown selection and list\",\n inDemo: true\n },\n {\n name: \"dropdownOptions.tabindex\",\n default: 0,\n type: Number,\n description: \"Native dropdown tabindex attribute\",\n inDemo: false\n },\n {\n name: \"ignoredCountries\",\n default: [],\n type: Array,\n description: \"List of countries will NOT be shown on the dropdown\",\n inDemo: false\n },\n {\n name: \"inputOptions\",\n type: Object,\n description: \"Options for input, see below\",\n inDemo: false\n },\n {\n name: \"inputOptions.autocomplete\",\n type: String,\n default: \"on\",\n description: \"Native input autocomplete attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.autofocus\",\n type: Boolean,\n default: false,\n description: \"Native input autofocus attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.aria-describedby\",\n default: \"\",\n type: String,\n description: \"Native input aria-describedby attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.id\",\n default: \"\",\n type: String,\n description: \"Native input id attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.maxlength\",\n default: 25,\n type: Number,\n description: \"Native input maxlength attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.name\",\n default: \"telephone\",\n type: String,\n description: \"Native input name attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.showDialCode\",\n default: false,\n type: Boolean,\n description: \"Show dial code in input\",\n inDemo: false\n },\n {\n name: \"inputOptions.placeholder\",\n default: \"Enter a phone number\",\n type: String,\n description: \"Placeholder for the input\",\n inDemo: false\n },\n {\n name: \"inputOptions.readonly\",\n default: false,\n type: Boolean,\n description: \"Native input readonly attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.required\",\n default: false,\n type: Boolean,\n description: \"Native input required attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.tabindex\",\n default: 0,\n type: Number,\n description: \"Native input tabindex attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.type\",\n default: \"tel\",\n type: String,\n description: \"Native input type attribute\",\n inDemo: false\n },\n {\n name: \"inputOptions.styleClasses\",\n default: \"\",\n type: [String, Array, Object],\n description: \"Custom classes for the input\",\n inDemo: false\n },\n {\n name: \"invalidMsg\",\n default: \"\",\n type: String,\n description: \"\",\n inDemo: false\n },\n {\n name: \"mode\",\n default: \"auto\",\n type: String,\n description: \"Allowed values: 'auto' (Default set by phone), 'international' (Format number with the dial code i.e. + 61), 'national' (Format number without dial code i.e. 0321232)\",\n inDemo: true,\n options: [\"auto\", \"national\", \"international\"]\n },\n {\n name: \"onlyCountries\",\n default: [],\n type: Array,\n description: \"List of countries will be shown on the dropdown\",\n inDemo: false\n },\n {\n name: \"preferredCountries\",\n default: [],\n type: Array,\n description: \"Preferred countries list, will be on top of the dropdown\",\n inDemo: false\n },\n {\n name: \"styleClasses\",\n default: \"\",\n type: [String, Array, Object],\n description: \"Custom classes for the wrapper\",\n inDemo: false\n },\n {\n name: \"validCharactersOnly\",\n default: false,\n type: Boolean,\n description: \"Only allow valid characters in a phone number (will also verify in mounted, so phone number with invalid characters will be shown as an empty string)\",\n inDemo: false\n }\n];\nconst defaultOptions = [...allProps].reduce((prv, crr) => {\n if (crr.name.includes(\".\")) {\n const [key, nestedKey] = crr.name.split(\".\");\n if (prv[key]) {\n Object.assign(prv[key], { [nestedKey]: crr.default });\n } else {\n Object.assign(prv, { [key]: { [nestedKey]: crr.default } });\n }\n } else {\n Object.assign(prv, { [crr.name]: crr.default });\n }\n return prv;\n}, {});\nvar utils = {\n options: { ...defaultOptions }\n};\nvar metadata = { \"version\": 4, \"country_calling_codes\": { \"1\": [\"US\", \"AG\", \"AI\", \"AS\", \"BB\", \"BM\", \"BS\", \"CA\", \"DM\", \"DO\", \"GD\", \"GU\", \"JM\", \"KN\", \"KY\", \"LC\", \"MP\", \"MS\", \"PR\", \"SX\", \"TC\", \"TT\", \"VC\", \"VG\", \"VI\"], \"7\": [\"RU\", \"KZ\"], \"20\": [\"EG\"], \"27\": [\"ZA\"], \"30\": [\"GR\"], \"31\": [\"NL\"], \"32\": [\"BE\"], \"33\": [\"FR\"], \"34\": [\"ES\"], \"36\": [\"HU\"], \"39\": [\"IT\", \"VA\"], \"40\": [\"RO\"], \"41\": [\"CH\"], \"43\": [\"AT\"], \"44\": [\"GB\", \"GG\", \"IM\", \"JE\"], \"45\": [\"DK\"], \"46\": [\"SE\"], \"47\": [\"NO\", \"SJ\"], \"48\": [\"PL\"], \"49\": [\"DE\"], \"51\": [\"PE\"], \"52\": [\"MX\"], \"53\": [\"CU\"], \"54\": [\"AR\"], \"55\": [\"BR\"], \"56\": [\"CL\"], \"57\": [\"CO\"], \"58\": [\"VE\"], \"60\": [\"MY\"], \"61\": [\"AU\", \"CC\", \"CX\"], \"62\": [\"ID\"], \"63\": [\"PH\"], \"64\": [\"NZ\"], \"65\": [\"SG\"], \"66\": [\"TH\"], \"81\": [\"JP\"], \"82\": [\"KR\"], \"84\": [\"VN\"], \"86\": [\"CN\"], \"90\": [\"TR\"], \"91\": [\"IN\"], \"92\": [\"PK\"], \"93\": [\"AF\"], \"94\": [\"LK\"], \"95\": [\"MM\"], \"98\": [\"IR\"], \"211\": [\"SS\"], \"212\": [\"MA\", \"EH\"], \"213\": [\"DZ\"], \"216\": [\"TN\"], \"218\": [\"LY\"], \"220\": [\"GM\"], \"221\": [\"SN\"], \"222\": [\"MR\"], \"223\": [\"ML\"], \"224\": [\"GN\"], \"225\": [\"CI\"], \"226\": [\"BF\"], \"227\": [\"NE\"], \"228\": [\"TG\"], \"229\": [\"BJ\"], \"230\": [\"MU\"], \"231\": [\"LR\"], \"232\": [\"SL\"], \"233\": [\"GH\"], \"234\": [\"NG\"], \"235\": [\"TD\"], \"236\": [\"CF\"], \"237\": [\"CM\"], \"238\": [\"CV\"], \"239\": [\"ST\"], \"240\": [\"GQ\"], \"241\": [\"GA\"], \"242\": [\"CG\"], \"243\": [\"CD\"], \"244\": [\"AO\"], \"245\": [\"GW\"], \"246\": [\"IO\"], \"247\": [\"AC\"], \"248\": [\"SC\"], \"249\": [\"SD\"], \"250\": [\"RW\"], \"251\": [\"ET\"], \"252\": [\"SO\"], \"253\": [\"DJ\"], \"254\": [\"KE\"], \"255\": [\"TZ\"], \"256\": [\"UG\"], \"257\": [\"BI\"], \"258\": [\"MZ\"], \"260\": [\"ZM\"], \"261\": [\"MG\"], \"262\": [\"RE\", \"YT\"], \"263\": [\"ZW\"], \"264\": [\"NA\"], \"265\": [\"MW\"], \"266\": [\"LS\"], \"267\": [\"BW\"], \"268\": [\"SZ\"], \"269\": [\"KM\"], \"290\": [\"SH\", \"TA\"], \"291\": [\"ER\"], \"297\": [\"AW\"], \"298\": [\"FO\"], \"299\": [\"GL\"], \"350\": [\"GI\"], \"351\": [\"PT\"], \"352\": [\"LU\"], \"353\": [\"IE\"], \"354\": [\"IS\"], \"355\": [\"AL\"], \"356\": [\"MT\"], \"357\": [\"CY\"], \"358\": [\"FI\", \"AX\"], \"359\": [\"BG\"], \"370\": [\"LT\"], \"371\": [\"LV\"], \"372\": [\"EE\"], \"373\": [\"MD\"], \"374\": [\"AM\"], \"375\": [\"BY\"], \"376\": [\"AD\"], \"377\": [\"MC\"], \"378\": [\"SM\"], \"380\": [\"UA\"], \"381\": [\"RS\"], \"382\": [\"ME\"], \"383\": [\"XK\"], \"385\": [\"HR\"], \"386\": [\"SI\"], \"387\": [\"BA\"], \"389\": [\"MK\"], \"420\": [\"CZ\"], \"421\": [\"SK\"], \"423\": [\"LI\"], \"500\": [\"FK\"], \"501\": [\"BZ\"], \"502\": [\"GT\"], \"503\": [\"SV\"], \"504\": [\"HN\"], \"505\": [\"NI\"], \"506\": [\"CR\"], \"507\": [\"PA\"], \"508\": [\"PM\"], \"509\": [\"HT\"], \"590\": [\"GP\", \"BL\", \"MF\"], \"591\": [\"BO\"], \"592\": [\"GY\"], \"593\": [\"EC\"], \"594\": [\"GF\"], \"595\": [\"PY\"], \"596\": [\"MQ\"], \"597\": [\"SR\"], \"598\": [\"UY\"], \"599\": [\"CW\", \"BQ\"], \"670\": [\"TL\"], \"672\": [\"NF\"], \"673\": [\"BN\"], \"674\": [\"NR\"], \"675\": [\"PG\"], \"676\": [\"TO\"], \"677\": [\"SB\"], \"678\": [\"VU\"], \"679\": [\"FJ\"], \"680\": [\"PW\"], \"681\": [\"WF\"], \"682\": [\"CK\"], \"683\": [\"NU\"], \"685\": [\"WS\"], \"686\": [\"KI\"], \"687\": [\"NC\"], \"688\": [\"TV\"], \"689\": [\"PF\"], \"690\": [\"TK\"], \"691\": [\"FM\"], \"692\": [\"MH\"], \"850\": [\"KP\"], \"852\": [\"HK\"], \"853\": [\"MO\"], \"855\": [\"KH\"], \"856\": [\"LA\"], \"880\": [\"BD\"], \"886\": [\"TW\"], \"960\": [\"MV\"], \"961\": [\"LB\"], \"962\": [\"JO\"], \"963\": [\"SY\"], \"964\": [\"IQ\"], \"965\": [\"KW\"], \"966\": [\"SA\"], \"967\": [\"YE\"], \"968\": [\"OM\"], \"970\": [\"PS\"], \"971\": [\"AE\"], \"972\": [\"IL\"], \"973\": [\"BH\"], \"974\": [\"QA\"], \"975\": [\"BT\"], \"976\": [\"MN\"], \"977\": [\"NP\"], \"992\": [\"TJ\"], \"993\": [\"TM\"], \"994\": [\"AZ\"], \"995\": [\"GE\"], \"996\": [\"KG\"], \"998\": [\"UZ\"] }, \"countries\": { \"AC\": [\"247\", \"00\", \"(?:[01589]\\\\d|[46])\\\\d{4}\", [5, 6]], \"AD\": [\"376\", \"00\", \"(?:1|6\\\\d)\\\\d{7}|[135-9]\\\\d{5}\", [6, 8, 9], [[\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"[135-9]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"1\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6\"]]]], \"AE\": [\"971\", \"00\", \"(?:[4-7]\\\\d|9[0-689])\\\\d{7}|800\\\\d{2,9}|[2-4679]\\\\d{7}\", [5, 6, 7, 8, 9, 10, 11, 12], [[\"(\\\\d{3})(\\\\d{2,9})\", \"$1 $2\", [\"60|8\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[236]|[479][2-8]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{5})\", \"$1 $2 $3\", [\"[479]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"5\"], \"0$1\"]], \"0\"], \"AF\": [\"93\", \"00\", \"[2-7]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-7]\"], \"0$1\"]], \"0\"], \"AG\": [\"1\", \"011\", \"(?:268|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([457]\\\\d{6})$\", \"268$1\", 0, \"268\"], \"AI\": [\"1\", \"011\", \"(?:264|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2457]\\\\d{6})$\", \"264$1\", 0, \"264\"], \"AL\": [\"355\", \"00\", \"(?:700\\\\d\\\\d|900)\\\\d{3}|8\\\\d{5,7}|(?:[2-5]|6\\\\d)\\\\d{7}\", [6, 7, 8, 9], [[\"(\\\\d{3})(\\\\d{3,4})\", \"$1 $2\", [\"80|9\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"4[2-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2358][2-5]|4\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[23578]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"6\"], \"0$1\"]], \"0\"], \"AM\": [\"374\", \"00\", \"(?:[1-489]\\\\d|55|60|77)\\\\d{6}\", [8], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[89]0\"], \"0 $1\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"2|3[12]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"1|47\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[3-9]\"], \"0$1\"]], \"0\"], \"AO\": [\"244\", \"00\", \"[29]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[29]\"]]]], \"AR\": [\"54\", \"00\", \"(?:11|[89]\\\\d\\\\d)\\\\d{8}|[2368]\\\\d{9}\", [10, 11], [[\"(\\\\d{4})(\\\\d{2})(\\\\d{4})\", \"$1 $2-$3\", [\"2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9])\", \"2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8]))|2(?:2[24-9]|3[1-59]|47)\", \"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5[56][46]|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\", \"2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|58|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|54(?:4|5[13-7]|6[89])|86[3-6]))|2(?:2[24-9]|3[1-59]|47)|38(?:[58][78]|7[378])|3(?:454|85[56])[46]|3(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"], \"0$1\", 1], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2-$3\", [\"1\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[68]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2-$3\", [\"[23]\"], \"0$1\", 1], [\"(\\\\d)(\\\\d{4})(\\\\d{2})(\\\\d{4})\", \"$2 15-$3-$4\", [\"9(?:2[2-469]|3[3-578])\", \"9(?:2(?:2[024-9]|3[0-59]|47|6[245]|9[02-8])|3(?:3[28]|4[03-9]|5[2-46-8]|7[1-578]|8[2-9]))\", \"9(?:2(?:[23]02|6(?:[25]|4[6-8])|9(?:[02356]|4[02568]|72|8[23]))|3(?:3[28]|4(?:[04679]|3[5-8]|5[4-68]|8[2379])|5(?:[2467]|3[237]|8[2-5])|7[1-578]|8(?:[2469]|3[2578]|5[4-8]|7[36-8]|8[5-8])))|92(?:2[24-9]|3[1-59]|47)\", \"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3[78]|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8[23])|7[1-578]|8(?:[2469]|3[278]|5(?:[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4[35][56]|58[45]|8(?:[38]5|54|76))[4-6]\", \"9(?:2(?:[23]02|6(?:[25]|4(?:64|[78]))|9(?:[02356]|4(?:[0268]|5[2-6])|72|8[23]))|3(?:3[28]|4(?:[04679]|3(?:5(?:4[0-25689]|[56])|[78])|5(?:4[46]|8)|8[2379])|5(?:[2467]|3[237]|8(?:[23]|4(?:[45]|60)|5(?:4[0-39]|5|64)))|7[1-578]|8(?:[2469]|3[278]|5(?:4(?:4|5[13-7]|6[89])|[56][46]|[78])|7[378]|8(?:6[3-6]|[78]))))|92(?:2[24-9]|3[1-59]|47)|93(?:4(?:36|5[56])|8(?:[38]5|76))[4-6]\"], \"0$1\", 0, \"$1 $2 $3-$4\"], [\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$2 15-$3-$4\", [\"91\"], \"0$1\", 0, \"$1 $2 $3-$4\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\", \"$1-$2-$3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$2 15-$3-$4\", [\"9\"], \"0$1\", 0, \"$1 $2 $3-$4\"]], \"0\", 0, \"0?(?:(11|2(?:2(?:02?|[13]|2[13-79]|4[1-6]|5[2457]|6[124-8]|7[1-4]|8[13-6]|9[1267])|3(?:02?|1[467]|2[03-6]|3[13-8]|[49][2-6]|5[2-8]|[67])|4(?:7[3-578]|9)|6(?:[0136]|2[24-6]|4[6-8]?|5[15-8])|80|9(?:0[1-3]|[19]|2\\\\d|3[1-6]|4[02568]?|5[2-4]|6[2-46]|72?|8[23]?))|3(?:3(?:2[79]|6|8[2578])|4(?:0[0-24-9]|[12]|3[5-8]?|4[24-7]|5[4-68]?|6[02-9]|7[126]|8[2379]?|9[1-36-8])|5(?:1|2[1245]|3[237]?|4[1-46-9]|6[2-4]|7[1-6]|8[2-5]?)|6[24]|7(?:[069]|1[1568]|2[15]|3[145]|4[13]|5[14-8]|7[2-57]|8[126])|8(?:[01]|2[15-7]|3[2578]?|4[13-6]|5[4-8]?|6[1-357-9]|7[36-8]?|8[5-8]?|9[124])))15)?\", \"9$1\"], \"AS\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|684|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([267]\\\\d{6})$\", \"684$1\", 0, \"684\"], \"AT\": [\"43\", \"00\", \"1\\\\d{3,12}|2\\\\d{6,12}|43(?:(?:0\\\\d|5[02-9])\\\\d{3,9}|2\\\\d{4,5}|[3467]\\\\d{4}|8\\\\d{4,6}|9\\\\d{4,7})|5\\\\d{4,12}|8\\\\d{7,12}|9\\\\d{8,12}|(?:[367]\\\\d|4[0-24-9])\\\\d{4,11}\", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [[\"(\\\\d)(\\\\d{3,12})\", \"$1 $2\", [\"1(?:11|[2-9])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})\", \"$1 $2\", [\"517\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,5})\", \"$1 $2\", [\"5[079]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,10})\", \"$1 $2\", [\"(?:31|4)6|51|6(?:5[0-3579]|[6-9])|7(?:20|32|8)|[89]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3,9})\", \"$1 $2\", [\"[2-467]|5[2-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"5\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4,7})\", \"$1 $2 $3\", [\"5\"], \"0$1\"]], \"0\"], \"AU\": [\"61\", \"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\", \"1(?:[0-79]\\\\d{7}(?:\\\\d(?:\\\\d{2})?)?|8[0-24-9]\\\\d{7})|[2-478]\\\\d{8}|1\\\\d{4,7}\", [5, 6, 7, 8, 9, 10, 12], [[\"(\\\\d{2})(\\\\d{3,4})\", \"$1 $2\", [\"16\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,4})\", \"$1 $2 $3\", [\"16\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"14|4\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[2378]\"], \"(0$1)\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1(?:30|[89])\"]]], \"0\", 0, \"0|(183[12])\", 0, 0, 0, [[\"(?:(?:2(?:[0-26-9]\\\\d|3[0-8]|4[02-9]|5[0135-9])|3(?:[0-3589]\\\\d|4[0-578]|6[1-9]|7[0-35-9])|7(?:[013-57-9]\\\\d|2[0-8]))\\\\d{3}|8(?:51(?:0(?:0[03-9]|[12479]\\\\d|3[2-9]|5[0-8]|6[1-9]|8[0-7])|1(?:[0235689]\\\\d|1[0-69]|4[0-589]|7[0-47-9])|2(?:0[0-79]|[18][13579]|2[14-9]|3[0-46-9]|[4-6]\\\\d|7[89]|9[0-4]))|(?:6[0-8]|[78]\\\\d)\\\\d{3}|9(?:[02-9]\\\\d{3}|1(?:(?:[0-58]\\\\d|6[0135-9])\\\\d|7(?:0[0-24-9]|[1-9]\\\\d)|9(?:[0-46-9]\\\\d|5[0-79])))))\\\\d{3}\", [9]], [\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, [\"163\\\\d{2,6}\", [5, 6, 7, 8, 9]], [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\", [6, 8, 10, 12]]], \"0011\"], \"AW\": [\"297\", \"00\", \"(?:[25-79]\\\\d\\\\d|800)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[25-9]\"]]]], \"AX\": [\"358\", \"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\", \"2\\\\d{4,9}|35\\\\d{4,5}|(?:60\\\\d\\\\d|800)\\\\d{4,6}|7\\\\d{5,11}|(?:[14]\\\\d|3[0-46-9]|50)\\\\d{4,8}\", [5, 6, 7, 8, 9, 10, 11, 12], 0, \"0\", 0, 0, 0, 0, \"18\", 0, \"00\"], \"AZ\": [\"994\", \"00\", \"365\\\\d{6}|(?:[124579]\\\\d|60|88)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"90\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"1[28]|2|365|46\", \"1[28]|2|365[45]|46\", \"1[28]|2|365(?:4|5[02])|46\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[13-9]\"], \"0$1\"]], \"0\"], \"BA\": [\"387\", \"00\", \"6\\\\d{8}|(?:[35689]\\\\d|49|70)\\\\d{6}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6[1-3]|[7-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2-$3\", [\"[3-5]|6[56]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"6\"], \"0$1\"]], \"0\"], \"BB\": [\"1\", \"011\", \"(?:246|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"246$1\", 0, \"246\"], \"BD\": [\"880\", \"00\", \"[1-469]\\\\d{9}|8[0-79]\\\\d{7,8}|[2-79]\\\\d{8}|[2-9]\\\\d{7}|[3-9]\\\\d{6}|[57-9]\\\\d{5}\", [6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{4,6})\", \"$1-$2\", [\"31[5-8]|[459]1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,7})\", \"$1-$2\", [\"3(?:[67]|8[013-9])|4(?:6[168]|7|[89][18])|5(?:6[128]|9)|6(?:28|4[14]|5)|7[2-589]|8(?:0[014-9]|[12])|9[358]|(?:3[2-5]|4[235]|5[2-578]|6[0389]|76|8[3-7]|9[24])1|(?:44|66)[01346-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3,6})\", \"$1-$2\", [\"[13-9]|22\"], \"0$1\"], [\"(\\\\d)(\\\\d{7,8})\", \"$1-$2\", [\"2\"], \"0$1\"]], \"0\"], \"BE\": [\"32\", \"00\", \"4\\\\d{8}|[1-9]\\\\d{7}\", [8, 9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"(?:80|9)0\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[239]|4[23]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[15-8]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"4\"], \"0$1\"]], \"0\"], \"BF\": [\"226\", \"00\", \"[025-7]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[025-7]\"]]]], \"BG\": [\"359\", \"00\", \"[2-7]\\\\d{6,7}|[89]\\\\d{6,8}|2\\\\d{5}\", [6, 7, 8, 9], [[\"(\\\\d)(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"43[1-6]|70[1-9]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\", \"$1 $2 $3\", [\"[356]|4[124-7]|7[1-9]|8[1-6]|9[1-7]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"(?:70|8)0\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1 $2 $3\", [\"43[1-7]|7\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[48]|9[08]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"], \"0$1\"]], \"0\"], \"BH\": [\"973\", \"00\", \"[136-9]\\\\d{7}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[13679]|8[047]\"]]]], \"BI\": [\"257\", \"00\", \"(?:[267]\\\\d|31)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2367]\"]]]], \"BJ\": [\"229\", \"00\", \"(?:[25689]\\\\d|40)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[24-689]\"]]]], \"BL\": [\"590\", \"00\", \"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\", [9], 0, \"0\", 0, 0, 0, 0, 0, [[\"590(?:2[7-9]|5[12]|87)\\\\d{4}\"], [\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"], [\"80[0-5]\\\\d{6}\"], 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]], \"BM\": [\"1\", \"011\", \"(?:441|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-8]\\\\d{6})$\", \"441$1\", 0, \"441\"], \"BN\": [\"673\", \"00\", \"[2-578]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-578]\"]]]], \"BO\": [\"591\", \"00(?:1\\\\d)?\", \"(?:[2-467]\\\\d\\\\d|8001)\\\\d{5}\", [8, 9], [[\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"[23]|4[46]\"]], [\"(\\\\d{8})\", \"$1\", [\"[67]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]]], \"0\", 0, \"0(1\\\\d)?\"], \"BQ\": [\"599\", \"00\", \"(?:[34]1|7\\\\d)\\\\d{5}\", [7], 0, 0, 0, 0, 0, 0, \"[347]\"], \"BR\": [\"55\", \"00(?:1[245]|2[1-35]|31|4[13]|[56]5|99)\", \"(?:[1-46-9]\\\\d\\\\d|5(?:[0-46-9]\\\\d|5[0-46-9]))\\\\d{8}|[1-9]\\\\d{9}|[3589]\\\\d{8}|[34]\\\\d{7}\", [8, 9, 10, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"300|4(?:0[02]|37)\", \"4(?:02|37)0|[34]00\"]], [\"(\\\\d{3})(\\\\d{2,3})(\\\\d{4})\", \"$1 $2 $3\", [\"(?:[358]|90)0\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2-$3\", [\"(?:[14689][1-9]|2[12478]|3[1-578]|5[13-5]|7[13-579])[2-57]\"], \"($1)\"], [\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\", \"$1 $2-$3\", [\"[16][1-9]|[2-57-9]\"], \"($1)\"]], \"0\", 0, \"(?:0|90)(?:(1[245]|2[1-35]|31|4[13]|[56]5|99)(\\\\d{10,11}))?\", \"$2\"], \"BS\": [\"1\", \"011\", \"(?:242|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([3-8]\\\\d{6})$\", \"242$1\", 0, \"242\"], \"BT\": [\"975\", \"00\", \"[17]\\\\d{7}|[2-8]\\\\d{6}\", [7, 8], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-68]|7[246]\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"1[67]|7\"]]]], \"BW\": [\"267\", \"00\", \"(?:0800|(?:[37]|800)\\\\d)\\\\d{6}|(?:[2-6]\\\\d|90)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"90\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[24-6]|3[15-79]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[37]\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]], \"BY\": [\"375\", \"810\", \"(?:[12]\\\\d|33|44|902)\\\\d{7}|8(?:0[0-79]\\\\d{5,7}|[1-7]\\\\d{9})|8(?:1[0-489]|[5-79]\\\\d)\\\\d{7}|8[1-79]\\\\d{6,7}|8[0-79]\\\\d{5}|8\\\\d{5}\", [6, 7, 8, 9, 10, 11], [[\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"800\"], \"8 $1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,4})\", \"$1 $2 $3\", [\"800\"], \"8 $1\"], [\"(\\\\d{4})(\\\\d{2})(\\\\d{3})\", \"$1 $2-$3\", [\"1(?:5[169]|6[3-5]|7[179])|2(?:1[35]|2[34]|3[3-5])\", \"1(?:5[169]|6(?:3[1-3]|4|5[125])|7(?:1[3-9]|7[0-24-6]|9[2-7]))|2(?:1[35]|2[34]|3[3-5])\"], \"8 0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"1(?:[56]|7[467])|2[1-3]\"], \"8 0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"[1-4]\"], \"8 0$1\"], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"], \"8 $1\"]], \"8\", 0, \"0|80?\", 0, 0, 0, 0, \"8~10\"], \"BZ\": [\"501\", \"00\", \"(?:0800\\\\d|[2-8])\\\\d{6}\", [7, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[2-8]\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})(\\\\d{3})\", \"$1-$2-$3-$4\", [\"0\"]]]], \"CA\": [\"1\", \"011\", \"(?:[2-8]\\\\d|90)\\\\d{8}|3\\\\d{6}\", [7, 10], 0, \"1\", 0, 0, 0, 0, 0, [[\"(?:2(?:04|[23]6|[48]9|50|63)|3(?:06|43|6[578])|4(?:03|1[68]|3[178]|50|68|74)|5(?:06|1[49]|48|79|8[147])|6(?:04|13|39|47|72)|7(?:0[59]|78|8[02])|8(?:[06]7|19|25|73)|90[25])[2-9]\\\\d{6}\", [10]], [\"\", [10]], [\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\", [10]], [\"900[2-9]\\\\d{6}\", [10]], [\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|(?:5(?:00|2[125-7]|33|44|66|77|88)|622)[2-9]\\\\d{6}\", [10]], 0, [\"310\\\\d{4}\", [7]], 0, [\"600[2-9]\\\\d{6}\", [10]]]], \"CC\": [\"61\", \"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\", \"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\", [6, 7, 8, 9, 10, 12], 0, \"0\", 0, \"0|([59]\\\\d{7})$\", \"8$1\", 0, 0, [[\"8(?:51(?:0(?:02|31|60|89)|1(?:18|76)|223)|91(?:0(?:1[0-2]|29)|1(?:[28]2|50|79)|2(?:10|64)|3(?:[06]8|22)|4[29]8|62\\\\d|70[23]|959))\\\\d{3}\", [9]], [\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, 0, [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\", [6, 8, 10, 12]]], \"0011\"], \"CD\": [\"243\", \"00\", \"[189]\\\\d{8}|[1-68]\\\\d{6}\", [7, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"88\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"[1-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"]], \"0\"], \"CF\": [\"236\", \"00\", \"(?:[27]\\\\d{3}|8776)\\\\d{4}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[278]\"]]]], \"CG\": [\"242\", \"00\", \"222\\\\d{6}|(?:0\\\\d|80)\\\\d{7}\", [9], [[\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[02]\"]]]], \"CH\": [\"41\", \"00\", \"8\\\\d{11}|[2-9]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8[047]|90\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-79]|81\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"8\"], \"0$1\"]], \"0\"], \"CI\": [\"225\", \"00\", \"[02]\\\\d{9}\", [10], [[\"(\\\\d{2})(\\\\d{2})(\\\\d)(\\\\d{5})\", \"$1 $2 $3 $4\", [\"2\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"0\"]]]], \"CK\": [\"682\", \"00\", \"[2-578]\\\\d{4}\", [5], [[\"(\\\\d{2})(\\\\d{3})\", \"$1 $2\", [\"[2-578]\"]]]], \"CL\": [\"56\", \"(?:0|1(?:1[0-69]|2[02-5]|5[13-58]|69|7[0167]|8[018]))0\", \"12300\\\\d{6}|6\\\\d{9,10}|[2-9]\\\\d{8}\", [9, 10, 11], [[\"(\\\\d{5})(\\\\d{4})\", \"$1 $2\", [\"219\", \"2196\"], \"($1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"44\"]], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2[1-36]\"], \"($1)\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"9[2-9]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"3[2-5]|[47]|5[1-3578]|6[13-57]|8(?:0[1-9]|[1-9])\"], \"($1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"60|8\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"60\"]]]], \"CM\": [\"237\", \"00\", \"[26]\\\\d{8}|88\\\\d{6,7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"88\"]], [\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"[26]|88\"]]]], \"CN\": [\"86\", \"00|1(?:[12]\\\\d|79)\\\\d\\\\d00\", \"1[127]\\\\d{8,9}|2\\\\d{9}(?:\\\\d{2})?|[12]\\\\d{6,7}|86\\\\d{6}|(?:1[03-689]\\\\d|6)\\\\d{7,9}|(?:[3-579]\\\\d|8[0-57-9])\\\\d{6,9}\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{2})(\\\\d{5,6})\", \"$1 $2\", [\"(?:10|2[0-57-9])[19]\", \"(?:10|2[0-57-9])(?:10|9[56])\", \"(?:10|2[0-57-9])(?:100|9[56])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5,6})\", \"$1 $2\", [\"3(?:[157]|35|49|9[1-68])|4(?:[17]|2[179]|6[47-9]|8[23])|5(?:[1357]|2[37]|4[36]|6[1-46]|80)|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]|4[13]|5[1-5])|(?:4[35]|59|85)[1-9]\", \"(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[1-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))[19]\", \"85[23](?:10|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:10|9[56])\", \"85[23](?:100|95)|(?:3(?:[157]\\\\d|35|49|9[1-68])|4(?:[17]\\\\d|2[179]|[35][1-9]|6[47-9]|8[23])|5(?:[1357]\\\\d|2[37]|4[36]|6[1-46]|80|9[1-9])|6(?:3[1-5]|6[0238]|9[12])|7(?:01|[1579]\\\\d|2[248]|3[014-9]|4[3-6]|6[023689])|8(?:1[236-8]|2[5-7]|[37]\\\\d|5[14-9]|8[36-8]|9[1-8])|9(?:0[1-3689]|1[1-79]|[379]\\\\d|4[13]|5[1-5]))(?:100|9[56])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"(?:4|80)0\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"10|2(?:[02-57-9]|1[1-9])\", \"10|2(?:[02-57-9]|1[1-9])\", \"10[0-79]|2(?:[02-57-9]|1[1-79])|(?:10|21)8(?:0[1-9]|[1-9])\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"3(?:[3-59]|7[02-68])|4(?:[26-8]|3[3-9]|5[2-9])|5(?:3[03-9]|[468]|7[028]|9[2-46-9])|6|7(?:[0-247]|3[04-9]|5[0-4689]|6[2368])|8(?:[1-358]|9[1-7])|9(?:[013479]|5[1-5])|(?:[34]1|55|79|87)[02-9]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{7,8})\", \"$1 $2\", [\"9\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"80\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[3-578]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"1[3-9]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"[12]\"], \"0$1\", 1]], \"0\", 0, \"0|(1(?:[12]\\\\d|79)\\\\d\\\\d)\", 0, 0, 0, 0, \"00\"], \"CO\": [\"57\", \"00(?:4(?:[14]4|56)|[579])\", \"(?:60\\\\d\\\\d|9101)\\\\d{6}|(?:1\\\\d|3)\\\\d{9}\", [10, 11], [[\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"6\"], \"($1)\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"[39]\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{7})\", \"$1-$2-$3\", [\"1\"], \"0$1\", 0, \"$1 $2 $3\"]], \"0\", 0, \"0(4(?:[14]4|56)|[579])?\"], \"CR\": [\"506\", \"00\", \"(?:8\\\\d|90)\\\\d{8}|(?:[24-8]\\\\d{3}|3005)\\\\d{4}\", [8, 10], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]|8[3-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[89]\"]]], 0, 0, \"(19(?:0[0-2468]|1[09]|20|66|77|99))\"], \"CU\": [\"53\", \"119\", \"[27]\\\\d{6,7}|[34]\\\\d{5,7}|(?:5|8\\\\d\\\\d)\\\\d{7}\", [6, 7, 8, 10], [[\"(\\\\d{2})(\\\\d{4,6})\", \"$1 $2\", [\"2[1-4]|[34]\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{6,7})\", \"$1 $2\", [\"7\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"5\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"8\"], \"0$1\"]], \"0\"], \"CV\": [\"238\", \"0\", \"(?:[2-59]\\\\d\\\\d|800)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[2-589]\"]]]], \"CW\": [\"599\", \"00\", \"(?:[34]1|60|(?:7|9\\\\d)\\\\d)\\\\d{5}\", [7, 8], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[3467]\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"9[4-8]\"]]], 0, 0, 0, 0, 0, \"[69]\"], \"CX\": [\"61\", \"001[14-689]|14(?:1[14]|34|4[17]|[56]6|7[47]|88)0011\", \"1(?:[0-79]\\\\d{8}(?:\\\\d{2})?|8[0-24-9]\\\\d{7})|[148]\\\\d{8}|1\\\\d{5,7}\", [6, 7, 8, 9, 10, 12], 0, \"0\", 0, \"0|([59]\\\\d{7})$\", \"8$1\", 0, 0, [[\"8(?:51(?:0(?:01|30|59|88)|1(?:17|46|75)|2(?:22|35))|91(?:00[6-9]|1(?:[28]1|49|78)|2(?:09|63)|3(?:12|26|75)|4(?:56|97)|64\\\\d|7(?:0[01]|1[0-2])|958))\\\\d{3}\", [9]], [\"4(?:83[0-38]|93[0-6])\\\\d{5}|4(?:[0-3]\\\\d|4[047-9]|5[0-25-9]|6[06-9]|7[02-9]|8[0-24-9]|9[0-27-9])\\\\d{6}\", [9]], [\"180(?:0\\\\d{3}|2)\\\\d{3}\", [7, 10]], [\"190[0-26]\\\\d{6}\", [10]], 0, 0, 0, 0, [\"14(?:5(?:1[0458]|[23][458])|71\\\\d)\\\\d{4}\", [9]], [\"13(?:00\\\\d{6}(?:\\\\d{2})?|45[0-4]\\\\d{3})|13\\\\d{4}\", [6, 8, 10, 12]]], \"0011\"], \"CY\": [\"357\", \"00\", \"(?:[279]\\\\d|[58]0)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[257-9]\"]]]], \"CZ\": [\"420\", \"00\", \"(?:[2-578]\\\\d|60)\\\\d{7}|9\\\\d{8,11}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-8]|9[015-7]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"96\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"9\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"9\"]]]], \"DE\": [\"49\", \"00\", \"[2579]\\\\d{5,14}|49(?:[34]0|69|8\\\\d)\\\\d\\\\d?|49(?:37|49|60|7[089]|9\\\\d)\\\\d{1,3}|49(?:2[02-9]|3[2-689]|7[1-7])\\\\d{1,8}|(?:1|[368]\\\\d|4[0-8])\\\\d{3,13}|49(?:[015]\\\\d|[23]1|[46][1-8])\\\\d{1,9}\", [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], [[\"(\\\\d{2})(\\\\d{3,13})\", \"$1 $2\", [\"3[02]|40|[68]9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,12})\", \"$1 $2\", [\"2(?:0[1-389]|1[124]|2[18]|3[14])|3(?:[35-9][15]|4[015])|906|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\", \"2(?:0[1-389]|12[0-8])|3(?:[35-9][15]|4[015])|906|2(?:[13][14]|2[18])|(?:2[4-9]|4[2-9]|[579][1-9]|[68][1-8])1\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{2,11})\", \"$1 $2\", [\"[24-6]|3(?:[3569][02-46-9]|4[2-4679]|7[2-467]|8[2-46-8])|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]\", \"[24-6]|3(?:3(?:0[1-467]|2[127-9]|3[124578]|7[1257-9]|8[1256]|9[145])|4(?:2[135]|4[13578]|9[1346])|5(?:0[14]|2[1-3589]|6[1-4]|7[13468]|8[13568])|6(?:2[1-489]|3[124-6]|6[13]|7[12579]|8[1-356]|9[135])|7(?:2[1-7]|4[145]|6[1-5]|7[1-4])|8(?:21|3[1468]|6|7[1467]|8[136])|9(?:0[12479]|2[1358]|4[134679]|6[1-9]|7[136]|8[147]|9[1468]))|70[2-8]|8(?:0[2-9]|[1-8])|90[7-9]|[79][1-9]|3[68]4[1347]|3(?:47|60)[1356]|3(?:3[46]|46|5[49])[1246]|3[4579]3[1357]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"138\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{2,10})\", \"$1 $2\", [\"3\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5,11})\", \"$1 $2\", [\"181\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{4,10})\", \"$1 $2 $3\", [\"1(?:3|80)|9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7,8})\", \"$1 $2\", [\"1[67]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7,12})\", \"$1 $2\", [\"8\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{6})\", \"$1 $2\", [\"185\", \"1850\", \"18500\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{7})\", \"$1 $2\", [\"18[68]\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{6})\", \"$1 $2\", [\"15[0568]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{7})\", \"$1 $2\", [\"15[1279]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{8})\", \"$1 $2\", [\"18\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{7,8})\", \"$1 $2 $3\", [\"1(?:6[023]|7)\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{2})(\\\\d{7})\", \"$1 $2 $3\", [\"15[279]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{8})\", \"$1 $2 $3\", [\"15\"], \"0$1\"]], \"0\"], \"DJ\": [\"253\", \"00\", \"(?:2\\\\d|77)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[27]\"]]]], \"DK\": [\"45\", \"00\", \"[2-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-9]\"]]]], \"DM\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|767|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"767$1\", 0, \"767\"], \"DO\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"8001|8[024]9\"], \"DZ\": [\"213\", \"00\", \"(?:[1-4]|[5-79]\\\\d|80)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[1-4]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[5-8]\"], \"0$1\"]], \"0\"], \"EC\": [\"593\", \"00\", \"1\\\\d{9,10}|(?:[2-7]|9\\\\d)\\\\d{7}\", [8, 9, 10, 11], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2-$3\", [\"[2-7]\"], \"(0$1)\", 0, \"$1-$2-$3\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"EE\": [\"372\", \"00\", \"8\\\\d{9}|[4578]\\\\d{7}|(?:[3-8]\\\\d|90)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[369]|4[3-8]|5(?:[0-2]|5[0-478]|6[45])|7[1-9]|88\", \"[369]|4[3-8]|5(?:[02]|1(?:[0-8]|95)|5[0-478]|6(?:4[0-4]|5[1-589]))|7[1-9]|88\"]], [\"(\\\\d{4})(\\\\d{3,4})\", \"$1 $2\", [\"[45]|8(?:00|[1-49])\", \"[45]|8(?:00[1-9]|[1-49])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]], \"EG\": [\"20\", \"00\", \"[189]\\\\d{8,9}|[24-6]\\\\d{8}|[135]\\\\d{7}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{7,8})\", \"$1 $2\", [\"[23]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{6,7})\", \"$1 $2\", [\"1[35]|[4-6]|8[2468]|9[235-7]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[189]\"], \"0$1\"]], \"0\"], \"EH\": [\"212\", \"00\", \"[5-8]\\\\d{8}\", [9], 0, \"0\", 0, 0, 0, 0, \"528[89]\"], \"ER\": [\"291\", \"00\", \"[178]\\\\d{6}\", [7], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[178]\"], \"0$1\"]], \"0\"], \"ES\": [\"34\", \"00\", \"[5-9]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[89]00\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[5-9]\"]]]], \"ET\": [\"251\", \"00\", \"(?:11|[2-579]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-579]\"], \"0$1\"]], \"0\"], \"FI\": [\"358\", \"00|99(?:[01469]|5(?:[14]1|3[23]|5[59]|77|88|9[09]))\", \"[1-35689]\\\\d{4}|7\\\\d{10,11}|(?:[124-7]\\\\d|3[0-46-9])\\\\d{8}|[1-9]\\\\d{5,8}\", [5, 6, 7, 8, 9, 10, 11, 12], [[\"(\\\\d)(\\\\d{4,9})\", \"$1 $2\", [\"[2568][1-8]|3(?:0[1-9]|[1-9])|9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3,7})\", \"$1 $2\", [\"[12]00|[368]|70[07-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4,8})\", \"$1 $2\", [\"[1245]|7[135]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{6,10})\", \"$1 $2\", [\"7\"], \"0$1\"]], \"0\", 0, 0, 0, 0, \"1[03-79]|[2-9]\", 0, \"00\"], \"FJ\": [\"679\", \"0(?:0|52)\", \"45\\\\d{5}|(?:0800\\\\d|[235-9])\\\\d{6}\", [7, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[235-9]|45\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"0\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"FK\": [\"500\", \"00\", \"[2-7]\\\\d{4}\", [5]], \"FM\": [\"691\", \"00\", \"(?:[39]\\\\d\\\\d|820)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[389]\"]]]], \"FO\": [\"298\", \"00\", \"[2-9]\\\\d{5}\", [6], [[\"(\\\\d{6})\", \"$1\", [\"[2-9]\"]]], 0, 0, \"(10(?:01|[12]0|88))\"], \"FR\": [\"33\", \"00\", \"[1-9]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0 $1\"], [\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"[1-79]\"], \"0$1\"]], \"0\"], \"GA\": [\"241\", \"00\", \"(?:[067]\\\\d|11)\\\\d{6}|[2-7]\\\\d{6}\", [7, 8], [[\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-7]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"0\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"11|[67]\"], \"0$1\"]], 0, 0, \"0(11\\\\d{6}|60\\\\d{6}|61\\\\d{6}|6[256]\\\\d{6}|7[467]\\\\d{6})\", \"$1\"], \"GB\": [\"44\", \"00\", \"[1-357-9]\\\\d{9}|[18]\\\\d{8}|8\\\\d{6}\", [7, 9, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"800\", \"8001\", \"80011\", \"800111\", \"8001111\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"845\", \"8454\", \"84546\", \"845464\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"800\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{4,5})\", \"$1 $2\", [\"1(?:38|5[23]|69|76|94)\", \"1(?:(?:38|69)7|5(?:24|39)|768|946)\", \"1(?:3873|5(?:242|39[4-6])|(?:697|768)[347]|9467)\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5,6})\", \"$1 $2\", [\"1(?:[2-69][02-9]|[78])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[25]|7(?:0|6[02-9])\", \"[25]|7(?:0|6(?:[03-9]|2[356]))\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"7\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1389]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, [[\"(?:1(?:1(?:3(?:[0-58]\\\\d\\\\d|73[0235])|4(?:[0-5]\\\\d\\\\d|69[7-9]|70[01359])|(?:5[0-26-9]|[78][0-49])\\\\d\\\\d|6(?:[0-4]\\\\d\\\\d|50[0-79]))|2(?:(?:0[024-9]|2[3-9]|3[3-79]|4[1-689]|[58][02-9]|6[0-47-9]|7[013-9]|9\\\\d)\\\\d\\\\d|1(?:[0-7]\\\\d\\\\d|8(?:[02]\\\\d|1[0-26-9])))|(?:3(?:0\\\\d|1[0-8]|[25][02-9]|3[02-579]|[468][0-46-9]|7[1-35-79]|9[2-578])|4(?:0[03-9]|[137]\\\\d|[28][02-57-9]|4[02-69]|5[0-8]|[69][0-79])|5(?:0[1-35-9]|[16]\\\\d|2[024-9]|3[015689]|4[02-9]|5[03-9]|7[0-35-9]|8[0-468]|9[0-57-9])|6(?:0[034689]|1\\\\d|2[0-35689]|[38][013-9]|4[1-467]|5[0-69]|6[13-9]|7[0-8]|9[0-24578])|7(?:0[0246-9]|2\\\\d|3[0236-8]|4[03-9]|5[0-46-9]|6[013-9]|7[0-35-9]|8[024-9]|9[02-9])|8(?:0[35-9]|2[1-57-9]|3[02-578]|4[0-578]|5[124-9]|6[2-69]|7\\\\d|8[02-9]|9[02569])|9(?:0[02-589]|[18]\\\\d|2[02-689]|3[1-57-9]|4[2-9]|5[0-579]|6[2-47-9]|7[0-24578]|9[2-57]))\\\\d\\\\d)|2(?:0[013478]|3[0189]|4[017]|8[0-46-9]|9[0-2])\\\\d{3})\\\\d{4}|1(?:2(?:0(?:46[1-4]|87[2-9])|545[1-79]|76(?:2\\\\d|3[1-8]|6[1-6])|9(?:7(?:2[0-4]|3[2-5])|8(?:2[2-8]|7[0-47-9]|8[3-5])))|3(?:6(?:38[2-5]|47[23])|8(?:47[04-9]|64[0157-9]))|4(?:044[1-7]|20(?:2[23]|8\\\\d)|6(?:0(?:30|5[2-57]|6[1-8]|7[2-8])|140)|8(?:052|87[1-3]))|5(?:2(?:4(?:3[2-79]|6\\\\d)|76\\\\d)|6(?:26[06-9]|686))|6(?:06(?:4\\\\d|7[4-79])|295[5-7]|35[34]\\\\d|47(?:24|61)|59(?:5[08]|6[67]|74)|9(?:55[0-4]|77[23]))|7(?:26(?:6[13-9]|7[0-7])|(?:442|688)\\\\d|50(?:2[0-3]|[3-68]2|76))|8(?:27[56]\\\\d|37(?:5[2-5]|8[239])|843[2-58])|9(?:0(?:0(?:6[1-8]|85)|52\\\\d)|3583|4(?:66[1-8]|9(?:2[01]|81))|63(?:23|3[1-4])|9561))\\\\d{3}\", [9, 10]], [\"7(?:457[0-57-9]|700[01]|911[028])\\\\d{5}|7(?:[1-3]\\\\d\\\\d|4(?:[0-46-9]\\\\d|5[0-689])|5(?:0[0-8]|[13-9]\\\\d|2[0-35-9])|7(?:0[1-9]|[1-7]\\\\d|8[02-9]|9[0-689])|8(?:[014-9]\\\\d|[23][0-8])|9(?:[024-9]\\\\d|1[02-9]|3[0-689]))\\\\d{6}\", [10]], [\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"], [\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[2-49]))\\\\d{7}|845464\\\\d\", [7, 10]], [\"70\\\\d{8}\", [10]], 0, [\"(?:3[0347]|55)\\\\d{8}\", [10]], [\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\", [10]], [\"56\\\\d{8}\", [10]]], 0, \" x\"], \"GD\": [\"1\", \"011\", \"(?:473|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"473$1\", 0, \"473\"], \"GE\": [\"995\", \"00\", \"(?:[3-57]\\\\d\\\\d|800)\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"70\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"32\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[57]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[348]\"], \"0$1\"]], \"0\"], \"GF\": [\"594\", \"00\", \"(?:[56]94|80\\\\d|976)\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"GG\": [\"44\", \"00\", \"(?:1481|[357-9]\\\\d{3})\\\\d{6}|8\\\\d{6}(?:\\\\d{2})?\", [7, 9, 10], 0, \"0\", 0, \"0|([25-9]\\\\d{5})$\", \"1481$1\", 0, 0, [[\"1481[25-9]\\\\d{5}\", [10]], [\"7(?:(?:781|839)\\\\d|911[17])\\\\d{5}\", [10]], [\"80[08]\\\\d{7}|800\\\\d{6}|8001111\"], [\"(?:8(?:4[2-5]|7[0-3])|9(?:[01]\\\\d|8[0-3]))\\\\d{7}|845464\\\\d\", [7, 10]], [\"70\\\\d{8}\", [10]], 0, [\"(?:3[0347]|55)\\\\d{8}\", [10]], [\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\", [10]], [\"56\\\\d{8}\", [10]]]], \"GH\": [\"233\", \"00\", \"(?:[235]\\\\d{3}|800)\\\\d{5}\", [8, 9], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[235]\"], \"0$1\"]], \"0\"], \"GI\": [\"350\", \"00\", \"(?:[25]\\\\d\\\\d|606)\\\\d{5}\", [8], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"2\"]]]], \"GL\": [\"299\", \"00\", \"(?:19|[2-689]\\\\d|70)\\\\d{4}\", [6], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"19|[2-9]\"]]]], \"GM\": [\"220\", \"00\", \"[2-9]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-9]\"]]]], \"GN\": [\"224\", \"00\", \"722\\\\d{6}|(?:3|6\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"3\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[67]\"]]]], \"GP\": [\"590\", \"00\", \"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, [[\"590(?:0[1-68]|[14][0-24-9]|2[0-68]|3[1289]|5[3-579]|6[0-289]|7[08]|8[0-689]|9\\\\d)\\\\d{4}\"], [\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"], [\"80[0-5]\\\\d{6}\"], 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]], \"GQ\": [\"240\", \"00\", \"222\\\\d{6}|(?:3\\\\d|55|[89]0)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[235]\"]], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"[89]\"]]]], \"GR\": [\"30\", \"00\", \"5005000\\\\d{3}|8\\\\d{9,11}|(?:[269]\\\\d|70)\\\\d{8}\", [10, 11, 12], [[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"21|7\"]], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"2(?:2|3[2-57-9]|4[2-469]|5[2-59]|6[2-9]|7[2-69]|8[2-49])|5\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2689]\"]], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{5})\", \"$1 $2 $3\", [\"8\"]]]], \"GT\": [\"502\", \"00\", \"(?:1\\\\d{3}|[2-7])\\\\d{7}\", [8, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]]]], \"GU\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|671|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([3-9]\\\\d{6})$\", \"671$1\", 0, \"671\"], \"GW\": [\"245\", \"00\", \"[49]\\\\d{8}|4\\\\d{6}\", [7, 9], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"40\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[49]\"]]]], \"GY\": [\"592\", \"001\", \"9008\\\\d{3}|(?:[2-467]\\\\d\\\\d|862)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-46-9]\"]]]], \"HK\": [\"852\", \"00(?:30|5[09]|[126-9]?)\", \"8[0-46-9]\\\\d{6,7}|9\\\\d{4,7}|(?:[2-7]|9\\\\d{3})\\\\d{7}\", [5, 6, 7, 8, 9, 11], [[\"(\\\\d{3})(\\\\d{2,5})\", \"$1 $2\", [\"900\", \"9003\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]|8[1-4]|9(?:0[1-9]|[1-8])\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"9\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"HN\": [\"504\", \"00\", \"8\\\\d{10}|[237-9]\\\\d{7}\", [8, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"[237-9]\"]]]], \"HR\": [\"385\", \"00\", \"(?:[24-69]\\\\d|3[0-79])\\\\d{7}|80\\\\d{5,7}|[1-79]\\\\d{7}|6\\\\d{5,6}\", [6, 7, 8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"6[01]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[67]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-5]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"], \"0$1\"]], \"0\"], \"HT\": [\"509\", \"00\", \"[2-489]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-489]\"]]]], \"HU\": [\"36\", \"00\", \"[235-7]\\\\d{8}|[1-9]\\\\d{7}\", [8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"(06 $1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[27][2-9]|3[2-7]|4[24-9]|5[2-79]|6|8[2-57-9]|9[2-69]\"], \"(06 $1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-9]\"], \"06 $1\"]], \"06\"], \"ID\": [\"62\", \"00[89]\", \"(?:(?:00[1-9]|8\\\\d)\\\\d{4}|[1-36])\\\\d{6}|00\\\\d{10}|[1-9]\\\\d{8,10}|[2-9]\\\\d{7}\", [7, 8, 9, 10, 11, 12, 13], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"15\"]], [\"(\\\\d{2})(\\\\d{5,9})\", \"$1 $2\", [\"2[124]|[36]1\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5,7})\", \"$1 $2\", [\"800\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5,8})\", \"$1 $2\", [\"[2-79]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{3})\", \"$1-$2-$3\", [\"8[1-35-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6,8})\", \"$1 $2\", [\"1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"804\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"80\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\", \"$1-$2-$3\", [\"8\"], \"0$1\"]], \"0\"], \"IE\": [\"353\", \"00\", \"(?:1\\\\d|[2569])\\\\d{6,8}|4\\\\d{6,9}|7\\\\d{8}|8\\\\d{8,9}\", [7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"2[24-9]|47|58|6[237-9]|9[35-9]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[45]0\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2569]|4[1-69]|7[14]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"70\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"81\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[78]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"4\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"IL\": [\"972\", \"0(?:0|1[2-9])\", \"1\\\\d{6}(?:\\\\d{3,5})?|[57]\\\\d{8}|[1-489]\\\\d{7}\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{4})(\\\\d{3})\", \"$1-$2\", [\"125\"]], [\"(\\\\d{4})(\\\\d{2})(\\\\d{2})\", \"$1-$2-$3\", [\"121\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[2-489]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"[57]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1-$2-$3\", [\"12\"]], [\"(\\\\d{4})(\\\\d{6})\", \"$1-$2\", [\"159\"]], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1-$2-$3-$4\", [\"1[7-9]\"]], [\"(\\\\d{3})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\", \"$1-$2 $3-$4\", [\"15\"]]], \"0\"], \"IM\": [\"44\", \"00\", \"1624\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\", [10], 0, \"0\", 0, \"0|([25-8]\\\\d{5})$\", \"1624$1\", 0, \"74576|(?:16|7[56])24\"], \"IN\": [\"91\", \"00\", \"(?:000800|[2-9]\\\\d\\\\d)\\\\d{7}|1\\\\d{7,12}\", [8, 9, 10, 11, 12, 13], [[\"(\\\\d{8})\", \"$1\", [\"5(?:0|2[23]|3[03]|[67]1|88)\", \"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|888)\", \"5(?:0|2(?:21|3)|3(?:0|3[23])|616|717|8888)\"], 0, 1], [\"(\\\\d{4})(\\\\d{4,5})\", \"$1 $2\", [\"180\", \"1800\"], 0, 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"140\"], 0, 1], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"11|2[02]|33|4[04]|79[1-7]|80[2-46]\", \"11|2[02]|33|4[04]|79(?:[1-6]|7[19])|80(?:[2-4]|6[0-589])\", \"11|2[02]|33|4[04]|79(?:[124-6]|3(?:[02-9]|1[0-24-9])|7(?:1|9[1-6]))|80(?:[2-4]|6[0-589])\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1(?:2[0-249]|3[0-25]|4[145]|[68]|7[1257])|2(?:1[257]|3[013]|4[01]|5[0137]|6[0158]|78|8[1568])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|5[12]|[78]1)|6(?:12|[2-4]1|5[17]|6[13]|80)|7(?:12|3[134]|4[47]|61|88)|8(?:16|2[014]|3[126]|6[136]|7[078]|8[34]|91)|(?:43|59|75)[15]|(?:1[59]|29|67|72)[14]\", \"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|674|7(?:(?:2[14]|3[34]|5[15])[2-6]|61[346]|88[0-8])|8(?:70[2-6]|84[235-7]|91[3-7])|(?:1(?:29|60|8[06])|261|552|6(?:12|[2-47]1|5[17]|6[13]|80)|7(?:12|31|4[47])|8(?:16|2[014]|3[126]|6[136]|7[78]|83))[2-7]\", \"1(?:2[0-24]|3[0-25]|4[145]|[59][14]|6[1-9]|7[1257]|8[1-57-9])|2(?:1[257]|3[013]|4[01]|5[0137]|6[058]|78|8[1568]|9[14])|3(?:26|4[1-3]|5[34]|6[01489]|7[02-46]|8[159])|4(?:1[36]|2[1-47]|3[15]|5[12]|6[0-26-9]|7[0-24-9]|8[013-57]|9[014-7])|5(?:1[025]|22|[36][25]|4[28]|[578]1|9[15])|6(?:12(?:[2-6]|7[0-8])|74[2-7])|7(?:(?:2[14]|5[15])[2-6]|3171|61[346]|88(?:[2-7]|82))|8(?:70[2-6]|84(?:[2356]|7[19])|91(?:[3-6]|7[19]))|73[134][2-6]|(?:74[47]|8(?:16|2[014]|3[126]|6[136]|7[78]|83))(?:[2-6]|7[19])|(?:1(?:29|60|8[06])|261|552|6(?:[2-4]1|5[17]|6[13]|7(?:1|4[0189])|80)|7(?:12|88[01]))[2-7]\"], \"0$1\", 1], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2[2457-9]|3[2-5]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1[013-9]|28|3[129]|4[1-35689]|5[29]|6[02-5]|70)|807\", \"1(?:[2-479]|5[0235-9])|[2-5]|6(?:1[1358]|2(?:[2457]|84|95)|3(?:[2-4]|55)|4[235-7]|5[2-689]|6[24578]|7[235689]|8[1-6])|7(?:1(?:[013-8]|9[6-9])|28[6-8]|3(?:17|2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4|5[0-367])|70[13-7])|807[19]\", \"1(?:[2-479]|5(?:[0236-9]|5[013-9]))|[2-5]|6(?:2(?:84|95)|355|83)|73179|807(?:1|9[1-3])|(?:1552|6(?:1[1358]|2[2457]|3[2-4]|4[235-7]|5[2-689]|6[24578]|7[235689]|8[124-6])\\\\d|7(?:1(?:[013-8]\\\\d|9[6-9])|28[6-8]|3(?:2[0-49]|9[2-57])|4(?:1[2-4]|[29][0-7]|3[0-8]|[56]\\\\d|8[0-24-7])|5(?:2[1-3]|9[0-6])|6(?:0[5689]|2[5-9]|3[02-8]|4\\\\d|5[0-367])|70[13-7]))[2-7]\"], \"0$1\", 1], [\"(\\\\d{5})(\\\\d{5})\", \"$1 $2\", [\"[6-9]\"], \"0$1\", 1], [\"(\\\\d{4})(\\\\d{2,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1(?:6|8[06])\", \"1(?:6|8[06]0)\"], 0, 1], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"18\"], 0, 1]], \"0\"], \"IO\": [\"246\", \"00\", \"3\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"3\"]]]], \"IQ\": [\"964\", \"00\", \"(?:1|7\\\\d\\\\d)\\\\d{7}|[2-6]\\\\d{7,8}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-6]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\"], \"IR\": [\"98\", \"00\", \"[1-9]\\\\d{9}|(?:[1-8]\\\\d\\\\d|9)\\\\d{3,4}\", [4, 5, 6, 7, 10], [[\"(\\\\d{4,5})\", \"$1\", [\"96\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4,5})\", \"$1 $2\", [\"(?:1[137]|2[13-68]|3[1458]|4[145]|5[1468]|6[16]|7[1467]|8[13467])[12689]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-8]\"], \"0$1\"]], \"0\"], \"IS\": [\"354\", \"00|1(?:0(?:01|[12]0)|100)\", \"(?:38\\\\d|[4-9])\\\\d{6}\", [7, 9], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[4-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"3\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"IT\": [\"39\", \"00\", \"0\\\\d{5,10}|1\\\\d{8,10}|3(?:[0-8]\\\\d{7,10}|9\\\\d{7,8})|(?:55|70)\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?\", [6, 7, 8, 9, 10, 11], [[\"(\\\\d{2})(\\\\d{4,6})\", \"$1 $2\", [\"0[26]\"]], [\"(\\\\d{3})(\\\\d{3,6})\", \"$1 $2\", [\"0[13-57-9][0159]|8(?:03|4[17]|9[2-5])\", \"0[13-57-9][0159]|8(?:03|4[17]|9(?:2|3[04]|[45][0-4]))\"]], [\"(\\\\d{4})(\\\\d{2,6})\", \"$1 $2\", [\"0(?:[13-579][2-46-8]|8[236-8])\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"894\"]], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"0[26]|5\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"1(?:44|[679])|[378]\"]], [\"(\\\\d{3})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"0[13-57-9][0159]|14\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{5})\", \"$1 $2 $3\", [\"0[26]\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\", \"$1 $2 $3\", [\"3\"]]], 0, 0, 0, 0, 0, 0, [[\"0669[0-79]\\\\d{1,6}|0(?:1(?:[0159]\\\\d|[27][1-5]|31|4[1-4]|6[1356]|8[2-57])|2\\\\d\\\\d|3(?:[0159]\\\\d|2[1-4]|3[12]|[48][1-6]|6[2-59]|7[1-7])|4(?:[0159]\\\\d|[23][1-9]|4[245]|6[1-5]|7[1-4]|81)|5(?:[0159]\\\\d|2[1-5]|3[2-6]|4[1-79]|6[4-6]|7[1-578]|8[3-8])|6(?:[0-57-9]\\\\d|6[0-8])|7(?:[0159]\\\\d|2[12]|3[1-7]|4[2-46]|6[13569]|7[13-6]|8[1-59])|8(?:[0159]\\\\d|2[3-578]|3[1-356]|[6-8][1-5])|9(?:[0159]\\\\d|[238][1-5]|4[12]|6[1-8]|7[1-6]))\\\\d{2,7}\"], [\"3[1-9]\\\\d{8}|3[2-9]\\\\d{7}\", [9, 10]], [\"80(?:0\\\\d{3}|3)\\\\d{3}\", [6, 9]], [\"(?:0878\\\\d{3}|89(?:2\\\\d|3[04]|4(?:[0-4]|[5-9]\\\\d\\\\d)|5[0-4]))\\\\d\\\\d|(?:1(?:44|6[346])|89(?:38|5[5-9]|9))\\\\d{6}\", [6, 8, 9, 10]], [\"1(?:78\\\\d|99)\\\\d{6}\", [9, 10]], 0, 0, 0, [\"55\\\\d{8}\", [10]], [\"84(?:[08]\\\\d{3}|[17])\\\\d{3}\", [6, 9]]]], \"JE\": [\"44\", \"00\", \"1534\\\\d{6}|(?:[3578]\\\\d|90)\\\\d{8}\", [10], 0, \"0\", 0, \"0|([0-24-8]\\\\d{5})$\", \"1534$1\", 0, 0, [[\"1534[0-24-8]\\\\d{5}\"], [\"7(?:(?:(?:50|82)9|937)\\\\d|7(?:00[378]|97[7-9]))\\\\d{5}\"], [\"80(?:07(?:35|81)|8901)\\\\d{4}\"], [\"(?:8(?:4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|90(?:066[59]|1810|71(?:07|55)))\\\\d{4}\"], [\"701511\\\\d{4}\"], 0, [\"(?:3(?:0(?:07(?:35|81)|8901)|3\\\\d{4}|4(?:4(?:4(?:05|42|69)|703)|5(?:041|800))|7(?:0002|1206))|55\\\\d{4})\\\\d{4}\"], [\"76(?:464|652)\\\\d{5}|76(?:0[0-2]|2[356]|34|4[01347]|5[49]|6[0-369]|77|8[14]|9[139])\\\\d{6}\"], [\"56\\\\d{8}\"]]], \"JM\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|658|900)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"658|876\"], \"JO\": [\"962\", \"00\", \"(?:(?:[2689]|7\\\\d)\\\\d|32|53)\\\\d{6}\", [8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2356]|87\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{5,6})\", \"$1 $2\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"70\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\"], \"JP\": [\"81\", \"010\", \"00[1-9]\\\\d{6,14}|[257-9]\\\\d{9}|(?:00|[1-9]\\\\d\\\\d)\\\\d{6}\", [8, 9, 10, 11, 12, 13, 14, 15, 16, 17], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1-$2-$3\", [\"(?:12|57|99)0\"], \"0$1\"], [\"(\\\\d{4})(\\\\d)(\\\\d{4})\", \"$1-$2-$3\", [\"1(?:26|3[79]|4[56]|5[4-68]|6[3-5])|499|5(?:76|97)|746|8(?:3[89]|47|51|63)|9(?:80|9[16])\", \"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:76|97)9|7468|8(?:3(?:8[7-9]|96)|477|51[2-9]|636)|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\", \"1(?:267|3(?:7[247]|9[278])|466|5(?:47|58|64)|6(?:3[245]|48|5[4-68]))|499[2468]|5(?:769|979[2-69])|7468|8(?:3(?:8[7-9]|96[2457-9])|477|51[2-9]|636[457-9])|9(?:802|9(?:1[23]|69))|1(?:45|58)[67]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"60\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1-$2-$3\", [\"[36]|4(?:2[09]|7[01])\", \"[36]|4(?:2(?:0|9[02-69])|7(?:0[019]|1))\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"1(?:1|5[45]|77|88|9[69])|2(?:2[1-37]|3[0-269]|4[59]|5|6[24]|7[1-358]|8[1369]|9[0-38])|4(?:[28][1-9]|3[0-57]|[45]|6[248]|7[2-579]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-389])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9[2-6])|8(?:2[124589]|3[27-9]|49|51|6|7[0-468]|8[68]|9[019])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9[1-489])\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2(?:[127]|3[014-9])|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9[19])|62|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|8[1-9])|5(?:2|3[045]|4[0-369]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0-2469])|49|51|6(?:[0-24]|36|5[0-3589]|72|9[01459])|7[0-468]|8[68])|9(?:[23][1-9]|4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3[34]|4[0178]))|(?:49|55|83)[29]|(?:264|837)[016-9]|2(?:57|93)[015-9]|(?:25[0468]|422|838)[01]|(?:47[59]|59[89]|8(?:6[68]|9))[019]\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9[0169])|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:8294|96)[1-3]|2(?:57|93)[015-9]|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|8292|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\", \"1(?:1|5(?:4[018]|5[017])|77|88|9[69])|2(?:2[127]|3[0-269]|4[59]|5(?:[1-3]|5[0-69]|7[015-9]|9(?:17|99))|6(?:2|4[016-9])|7(?:[1-35]|8[0189])|8(?:[16]|3[0134]|9[0-5])|9(?:[028]|17|3[015-9]))|4(?:2(?:[13-79]|8[014-6])|3[0-57]|[45]|6[248]|7[2-47]|9[29])|5(?:2|3[045]|4[0-369]|5[29]|8[02389]|9[0-3])|7(?:2[02-46-9]|34|[58]|6[0249]|7[57]|9(?:[23]|4[0-59]|5[01569]|6[0167]))|8(?:2(?:[1258]|4[0-39]|9(?:[019]|4[1-3]|6(?:[0-47-9]|5[01346-9])))|3(?:[29]|7(?:[017-9]|6[6-8]))|49|51|6(?:[0-24]|36[23]|5(?:[0-389]|5[23])|6(?:[01]|9[178])|72|9[0145])|7[0-468]|8[68])|9(?:4[15]|5[138]|6[1-3]|7[156]|8[189]|9(?:[1289]|3(?:31|4[357])|4[0178]))|(?:223|8699)[014-9]|(?:25[0468]|422|838)[01]|(?:48|829(?:2|66)|9[23])[1-9]|(?:47[59]|59[89]|8(?:68|9))[019]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1-$2-$3\", [\"[14]|[289][2-9]|5[3-9]|7[2-4679]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"800\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1-$2-$3\", [\"[257-9]\"], \"0$1\"]], \"0\"], \"KE\": [\"254\", \"000\", \"(?:[17]\\\\d\\\\d|900)\\\\d{6}|(?:2|80)0\\\\d{6,7}|[4-6]\\\\d{6,8}\", [7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{5,7})\", \"$1 $2\", [\"[24-6]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"[17]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"]], \"0\"], \"KG\": [\"996\", \"00\", \"8\\\\d{9}|(?:[235-8]\\\\d|99)\\\\d{7}\", [9, 10], [[\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"3(?:1[346]|[24-79])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[235-79]|88\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d)(\\\\d{2,3})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"KH\": [\"855\", \"00[14-9]\", \"1\\\\d{9}|[1-9]\\\\d{7,8}\", [8, 9, 10], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[1-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"KI\": [\"686\", \"00\", \"(?:[37]\\\\d|6[0-79])\\\\d{6}|(?:[2-48]\\\\d|50)\\\\d{3}\", [5, 8], 0, \"0\"], \"KM\": [\"269\", \"00\", \"[3478]\\\\d{6}\", [7], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[3478]\"]]]], \"KN\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"869$1\", 0, \"869\"], \"KP\": [\"850\", \"00|99\", \"85\\\\d{6}|(?:19\\\\d|[2-7])\\\\d{7}\", [8, 10], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-7]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"]], \"0\"], \"KR\": [\"82\", \"00(?:[125689]|3(?:[46]5|91)|7(?:00|27|3|55|6[126]))\", \"00[1-9]\\\\d{8,11}|(?:[12]|5\\\\d{3})\\\\d{7}|[13-6]\\\\d{9}|(?:[1-6]\\\\d|80)\\\\d{7}|[3-6]\\\\d{4,5}|(?:00|7)0\\\\d{8}\", [5, 6, 8, 9, 10, 11, 12, 13, 14], [[\"(\\\\d{2})(\\\\d{3,4})\", \"$1-$2\", [\"(?:3[1-3]|[46][1-4]|5[1-5])1\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"1\"]], [\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\", \"$1-$2-$3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1-$2-$3\", [\"60|8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1-$2-$3\", [\"[1346]|5[1-5]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1-$2-$3\", [\"[57]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5})(\\\\d{4})\", \"$1-$2-$3\", [\"5\"], \"0$1\"]], \"0\", 0, \"0(8(?:[1-46-8]|5\\\\d\\\\d))?\"], \"KW\": [\"965\", \"00\", \"18\\\\d{5}|(?:[2569]\\\\d|41)\\\\d{6}\", [7, 8], [[\"(\\\\d{4})(\\\\d{3,4})\", \"$1 $2\", [\"[169]|2(?:[235]|4[1-35-9])|52\"]], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[245]\"]]]], \"KY\": [\"1\", \"011\", \"(?:345|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"345$1\", 0, \"345\"], \"KZ\": [\"7\", \"810\", \"(?:33622|8\\\\d{8})\\\\d{5}|[78]\\\\d{9}\", [10, 14], 0, \"8\", 0, 0, 0, 0, \"33|7\", 0, \"8~10\"], \"LA\": [\"856\", \"00\", \"[23]\\\\d{9}|3\\\\d{8}|(?:[235-8]\\\\d|41)\\\\d{6}\", [8, 9, 10], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2[13]|3[14]|[4-8]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"30[013-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[23]\"], \"0$1\"]], \"0\"], \"LB\": [\"961\", \"00\", \"[27-9]\\\\d{7}|[13-9]\\\\d{6}\", [7, 8], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[13-69]|7(?:[2-57]|62|8[0-7]|9[04-9])|8[02-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[27-9]\"]]], \"0\"], \"LC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|758|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-8]\\\\d{6})$\", \"758$1\", 0, \"758\"], \"LI\": [\"423\", \"00\", \"[68]\\\\d{8}|(?:[2378]\\\\d|90)\\\\d{5}\", [7, 9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[2379]|8(?:0[09]|7)\", \"[2379]|8(?:0(?:02|9)|7)\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"69\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6\"]]], \"0\", 0, \"0|(1001)\"], \"LK\": [\"94\", \"00\", \"[1-9]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[1-689]\"], \"0$1\"]], \"0\"], \"LR\": [\"231\", \"00\", \"(?:2|33|5\\\\d|77|88)\\\\d{7}|[4-6]\\\\d{6}\", [7, 8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[4-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[3578]\"], \"0$1\"]], \"0\"], \"LS\": [\"266\", \"00\", \"(?:[256]\\\\d\\\\d|800)\\\\d{5}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2568]\"]]]], \"LT\": [\"370\", \"00\", \"(?:[3469]\\\\d|52|[78]0)\\\\d{6}\", [8], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"52[0-7]\"], \"(8-$1)\", 1], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[7-9]\"], \"8 $1\", 1], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"37|4(?:[15]|6[1-8])\"], \"(8-$1)\", 1], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[3-6]\"], \"(8-$1)\", 1]], \"8\", 0, \"[08]\"], \"LU\": [\"352\", \"00\", \"35[013-9]\\\\d{4,8}|6\\\\d{8}|35\\\\d{2,4}|(?:[2457-9]\\\\d|3[0-46-9])\\\\d{2,9}\", [4, 5, 6, 7, 8, 9, 10, 11], [[\"(\\\\d{2})(\\\\d{3})\", \"$1 $2\", [\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"2(?:0[2-689]|[2-9])|[3-57]|8(?:0[2-9]|[13-9])|9(?:0[89]|[2-579])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"20[2-689]\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\", \"$1 $2 $3 $4\", [\"2(?:[0367]|4[3-8])\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"80[01]|90[015]\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"20\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,2})\", \"$1 $2 $3 $4 $5\", [\"2(?:[0367]|4[3-8])\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{1,5})\", \"$1 $2 $3 $4\", [\"[3-57]|8[13-9]|9(?:0[89]|[2-579])|(?:2|80)[2-9]\"]]], 0, 0, \"(15(?:0[06]|1[12]|[35]5|4[04]|6[26]|77|88|99)\\\\d)\"], \"LV\": [\"371\", \"00\", \"(?:[268]\\\\d|90)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[269]|8[01]\"]]]], \"LY\": [\"218\", \"00\", \"[2-9]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{7})\", \"$1-$2\", [\"[2-9]\"], \"0$1\"]], \"0\"], \"MA\": [\"212\", \"00\", \"[5-8]\\\\d{8}\", [9], [[\"(\\\\d{5})(\\\\d{4})\", \"$1-$2\", [\"5(?:29|38)\", \"5(?:29[89]|389)\", \"5(?:29[89]|389)0\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"5[45]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5})\", \"$1-$2\", [\"5(?:2[2-489]|3[5-9]|9)|892\", \"5(?:2(?:[2-49]|8[235-9])|3[5-9]|9)|892\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1-$2\", [\"8\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1-$2\", [\"[5-7]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, [[\"5(?:29(?:[189][05]|2[29]|3[01])|389[05])\\\\d{4}|5(?:2(?:[0-25-7]\\\\d|3[1-578]|4[02-46-8]|8[0235-7]|90)|3(?:[0-47]\\\\d|5[02-9]|6[02-8]|8[08]|9[3-9])|(?:4[067]|5[03])\\\\d)\\\\d{5}\"], [\"(?:6(?:[0-79]\\\\d|8[0-247-9])|7(?:[017]\\\\d|2[0-2]|6[0-8]))\\\\d{6}\"], [\"80\\\\d{7}\"], [\"89\\\\d{7}\"], 0, 0, 0, 0, [\"592(?:4[0-2]|93)\\\\d{4}\"]]], \"MC\": [\"377\", \"00\", \"(?:[3489]|6\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"4\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[389]\"]], [\"(\\\\d)(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4 $5\", [\"6\"], \"0$1\"]], \"0\"], \"MD\": [\"373\", \"00\", \"(?:[235-7]\\\\d|[89]0)\\\\d{6}\", [8], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"22|3\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[25-7]\"], \"0$1\"]], \"0\"], \"ME\": [\"382\", \"00\", \"(?:20|[3-79]\\\\d)\\\\d{6}|80\\\\d{6,7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[2-9]\"], \"0$1\"]], \"0\"], \"MF\": [\"590\", \"00\", \"(?:590|(?:69|80)\\\\d|976)\\\\d{6}\", [9], 0, \"0\", 0, 0, 0, 0, 0, [[\"590(?:0[079]|[14]3|[27][79]|30|5[0-268]|87)\\\\d{4}\"], [\"69(?:0\\\\d\\\\d|1(?:2[2-9]|3[0-5]))\\\\d{4}\"], [\"80[0-5]\\\\d{6}\"], 0, 0, 0, 0, 0, [\"976[01]\\\\d{5}\"]]], \"MG\": [\"261\", \"00\", \"[23]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[23]\"], \"0$1\"]], \"0\", 0, \"0|([24-9]\\\\d{6})$\", \"20$1\"], \"MH\": [\"692\", \"011\", \"329\\\\d{4}|(?:[256]\\\\d|45)\\\\d{5}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[2-6]\"]]], \"1\"], \"MK\": [\"389\", \"00\", \"[2-578]\\\\d{7}\", [8], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2|34[47]|4(?:[37]7|5[47]|64)\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[347]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[58]\"], \"0$1\"]], \"0\"], \"ML\": [\"223\", \"00\", \"[24-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[24-9]\"]]]], \"MM\": [\"95\", \"00\", \"1\\\\d{5,7}|95\\\\d{6}|(?:[4-7]|9[0-46-9])\\\\d{6,8}|(?:2|8\\\\d)\\\\d{5,8}\", [6, 7, 8, 9, 10], [[\"(\\\\d)(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"16|2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[45]|6(?:0[23]|[1-689]|7[235-7])|7(?:[0-4]|5[2-7])|8[1-6]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[12]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[4-7]|8[1-35]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4,6})\", \"$1 $2 $3\", [\"9(?:2[0-4]|[35-9]|4[137-9])\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"92\"], \"0$1\"], [\"(\\\\d)(\\\\d{5})(\\\\d{4})\", \"$1 $2 $3\", [\"9\"], \"0$1\"]], \"0\"], \"MN\": [\"976\", \"001\", \"[12]\\\\d{7,9}|[5-9]\\\\d{7}\", [8, 9, 10], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[12]1\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[5-9]\"]], [\"(\\\\d{3})(\\\\d{5,6})\", \"$1 $2\", [\"[12]2[1-3]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5,6})\", \"$1 $2\", [\"[12](?:27|3[2-8]|4[2-68]|5[1-4689])\", \"[12](?:27|3[2-8]|4[2-68]|5[1-4689])[0-3]\"], \"0$1\"], [\"(\\\\d{5})(\\\\d{4,5})\", \"$1 $2\", [\"[12]\"], \"0$1\"]], \"0\"], \"MO\": [\"853\", \"00\", \"0800\\\\d{3}|(?:28|[68]\\\\d)\\\\d{6}\", [7, 8], [[\"(\\\\d{4})(\\\\d{3})\", \"$1 $2\", [\"0\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[268]\"]]]], \"MP\": [\"1\", \"011\", \"[58]\\\\d{9}|(?:67|90)0\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"670$1\", 0, \"670\"], \"MQ\": [\"596\", \"00\", \"(?:69|80)\\\\d{7}|(?:59|97)6\\\\d{6}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[569]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"MR\": [\"222\", \"00\", \"(?:[2-4]\\\\d\\\\d|800)\\\\d{5}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2-48]\"]]]], \"MS\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|664|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([34]\\\\d{6})$\", \"664$1\", 0, \"664\"], \"MT\": [\"356\", \"00\", \"3550\\\\d{4}|(?:[2579]\\\\d\\\\d|800)\\\\d{5}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2357-9]\"]]]], \"MU\": [\"230\", \"0(?:0|[24-7]0|3[03])\", \"(?:5|8\\\\d\\\\d)\\\\d{7}|[2-468]\\\\d{6}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-46]|8[013]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"5\"]], [\"(\\\\d{5})(\\\\d{5})\", \"$1 $2\", [\"8\"]]], 0, 0, 0, 0, 0, 0, 0, \"020\"], \"MV\": [\"960\", \"0(?:0|19)\", \"(?:800|9[0-57-9]\\\\d)\\\\d{7}|[34679]\\\\d{6}\", [7, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[3467]|9[13-9]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"MW\": [\"265\", \"00\", \"(?:[129]\\\\d|31|77|88)\\\\d{7}|1\\\\d{6}\", [7, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1[2-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[137-9]\"], \"0$1\"]], \"0\"], \"MX\": [\"52\", \"0[09]\", \"1(?:(?:44|99)[1-9]|65[0-689])\\\\d{7}|(?:1(?:[017]\\\\d|[235][1-9]|4[0-35-9]|6[0-46-9]|8[1-79]|9[1-8])|[2-9]\\\\d)\\\\d{8}\", [10, 11], [[\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"33|5[56]|81\"], 0, 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2-9]\"], 0, 1], [\"(\\\\d)(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$2 $3 $4\", [\"1(?:33|5[56]|81)\"], 0, 1], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$2 $3 $4\", [\"1\"], 0, 1]], \"01\", 0, \"0(?:[12]|4[45])|1\", 0, 0, 0, 0, \"00\"], \"MY\": [\"60\", \"00\", \"1\\\\d{8,9}|(?:3\\\\d|[4-9])\\\\d{7}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1-$2 $3\", [\"[4-79]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1-$2 $3\", [\"1(?:[02469]|[378][1-9]|53)|8\", \"1(?:[02469]|[37][1-9]|53|8(?:[1-46-9]|5[7-9]))|8\"], \"0$1\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1-$2 $3\", [\"3\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1-$2-$3-$4\", [\"1(?:[367]|80)\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1-$2 $3\", [\"15\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1-$2 $3\", [\"1\"], \"0$1\"]], \"0\"], \"MZ\": [\"258\", \"00\", \"(?:2|8\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2|8[2-79]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"8\"]]]], \"NA\": [\"264\", \"00\", \"[68]\\\\d{7,8}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"88\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"6\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"87\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"], \"0$1\"]], \"0\"], \"NC\": [\"687\", \"00\", \"(?:050|[2-57-9]\\\\d\\\\d)\\\\d{3}\", [6], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1.$2.$3\", [\"[02-57-9]\"]]]], \"NE\": [\"227\", \"00\", \"[027-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"08\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[089]|2[013]|7[04]\"]]]], \"NF\": [\"672\", \"00\", \"[13]\\\\d{5}\", [6], [[\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"1[0-3]\"]], [\"(\\\\d)(\\\\d{5})\", \"$1 $2\", [\"[13]\"]]], 0, 0, \"([0-258]\\\\d{4})$\", \"3$1\"], \"NG\": [\"234\", \"009\", \"(?:[124-7]|9\\\\d{3})\\\\d{6}|[1-9]\\\\d{7}|[78]\\\\d{9,13}\", [7, 8, 10, 11, 12, 13, 14], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"78\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[12]|9(?:0[3-9]|[1-9])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\", \"$1 $2 $3\", [\"[3-7]|8[2-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[7-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4,5})\", \"$1 $2 $3\", [\"[78]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5})(\\\\d{5,6})\", \"$1 $2 $3\", [\"[78]\"], \"0$1\"]], \"0\"], \"NI\": [\"505\", \"00\", \"(?:1800|[25-8]\\\\d{3})\\\\d{4}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[125-8]\"]]]], \"NL\": [\"31\", \"00\", \"(?:[124-7]\\\\d\\\\d|3(?:[02-9]\\\\d|1[0-8]))\\\\d{6}|8\\\\d{6,9}|9\\\\d{6,10}|1\\\\d{4,5}\", [5, 6, 7, 8, 9, 10, 11], [[\"(\\\\d{3})(\\\\d{4,7})\", \"$1 $2\", [\"[89]0\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"66\"], \"0$1\"], [\"(\\\\d)(\\\\d{8})\", \"$1 $2\", [\"6\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1[16-8]|2[259]|3[124]|4[17-9]|5[124679]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-578]|91\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\", [\"9\"], \"0$1\"]], \"0\"], \"NO\": [\"47\", \"00\", \"(?:0|[2-9]\\\\d{3})\\\\d{4}\", [5, 8], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"[489]|59\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[235-7]\"]]], 0, 0, 0, 0, 0, \"[02-689]|7[0-8]\"], \"NP\": [\"977\", \"00\", \"(?:1\\\\d|9)\\\\d{9}|[1-9]\\\\d{7}\", [8, 10, 11], [[\"(\\\\d)(\\\\d{7})\", \"$1-$2\", [\"1[2-6]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1-$2\", [\"1[01]|[2-8]|9(?:[1-59]|[67][2-6])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1-$2\", [\"9\"]]], \"0\"], \"NR\": [\"674\", \"00\", \"(?:444|(?:55|8\\\\d)\\\\d|666)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[4-68]\"]]]], \"NU\": [\"683\", \"00\", \"(?:[47]|888\\\\d)\\\\d{3}\", [4, 7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"8\"]]]], \"NZ\": [\"64\", \"0(?:0|161)\", \"[29]\\\\d{7,9}|50\\\\d{5}(?:\\\\d{2,3})?|6[0-35-9]\\\\d{6}|7\\\\d{7,8}|8\\\\d{4,9}|(?:11\\\\d|[34])\\\\d{7}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{3,8})\", \"$1 $2\", [\"8[1-579]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"50[036-8]|[89]0\", \"50(?:[0367]|88)|[89]0\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"24|[346]|7[2-57-9]|9[2-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2(?:10|74)|[59]|80\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1|2[028]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,5})\", \"$1 $2 $3\", [\"2(?:[169]|7[0-35-9])|7|86\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, \"00\"], \"OM\": [\"968\", \"00\", \"(?:1505|[279]\\\\d{3}|500)\\\\d{4}|800\\\\d{5,6}\", [7, 8, 9], [[\"(\\\\d{3})(\\\\d{4,6})\", \"$1 $2\", [\"[58]\"]], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"2\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[179]\"]]]], \"PA\": [\"507\", \"00\", \"(?:00800|8\\\\d{3})\\\\d{6}|[68]\\\\d{7}|[1-57-9]\\\\d{6}\", [7, 8, 10, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[1-57-9]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1-$2\", [\"[68]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]]]], \"PE\": [\"51\", \"00|19(?:1[124]|77|90)00\", \"(?:[14-8]|9\\\\d)\\\\d{7}\", [8, 9], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"80\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"1\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[4-8]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"]]], \"0\", 0, 0, 0, 0, 0, 0, \"00\", \" Anexo \"], \"PF\": [\"689\", \"00\", \"4\\\\d{5}(?:\\\\d{2})?|8\\\\d{7,8}\", [6, 8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"44\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"4|8[7-9]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"]]]], \"PG\": [\"675\", \"00|140[1-3]\", \"(?:180|[78]\\\\d{3})\\\\d{4}|(?:[2-589]\\\\d|64)\\\\d{5}\", [7, 8], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"18|[2-69]|85\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[78]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"PH\": [\"63\", \"00\", \"(?:[2-7]|9\\\\d)\\\\d{8}|2\\\\d{5}|(?:1800|8)\\\\d{7,9}\", [6, 8, 9, 10, 11, 12, 13], [[\"(\\\\d)(\\\\d{5})\", \"$1 $2\", [\"2\"], \"(0$1)\"], [\"(\\\\d{4})(\\\\d{4,6})\", \"$1 $2\", [\"3(?:23|39|46)|4(?:2[3-6]|[35]9|4[26]|76)|544|88[245]|(?:52|64|86)2\", \"3(?:230|397|461)|4(?:2(?:35|[46]4|51)|396|4(?:22|63)|59[347]|76[15])|5(?:221|446)|642[23]|8(?:622|8(?:[24]2|5[13]))\"], \"(0$1)\"], [\"(\\\\d{5})(\\\\d{4})\", \"$1 $2\", [\"346|4(?:27|9[35])|883\", \"3469|4(?:279|9(?:30|56))|8834\"], \"(0$1)\"], [\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[3-7]|8[2-8]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{4})(\\\\d{1,2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3 $4\", [\"1\"]]], \"0\"], \"PK\": [\"92\", \"00\", \"122\\\\d{6}|[24-8]\\\\d{10,11}|9(?:[013-9]\\\\d{8,10}|2(?:[01]\\\\d\\\\d|2(?:[06-8]\\\\d|1[01]))\\\\d{7})|(?:[2-8]\\\\d{3}|92(?:[0-7]\\\\d|8[1-9]))\\\\d{6}|[24-9]\\\\d{8}|[89]\\\\d{7}\", [8, 9, 10, 11, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{2,7})\", \"$1 $2 $3\", [\"[89]0\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"1\"]], [\"(\\\\d{3})(\\\\d{6,7})\", \"$1 $2\", [\"2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:2[2-8]|3[27-9]|4[2-6]|6[3569]|9[25-8])\", \"9(?:2[3-8]|98)|(?:2(?:3[2358]|4[2-4]|9[2-8])|45[3479]|54[2-467]|60[468]|72[236]|8(?:2[2-689]|3[23578]|4[3478]|5[2356])|9(?:22|3[27-9]|4[2-6]|6[3569]|9[25-7]))[2-9]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{7,8})\", \"$1 $2\", [\"(?:2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91)[2-9]\"], \"(0$1)\"], [\"(\\\\d{5})(\\\\d{5})\", \"$1 $2\", [\"58\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{7})\", \"$1 $2\", [\"3\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"2[125]|4[0-246-9]|5[1-35-7]|6[1-8]|7[14]|8[16]|91\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[24-9]\"], \"(0$1)\"]], \"0\"], \"PL\": [\"48\", \"00\", \"6\\\\d{5}(?:\\\\d{2})?|8\\\\d{9}|[1-9]\\\\d{6}(?:\\\\d{2})?\", [6, 7, 8, 9, 10], [[\"(\\\\d{5})\", \"$1\", [\"19\"]], [\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"11|64\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1 $2 $3\", [\"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])1\", \"(?:1[2-8]|2[2-69]|3[2-4]|4[1-468]|5[24-689]|6[1-3578]|7[14-7]|8[1-79]|9[145])19\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"64\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"21|39|45|5[0137]|6[0469]|7[02389]|8(?:0[14]|8)\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"1[2-8]|[2-7]|8[1-79]|9[145]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"8\"]]]], \"PM\": [\"508\", \"00\", \"(?:[45]|80\\\\d\\\\d)\\\\d{5}\", [6, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[45]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"], \"0$1\"]], \"0\"], \"PR\": [\"1\", \"011\", \"(?:[589]\\\\d\\\\d|787)\\\\d{7}\", [10], 0, \"1\", 0, 0, 0, 0, \"787|939\"], \"PS\": [\"970\", \"00\", \"[2489]2\\\\d{6}|(?:1\\\\d|5)\\\\d{8}\", [8, 9, 10], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[2489]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"5\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"PT\": [\"351\", \"00\", \"1693\\\\d{5}|(?:[26-9]\\\\d|30)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2[12]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"16|[236-9]\"]]]], \"PW\": [\"680\", \"01[12]\", \"(?:[24-8]\\\\d\\\\d|345|900)\\\\d{4}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-9]\"]]]], \"PY\": [\"595\", \"00\", \"59\\\\d{4,6}|9\\\\d{5,10}|(?:[2-46-8]\\\\d|5[0-8])\\\\d{4,7}\", [6, 7, 8, 9, 10, 11], [[\"(\\\\d{3})(\\\\d{3,6})\", \"$1 $2\", [\"[2-9]0\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"[26]1|3[289]|4[1246-8]|7[1-3]|8[1-36]\"], \"(0$1)\"], [\"(\\\\d{3})(\\\\d{4,5})\", \"$1 $2\", [\"2[279]|3[13-5]|4[359]|5|6(?:[34]|7[1-46-8])|7[46-8]|85\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2[14-68]|3[26-9]|4[1246-8]|6(?:1|75)|7[1-35]|8[1-36]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"87\"]], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"9(?:[5-79]|8[1-6])\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-8]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"9\"]]], \"0\"], \"QA\": [\"974\", \"00\", \"[2-7]\\\\d{7}|800\\\\d{4}(?:\\\\d{2})?|2\\\\d{6}\", [7, 8, 9], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"2[126]|8\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[2-7]\"]]]], \"RE\": [\"262\", \"00\", \"976\\\\d{6}|(?:26|[68]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2689]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, \"26[23]|69|[89]\"], \"RO\": [\"40\", \"00\", \"(?:[2378]\\\\d|90)\\\\d{7}|[23]\\\\d{5}\", [6, 9], [[\"(\\\\d{3})(\\\\d{3})\", \"$1 $2\", [\"2[3-6]\", \"2[3-6]\\\\d9\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"219|31\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[23]1\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[237-9]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, 0, \" int \"], \"RS\": [\"381\", \"00\", \"38[02-9]\\\\d{6,9}|6\\\\d{7,9}|90\\\\d{4,8}|38\\\\d{5,6}|(?:7\\\\d\\\\d|800)\\\\d{3,9}|(?:[12]\\\\d|3[0-79])\\\\d{5,10}\", [6, 7, 8, 9, 10, 11, 12], [[\"(\\\\d{3})(\\\\d{3,9})\", \"$1 $2\", [\"(?:2[389]|39)0|[7-9]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{5,10})\", \"$1 $2\", [\"[1-36]\"], \"0$1\"]], \"0\"], \"RU\": [\"7\", \"810\", \"8\\\\d{13}|[347-9]\\\\d{9}\", [10, 14], [[\"(\\\\d{4})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"7(?:1[0-8]|2[1-9])\", \"7(?:1(?:[0-6]2|7|8[27])|2(?:1[23]|[2-9]2))\", \"7(?:1(?:[0-6]2|7|8[27])|2(?:13[03-69]|62[013-9]))|72[1-57-9]2\"], \"8 ($1)\", 1], [\"(\\\\d{5})(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"7(?:1[0-68]|2[1-9])\", \"7(?:1(?:[06][3-6]|[18]|2[35]|[3-5][3-5])|2(?:[13][3-5]|[24-689]|7[457]))\", \"7(?:1(?:0(?:[356]|4[023])|[18]|2(?:3[013-9]|5)|3[45]|43[013-79]|5(?:3[1-8]|4[1-7]|5)|6(?:3[0-35-9]|[4-6]))|2(?:1(?:3[178]|[45])|[24-689]|3[35]|7[457]))|7(?:14|23)4[0-8]|71(?:33|45)[1-79]\"], \"8 ($1)\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"8 ($1)\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"[349]|8(?:[02-7]|1[1-8])\"], \"8 ($1)\", 1], [\"(\\\\d{4})(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"8\"], \"8 ($1)\"]], \"8\", 0, 0, 0, 0, \"3[04-689]|[489]\", 0, \"8~10\"], \"RW\": [\"250\", \"00\", \"(?:06|[27]\\\\d\\\\d|[89]00)\\\\d{6}\", [8, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"0\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[7-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"]]], \"0\"], \"SA\": [\"966\", \"00\", \"92\\\\d{7}|(?:[15]|8\\\\d)\\\\d{8}\", [9, 10], [[\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"9\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"5\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"81\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]]], \"0\"], \"SB\": [\"677\", \"0[01]\", \"(?:[1-6]|[7-9]\\\\d\\\\d)\\\\d{4}\", [5, 7], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"7|8[4-9]|9(?:[1-8]|9[0-8])\"]]]], \"SC\": [\"248\", \"010|0[0-2]\", \"800\\\\d{4}|(?:[249]\\\\d|64)\\\\d{5}\", [7], [[\"(\\\\d)(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[246]|9[57]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"SD\": [\"249\", \"00\", \"[19]\\\\d{8}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[19]\"], \"0$1\"]], \"0\"], \"SE\": [\"46\", \"00\", \"(?:[26]\\\\d\\\\d|9)\\\\d{9}|[1-9]\\\\d{8}|[1-689]\\\\d{7}|[1-4689]\\\\d{6}|2\\\\d{5}\", [6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})\", \"$1-$2 $3\", [\"20\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"9(?:00|39|44|9)\"], \"0$1\", 0, \"$1 $2\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})\", \"$1-$2 $3\", [\"[12][136]|3[356]|4[0246]|6[03]|90[1-9]\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d)(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"8\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2,3})(\\\\d{2})\", \"$1-$2 $3\", [\"1[2457]|2(?:[247-9]|5[0138])|3[0247-9]|4[1357-9]|5[0-35-9]|6(?:[125689]|4[02-57]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d{3})(\\\\d{2,3})(\\\\d{3})\", \"$1-$2 $3\", [\"9(?:00|39|44)\"], \"0$1\", 0, \"$1 $2 $3\"], [\"(\\\\d{2})(\\\\d{2,3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"1[13689]|2[0136]|3[1356]|4[0246]|54|6[03]|90[1-9]\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"10|7\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"8\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4\", [\"[13-5]|2(?:[247-9]|5[0138])|6(?:[124-689]|7[0-2])|9(?:[125-8]|3[02-5]|4[0-3])\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{3})\", \"$1-$2 $3 $4\", [\"9\"], \"0$1\", 0, \"$1 $2 $3 $4\"], [\"(\\\\d{3})(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1-$2 $3 $4 $5\", [\"[26]\"], \"0$1\", 0, \"$1 $2 $3 $4 $5\"]], \"0\"], \"SG\": [\"65\", \"0[0-3]\\\\d\", \"(?:(?:1\\\\d|8)\\\\d\\\\d|7000)\\\\d{7}|[3689]\\\\d{7}\", [8, 10, 11], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[369]|8(?:0[1-5]|[1-9])\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"]], [\"(\\\\d{4})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"7\"]], [\"(\\\\d{4})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]]]], \"SH\": [\"290\", \"00\", \"(?:[256]\\\\d|8)\\\\d{3}\", [4, 5], 0, 0, 0, 0, 0, 0, \"[256]\"], \"SI\": [\"386\", \"00|10(?:22|66|88|99)\", \"[1-7]\\\\d{7}|8\\\\d{4,7}|90\\\\d{4,6}\", [5, 6, 7, 8], [[\"(\\\\d{2})(\\\\d{3,6})\", \"$1 $2\", [\"8[09]|9\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"59|8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[37][01]|4[0139]|51|6\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[1-57]\"], \"(0$1)\"]], \"0\", 0, 0, 0, 0, 0, 0, \"00\"], \"SJ\": [\"47\", \"00\", \"0\\\\d{4}|(?:[489]\\\\d|[57]9)\\\\d{6}\", [5, 8], 0, 0, 0, 0, 0, 0, \"79\"], \"SK\": [\"421\", \"00\", \"[2-689]\\\\d{8}|[2-59]\\\\d{6}|[2-5]\\\\d{5}\", [6, 7, 9], [[\"(\\\\d)(\\\\d{2})(\\\\d{3,4})\", \"$1 $2 $3\", [\"21\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{2})(\\\\d{2,3})\", \"$1 $2 $3\", [\"[3-5][1-8]1\", \"[3-5][1-8]1[67]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{3})(\\\\d{2})\", \"$1/$2 $3 $4\", [\"2\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[689]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1/$2 $3 $4\", [\"[3-5]\"], \"0$1\"]], \"0\"], \"SL\": [\"232\", \"00\", \"(?:[237-9]\\\\d|66)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"[236-9]\"], \"(0$1)\"]], \"0\"], \"SM\": [\"378\", \"00\", \"(?:0549|[5-7]\\\\d)\\\\d{6}\", [8, 10], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[5-7]\"]], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"0\"]]], 0, 0, \"([89]\\\\d{5})$\", \"0549$1\"], \"SN\": [\"221\", \"00\", \"(?:[378]\\\\d|93)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[379]\"]]]], \"SO\": [\"252\", \"00\", \"[346-9]\\\\d{8}|[12679]\\\\d{7}|[1-5]\\\\d{6}|[1348]\\\\d{5}\", [6, 7, 8, 9], [[\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"8[125]\"]], [\"(\\\\d{6})\", \"$1\", [\"[134]\"]], [\"(\\\\d)(\\\\d{6})\", \"$1 $2\", [\"[15]|2[0-79]|3[0-46-8]|4[0-7]\"]], [\"(\\\\d)(\\\\d{7})\", \"$1 $2\", [\"24|[67]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[3478]|64|90\"]], [\"(\\\\d{2})(\\\\d{5,7})\", \"$1 $2\", [\"1|28|6(?:0[5-7]|[1-35-9])|9[2-9]\"]]], \"0\"], \"SR\": [\"597\", \"00\", \"(?:[2-5]|68|[78]\\\\d)\\\\d{5}\", [6, 7], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1-$2-$3\", [\"56\"]], [\"(\\\\d{3})(\\\\d{3})\", \"$1-$2\", [\"[2-5]\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"[6-8]\"]]]], \"SS\": [\"211\", \"00\", \"[19]\\\\d{8}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[19]\"], \"0$1\"]], \"0\"], \"ST\": [\"239\", \"00\", \"(?:22|9\\\\d)\\\\d{5}\", [7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[29]\"]]]], \"SV\": [\"503\", \"00\", \"[267]\\\\d{7}|[89]00\\\\d{4}(?:\\\\d{4})?\", [7, 8, 11], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[89]\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[267]\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"]]]], \"SX\": [\"1\", \"011\", \"7215\\\\d{6}|(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|(5\\\\d{6})$\", \"721$1\", 0, \"721\"], \"SY\": [\"963\", \"00\", \"[1-39]\\\\d{8}|[1-5]\\\\d{7}\", [8, 9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[1-5]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"], \"0$1\", 1]], \"0\"], \"SZ\": [\"268\", \"00\", \"0800\\\\d{4}|(?:[237]\\\\d|900)\\\\d{6}\", [8, 9], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[0237]\"]], [\"(\\\\d{5})(\\\\d{4})\", \"$1 $2\", [\"9\"]]]], \"TA\": [\"290\", \"00\", \"8\\\\d{3}\", [4], 0, 0, 0, 0, 0, 0, \"8\"], \"TC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|649|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-479]\\\\d{6})$\", \"649$1\", 0, \"649\"], \"TD\": [\"235\", \"00|16\", \"(?:22|[69]\\\\d|77)\\\\d{6}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[2679]\"]]], 0, 0, 0, 0, 0, 0, 0, \"00\"], \"TG\": [\"228\", \"00\", \"[279]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[279]\"]]]], \"TH\": [\"66\", \"00[1-9]\", \"(?:001800|[2-57]|[689]\\\\d)\\\\d{7}|1\\\\d{7,9}\", [8, 9, 10, 13], [[\"(\\\\d)(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[13-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"1\"]]], \"0\"], \"TJ\": [\"992\", \"810\", \"(?:00|[1-57-9]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{6})(\\\\d)(\\\\d{2})\", \"$1 $2 $3\", [\"331\", \"3317\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[34]7|91[78]\"]], [\"(\\\\d{4})(\\\\d)(\\\\d{4})\", \"$1 $2 $3\", [\"3[1-5]\"]], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[0-57-9]\"]]], 0, 0, 0, 0, 0, 0, 0, \"8~10\"], \"TK\": [\"690\", \"00\", \"[2-47]\\\\d{3,6}\", [4, 5, 6, 7]], \"TL\": [\"670\", \"00\", \"7\\\\d{7}|(?:[2-47]\\\\d|[89]0)\\\\d{5}\", [7, 8], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[2-489]|70\"]], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"7\"]]]], \"TM\": [\"993\", \"810\", \"[1-6]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"12\"], \"(8 $1)\"], [\"(\\\\d{3})(\\\\d)(\\\\d{2})(\\\\d{2})\", \"$1 $2-$3-$4\", [\"[1-5]\"], \"(8 $1)\"], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"6\"], \"8 $1\"]], \"8\", 0, 0, 0, 0, 0, 0, \"8~10\"], \"TN\": [\"216\", \"00\", \"[2-57-9]\\\\d{7}\", [8], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-57-9]\"]]]], \"TO\": [\"676\", \"00\", \"(?:0800|(?:[5-8]\\\\d\\\\d|999)\\\\d)\\\\d{3}|[2-8]\\\\d{4}\", [5, 7], [[\"(\\\\d{2})(\\\\d{3})\", \"$1-$2\", [\"[2-4]|50|6[09]|7[0-24-69]|8[05]\"]], [\"(\\\\d{4})(\\\\d{3})\", \"$1 $2\", [\"0\"]], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[5-9]\"]]]], \"TR\": [\"90\", \"00\", \"4\\\\d{6}|8\\\\d{11,12}|(?:[2-58]\\\\d\\\\d|900)\\\\d{7}\", [7, 10, 12, 13], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"512|8[01589]|90\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"5(?:[0-59]|61)\", \"5(?:[0-59]|616)\", \"5(?:[0-59]|6161)\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[24][1-8]|3[1-9]\"], \"(0$1)\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{6,7})\", \"$1 $2 $3\", [\"80\"], \"0$1\", 1]], \"0\"], \"TT\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-46-8]\\\\d{6})$\", \"868$1\", 0, \"868\"], \"TV\": [\"688\", \"00\", \"(?:2|7\\\\d\\\\d|90)\\\\d{4}\", [5, 6, 7], [[\"(\\\\d{2})(\\\\d{3})\", \"$1 $2\", [\"2\"]], [\"(\\\\d{2})(\\\\d{4})\", \"$1 $2\", [\"90\"]], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"7\"]]]], \"TW\": [\"886\", \"0(?:0[25-79]|19)\", \"[2-689]\\\\d{8}|7\\\\d{9,10}|[2-8]\\\\d{7}|2\\\\d{6}\", [7, 8, 9, 10, 11], [[\"(\\\\d{2})(\\\\d)(\\\\d{4})\", \"$1 $2 $3\", [\"202\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[258]0\"], \"0$1\"], [\"(\\\\d)(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"[23568]|4(?:0[02-48]|[1-47-9])|7[1-9]\", \"[23568]|4(?:0[2-48]|[1-47-9])|(?:400|7)[1-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[49]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4,5})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, 0, \"#\"], \"TZ\": [\"255\", \"00[056]\", \"(?:[26-8]\\\\d|41|90)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[24]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[67]\"], \"0$1\"]], \"0\"], \"UA\": [\"380\", \"00\", \"[89]\\\\d{9}|[3-9]\\\\d{8}\", [9, 10], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"6[12][29]|(?:3[1-8]|4[136-8]|5[12457]|6[49])2|(?:56|65)[24]\", \"6[12][29]|(?:35|4[1378]|5[12457]|6[49])2|(?:56|65)[24]|(?:3[1-46-8]|46)2[013-9]\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6[0135689]|7[4-6])|6(?:[12][3-7]|[459])\", \"3[1-8]|4(?:[1367]|[45][6-9]|8[4-6])|5(?:[1-5]|6(?:[015689]|3[02389])|7[4-6])|6(?:[12][3-7]|[459])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[3-7]|89|9[1-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[89]\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, \"0~0\"], \"UG\": [\"256\", \"00[057]\", \"800\\\\d{6}|(?:[29]0|[347]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{4})(\\\\d{5})\", \"$1 $2\", [\"202\", \"2024\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{6})\", \"$1 $2\", [\"[27-9]|4(?:6[45]|[7-9])\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"[34]\"], \"0$1\"]], \"0\"], \"US\": [\"1\", \"011\", \"[2-9]\\\\d{9}|3\\\\d{6}\", [10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1-$2\", [\"310\"], 0, 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"($1) $2-$3\", [\"[2-9]\"], 0, 1, \"$1-$2-$3\"]], \"1\", 0, 0, 0, 0, 0, [[\"5(?:05(?:[2-57-9]\\\\d\\\\d|6(?:[0-35-9]\\\\d|44))|82(?:2(?:0[0-3]|[268]2)|3(?:0[02]|22|33)|4(?:00|4[24]|65|82)|5(?:00|29|58|83)|6(?:00|66|82)|7(?:58|77)|8(?:00|42|5[25]|88)|9(?:00|9[89])))\\\\d{4}|(?:2(?:0[1-35-9]|1[02-9]|2[03-589]|3[149]|4[08]|5[1-46]|6[0279]|7[0269]|8[13])|3(?:0[1-57-9]|1[02-9]|2[01356]|3[0-24679]|4[167]|5[12]|6[014]|8[056])|4(?:0[124-9]|1[02-579]|2[3-5]|3[0245]|4[023578]|58|6[349]|7[0589]|8[04])|5(?:0[1-47-9]|1[0235-8]|20|3[0149]|4[01]|5[19]|6[1-47]|7[0-5]|8[056])|6(?:0[1-35-9]|1[024-9]|2[03689]|[34][016]|5[01679]|6[0-279]|78|8[0-29])|7(?:0[1-46-8]|1[2-9]|2[04-7]|3[1247]|4[037]|5[47]|6[02359]|7[0-59]|8[156])|8(?:0[1-68]|1[02-8]|2[068]|3[0-289]|4[03578]|5[046-9]|6[02-5]|7[028])|9(?:0[1346-9]|1[02-9]|2[0589]|3[0146-8]|4[01357-9]|5[12469]|7[0-389]|8[04-69]))[2-9]\\\\d{6}\"], [\"\"], [\"8(?:00|33|44|55|66|77|88)[2-9]\\\\d{6}\"], [\"900[2-9]\\\\d{6}\"], [\"52(?:3(?:[2-46-9][02-9]\\\\d|5(?:[02-46-9]\\\\d|5[0-46-9]))|4(?:[2-478][02-9]\\\\d|5(?:[034]\\\\d|2[024-9]|5[0-46-9])|6(?:0[1-9]|[2-9]\\\\d)|9(?:[05-9]\\\\d|2[0-5]|49)))\\\\d{4}|52[34][2-9]1[02-9]\\\\d{4}|5(?:00|2[125-7]|33|44|66|77|88)[2-9]\\\\d{6}\"]]], \"UY\": [\"598\", \"0(?:0|1[3-9]\\\\d)\", \"4\\\\d{9}|[1249]\\\\d{7}|(?:[49]\\\\d|80)\\\\d{5}\", [7, 8, 10], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"405|8|90\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"9\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[124]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"4\"], \"0$1\"]], \"0\", 0, 0, 0, 0, 0, 0, \"00\", \" int. \"], \"UZ\": [\"998\", \"810\", \"(?:33|55|[679]\\\\d|88)\\\\d{7}\", [9], [[\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[35-9]\"], \"8 $1\"]], \"8\", 0, 0, 0, 0, 0, 0, \"8~10\"], \"VA\": [\"39\", \"00\", \"0\\\\d{5,10}|3[0-8]\\\\d{7,10}|55\\\\d{8}|8\\\\d{5}(?:\\\\d{2,4})?|(?:1\\\\d|39)\\\\d{7,8}\", [6, 7, 8, 9, 10, 11], 0, 0, 0, 0, 0, 0, \"06698\"], \"VC\": [\"1\", \"011\", \"(?:[58]\\\\d\\\\d|784|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-7]\\\\d{6})$\", \"784$1\", 0, \"784\"], \"VE\": [\"58\", \"00\", \"[68]00\\\\d{7}|(?:[24]\\\\d|[59]0)\\\\d{8}\", [10], [[\"(\\\\d{3})(\\\\d{7})\", \"$1-$2\", [\"[24-689]\"], \"0$1\"]], \"0\"], \"VG\": [\"1\", \"011\", \"(?:284|[58]\\\\d\\\\d|900)\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-578]\\\\d{6})$\", \"284$1\", 0, \"284\"], \"VI\": [\"1\", \"011\", \"[58]\\\\d{9}|(?:34|90)0\\\\d{7}\", [10], 0, \"1\", 0, \"1|([2-9]\\\\d{6})$\", \"340$1\", 0, \"340\"], \"VN\": [\"84\", \"00\", \"[12]\\\\d{9}|[135-9]\\\\d{8}|[16]\\\\d{7}|[16-8]\\\\d{6}\", [7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"80\"], \"0$1\", 1], [\"(\\\\d{4})(\\\\d{4,6})\", \"$1 $2\", [\"1\"], 0, 1], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"[69]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[3578]\"], \"0$1\", 1], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"2[48]\"], \"0$1\", 1], [\"(\\\\d{3})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"2\"], \"0$1\", 1]], \"0\"], \"VU\": [\"678\", \"00\", \"[57-9]\\\\d{6}|(?:[238]\\\\d|48)\\\\d{3}\", [5, 7], [[\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"[57-9]\"]]]], \"WF\": [\"681\", \"00\", \"(?:40|72)\\\\d{4}|8\\\\d{5}(?:\\\\d{3})?\", [6, 9], [[\"(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3\", [\"[478]\"]], [\"(\\\\d{3})(\\\\d{2})(\\\\d{2})(\\\\d{2})\", \"$1 $2 $3 $4\", [\"8\"]]]], \"WS\": [\"685\", \"0\", \"(?:[2-6]|8\\\\d{5})\\\\d{4}|[78]\\\\d{6}|[68]\\\\d{5}\", [5, 6, 7, 10], [[\"(\\\\d{5})\", \"$1\", [\"[2-5]|6[1-9]\"]], [\"(\\\\d{3})(\\\\d{3,7})\", \"$1 $2\", [\"[68]\"]], [\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"7\"]]]], \"XK\": [\"383\", \"00\", \"[23]\\\\d{7,8}|(?:4\\\\d\\\\d|[89]00)\\\\d{5}\", [8, 9], [[\"(\\\\d{3})(\\\\d{5})\", \"$1 $2\", [\"[89]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[2-4]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[23]\"], \"0$1\"]], \"0\"], \"YE\": [\"967\", \"00\", \"(?:1|7\\\\d)\\\\d{7}|[1-7]\\\\d{6}\", [7, 8, 9], [[\"(\\\\d)(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"[1-6]|7[24-68]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"7\"], \"0$1\"]], \"0\"], \"YT\": [\"262\", \"00\", \"80\\\\d{7}|(?:26|63)9\\\\d{6}\", [9], 0, \"0\", 0, 0, 0, 0, \"269|63\"], \"ZA\": [\"27\", \"00\", \"[1-79]\\\\d{8}|8\\\\d{4,9}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{2})(\\\\d{3,4})\", \"$1 $2\", [\"8[1-4]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{2,3})\", \"$1 $2 $3\", [\"8[1-4]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"860\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"[1-9]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"8\"], \"0$1\"]], \"0\"], \"ZM\": [\"260\", \"00\", \"800\\\\d{6}|(?:21|63|[79]\\\\d)\\\\d{7}\", [9], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[28]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"[79]\"], \"0$1\"]], \"0\"], \"ZW\": [\"263\", \"00\", \"2(?:[0-57-9]\\\\d{6,8}|6[0-24-9]\\\\d{6,7})|[38]\\\\d{9}|[35-8]\\\\d{8}|[3-6]\\\\d{7}|[1-689]\\\\d{6}|[1-3569]\\\\d{5}|[1356]\\\\d{4}\", [5, 6, 7, 8, 9, 10], [[\"(\\\\d{3})(\\\\d{3,5})\", \"$1 $2\", [\"2(?:0[45]|2[278]|[49]8)|3(?:[09]8|17)|6(?:[29]8|37|75)|[23][78]|(?:33|5[15]|6[68])[78]\"], \"0$1\"], [\"(\\\\d)(\\\\d{3})(\\\\d{2,4})\", \"$1 $2 $3\", [\"[49]\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{4})\", \"$1 $2\", [\"80\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{7})\", \"$1 $2\", [\"24|8[13-59]|(?:2[05-79]|39|5[45]|6[15-8])2\", \"2(?:02[014]|4|[56]20|[79]2)|392|5(?:42|525)|6(?:[16-8]21|52[013])|8[13-59]\"], \"(0$1)\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"7\"], \"0$1\"], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:12|29)\", \"2(?:1[39]|2[0157]|[378]|[56][14])|3(?:123|29)\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{6})\", \"$1 $2\", [\"8\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3,5})\", \"$1 $2\", [\"1|2(?:0[0-36-9]|12|29|[56])|3(?:1[0-689]|[24-6])|5(?:[0236-9]|1[2-4])|6(?:[013-59]|7[0-46-9])|(?:33|55|6[68])[0-69]|(?:29|3[09]|62)[0-79]\"], \"0$1\"], [\"(\\\\d{2})(\\\\d{3})(\\\\d{3,4})\", \"$1 $2 $3\", [\"29[013-9]|39|54\"], \"0$1\"], [\"(\\\\d{4})(\\\\d{3,5})\", \"$1 $2\", [\"(?:25|54)8\", \"258|5483\"], \"0$1\"]], \"0\"] }, \"nonGeographic\": { \"800\": [\"800\", 0, \"(?:00|[1-9]\\\\d)\\\\d{6}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"\\\\d\"]]], 0, 0, 0, 0, 0, 0, [0, 0, [\"(?:00|[1-9]\\\\d)\\\\d{6}\"]]], \"808\": [\"808\", 0, \"[1-9]\\\\d{7}\", [8], [[\"(\\\\d{4})(\\\\d{4})\", \"$1 $2\", [\"[1-9]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, 0, [\"[1-9]\\\\d{7}\"]]], \"870\": [\"870\", 0, \"7\\\\d{11}|[35-7]\\\\d{8}\", [9, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"[35-7]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"(?:[356]|774[45])\\\\d{8}|7[6-8]\\\\d{7}\"]]], \"878\": [\"878\", 0, \"10\\\\d{10}\", [12], [[\"(\\\\d{2})(\\\\d{5})(\\\\d{5})\", \"$1 $2 $3\", [\"1\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, [\"10\\\\d{10}\"]]], \"881\": [\"881\", 0, \"[0-36-9]\\\\d{8}\", [9], [[\"(\\\\d)(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\", [\"[0-36-9]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"[0-36-9]\\\\d{8}\"]]], \"882\": [\"882\", 0, \"[13]\\\\d{6}(?:\\\\d{2,5})?|285\\\\d{9}|(?:[19]\\\\d|49)\\\\d{6}\", [7, 8, 9, 10, 11, 12], [[\"(\\\\d{2})(\\\\d{5})\", \"$1 $2\", [\"16|342\"]], [\"(\\\\d{2})(\\\\d{6})\", \"$1 $2\", [\"4\"]], [\"(\\\\d{2})(\\\\d{2})(\\\\d{4})\", \"$1 $2 $3\", [\"[19]\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{3})\", \"$1 $2 $3\", [\"3[23]\"]], [\"(\\\\d{2})(\\\\d{3,4})(\\\\d{4})\", \"$1 $2 $3\", [\"1\"]], [\"(\\\\d{2})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"34[57]\"]], [\"(\\\\d{3})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"34\"]], [\"(\\\\d{2})(\\\\d{4,5})(\\\\d{5})\", \"$1 $2 $3\", [\"[1-3]\"]]], 0, 0, 0, 0, 0, 0, [0, [\"342\\\\d{4}|(?:337|49)\\\\d{6}|3(?:2|47|7\\\\d{3})\\\\d{7}\", [7, 8, 9, 10, 12]], 0, 0, 0, 0, 0, 0, [\"1(?:3(?:0[0347]|[13][0139]|2[035]|4[013568]|6[0459]|7[06]|8[15-8]|9[0689])\\\\d{4}|6\\\\d{5,10})|(?:(?:285\\\\d\\\\d|3(?:45|[69]\\\\d{3}))\\\\d|9[89])\\\\d{6}\"]]], \"883\": [\"883\", 0, \"(?:210|370\\\\d\\\\d)\\\\d{7}|51\\\\d{7}(?:\\\\d{3})?\", [9, 10, 12], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3\", [\"510\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{4})\", \"$1 $2 $3\", [\"2\"]], [\"(\\\\d{4})(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"51[13]\"]], [\"(\\\\d{3})(\\\\d{3})(\\\\d{3})(\\\\d{3})\", \"$1 $2 $3 $4\", [\"[35]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, 0, 0, [\"(?:210|(?:370[1-9]|51[013]0)\\\\d)\\\\d{7}|5100\\\\d{5}\"]]], \"888\": [\"888\", 0, \"\\\\d{11}\", [11], [[\"(\\\\d{3})(\\\\d{3})(\\\\d{5})\", \"$1 $2 $3\"]], 0, 0, 0, 0, 0, 0, [0, 0, 0, 0, 0, 0, [\"\\\\d{11}\"]]], \"979\": [\"979\", 0, \"[1359]\\\\d{8}\", [9], [[\"(\\\\d)(\\\\d{4})(\\\\d{4})\", \"$1 $2 $3\", [\"[1359]\"]]], 0, 0, 0, 0, 0, 0, [0, 0, 0, [\"[1359]\\\\d{8}\"]]] } };\nfunction withMetadataArgument(func, _arguments) {\n var args = Array.prototype.slice.call(_arguments);\n args.push(metadata);\n return func.apply(this, args);\n}\nfunction _typeof$2(obj) {\n \"@babel/helpers - typeof\";\n return _typeof$2 = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(obj2) {\n return typeof obj2;\n } : function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n }, _typeof$2(obj);\n}\nfunction _defineProperties$2(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass$2(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties$2(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties$2(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", { writable: false });\n return Constructor;\n}\nfunction _classCallCheck$2(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });\n Object.defineProperty(subClass, \"prototype\", { writable: false });\n if (superClass)\n _setPrototypeOf(subClass, superClass);\n}\nfunction _createSuper(Derived) {\n var hasNativeReflectConstruct = _isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = _getPrototypeOf(Derived), result2;\n if (hasNativeReflectConstruct) {\n var NewTarget = _getPrototypeOf(this).constructor;\n result2 = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result2 = Super.apply(this, arguments);\n }\n return _possibleConstructorReturn(this, result2);\n };\n}\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof$2(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return _assertThisInitialized(self);\n}\nfunction _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? /* @__PURE__ */ new Map() : void 0;\n _wrapNativeSuper = function _wrapNativeSuper2(Class2) {\n if (Class2 === null || !_isNativeFunction(Class2))\n return Class2;\n if (typeof Class2 !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class2))\n return _cache.get(Class2);\n _cache.set(Class2, Wrapper);\n }\n function Wrapper() {\n return _construct(Class2, arguments, _getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class2.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } });\n return _setPrototypeOf(Wrapper, Class2);\n };\n return _wrapNativeSuper(Class);\n}\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct2(Parent2, args2, Class2) {\n var a = [null];\n a.push.apply(a, args2);\n var Constructor = Function.bind.apply(Parent2, a);\n var instance = new Constructor();\n if (Class2)\n _setPrototypeOf(instance, Class2.prototype);\n return instance;\n };\n }\n return _construct.apply(null, arguments);\n}\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct)\n return false;\n if (Reflect.construct.sham)\n return false;\n if (typeof Proxy === \"function\")\n return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {\n }));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) {\n o2.__proto__ = p2;\n return o2;\n };\n return _setPrototypeOf(o, p);\n}\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf2(o2) {\n return o2.__proto__ || Object.getPrototypeOf(o2);\n };\n return _getPrototypeOf(o);\n}\nvar ParseError = /* @__PURE__ */ function(_Error) {\n _inherits(ParseError2, _Error);\n var _super = _createSuper(ParseError2);\n function ParseError2(code) {\n var _this;\n _classCallCheck$2(this, ParseError2);\n _this = _super.call(this, code);\n Object.setPrototypeOf(_assertThisInitialized(_this), ParseError2.prototype);\n _this.name = _this.constructor.name;\n return _this;\n }\n return _createClass$2(ParseError2);\n}(/* @__PURE__ */ _wrapNativeSuper(Error));\nvar MIN_LENGTH_FOR_NSN = 2;\nvar MAX_LENGTH_FOR_NSN = 17;\nvar MAX_LENGTH_COUNTRY_CODE = 3;\nvar VALID_DIGITS = \"0-9\\uFF10-\\uFF19\\u0660-\\u0669\\u06F0-\\u06F9\";\nvar DASHES = \"-\\u2010-\\u2015\\u2212\\u30FC\\uFF0D\";\nvar SLASHES = \"\\uFF0F/\";\nvar DOTS = \"\\uFF0E.\";\nvar WHITESPACE = \" \\xA0\\xAD\\u200B\\u2060\\u3000\";\nvar BRACKETS = \"()\\uFF08\\uFF09\\uFF3B\\uFF3D\\\\[\\\\]\";\nvar TILDES = \"~\\u2053\\u223C\\uFF5E\";\nvar VALID_PUNCTUATION = \"\".concat(DASHES).concat(SLASHES).concat(DOTS).concat(WHITESPACE).concat(BRACKETS).concat(TILDES);\nvar PLUS_CHARS = \"+\\uFF0B\";\nfunction compare(a, b) {\n a = a.split(\"-\");\n b = b.split(\"-\");\n var pa = a[0].split(\".\");\n var pb = b[0].split(\".\");\n for (var i = 0; i < 3; i++) {\n var na = Number(pa[i]);\n var nb = Number(pb[i]);\n if (na > nb)\n return 1;\n if (nb > na)\n return -1;\n if (!isNaN(na) && isNaN(nb))\n return 1;\n if (isNaN(na) && !isNaN(nb))\n return -1;\n }\n if (a[1] && b[1]) {\n return a[1] > b[1] ? 1 : a[1] < b[1] ? -1 : 0;\n }\n return !a[1] && b[1] ? 1 : a[1] && !b[1] ? -1 : 0;\n}\nfunction _typeof$1(obj) {\n \"@babel/helpers - typeof\";\n return _typeof$1 = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(obj2) {\n return typeof obj2;\n } : function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n }, _typeof$1(obj);\n}\nfunction _classCallCheck$1(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties$1(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass$1(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties$1(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties$1(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", { writable: false });\n return Constructor;\n}\nvar V3 = \"1.2.0\";\nvar V4 = \"1.7.35\";\nvar DEFAULT_EXT_PREFIX = \" ext. \";\nvar CALLING_CODE_REG_EXP = /^\\d+$/;\nvar Metadata = /* @__PURE__ */ function() {\n function Metadata2(metadata2) {\n _classCallCheck$1(this, Metadata2);\n validateMetadata(metadata2);\n this.metadata = metadata2;\n setVersion.call(this, metadata2);\n }\n _createClass$1(Metadata2, [{\n key: \"getCountries\",\n value: function getCountries() {\n return Object.keys(this.metadata.countries).filter(function(_) {\n return _ !== \"001\";\n });\n }\n }, {\n key: \"getCountryMetadata\",\n value: function getCountryMetadata(countryCode) {\n return this.metadata.countries[countryCode];\n }\n }, {\n key: \"nonGeographic\",\n value: function nonGeographic() {\n if (this.v1 || this.v2 || this.v3)\n return;\n return this.metadata.nonGeographic || this.metadata.nonGeographical;\n }\n }, {\n key: \"hasCountry\",\n value: function hasCountry(country) {\n return this.getCountryMetadata(country) !== void 0;\n }\n }, {\n key: \"hasCallingCode\",\n value: function hasCallingCode(callingCode) {\n if (this.getCountryCodesForCallingCode(callingCode)) {\n return true;\n }\n if (this.nonGeographic()) {\n if (this.nonGeographic()[callingCode]) {\n return true;\n }\n } else {\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === \"001\") {\n return true;\n }\n }\n }\n }, {\n key: \"isNonGeographicCallingCode\",\n value: function isNonGeographicCallingCode(callingCode) {\n if (this.nonGeographic()) {\n return this.nonGeographic()[callingCode] ? true : false;\n } else {\n return this.getCountryCodesForCallingCode(callingCode) ? false : true;\n }\n }\n }, {\n key: \"country\",\n value: function country(countryCode) {\n return this.selectNumberingPlan(countryCode);\n }\n }, {\n key: \"selectNumberingPlan\",\n value: function selectNumberingPlan(countryCode, callingCode) {\n if (countryCode && CALLING_CODE_REG_EXP.test(countryCode)) {\n callingCode = countryCode;\n countryCode = null;\n }\n if (countryCode && countryCode !== \"001\") {\n if (!this.hasCountry(countryCode)) {\n throw new Error(\"Unknown country: \".concat(countryCode));\n }\n this.numberingPlan = new NumberingPlan(this.getCountryMetadata(countryCode), this);\n } else if (callingCode) {\n if (!this.hasCallingCode(callingCode)) {\n throw new Error(\"Unknown calling code: \".concat(callingCode));\n }\n this.numberingPlan = new NumberingPlan(this.getNumberingPlanMetadata(callingCode), this);\n } else {\n this.numberingPlan = void 0;\n }\n return this;\n }\n }, {\n key: \"getCountryCodesForCallingCode\",\n value: function getCountryCodesForCallingCode(callingCode) {\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes) {\n if (countryCodes.length === 1 && countryCodes[0].length === 3) {\n return;\n }\n return countryCodes;\n }\n }\n }, {\n key: \"getCountryCodeForCallingCode\",\n value: function getCountryCodeForCallingCode(callingCode) {\n var countryCodes = this.getCountryCodesForCallingCode(callingCode);\n if (countryCodes) {\n return countryCodes[0];\n }\n }\n }, {\n key: \"getNumberingPlanMetadata\",\n value: function getNumberingPlanMetadata(callingCode) {\n var countryCode = this.getCountryCodeForCallingCode(callingCode);\n if (countryCode) {\n return this.getCountryMetadata(countryCode);\n }\n if (this.nonGeographic()) {\n var metadata2 = this.nonGeographic()[callingCode];\n if (metadata2) {\n return metadata2;\n }\n } else {\n var countryCodes = this.countryCallingCodes()[callingCode];\n if (countryCodes && countryCodes.length === 1 && countryCodes[0] === \"001\") {\n return this.metadata.countries[\"001\"];\n }\n }\n }\n }, {\n key: \"countryCallingCode\",\n value: function countryCallingCode() {\n return this.numberingPlan.callingCode();\n }\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n return this.numberingPlan.IDDPrefix();\n }\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n return this.numberingPlan.defaultIDDPrefix();\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n return this.numberingPlan.nationalNumberPattern();\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n return this.numberingPlan.possibleLengths();\n }\n }, {\n key: \"formats\",\n value: function formats() {\n return this.numberingPlan.formats();\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this.numberingPlan.nationalPrefixForParsing();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.numberingPlan.nationalPrefixTransformRule();\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.numberingPlan.leadingDigits();\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n return this.numberingPlan.hasTypes();\n }\n }, {\n key: \"type\",\n value: function type(_type) {\n return this.numberingPlan.type(_type);\n }\n }, {\n key: \"ext\",\n value: function ext() {\n return this.numberingPlan.ext();\n }\n }, {\n key: \"countryCallingCodes\",\n value: function countryCallingCodes() {\n if (this.v1)\n return this.metadata.country_phone_code_to_countries;\n return this.metadata.country_calling_codes;\n }\n }, {\n key: \"chooseCountryByCountryCallingCode\",\n value: function chooseCountryByCountryCallingCode(callingCode) {\n return this.selectNumberingPlan(callingCode);\n }\n }, {\n key: \"hasSelectedNumberingPlan\",\n value: function hasSelectedNumberingPlan() {\n return this.numberingPlan !== void 0;\n }\n }]);\n return Metadata2;\n}();\nvar NumberingPlan = /* @__PURE__ */ function() {\n function NumberingPlan2(metadata2, globalMetadataObject) {\n _classCallCheck$1(this, NumberingPlan2);\n this.globalMetadataObject = globalMetadataObject;\n this.metadata = metadata2;\n setVersion.call(this, globalMetadataObject.metadata);\n }\n _createClass$1(NumberingPlan2, [{\n key: \"callingCode\",\n value: function callingCode() {\n return this.metadata[0];\n }\n }, {\n key: \"getDefaultCountryMetadataForRegion\",\n value: function getDefaultCountryMetadataForRegion() {\n return this.globalMetadataObject.getNumberingPlanMetadata(this.callingCode());\n }\n }, {\n key: \"IDDPrefix\",\n value: function IDDPrefix() {\n if (this.v1 || this.v2)\n return;\n return this.metadata[1];\n }\n }, {\n key: \"defaultIDDPrefix\",\n value: function defaultIDDPrefix() {\n if (this.v1 || this.v2)\n return;\n return this.metadata[12];\n }\n }, {\n key: \"nationalNumberPattern\",\n value: function nationalNumberPattern() {\n if (this.v1 || this.v2)\n return this.metadata[1];\n return this.metadata[2];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.v1)\n return;\n return this.metadata[this.v2 ? 2 : 3];\n }\n }, {\n key: \"_getFormats\",\n value: function _getFormats(metadata2) {\n return metadata2[this.v1 ? 2 : this.v2 ? 3 : 4];\n }\n }, {\n key: \"formats\",\n value: function formats() {\n var _this = this;\n var formats2 = this._getFormats(this.metadata) || this._getFormats(this.getDefaultCountryMetadataForRegion()) || [];\n return formats2.map(function(_) {\n return new Format(_, _this);\n });\n }\n }, {\n key: \"nationalPrefix\",\n value: function nationalPrefix() {\n return this.metadata[this.v1 ? 3 : this.v2 ? 4 : 5];\n }\n }, {\n key: \"_getNationalPrefixFormattingRule\",\n value: function _getNationalPrefixFormattingRule(metadata2) {\n return metadata2[this.v1 ? 4 : this.v2 ? 5 : 6];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._getNationalPrefixFormattingRule(this.metadata) || this._getNationalPrefixFormattingRule(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"_nationalPrefixForParsing\",\n value: function _nationalPrefixForParsing() {\n return this.metadata[this.v1 ? 5 : this.v2 ? 6 : 7];\n }\n }, {\n key: \"nationalPrefixForParsing\",\n value: function nationalPrefixForParsing() {\n return this._nationalPrefixForParsing() || this.nationalPrefix();\n }\n }, {\n key: \"nationalPrefixTransformRule\",\n value: function nationalPrefixTransformRule() {\n return this.metadata[this.v1 ? 6 : this.v2 ? 7 : 8];\n }\n }, {\n key: \"_getNationalPrefixIsOptionalWhenFormatting\",\n value: function _getNationalPrefixIsOptionalWhenFormatting() {\n return !!this.metadata[this.v1 ? 7 : this.v2 ? 8 : 9];\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return this._getNationalPrefixIsOptionalWhenFormatting(this.metadata) || this._getNationalPrefixIsOptionalWhenFormatting(this.getDefaultCountryMetadataForRegion());\n }\n }, {\n key: \"leadingDigits\",\n value: function leadingDigits() {\n return this.metadata[this.v1 ? 8 : this.v2 ? 9 : 10];\n }\n }, {\n key: \"types\",\n value: function types() {\n return this.metadata[this.v1 ? 9 : this.v2 ? 10 : 11];\n }\n }, {\n key: \"hasTypes\",\n value: function hasTypes() {\n if (this.types() && this.types().length === 0) {\n return false;\n }\n return !!this.types();\n }\n }, {\n key: \"type\",\n value: function type(_type2) {\n if (this.hasTypes() && getType(this.types(), _type2)) {\n return new Type(getType(this.types(), _type2), this);\n }\n }\n }, {\n key: \"ext\",\n value: function ext() {\n if (this.v1 || this.v2)\n return DEFAULT_EXT_PREFIX;\n return this.metadata[13] || DEFAULT_EXT_PREFIX;\n }\n }]);\n return NumberingPlan2;\n}();\nvar Format = /* @__PURE__ */ function() {\n function Format2(format, metadata2) {\n _classCallCheck$1(this, Format2);\n this._format = format;\n this.metadata = metadata2;\n }\n _createClass$1(Format2, [{\n key: \"pattern\",\n value: function pattern() {\n return this._format[0];\n }\n }, {\n key: \"format\",\n value: function format() {\n return this._format[1];\n }\n }, {\n key: \"leadingDigitsPatterns\",\n value: function leadingDigitsPatterns() {\n return this._format[2] || [];\n }\n }, {\n key: \"nationalPrefixFormattingRule\",\n value: function nationalPrefixFormattingRule() {\n return this._format[3] || this.metadata.nationalPrefixFormattingRule();\n }\n }, {\n key: \"nationalPrefixIsOptionalWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsOptionalWhenFormattingInNationalFormat() {\n return !!this._format[4] || this.metadata.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"nationalPrefixIsMandatoryWhenFormattingInNationalFormat\",\n value: function nationalPrefixIsMandatoryWhenFormattingInNationalFormat() {\n return this.usesNationalPrefix() && !this.nationalPrefixIsOptionalWhenFormattingInNationalFormat();\n }\n }, {\n key: \"usesNationalPrefix\",\n value: function usesNationalPrefix() {\n return this.nationalPrefixFormattingRule() && !FIRST_GROUP_ONLY_PREFIX_PATTERN.test(this.nationalPrefixFormattingRule()) ? true : false;\n }\n }, {\n key: \"internationalFormat\",\n value: function internationalFormat() {\n return this._format[5] || this.format();\n }\n }]);\n return Format2;\n}();\nvar FIRST_GROUP_ONLY_PREFIX_PATTERN = /^\\(?\\$1\\)?$/;\nvar Type = /* @__PURE__ */ function() {\n function Type2(type, metadata2) {\n _classCallCheck$1(this, Type2);\n this.type = type;\n this.metadata = metadata2;\n }\n _createClass$1(Type2, [{\n key: \"pattern\",\n value: function pattern() {\n if (this.metadata.v1)\n return this.type;\n return this.type[0];\n }\n }, {\n key: \"possibleLengths\",\n value: function possibleLengths() {\n if (this.metadata.v1)\n return;\n return this.type[1] || this.metadata.possibleLengths();\n }\n }]);\n return Type2;\n}();\nfunction getType(types, type) {\n switch (type) {\n case \"FIXED_LINE\":\n return types[0];\n case \"MOBILE\":\n return types[1];\n case \"TOLL_FREE\":\n return types[2];\n case \"PREMIUM_RATE\":\n return types[3];\n case \"PERSONAL_NUMBER\":\n return types[4];\n case \"VOICEMAIL\":\n return types[5];\n case \"UAN\":\n return types[6];\n case \"PAGER\":\n return types[7];\n case \"VOIP\":\n return types[8];\n case \"SHARED_COST\":\n return types[9];\n }\n}\nfunction validateMetadata(metadata2) {\n if (!metadata2) {\n throw new Error(\"[libphonenumber-js] `metadata` argument not passed. Check your arguments.\");\n }\n if (!is_object(metadata2) || !is_object(metadata2.countries)) {\n throw new Error(\"[libphonenumber-js] `metadata` argument was passed but it's not a valid metadata. Must be an object having `.countries` child object property. Got \".concat(is_object(metadata2) ? \"an object of shape: { \" + Object.keys(metadata2).join(\", \") + \" }\" : \"a \" + type_of(metadata2) + \": \" + metadata2, \".\"));\n }\n}\nvar is_object = function is_object2(_) {\n return _typeof$1(_) === \"object\";\n};\nvar type_of = function type_of2(_) {\n return _typeof$1(_);\n};\nfunction getCountryCallingCode(country, metadata2) {\n metadata2 = new Metadata(metadata2);\n if (metadata2.hasCountry(country)) {\n return metadata2.country(country).countryCallingCode();\n }\n throw new Error(\"Unknown country: \".concat(country));\n}\nfunction isSupportedCountry(country, metadata2) {\n return metadata2.countries[country] !== void 0;\n}\nfunction setVersion(metadata2) {\n var version = metadata2.version;\n if (typeof version === \"number\") {\n this.v1 = version === 1;\n this.v2 = version === 2;\n this.v3 = version === 3;\n this.v4 = version === 4;\n } else {\n if (!version) {\n this.v1 = true;\n } else if (compare(version, V3) === -1) {\n this.v2 = true;\n } else if (compare(version, V4) === -1) {\n this.v3 = true;\n } else {\n this.v4 = true;\n }\n }\n}\nvar RFC3966_EXTN_PREFIX = \";ext=\";\nvar getExtensionDigitsPattern = function getExtensionDigitsPattern2(maxLength) {\n return \"([\".concat(VALID_DIGITS, \"]{1,\").concat(maxLength, \"})\");\n};\nfunction createExtensionPattern(purpose) {\n var extLimitAfterExplicitLabel = \"20\";\n var extLimitAfterLikelyLabel = \"15\";\n var extLimitAfterAmbiguousChar = \"9\";\n var extLimitWhenNotSure = \"6\";\n var possibleSeparatorsBetweenNumberAndExtLabel = \"[ \\xA0\\\\t,]*\";\n var possibleCharsAfterExtLabel = \"[:\\\\.\\uFF0E]?[ \\xA0\\\\t,-]*\";\n var optionalExtnSuffix = \"#?\";\n var explicitExtLabels = \"(?:e?xt(?:ensi(?:o\\u0301?|\\xF3))?n?|\\uFF45?\\uFF58\\uFF54\\uFF4E?|\\u0434\\u043E\\u0431|anexo)\";\n var ambiguousExtLabels = \"(?:[x\\uFF58#\\uFF03~\\uFF5E]|int|\\uFF49\\uFF4E\\uFF54)\";\n var ambiguousSeparator = \"[- ]+\";\n var possibleSeparatorsNumberExtLabelNoComma = \"[ \\xA0\\\\t]*\";\n var autoDiallingAndExtLabelsFound = \"(?:,{2}|;)\";\n var rfcExtn = RFC3966_EXTN_PREFIX + getExtensionDigitsPattern(extLimitAfterExplicitLabel);\n var explicitExtn = possibleSeparatorsBetweenNumberAndExtLabel + explicitExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterExplicitLabel) + optionalExtnSuffix;\n var ambiguousExtn = possibleSeparatorsBetweenNumberAndExtLabel + ambiguousExtLabels + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n var americanStyleExtnWithSuffix = ambiguousSeparator + getExtensionDigitsPattern(extLimitWhenNotSure) + \"#\";\n var autoDiallingExtn = possibleSeparatorsNumberExtLabelNoComma + autoDiallingAndExtLabelsFound + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterLikelyLabel) + optionalExtnSuffix;\n var onlyCommasExtn = possibleSeparatorsNumberExtLabelNoComma + \"(?:,)+\" + possibleCharsAfterExtLabel + getExtensionDigitsPattern(extLimitAfterAmbiguousChar) + optionalExtnSuffix;\n return rfcExtn + \"|\" + explicitExtn + \"|\" + ambiguousExtn + \"|\" + americanStyleExtnWithSuffix + \"|\" + autoDiallingExtn + \"|\" + onlyCommasExtn;\n}\nvar MIN_LENGTH_PHONE_NUMBER_PATTERN = \"[\" + VALID_DIGITS + \"]{\" + MIN_LENGTH_FOR_NSN + \"}\";\nvar VALID_PHONE_NUMBER = \"[\" + PLUS_CHARS + \"]{0,1}(?:[\" + VALID_PUNCTUATION + \"]*[\" + VALID_DIGITS + \"]){3,}[\" + VALID_PUNCTUATION + VALID_DIGITS + \"]*\";\nvar VALID_PHONE_NUMBER_START_REG_EXP = new RegExp(\"^[\" + PLUS_CHARS + \"]{0,1}(?:[\" + VALID_PUNCTUATION + \"]*[\" + VALID_DIGITS + \"]){1,2}$\", \"i\");\nvar VALID_PHONE_NUMBER_WITH_EXTENSION = VALID_PHONE_NUMBER + \"(?:\" + createExtensionPattern() + \")?\";\nvar VALID_PHONE_NUMBER_PATTERN = new RegExp(\"^\" + MIN_LENGTH_PHONE_NUMBER_PATTERN + \"$|^\" + VALID_PHONE_NUMBER_WITH_EXTENSION + \"$\", \"i\");\nfunction isViablePhoneNumber(number) {\n return number.length >= MIN_LENGTH_FOR_NSN && VALID_PHONE_NUMBER_PATTERN.test(number);\n}\nfunction isViablePhoneNumberStart(number) {\n return VALID_PHONE_NUMBER_START_REG_EXP.test(number);\n}\nvar EXTN_PATTERN = new RegExp(\"(?:\" + createExtensionPattern() + \")$\", \"i\");\nfunction extractExtension(number) {\n var start = number.search(EXTN_PATTERN);\n if (start < 0) {\n return {};\n }\n var numberWithoutExtension = number.slice(0, start);\n var matches = number.match(EXTN_PATTERN);\n var i = 1;\n while (i < matches.length) {\n if (matches[i]) {\n return {\n number: numberWithoutExtension,\n ext: matches[i]\n };\n }\n i++;\n }\n}\nvar DIGITS = {\n \"0\": \"0\",\n \"1\": \"1\",\n \"2\": \"2\",\n \"3\": \"3\",\n \"4\": \"4\",\n \"5\": \"5\",\n \"6\": \"6\",\n \"7\": \"7\",\n \"8\": \"8\",\n \"9\": \"9\",\n \"\\uFF10\": \"0\",\n \"\\uFF11\": \"1\",\n \"\\uFF12\": \"2\",\n \"\\uFF13\": \"3\",\n \"\\uFF14\": \"4\",\n \"\\uFF15\": \"5\",\n \"\\uFF16\": \"6\",\n \"\\uFF17\": \"7\",\n \"\\uFF18\": \"8\",\n \"\\uFF19\": \"9\",\n \"\\u0660\": \"0\",\n \"\\u0661\": \"1\",\n \"\\u0662\": \"2\",\n \"\\u0663\": \"3\",\n \"\\u0664\": \"4\",\n \"\\u0665\": \"5\",\n \"\\u0666\": \"6\",\n \"\\u0667\": \"7\",\n \"\\u0668\": \"8\",\n \"\\u0669\": \"9\",\n \"\\u06F0\": \"0\",\n \"\\u06F1\": \"1\",\n \"\\u06F2\": \"2\",\n \"\\u06F3\": \"3\",\n \"\\u06F4\": \"4\",\n \"\\u06F5\": \"5\",\n \"\\u06F6\": \"6\",\n \"\\u06F7\": \"7\",\n \"\\u06F8\": \"8\",\n \"\\u06F9\": \"9\"\n};\nfunction parseDigit(character) {\n return DIGITS[character];\n}\nfunction _createForOfIteratorHelperLoose$5(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$6(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$6(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$6(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$6(o, minLen);\n}\nfunction _arrayLikeToArray$6(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction parseIncompletePhoneNumber(string) {\n var result2 = \"\";\n for (var _iterator = _createForOfIteratorHelperLoose$5(string.split(\"\")), _step; !(_step = _iterator()).done; ) {\n var character = _step.value;\n result2 += parsePhoneNumberCharacter(character, result2) || \"\";\n }\n return result2;\n}\nfunction parsePhoneNumberCharacter(character, prevParsedCharacters) {\n if (character === \"+\") {\n if (prevParsedCharacters) {\n return;\n }\n return \"+\";\n }\n return parseDigit(character);\n}\nfunction _createForOfIteratorHelperLoose$4(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$5(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$5(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$5(o, minLen);\n}\nfunction _arrayLikeToArray$5(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction mergeArrays(a, b) {\n var merged = a.slice();\n for (var _iterator = _createForOfIteratorHelperLoose$4(b), _step; !(_step = _iterator()).done; ) {\n var element = _step.value;\n if (a.indexOf(element) < 0) {\n merged.push(element);\n }\n }\n return merged.sort(function(a2, b2) {\n return a2 - b2;\n });\n}\nfunction checkNumberLength(nationalNumber, metadata2) {\n return checkNumberLengthForType(nationalNumber, void 0, metadata2);\n}\nfunction checkNumberLengthForType(nationalNumber, type, metadata2) {\n var type_info = metadata2.type(type);\n var possible_lengths = type_info && type_info.possibleLengths() || metadata2.possibleLengths();\n if (!possible_lengths) {\n return \"IS_POSSIBLE\";\n }\n if (type === \"FIXED_LINE_OR_MOBILE\") {\n if (!metadata2.type(\"FIXED_LINE\")) {\n return checkNumberLengthForType(nationalNumber, \"MOBILE\", metadata2);\n }\n var mobile_type = metadata2.type(\"MOBILE\");\n if (mobile_type) {\n possible_lengths = mergeArrays(possible_lengths, mobile_type.possibleLengths());\n }\n } else if (type && !type_info) {\n return \"INVALID_LENGTH\";\n }\n var actual_length = nationalNumber.length;\n var minimum_length = possible_lengths[0];\n if (minimum_length === actual_length) {\n return \"IS_POSSIBLE\";\n }\n if (minimum_length > actual_length) {\n return \"TOO_SHORT\";\n }\n if (possible_lengths[possible_lengths.length - 1] < actual_length) {\n return \"TOO_LONG\";\n }\n return possible_lengths.indexOf(actual_length, 1) >= 0 ? \"IS_POSSIBLE\" : \"INVALID_LENGTH\";\n}\nfunction isPossiblePhoneNumber(input, options, metadata2) {\n if (options === void 0) {\n options = {};\n }\n metadata2 = new Metadata(metadata2);\n if (options.v2) {\n if (!input.countryCallingCode) {\n throw new Error(\"Invalid phone number object passed\");\n }\n metadata2.selectNumberingPlan(input.countryCallingCode);\n } else {\n if (!input.phone) {\n return false;\n }\n if (input.country) {\n if (!metadata2.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n metadata2.country(input.country);\n } else {\n if (!input.countryCallingCode) {\n throw new Error(\"Invalid phone number object passed\");\n }\n metadata2.selectNumberingPlan(input.countryCallingCode);\n }\n }\n if (metadata2.possibleLengths()) {\n return isPossibleNumber(input.phone || input.nationalNumber, metadata2);\n } else {\n if (input.countryCallingCode && metadata2.isNonGeographicCallingCode(input.countryCallingCode)) {\n return true;\n } else {\n throw new Error('Missing \"possibleLengths\" in metadata. Perhaps the metadata has been generated before v1.0.18.');\n }\n }\n}\nfunction isPossibleNumber(nationalNumber, metadata2) {\n switch (checkNumberLength(nationalNumber, metadata2)) {\n case \"IS_POSSIBLE\":\n return true;\n default:\n return false;\n }\n}\nfunction _slicedToArray$1(arr, i) {\n return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$4(arr, i) || _nonIterableRest$1();\n}\nfunction _nonIterableRest$1() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _iterableToArrayLimit$1(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null)\n return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i)\n break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null)\n _i[\"return\"]();\n } finally {\n if (_d)\n throw _e;\n }\n }\n return _arr;\n}\nfunction _arrayWithHoles$1(arr) {\n if (Array.isArray(arr))\n return arr;\n}\nfunction _createForOfIteratorHelperLoose$3(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$4(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$4(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$4(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$4(o, minLen);\n}\nfunction _arrayLikeToArray$4(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction parseRFC3966(text) {\n var number;\n var ext;\n text = text.replace(/^tel:/, \"tel=\");\n for (var _iterator = _createForOfIteratorHelperLoose$3(text.split(\";\")), _step; !(_step = _iterator()).done; ) {\n var part = _step.value;\n var _part$split = part.split(\"=\"), _part$split2 = _slicedToArray$1(_part$split, 2), name = _part$split2[0], value = _part$split2[1];\n switch (name) {\n case \"tel\":\n number = value;\n break;\n case \"ext\":\n ext = value;\n break;\n case \"phone-context\":\n if (value[0] === \"+\") {\n number = value + number;\n }\n break;\n }\n }\n if (!isViablePhoneNumber(number)) {\n return {};\n }\n var result2 = {\n number\n };\n if (ext) {\n result2.ext = ext;\n }\n return result2;\n}\nfunction formatRFC3966(_ref) {\n var number = _ref.number, ext = _ref.ext;\n if (!number) {\n return \"\";\n }\n if (number[0] !== \"+\") {\n throw new Error('\"formatRFC3966()\" expects \"number\" to be in E.164 format.');\n }\n return \"tel:\".concat(number).concat(ext ? \";ext=\" + ext : \"\");\n}\nfunction matchesEntirely(text, regular_expression) {\n text = text || \"\";\n return new RegExp(\"^(?:\" + regular_expression + \")$\").test(text);\n}\nfunction _createForOfIteratorHelperLoose$2(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$3(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$3(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$3(o, minLen);\n}\nfunction _arrayLikeToArray$3(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nvar NON_FIXED_LINE_PHONE_TYPES = [\"MOBILE\", \"PREMIUM_RATE\", \"TOLL_FREE\", \"SHARED_COST\", \"VOIP\", \"PERSONAL_NUMBER\", \"PAGER\", \"UAN\", \"VOICEMAIL\"];\nfunction getNumberType(input, options, metadata2) {\n options = options || {};\n if (!input.country) {\n return;\n }\n metadata2 = new Metadata(metadata2);\n metadata2.selectNumberingPlan(input.country, input.countryCallingCode);\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern())) {\n return;\n }\n if (isNumberTypeEqualTo(nationalNumber, \"FIXED_LINE\", metadata2)) {\n if (metadata2.type(\"MOBILE\") && metadata2.type(\"MOBILE\").pattern() === \"\") {\n return \"FIXED_LINE_OR_MOBILE\";\n }\n if (!metadata2.type(\"MOBILE\")) {\n return \"FIXED_LINE_OR_MOBILE\";\n }\n if (isNumberTypeEqualTo(nationalNumber, \"MOBILE\", metadata2)) {\n return \"FIXED_LINE_OR_MOBILE\";\n }\n return \"FIXED_LINE\";\n }\n for (var _iterator = _createForOfIteratorHelperLoose$2(NON_FIXED_LINE_PHONE_TYPES), _step; !(_step = _iterator()).done; ) {\n var type = _step.value;\n if (isNumberTypeEqualTo(nationalNumber, type, metadata2)) {\n return type;\n }\n }\n}\nfunction isNumberTypeEqualTo(nationalNumber, type, metadata2) {\n type = metadata2.type(type);\n if (!type || !type.pattern()) {\n return false;\n }\n if (type.possibleLengths() && type.possibleLengths().indexOf(nationalNumber.length) < 0) {\n return false;\n }\n return matchesEntirely(nationalNumber, type.pattern());\n}\nfunction isValidNumber(input, options, metadata2) {\n options = options || {};\n metadata2 = new Metadata(metadata2);\n if (!input.country) {\n return false;\n }\n metadata2.selectNumberingPlan(input.country, input.countryCallingCode);\n if (metadata2.hasTypes()) {\n return getNumberType(input, options, metadata2.metadata) !== void 0;\n }\n var national_number = options.v2 ? input.nationalNumber : input.phone;\n return matchesEntirely(national_number, metadata2.nationalNumberPattern());\n}\nfunction applyInternationalSeparatorStyle(formattedNumber) {\n return formattedNumber.replace(new RegExp(\"[\".concat(VALID_PUNCTUATION, \"]+\"), \"g\"), \" \").trim();\n}\nvar FIRST_GROUP_PATTERN = /(\\$\\d)/;\nfunction formatNationalNumberUsingFormat(number, format, _ref) {\n var useInternationalFormat = _ref.useInternationalFormat, withNationalPrefix = _ref.withNationalPrefix;\n _ref.carrierCode;\n _ref.metadata;\n var formattedNumber = number.replace(new RegExp(format.pattern()), useInternationalFormat ? format.internationalFormat() : withNationalPrefix && format.nationalPrefixFormattingRule() ? format.format().replace(FIRST_GROUP_PATTERN, format.nationalPrefixFormattingRule()) : format.format());\n if (useInternationalFormat) {\n return applyInternationalSeparatorStyle(formattedNumber);\n }\n return formattedNumber;\n}\nvar SINGLE_IDD_PREFIX_REG_EXP = /^[\\d]+(?:[~\\u2053\\u223C\\uFF5E][\\d]+)?$/;\nfunction getIddPrefix(country, callingCode, metadata2) {\n var countryMetadata = new Metadata(metadata2);\n countryMetadata.selectNumberingPlan(country, callingCode);\n if (countryMetadata.defaultIDDPrefix()) {\n return countryMetadata.defaultIDDPrefix();\n }\n if (SINGLE_IDD_PREFIX_REG_EXP.test(countryMetadata.IDDPrefix())) {\n return countryMetadata.IDDPrefix();\n }\n}\nfunction _createForOfIteratorHelperLoose$1(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$2(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$2(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$2(o, minLen);\n}\nfunction _arrayLikeToArray$2(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction ownKeys$4(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$4(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$4(Object(source), true).forEach(function(key) {\n _defineProperty$4(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$4(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nvar DEFAULT_OPTIONS = {\n formatExtension: function formatExtension(formattedNumber, extension, metadata2) {\n return \"\".concat(formattedNumber).concat(metadata2.ext()).concat(extension);\n }\n};\nfunction formatNumber(input, format, options, metadata2) {\n if (options) {\n options = _objectSpread$4(_objectSpread$4({}, DEFAULT_OPTIONS), options);\n } else {\n options = DEFAULT_OPTIONS;\n }\n metadata2 = new Metadata(metadata2);\n if (input.country && input.country !== \"001\") {\n if (!metadata2.hasCountry(input.country)) {\n throw new Error(\"Unknown country: \".concat(input.country));\n }\n metadata2.country(input.country);\n } else if (input.countryCallingCode) {\n metadata2.selectNumberingPlan(input.countryCallingCode);\n } else\n return input.phone || \"\";\n var countryCallingCode = metadata2.countryCallingCode();\n var nationalNumber = options.v2 ? input.nationalNumber : input.phone;\n var number;\n switch (format) {\n case \"NATIONAL\":\n if (!nationalNumber) {\n return \"\";\n }\n number = formatNationalNumber(nationalNumber, input.carrierCode, \"NATIONAL\", metadata2, options);\n return addExtension(number, input.ext, metadata2, options.formatExtension);\n case \"INTERNATIONAL\":\n if (!nationalNumber) {\n return \"+\".concat(countryCallingCode);\n }\n number = formatNationalNumber(nationalNumber, null, \"INTERNATIONAL\", metadata2, options);\n number = \"+\".concat(countryCallingCode, \" \").concat(number);\n return addExtension(number, input.ext, metadata2, options.formatExtension);\n case \"E.164\":\n return \"+\".concat(countryCallingCode).concat(nationalNumber);\n case \"RFC3966\":\n return formatRFC3966({\n number: \"+\".concat(countryCallingCode).concat(nationalNumber),\n ext: input.ext\n });\n case \"IDD\":\n if (!options.fromCountry) {\n return;\n }\n var formattedNumber = formatIDD(nationalNumber, input.carrierCode, countryCallingCode, options.fromCountry, metadata2);\n return addExtension(formattedNumber, input.ext, metadata2, options.formatExtension);\n default:\n throw new Error('Unknown \"format\" argument passed to \"formatNumber()\": \"'.concat(format, '\"'));\n }\n}\nfunction formatNationalNumber(number, carrierCode, formatAs, metadata2, options) {\n var format = chooseFormatForNumber(metadata2.formats(), number);\n if (!format) {\n return number;\n }\n return formatNationalNumberUsingFormat(number, format, {\n useInternationalFormat: formatAs === \"INTERNATIONAL\",\n withNationalPrefix: format.nationalPrefixIsOptionalWhenFormattingInNationalFormat() && options && options.nationalPrefix === false ? false : true,\n carrierCode,\n metadata: metadata2\n });\n}\nfunction chooseFormatForNumber(availableFormats, nationalNnumber) {\n for (var _iterator = _createForOfIteratorHelperLoose$1(availableFormats), _step; !(_step = _iterator()).done; ) {\n var format = _step.value;\n if (format.leadingDigitsPatterns().length > 0) {\n var lastLeadingDigitsPattern = format.leadingDigitsPatterns()[format.leadingDigitsPatterns().length - 1];\n if (nationalNnumber.search(lastLeadingDigitsPattern) !== 0) {\n continue;\n }\n }\n if (matchesEntirely(nationalNnumber, format.pattern())) {\n return format;\n }\n }\n}\nfunction addExtension(formattedNumber, ext, metadata2, formatExtension2) {\n return ext ? formatExtension2(formattedNumber, ext, metadata2) : formattedNumber;\n}\nfunction formatIDD(nationalNumber, carrierCode, countryCallingCode, fromCountry, metadata2) {\n var fromCountryCallingCode = getCountryCallingCode(fromCountry, metadata2.metadata);\n if (fromCountryCallingCode === countryCallingCode) {\n var formattedNumber = formatNationalNumber(nationalNumber, carrierCode, \"NATIONAL\", metadata2);\n if (countryCallingCode === \"1\") {\n return countryCallingCode + \" \" + formattedNumber;\n }\n return formattedNumber;\n }\n var iddPrefix = getIddPrefix(fromCountry, void 0, metadata2.metadata);\n if (iddPrefix) {\n return \"\".concat(iddPrefix, \" \").concat(countryCallingCode, \" \").concat(formatNationalNumber(nationalNumber, null, \"INTERNATIONAL\", metadata2));\n }\n}\nfunction ownKeys$3(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$3(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$3(Object(source), true).forEach(function(key) {\n _defineProperty$3(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$3(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor)\n descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps)\n _defineProperties(Constructor.prototype, protoProps);\n if (staticProps)\n _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", { writable: false });\n return Constructor;\n}\nvar PhoneNumber = /* @__PURE__ */ function() {\n function PhoneNumber2(countryCallingCode, nationalNumber, metadata2) {\n _classCallCheck(this, PhoneNumber2);\n if (!countryCallingCode) {\n throw new TypeError(\"`country` or `countryCallingCode` not passed\");\n }\n if (!nationalNumber) {\n throw new TypeError(\"`nationalNumber` not passed\");\n }\n if (!metadata2) {\n throw new TypeError(\"`metadata` not passed\");\n }\n var _metadata = new Metadata(metadata2);\n if (isCountryCode(countryCallingCode)) {\n this.country = countryCallingCode;\n _metadata.country(countryCallingCode);\n countryCallingCode = _metadata.countryCallingCode();\n }\n this.countryCallingCode = countryCallingCode;\n this.nationalNumber = nationalNumber;\n this.number = \"+\" + this.countryCallingCode + this.nationalNumber;\n this.metadata = metadata2;\n }\n _createClass(PhoneNumber2, [{\n key: \"setExt\",\n value: function setExt(ext) {\n this.ext = ext;\n }\n }, {\n key: \"isPossible\",\n value: function isPossible() {\n return isPossiblePhoneNumber(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n return isValidNumber(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"isNonGeographic\",\n value: function isNonGeographic() {\n var metadata2 = new Metadata(this.metadata);\n return metadata2.isNonGeographicCallingCode(this.countryCallingCode);\n }\n }, {\n key: \"isEqual\",\n value: function isEqual(phoneNumber) {\n return this.number === phoneNumber.number && this.ext === phoneNumber.ext;\n }\n }, {\n key: \"getType\",\n value: function getType2() {\n return getNumberType(this, {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"format\",\n value: function format(_format, options) {\n return formatNumber(this, _format, options ? _objectSpread$3(_objectSpread$3({}, options), {}, {\n v2: true\n }) : {\n v2: true\n }, this.metadata);\n }\n }, {\n key: \"formatNational\",\n value: function formatNational(options) {\n return this.format(\"NATIONAL\", options);\n }\n }, {\n key: \"formatInternational\",\n value: function formatInternational(options) {\n return this.format(\"INTERNATIONAL\", options);\n }\n }, {\n key: \"getURI\",\n value: function getURI(options) {\n return this.format(\"RFC3966\", options);\n }\n }]);\n return PhoneNumber2;\n}();\nvar isCountryCode = function isCountryCode2(value) {\n return /^[A-Z]{2}$/.test(value);\n};\nvar CAPTURING_DIGIT_PATTERN = new RegExp(\"([\" + VALID_DIGITS + \"])\");\nfunction stripIddPrefix(number, country, callingCode, metadata2) {\n if (!country) {\n return;\n }\n var countryMetadata = new Metadata(metadata2);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n }\n number = number.slice(number.match(IDDPrefixPattern)[0].length);\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === \"0\") {\n return;\n }\n }\n return number;\n}\nfunction extractNationalNumberFromPossiblyIncompleteNumber(number, metadata2) {\n if (number && metadata2.numberingPlan.nationalPrefixForParsing()) {\n var prefixPattern = new RegExp(\"^(?:\" + metadata2.numberingPlan.nationalPrefixForParsing() + \")\");\n var prefixMatch = prefixPattern.exec(number);\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode;\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n if (metadata2.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata2.nationalPrefixTransformRule());\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n } else {\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length);\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n }\n var nationalPrefix;\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup);\n if (possibleNationalPrefix === metadata2.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata2.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n return {\n nationalNumber,\n nationalPrefix,\n carrierCode\n };\n }\n }\n return {\n nationalNumber: number\n };\n}\nfunction extractNationalNumber(number, metadata2) {\n var _extractNationalNumbe = extractNationalNumberFromPossiblyIncompleteNumber(number, metadata2), carrierCode = _extractNationalNumbe.carrierCode, nationalNumber = _extractNationalNumbe.nationalNumber;\n if (nationalNumber !== number) {\n if (!shouldHaveExtractedNationalPrefix(number, nationalNumber, metadata2)) {\n return {\n nationalNumber: number\n };\n }\n if (metadata2.possibleLengths()) {\n if (!isPossibleIncompleteNationalNumber(nationalNumber, metadata2)) {\n return {\n nationalNumber: number\n };\n }\n }\n }\n return {\n nationalNumber,\n carrierCode\n };\n}\nfunction shouldHaveExtractedNationalPrefix(nationalNumberBefore, nationalNumberAfter, metadata2) {\n if (matchesEntirely(nationalNumberBefore, metadata2.nationalNumberPattern()) && !matchesEntirely(nationalNumberAfter, metadata2.nationalNumberPattern())) {\n return false;\n }\n return true;\n}\nfunction isPossibleIncompleteNationalNumber(nationalNumber, metadata2) {\n switch (checkNumberLength(nationalNumber, metadata2)) {\n case \"TOO_SHORT\":\n case \"INVALID_LENGTH\":\n return false;\n default:\n return true;\n }\n}\nfunction extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata2) {\n var countryCallingCode = country ? getCountryCallingCode(country, metadata2) : callingCode;\n if (number.indexOf(countryCallingCode) === 0) {\n metadata2 = new Metadata(metadata2);\n metadata2.selectNumberingPlan(country, callingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, metadata2), possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n var _extractNationalNumbe2 = extractNationalNumber(number, metadata2), nationalNumber = _extractNationalNumbe2.nationalNumber;\n if (!matchesEntirely(nationalNumber, metadata2.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata2.nationalNumberPattern()) || checkNumberLength(nationalNumber, metadata2) === \"TOO_LONG\") {\n return {\n countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n return {\n number\n };\n}\nfunction extractCountryCallingCode(number, country, callingCode, metadata2) {\n if (!number) {\n return {};\n }\n if (number[0] !== \"+\") {\n var numberWithoutIDD = stripIddPrefix(number, country, callingCode, metadata2);\n if (numberWithoutIDD && numberWithoutIDD !== number) {\n number = \"+\" + numberWithoutIDD;\n } else {\n if (country || callingCode) {\n var _extractCountryCallin = extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, callingCode, metadata2), countryCallingCode = _extractCountryCallin.countryCallingCode, shorterNumber = _extractCountryCallin.number;\n if (countryCallingCode) {\n return {\n countryCallingCode,\n number: shorterNumber\n };\n }\n }\n return {\n number\n };\n }\n }\n if (number[1] === \"0\") {\n return {};\n }\n metadata2 = new Metadata(metadata2);\n var i = 2;\n while (i - 1 <= MAX_LENGTH_COUNTRY_CODE && i <= number.length) {\n var _countryCallingCode = number.slice(1, i);\n if (metadata2.hasCallingCode(_countryCallingCode)) {\n metadata2.selectNumberingPlan(_countryCallingCode);\n return {\n countryCallingCode: _countryCallingCode,\n number: number.slice(i)\n };\n }\n i++;\n }\n return {};\n}\nfunction _createForOfIteratorHelperLoose(o, allowArrayLike) {\n var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"];\n if (it)\n return (it = it.call(o)).next.bind(it);\n if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it)\n o = it;\n var i = 0;\n return function() {\n if (i >= o.length)\n return { done: true };\n return { done: false, value: o[i++] };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray$1(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray$1(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray$1(o, minLen);\n}\nfunction _arrayLikeToArray$1(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nvar USE_NON_GEOGRAPHIC_COUNTRY_CODE = false;\nfunction getCountryByCallingCode(callingCode, nationalPhoneNumber, metadata2) {\n if (USE_NON_GEOGRAPHIC_COUNTRY_CODE) {\n if (metadata2.isNonGeographicCallingCode(callingCode)) {\n return \"001\";\n }\n }\n var possibleCountries = metadata2.getCountryCodesForCallingCode(callingCode);\n if (!possibleCountries) {\n return;\n }\n if (possibleCountries.length === 1) {\n return possibleCountries[0];\n }\n return selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata2.metadata);\n}\nfunction selectCountryFromList(possibleCountries, nationalPhoneNumber, metadata2) {\n metadata2 = new Metadata(metadata2);\n for (var _iterator = _createForOfIteratorHelperLoose(possibleCountries), _step; !(_step = _iterator()).done; ) {\n var country = _step.value;\n metadata2.country(country);\n if (metadata2.leadingDigits()) {\n if (nationalPhoneNumber && nationalPhoneNumber.search(metadata2.leadingDigits()) === 0) {\n return country;\n }\n } else if (getNumberType({\n phone: nationalPhoneNumber,\n country\n }, void 0, metadata2.metadata)) {\n return country;\n }\n }\n}\nvar MAX_INPUT_STRING_LENGTH = 250;\nvar PHONE_NUMBER_START_PATTERN = new RegExp(\"[\" + PLUS_CHARS + VALID_DIGITS + \"]\");\nvar AFTER_PHONE_NUMBER_END_PATTERN = new RegExp(\"[^\" + VALID_DIGITS + \"#]+$\");\nfunction parse(text, options, metadata2) {\n options = options || {};\n metadata2 = new Metadata(metadata2);\n if (options.defaultCountry && !metadata2.hasCountry(options.defaultCountry)) {\n if (options.v2) {\n throw new ParseError(\"INVALID_COUNTRY\");\n }\n throw new Error(\"Unknown country: \".concat(options.defaultCountry));\n }\n var _parseInput = parseInput(text, options.v2, options.extract), formattedPhoneNumber = _parseInput.number, ext = _parseInput.ext, error = _parseInput.error;\n if (!formattedPhoneNumber) {\n if (options.v2) {\n if (error === \"TOO_SHORT\") {\n throw new ParseError(\"TOO_SHORT\");\n }\n throw new ParseError(\"NOT_A_NUMBER\");\n }\n return {};\n }\n var _parsePhoneNumber = parsePhoneNumber$1(formattedPhoneNumber, options.defaultCountry, options.defaultCallingCode, metadata2), country = _parsePhoneNumber.country, nationalNumber = _parsePhoneNumber.nationalNumber, countryCallingCode = _parsePhoneNumber.countryCallingCode, carrierCode = _parsePhoneNumber.carrierCode;\n if (!metadata2.hasSelectedNumberingPlan()) {\n if (options.v2) {\n throw new ParseError(\"INVALID_COUNTRY\");\n }\n return {};\n }\n if (!nationalNumber || nationalNumber.length < MIN_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError(\"TOO_SHORT\");\n }\n return {};\n }\n if (nationalNumber.length > MAX_LENGTH_FOR_NSN) {\n if (options.v2) {\n throw new ParseError(\"TOO_LONG\");\n }\n return {};\n }\n if (options.v2) {\n var phoneNumber = new PhoneNumber(countryCallingCode, nationalNumber, metadata2.metadata);\n if (country) {\n phoneNumber.country = country;\n }\n if (carrierCode) {\n phoneNumber.carrierCode = carrierCode;\n }\n if (ext) {\n phoneNumber.ext = ext;\n }\n return phoneNumber;\n }\n var valid = (options.extended ? metadata2.hasSelectedNumberingPlan() : country) ? matchesEntirely(nationalNumber, metadata2.nationalNumberPattern()) : false;\n if (!options.extended) {\n return valid ? result(country, nationalNumber, ext) : {};\n }\n return {\n country,\n countryCallingCode,\n carrierCode,\n valid,\n possible: valid ? true : options.extended === true && metadata2.possibleLengths() && isPossibleNumber(nationalNumber, metadata2) ? true : false,\n phone: nationalNumber,\n ext\n };\n}\nfunction extractFormattedPhoneNumber(text, extract, throwOnError) {\n if (!text) {\n return;\n }\n if (text.length > MAX_INPUT_STRING_LENGTH) {\n if (throwOnError) {\n throw new ParseError(\"TOO_LONG\");\n }\n return;\n }\n if (extract === false) {\n return text;\n }\n var startsAt = text.search(PHONE_NUMBER_START_PATTERN);\n if (startsAt < 0) {\n return;\n }\n return text.slice(startsAt).replace(AFTER_PHONE_NUMBER_END_PATTERN, \"\");\n}\nfunction parseInput(text, v2, extract) {\n if (text && text.indexOf(\"tel:\") === 0) {\n return parseRFC3966(text);\n }\n var number = extractFormattedPhoneNumber(text, extract, v2);\n if (!number) {\n return {};\n }\n if (!isViablePhoneNumber(number)) {\n if (isViablePhoneNumberStart(number)) {\n return {\n error: \"TOO_SHORT\"\n };\n }\n return {};\n }\n var withExtensionStripped = extractExtension(number);\n if (withExtensionStripped.ext) {\n return withExtensionStripped;\n }\n return {\n number\n };\n}\nfunction result(country, nationalNumber, ext) {\n var result2 = {\n country,\n phone: nationalNumber\n };\n if (ext) {\n result2.ext = ext;\n }\n return result2;\n}\nfunction parsePhoneNumber$1(formattedPhoneNumber, defaultCountry, defaultCallingCode, metadata2) {\n var _extractCountryCallin = extractCountryCallingCode(parseIncompletePhoneNumber(formattedPhoneNumber), defaultCountry, defaultCallingCode, metadata2.metadata), countryCallingCode = _extractCountryCallin.countryCallingCode, number = _extractCountryCallin.number;\n var country;\n if (countryCallingCode) {\n metadata2.selectNumberingPlan(countryCallingCode);\n } else if (number && (defaultCountry || defaultCallingCode)) {\n metadata2.selectNumberingPlan(defaultCountry, defaultCallingCode);\n if (defaultCountry) {\n country = defaultCountry;\n }\n countryCallingCode = defaultCallingCode || getCountryCallingCode(defaultCountry, metadata2.metadata);\n } else\n return {};\n if (!number) {\n return {\n countryCallingCode\n };\n }\n var _extractNationalNumbe = extractNationalNumber(parseIncompletePhoneNumber(number), metadata2), nationalNumber = _extractNationalNumbe.nationalNumber, carrierCode = _extractNationalNumbe.carrierCode;\n var exactCountry = getCountryByCallingCode(countryCallingCode, nationalNumber, metadata2);\n if (exactCountry) {\n country = exactCountry;\n if (exactCountry === \"001\")\n ;\n else {\n metadata2.country(country);\n }\n }\n return {\n country,\n countryCallingCode,\n nationalNumber,\n carrierCode\n };\n}\nfunction ownKeys$2(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$2(Object(source), true).forEach(function(key) {\n _defineProperty$2(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$2(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction parsePhoneNumber(text, options, metadata2) {\n return parse(text, _objectSpread$2(_objectSpread$2({}, options), {}, {\n v2: true\n }), metadata2);\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n return _typeof = typeof Symbol == \"function\" && typeof Symbol.iterator == \"symbol\" ? function(obj2) {\n return typeof obj2;\n } : function(obj2) {\n return obj2 && typeof Symbol == \"function\" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? \"symbol\" : typeof obj2;\n }, _typeof(obj);\n}\nfunction ownKeys$1(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread$1(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys$1(Object(source), true).forEach(function(key) {\n _defineProperty$1(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty$1(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _slicedToArray(arr, i) {\n return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o)\n return;\n if (typeof o === \"string\")\n return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor)\n n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\")\n return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray(o, minLen);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length)\n len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}\nfunction _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (_i == null)\n return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _s, _e;\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n if (i && _arr.length === i)\n break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null)\n _i[\"return\"]();\n } finally {\n if (_d)\n throw _e;\n }\n }\n return _arr;\n}\nfunction _arrayWithHoles(arr) {\n if (Array.isArray(arr))\n return arr;\n}\nfunction normalizeArguments(args) {\n var _Array$prototype$slic = Array.prototype.slice.call(args), _Array$prototype$slic2 = _slicedToArray(_Array$prototype$slic, 4), arg_1 = _Array$prototype$slic2[0], arg_2 = _Array$prototype$slic2[1], arg_3 = _Array$prototype$slic2[2], arg_4 = _Array$prototype$slic2[3];\n var text;\n var options;\n var metadata2;\n if (typeof arg_1 === \"string\") {\n text = arg_1;\n } else\n throw new TypeError(\"A text for parsing must be a string.\");\n if (!arg_2 || typeof arg_2 === \"string\") {\n if (arg_4) {\n options = arg_3;\n metadata2 = arg_4;\n } else {\n options = void 0;\n metadata2 = arg_3;\n }\n if (arg_2) {\n options = _objectSpread$1({\n defaultCountry: arg_2\n }, options);\n }\n } else if (isObject(arg_2)) {\n if (arg_3) {\n options = arg_2;\n metadata2 = arg_3;\n } else {\n metadata2 = arg_2;\n }\n } else\n throw new Error(\"Invalid second argument: \".concat(arg_2));\n return {\n text,\n options,\n metadata: metadata2\n };\n}\nvar isObject = function isObject2(_) {\n return _typeof(_) === \"object\";\n};\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), true).forEach(function(key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, { value, enumerable: true, configurable: true, writable: true });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction parsePhoneNumberFromString$2(text, options, metadata2) {\n if (options && options.defaultCountry && !isSupportedCountry(options.defaultCountry, metadata2)) {\n options = _objectSpread(_objectSpread({}, options), {}, {\n defaultCountry: void 0\n });\n }\n try {\n return parsePhoneNumber(text, options, metadata2);\n } catch (error) {\n if (error instanceof ParseError)\n ;\n else {\n throw error;\n }\n }\n}\nfunction parsePhoneNumberFromString$1() {\n var _normalizeArguments = normalizeArguments(arguments), text = _normalizeArguments.text, options = _normalizeArguments.options, metadata2 = _normalizeArguments.metadata;\n return parsePhoneNumberFromString$2(text, options, metadata2);\n}\nfunction parsePhoneNumberFromString() {\n return withMetadataArgument(parsePhoneNumberFromString$1, arguments);\n}\nvar clickOutside = {\n beforeMount(el, binding, vNode) {\n if (typeof binding.value !== \"function\") {\n const compName = vNode.context.name;\n let warn = `[Vue-click-outside:] provided expression ${binding.expression} is not a function, but has to be`;\n if (compName) {\n warn += `Found in component ${compName}`;\n }\n console.warn(warn);\n }\n el.clickOutsideEvent = function(event) {\n if (!(el === event.target || el.contains(event.target))) {\n binding.value(event, el);\n }\n };\n document.body.addEventListener(\"click\", el.clickOutsideEvent);\n },\n unmounted(el) {\n document.body.removeEventListener(\"click\", el.clickOutsideEvent);\n }\n};\nvar sprite_css_vue_type_style_index_0_src_5851b83d_lang = /* @__PURE__ */ (() => \".vti__flag{width:20px}.vti__flag.be{width:18px}.vti__flag.ch{width:15px}.vti__flag.mc{width:19px}.vti__flag.ne{width:18px}.vti__flag.np{width:13px}.vti__flag.va{width:15px}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.vti__flag{background-size:5630px 15px}}.vti__flag.ac{height:10px;background-position:0px 0px}.vti__flag.ad{height:14px;background-position:-22px 0px}.vti__flag.ae{height:10px;background-position:-44px 0px}.vti__flag.af{height:14px;background-position:-66px 0px}.vti__flag.ag{height:14px;background-position:-88px 0px}.vti__flag.ai{height:10px;background-position:-110px 0px}.vti__flag.al{height:15px;background-position:-132px 0px}.vti__flag.am{height:10px;background-position:-154px 0px}.vti__flag.ao{height:14px;background-position:-176px 0px}.vti__flag.aq{height:14px;background-position:-198px 0px}.vti__flag.ar{height:13px;background-position:-220px 0px}.vti__flag.as{height:10px;background-position:-242px 0px}.vti__flag.at{height:14px;background-position:-264px 0px}.vti__flag.au{height:10px;background-position:-286px 0px}.vti__flag.aw{height:14px;background-position:-308px 0px}.vti__flag.ax{height:13px;background-position:-330px 0px}.vti__flag.az{height:10px;background-position:-352px 0px}.vti__flag.ba{height:10px;background-position:-374px 0px}.vti__flag.bb{height:14px;background-position:-396px 0px}.vti__flag.bd{height:12px;background-position:-418px 0px}.vti__flag.be{height:15px;background-position:-440px 0px}.vti__flag.bf{height:14px;background-position:-460px 0px}.vti__flag.bg{height:12px;background-position:-482px 0px}.vti__flag.bh{height:12px;background-position:-504px 0px}.vti__flag.bi{height:12px;background-position:-526px 0px}.vti__flag.bj{height:14px;background-position:-548px 0px}.vti__flag.bl{height:14px;background-position:-570px 0px}.vti__flag.bm{height:10px;background-position:-592px 0px}.vti__flag.bn{height:10px;background-position:-614px 0px}.vti__flag.bo{height:14px;background-position:-636px 0px}.vti__flag.bq{height:14px;background-position:-658px 0px}.vti__flag.br{height:14px;background-position:-680px 0px}.vti__flag.bs{height:10px;background-position:-702px 0px}.vti__flag.bt{height:14px;background-position:-724px 0px}.vti__flag.bv{height:15px;background-position:-746px 0px}.vti__flag.bw{height:14px;background-position:-768px 0px}.vti__flag.by{height:10px;background-position:-790px 0px}.vti__flag.bz{height:14px;background-position:-812px 0px}.vti__flag.ca{height:10px;background-position:-834px 0px}.vti__flag.cc{height:10px;background-position:-856px 0px}.vti__flag.cd{height:15px;background-position:-878px 0px}.vti__flag.cf{height:14px;background-position:-900px 0px}.vti__flag.cg{height:14px;background-position:-922px 0px}.vti__flag.ch{height:15px;background-position:-944px 0px}.vti__flag.ci{height:14px;background-position:-961px 0px}.vti__flag.ck{height:10px;background-position:-983px 0px}.vti__flag.cl{height:14px;background-position:-1005px 0px}.vti__flag.cm{height:14px;background-position:-1027px 0px}.vti__flag.cn{height:14px;background-position:-1049px 0px}.vti__flag.co{height:14px;background-position:-1071px 0px}.vti__flag.cp{height:14px;background-position:-1093px 0px}.vti__flag.cr{height:12px;background-position:-1115px 0px}.vti__flag.cu{height:10px;background-position:-1137px 0px}.vti__flag.cv{height:12px;background-position:-1159px 0px}.vti__flag.cw{height:14px;background-position:-1181px 0px}.vti__flag.cx{height:10px;background-position:-1203px 0px}.vti__flag.cy{height:14px;background-position:-1225px 0px}.vti__flag.cz{height:14px;background-position:-1247px 0px}.vti__flag.de{height:12px;background-position:-1269px 0px}.vti__flag.dg{height:10px;background-position:-1291px 0px}.vti__flag.dj{height:14px;background-position:-1313px 0px}.vti__flag.dk{height:15px;background-position:-1335px 0px}.vti__flag.dm{height:10px;background-position:-1357px 0px}.vti__flag.do{height:13px;background-position:-1379px 0px}.vti__flag.dz{height:14px;background-position:-1401px 0px}.vti__flag.ea{height:14px;background-position:-1423px 0px}.vti__flag.ec{height:14px;background-position:-1445px 0px}.vti__flag.ee{height:13px;background-position:-1467px 0px}.vti__flag.eg{height:14px;background-position:-1489px 0px}.vti__flag.eh{height:10px;background-position:-1511px 0px}.vti__flag.er{height:10px;background-position:-1533px 0px}.vti__flag.es{height:14px;background-position:-1555px 0px}.vti__flag.et{height:10px;background-position:-1577px 0px}.vti__flag.eu{height:14px;background-position:-1599px 0px}.vti__flag.fi{height:12px;background-position:-1621px 0px}.vti__flag.fj{height:10px;background-position:-1643px 0px}.vti__flag.fk{height:10px;background-position:-1665px 0px}.vti__flag.fm{height:11px;background-position:-1687px 0px}.vti__flag.fo{height:15px;background-position:-1709px 0px}.vti__flag.fr{height:14px;background-position:-1731px 0px}.vti__flag.ga{height:15px;background-position:-1753px 0px}.vti__flag.gb{height:10px;background-position:-1775px 0px}.vti__flag.gd{height:12px;background-position:-1797px 0px}.vti__flag.ge{height:14px;background-position:-1819px 0px}.vti__flag.gf{height:14px;background-position:-1841px 0px}.vti__flag.gg{height:14px;background-position:-1863px 0px}.vti__flag.gh{height:14px;background-position:-1885px 0px}.vti__flag.gi{height:10px;background-position:-1907px 0px}.vti__flag.gl{height:14px;background-position:-1929px 0px}.vti__flag.gm{height:14px;background-position:-1951px 0px}.vti__flag.gn{height:14px;background-position:-1973px 0px}.vti__flag.gp{height:14px;background-position:-1995px 0px}.vti__flag.gq{height:14px;background-position:-2017px 0px}.vti__flag.gr{height:14px;background-position:-2039px 0px}.vti__flag.gs{height:10px;background-position:-2061px 0px}.vti__flag.gt{height:13px;background-position:-2083px 0px}.vti__flag.gu{height:11px;background-position:-2105px 0px}.vti__flag.gw{height:10px;background-position:-2127px 0px}.vti__flag.gy{height:12px;background-position:-2149px 0px}.vti__flag.hk{height:14px;background-position:-2171px 0px}.vti__flag.hm{height:10px;background-position:-2193px 0px}.vti__flag.hn{height:10px;background-position:-2215px 0px}.vti__flag.hr{height:10px;background-position:-2237px 0px}.vti__flag.ht{height:12px;background-position:-2259px 0px}.vti__flag.hu{height:10px;background-position:-2281px 0px}.vti__flag.ic{height:14px;background-position:-2303px 0px}.vti__flag.id{height:14px;background-position:-2325px 0px}.vti__flag.ie{height:10px;background-position:-2347px 0px}.vti__flag.il{height:15px;background-position:-2369px 0px}.vti__flag.im{height:10px;background-position:-2391px 0px}.vti__flag.in{height:14px;background-position:-2413px 0px}.vti__flag.io{height:10px;background-position:-2435px 0px}.vti__flag.iq{height:14px;background-position:-2457px 0px}.vti__flag.ir{height:12px;background-position:-2479px 0px}.vti__flag.is{height:15px;background-position:-2501px 0px}.vti__flag.it{height:14px;background-position:-2523px 0px}.vti__flag.je{height:12px;background-position:-2545px 0px}.vti__flag.jm{height:10px;background-position:-2567px 0px}.vti__flag.jo{height:10px;background-position:-2589px 0px}.vti__flag.jp{height:14px;background-position:-2611px 0px}.vti__flag.ke{height:14px;background-position:-2633px 0px}.vti__flag.kg{height:12px;background-position:-2655px 0px}.vti__flag.kh{height:13px;background-position:-2677px 0px}.vti__flag.ki{height:10px;background-position:-2699px 0px}.vti__flag.km{height:12px;background-position:-2721px 0px}.vti__flag.kn{height:14px;background-position:-2743px 0px}.vti__flag.kp{height:10px;background-position:-2765px 0px}.vti__flag.kr{height:14px;background-position:-2787px 0px}.vti__flag.kw{height:10px;background-position:-2809px 0px}.vti__flag.ky{height:10px;background-position:-2831px 0px}.vti__flag.kz{height:10px;background-position:-2853px 0px}.vti__flag.la{height:14px;background-position:-2875px 0px}.vti__flag.lb{height:14px;background-position:-2897px 0px}.vti__flag.lc{height:10px;background-position:-2919px 0px}.vti__flag.li{height:12px;background-position:-2941px 0px}.vti__flag.lk{height:10px;background-position:-2963px 0px}.vti__flag.lr{height:11px;background-position:-2985px 0px}.vti__flag.ls{height:14px;background-position:-3007px 0px}.vti__flag.lt{height:12px;background-position:-3029px 0px}.vti__flag.lu{height:12px;background-position:-3051px 0px}.vti__flag.lv{height:10px;background-position:-3073px 0px}.vti__flag.ly{height:10px;background-position:-3095px 0px}.vti__flag.ma{height:14px;background-position:-3117px 0px}.vti__flag.mc{height:15px;background-position:-3139px 0px}.vti__flag.md{height:10px;background-position:-3160px 0px}.vti__flag.me{height:10px;background-position:-3182px 0px}.vti__flag.mf{height:14px;background-position:-3204px 0px}.vti__flag.mg{height:14px;background-position:-3226px 0px}.vti__flag.mh{height:11px;background-position:-3248px 0px}.vti__flag.mk{height:10px;background-position:-3270px 0px}.vti__flag.ml{height:14px;background-position:-3292px 0px}.vti__flag.mm{height:14px;background-position:-3314px 0px}.vti__flag.mn{height:10px;background-position:-3336px 0px}.vti__flag.mo{height:14px;background-position:-3358px 0px}.vti__flag.mp{height:10px;background-position:-3380px 0px}.vti__flag.mq{height:14px;background-position:-3402px 0px}.vti__flag.mr{height:14px;background-position:-3424px 0px}.vti__flag.ms{height:10px;background-position:-3446px 0px}.vti__flag.mt{height:14px;background-position:-3468px 0px}.vti__flag.mu{height:14px;background-position:-3490px 0px}.vti__flag.mv{height:14px;background-position:-3512px 0px}.vti__flag.mw{height:14px;background-position:-3534px 0px}.vti__flag.mx{height:12px;background-position:-3556px 0px}.vti__flag.my{height:10px;background-position:-3578px 0px}.vti__flag.mz{height:14px;background-position:-3600px 0px}.vti__flag.na{height:14px;background-position:-3622px 0px}.vti__flag.nc{height:10px;background-position:-3644px 0px}.vti__flag.ne{height:15px;background-position:-3666px 0px}.vti__flag.nf{height:10px;background-position:-3686px 0px}.vti__flag.ng{height:10px;background-position:-3708px 0px}.vti__flag.ni{height:12px;background-position:-3730px 0px}.vti__flag.nl{height:14px;background-position:-3752px 0px}.vti__flag.no{height:15px;background-position:-3774px 0px}.vti__flag.np{height:15px;background-position:-3796px 0px}.vti__flag.nr{height:10px;background-position:-3811px 0px}.vti__flag.nu{height:10px;background-position:-3833px 0px}.vti__flag.nz{height:10px;background-position:-3855px 0px}.vti__flag.om{height:10px;background-position:-3877px 0px}.vti__flag.pa{height:14px;background-position:-3899px 0px}.vti__flag.pe{height:14px;background-position:-3921px 0px}.vti__flag.pf{height:14px;background-position:-3943px 0px}.vti__flag.pg{height:15px;background-position:-3965px 0px}.vti__flag.ph{height:10px;background-position:-3987px 0px}.vti__flag.pk{height:14px;background-position:-4009px 0px}.vti__flag.pl{height:13px;background-position:-4031px 0px}.vti__flag.pm{height:14px;background-position:-4053px 0px}.vti__flag.pn{height:10px;background-position:-4075px 0px}.vti__flag.pr{height:14px;background-position:-4097px 0px}.vti__flag.ps{height:10px;background-position:-4119px 0px}.vti__flag.pt{height:14px;background-position:-4141px 0px}.vti__flag.pw{height:13px;background-position:-4163px 0px}.vti__flag.py{height:11px;background-position:-4185px 0px}.vti__flag.qa{height:8px;background-position:-4207px 0px}.vti__flag.re{height:14px;background-position:-4229px 0px}.vti__flag.ro{height:14px;background-position:-4251px 0px}.vti__flag.rs{height:14px;background-position:-4273px 0px}.vti__flag.ru{height:14px;background-position:-4295px 0px}.vti__flag.rw{height:14px;background-position:-4317px 0px}.vti__flag.sa{height:14px;background-position:-4339px 0px}.vti__flag.sb{height:10px;background-position:-4361px 0px}.vti__flag.sc{height:10px;background-position:-4383px 0px}.vti__flag.sd{height:10px;background-position:-4405px 0px}.vti__flag.se{height:13px;background-position:-4427px 0px}.vti__flag.sg{height:14px;background-position:-4449px 0px}.vti__flag.sh{height:10px;background-position:-4471px 0px}.vti__flag.si{height:10px;background-position:-4493px 0px}.vti__flag.sj{height:15px;background-position:-4515px 0px}.vti__flag.sk{height:14px;background-position:-4537px 0px}.vti__flag.sl{height:14px;background-position:-4559px 0px}.vti__flag.sm{height:15px;background-position:-4581px 0px}.vti__flag.sn{height:14px;background-position:-4603px 0px}.vti__flag.so{height:14px;background-position:-4625px 0px}.vti__flag.sr{height:14px;background-position:-4647px 0px}.vti__flag.ss{height:10px;background-position:-4669px 0px}.vti__flag.st{height:10px;background-position:-4691px 0px}.vti__flag.sv{height:12px;background-position:-4713px 0px}.vti__flag.sx{height:14px;background-position:-4735px 0px}.vti__flag.sy{height:14px;background-position:-4757px 0px}.vti__flag.sz{height:14px;background-position:-4779px 0px}.vti__flag.ta{height:10px;background-position:-4801px 0px}.vti__flag.tc{height:10px;background-position:-4823px 0px}.vti__flag.td{height:14px;background-position:-4845px 0px}.vti__flag.tf{height:14px;background-position:-4867px 0px}.vti__flag.tg{height:13px;background-position:-4889px 0px}.vti__flag.th{height:14px;background-position:-4911px 0px}.vti__flag.tj{height:10px;background-position:-4933px 0px}.vti__flag.tk{height:10px;background-position:-4955px 0px}.vti__flag.tl{height:10px;background-position:-4977px 0px}.vti__flag.tm{height:14px;background-position:-4999px 0px}.vti__flag.tn{height:14px;background-position:-5021px 0px}.vti__flag.to{height:10px;background-position:-5043px 0px}.vti__flag.tr{height:14px;background-position:-5065px 0px}.vti__flag.tt{height:12px;background-position:-5087px 0px}.vti__flag.tv{height:10px;background-position:-5109px 0px}.vti__flag.tw{height:14px;background-position:-5131px 0px}.vti__flag.tz{height:14px;background-position:-5153px 0px}.vti__flag.ua{height:14px;background-position:-5175px 0px}.vti__flag.ug{height:14px;background-position:-5197px 0px}.vti__flag.um{height:11px;background-position:-5219px 0px}.vti__flag.us{height:11px;background-position:-5241px 0px}.vti__flag.uy{height:14px;background-position:-5263px 0px}.vti__flag.uz{height:10px;background-position:-5285px 0px}.vti__flag.va{height:15px;background-position:-5307px 0px}.vti__flag.vc{height:14px;background-position:-5324px 0px}.vti__flag.ve{height:14px;background-position:-5346px 0px}.vti__flag.vg{height:10px;background-position:-5368px 0px}.vti__flag.vi{height:14px;background-position:-5390px 0px}.vti__flag.vn{height:14px;background-position:-5412px 0px}.vti__flag.vu{height:12px;background-position:-5434px 0px}.vti__flag.wf{height:14px;background-position:-5456px 0px}.vti__flag.ws{height:10px;background-position:-5478px 0px}.vti__flag.xk{height:15px;background-position:-5500px 0px}.vti__flag.ye{height:14px;background-position:-5522px 0px}.vti__flag.yt{height:14px;background-position:-5544px 0px}.vti__flag.za{height:14px;background-position:-5566px 0px}.vti__flag.zm{height:14px;background-position:-5588px 0px}.vti__flag.zw{height:10px;background-position:-5610px 0px}.vti__flag{width:20px;height:15px;box-shadow:0 0 1px #888;background-image:url(data:image/png;base64,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);background-repeat:no-repeat;background-color:#dbdbdb;background-position:20px 0}@media only screen and (-webkit-min-device-pixel-ratio: 2),only screen and (min--moz-device-pixel-ratio: 2),only screen and (-o-min-device-pixel-ratio: 2),only screen and (min-device-pixel-ratio: 2),only screen and (min-resolution: 192dpi),only screen and (min-resolution: 2dppx){.vti__flag{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAK/wAAAAeCAMAAACaRItPAAADAFBMVEUAAABxHmAJN5IlMob////OECUBAAAAI33uKTn80RbSDzT/AQEAKX/+zQAAI5XQFiwAl0DwKyz+4ADeKA9Cit0COJTCJy3uGyPmBRX/+/v5+/wAn0rbJB4BfjzWKyDkHh/CAwP+1AABm2ICeV7HCzAAYjPpDi4BN6gEa0IAJ2UgQ4zHCh3aFRvRKzwBAYwQrisCMpkDUqMAhFDbAQYBak4EaacEM4FluOYetToAHaXbDCQBrcr+vwYFWrgkS6X64+MnrWYAot7v9Pn73g4CJYkAa8F2qttKrtYFKnoBeTTeMTfQ2umvHisHiTDGMT7rJjj00tYAbDV2s97dEToAgAD730X3x8rhUg7zpwcZigBIl9CfLzcAZgABBmkCQBs6fs4DL6AgXjcCP4gAf//qqq/6fQH77eoQR7E6eESvvNdmzP/POVX+9fQ6dMRzq+ApnzwAcs/QAQHQKBLvQESMGjj9xyG70uuZq9fyfYEAcsYRQHqmp8Xi5eE9XbimkSn4u7vpZm73rrNMpFr+1SJalrLUdoGvDy4eikVasIdYWVc+dyng6/Trixi5TVS+CiwBUpXBqhmvCwrMpj02ki8Dlcb9mjMmHFL8PTLP3tHulpj/UBDt8u7tAQEOEhVddrAtT4xHbJAgHhYztDr/7wgDRa36V1jdT2Thyim/wzrtwwxgiMUBNrhxen0SiAbAYXQ/mgGLjI9hWg/gbREBmQDdtBGho6NhXIgUtTkYIm+AfkxKTHl2i7gHcGmYuiHWERKNnMEXGJcNMW6IrYHPyMTQxxY4W5z98EKNdRCmLVBKbakFmLYBsGWDDRKgyeYAcix4s5xZnte6u7VaqRmc0rQEUPDbm6JTdlHdT0fPghYskQw5BQg8MgeLpUjo0wmq2MOLSDhxkTCxXRSWv5xOLmj02Z3FSSn46L5AQTkSRJpRU5L732IibLecg29nChS6mGXXwYPubCwTdci02a8wSGmCNxgyJnk6QaO/lpU1ra9pnaslgqQFUkXztU0IXAImrNkvhOgeZRpTAAAABHRSTlMA/luzB+5e6QAAyUxJREFUeNrsnQtYU1UcwLM2FzqbUVpbitqbAWoWsxBdDSqCUtIcpFlmNF3Q03iEMIYvIMAwUiECNBJFjYLUQkRCINJPSyyRUCQKxQxTo6zMHufcx+777tyxCWm/e+77//Gx3XPPPffeH38usyalb1DMUigWBAcvUCgUQ34otYbOUXC5DHAPjUJ3BsEDaMDYgSR3Pv2FGDC2P509I2n88hEdGNvSH4kWECrps41ABMbeiQiMlSMCY59CBMa+gAiMnYXAypV7lsLYKxGBsWuT0zeMBiwYOHABmN3zQ/Fa46ejucDYaxGBsXfQsIzKGDAgbNDmwju4wNi3EIGxV0HGxlaPnaS1DOJQcRUJjFXSUFiiaVgU9H0w9i5EWHX90JvTbZyfP4X53V6NCIyVIcKMDV3iY6c+ytSy0EgvuUogBOzwigwFQTB2HJOUOjd+8ONAMTZWI7OhTr6SjsA5bPSRqzjA2ABEYKwHIjD2YURg7GBEYOyTvhOQgLGLkIh+lll31urNNZ41C0xWwbrzACIwNvdA0pIlk+0jtd0bSHKdXsZBf51tN4x9DBEY+wwCX64LD4OxOox4Hcn3Nw8A3Py9joXoMX5x/XQaGdhnEwVGPEunQy2zoTlyIx2pV7Tb6Jg1GrFW4SY6bXIaYdHss/caRGCsGxLSWwUlIjD21V/HXhWIAIwdgojU32HI9hQkpLbmBSEa5Nj+iGD1DFzZlQqdEqtnQYohW0ut2Klp3lWdB2tm9S7sAGlgbPre8ePHv2B/hLE304jUg0NbfDMvMPZ2Nt8GrFkj+/IW9mYY68miJgT8bHWoiq+1uYXL7QkC35kXIjDWHRG8NzQDaZDaku6RcIwHzCzLfnGMfaR+D48gAmPHIsI8Lwz1Osgu/rpPtJOLPQGw/oJZPKi/oeN5kNqmTkWE+fuGnPkh+MopW8/EyPiQ2vbdiAiMLY6IkhmqtQqSAj3o8/noCxQk2uqISJXVyKpnHh6cOQVfGxW1diBgbRTfZ6vKRq8PMibq5Cm3AqYkq3l+rhwRvp+rVpMzJlLbXzki7FhVhhuNKs5xC8TQpcUH2ujuhlPWDhib8gEaMHbiRN+JE59P14T8CJd8uRNikHpezKATQ6u/mhjGLhg79HMkhnK+3wzx/kNnauq9NyAgpQ8j9S73JUSwniEi+JOXq5AKjPVBhF3XNft8aWwaREdqXb8BYzA+OyKj0fEsHRirQQTGqhCBsSsQkdLfkfo9vIgIs+95PMYY7HFQH3tcsO85mMYNX9GvFxGcY+w3bVquWsZo6kwmemMIduZOm+YHY0eNGjWo6t3BIrxbNQgEwdjliI/iiHrmkn7qrYjA2NmISD3G39ZFI4GdFyK8u77Ecoj22e5AhP79Mg8zdxuMzb9lOBJSrwETEJH6/V6HCIx9DhGp92/+iDDuRb5fJorUdt0fEalPcWciAmOvRwS7ziMCY9Frw3s0NlrcB40iGOSecfPNA6gCY99ERGoPnNHzjVslCPIThbHaNKxXkuFe5O4efs3LNvyLivyptWvC3UFAONYr+ZjG3VVuNDJU7O9sECKco7btDRrbOEftJkRg7P1sXjvz1Jkz93OAsVqCwkJioT4E3ETVU1sJsLt5RKS2ZvDQmpj3M3qh585TEMHuuhGReiW8neKu27/SaKjGP4JzDs3iYeTLIznA2LbtaMBYnRhBhTH6Yuqz3YYIjA1DAMY9RDE8R8YgZzhtJ+d9BaOHeoSxC6u7iEh5VyD1Of0Vl18mghIRoWcji9y4SD1jvL29dwwbtsPbe5gJ8S0U6+wSOAv86ESo6X1dxi6p/YoWuR9ybEzibOTaKiNJePpJMaT2iwenzPSIi4rzaEu5cfdbIkg9bmeXvoOE1OeLTzD5606R+9sHEZH65o7eC9Yf+PxVIXry/kFnEb/6TkZEan24DxEY+ygiMHbi3ImgALA5P6vXB2DtwxwahedPnJhODCfOB3OORefD6Fc+XxqHBwEO+/Iita9rTTZU66jz4viH4LzQCfUAEJHSkkv9uXcjIvXnDqez/jMaK0bQkWpuzEMExury0duSsjFowNi5iMDY5IPeSEi9tiQiIqWtlhrrSYfhu2TcTEdq2zeAwcy7hJB67/4yIjBWIUYQ83s4eXQYEjD2XsDCo5mZXV2Z7QvvFUbqvTD9vQMkYiQ/Un/uEtmW/jidhlCVl6CpI1R3/ljMBcaO5vLrjoFc7LVR71a1ljTkU+fxRESk3v1s29q9bVv31m3E/PuZD/MjJVZqm7ob8vtuu3DfFQdEcX/aayTn1rlxqLv3RhJp9/foLYjUTz8MEaznvXTaNNSeANEikS3R/PkiV3cliVZLLgUtEzgbJiHi+JtGNTWAFRwZCeXMpSZojNZgUWDs44jA2C1/ffPBNwhctrU0zhgCqgOsDKAqgLX0AoWT5d+HvhAq0uXfpS1I7i8UWfk/2//yL4/4e3Lp0OJco9SuNHgNmhRSQLwWvQeupReM7vPy79jjBebEwqxBbCws+VdBDlz51zb8l+VfcDucWyzaXdDINOC9oArovwLqrwq8VQRBrpJ/Bc7hymUqBnLyIWzHiekBkEVFizil1Ta9APLvGGokVjmbsbqQ/+dup8q/4W+/7Ur5d0nugdxixMcYS1k8TM0ZCMi/arWY/PtBVdUHTpF/Z6wvKfeQUw+um0j7Vykm/yK6vx7OlX8Fr2iulH9VduTfsL4v//qp+gWODQwccpX44ID8q1OigPecxPXf9dmo8i/zRb52tdngbKmCqmdKvJ7NwerZhl2xZlDXZikrY8z1YK6tNpvrYazGEDMV6r2wvCA4vyTk31EIBZN/Ed1fyfKv154WKeLMtKFtQAC+COVfrP4WeGL11zMeW6scz4Ngm3qxyL8+xUlRspBKLb/8q608gEcw65kqPFzFnvPf4qr55V81/bMF1O3va/Iv7Pvm5enBT+3T8m93XVogSbylQgdm5I4mSv69Pxtd/sUEX1L+hYU7wDLRznlRU9NdgyT/amRc+ffzXz9B4NfPpcq/LWs2HTmSeq9T5V+0u1zXy7+Ijhgu/05GGTjyr8a58u9gMIACBjH5V+r5Bm722IW7SbL8i97fcUj+vUF84pj8O44c+OTfoWSBsfOBGDHfSDXKapOso0NmojXhRiwExpaMArRWvTgYQL9nJXmxqhVGlGDfA+hsXCLyr0dYmIf8aHl5uQfPMc7Oripxgvy7v25zw5r+PZV/ycPM2KBmfr/5Tz40HAH7fSMlU/5N3fn7RSv/brZAwjH8M5r5CbfJvzWY/BspitR23d8/Otz+cCnLv3Ig/cIRTHD595WRCLzS2/Lv2Dlp7eX46++wcGD3+oe9TJJRVJRhWwnzh+ov2HkRyL8/Lv7ww65Nv2354zVB+bewMja2up4u/1Jbpcu/Uu/04OOD2lq1min/ws4FNV5o+Te/5SSgJV9M/oWgyb8rG9o6Z9k4kMsF/xNh58i/QQUhSZEDLrj8q9E4Rf596X4wihcXy7/awsudI/9Sz0ZOnyafjfxR4sZF6hnj7R0cfPBgcPAOZ8u/3n5k4ci/1B7p8i94SeyHGiuLip07u5fl39dT5rUB+bdtXkqTqPwr9bh9/XW/Hajyr3x5y39W/q0t/V/+tQcuaG3YNxFj3wYB9ffNgICs19nybxdwf8myArq/Ph4qfMSPxRdPz3Sh/Dt/rXWt/b7uVuz9sQ47L2Ydh2uGSoUd9UkDuHjl38HOlX+z5+FFfDIPl3Q9kduSaWWukX+jkhj27wju1LXyr3BbzRVZBWMvXflXq1TwEBhUQ/8e+h9qD5Mk/2ZaKrqW/NblfPk3ynowF0n+9UYYsJ/rVSxrJO3fdL2PoP0rZNIsZvEHR/69x3H5F7q/6zaX5fe/EPLvtq2gbINzWEqX8CM1lrwEIMq/v0/FDWA49FH5F6EFcbn8m98f6r8uk391ithYRV+Rf6H2Kyj/3gWGcalH8kLjDvZA/n3/fZb8K6vtfPwDFPlXEQhzaYbsgpUBVAXwmgt44X0486+K+8eHa9ZwNu1RgVDez/bfkn+vFZN/H3hhqvhIyr8I4m+oDCD1sfHoe85GghejifC16FnwUjQmcTRFQQFX/n3ghd6XfwGVhsqrtFnImX8VF2fmX4A61CpWHxfmyNQamcnqxdepUHl5WU0yjVqWs9BV8q/QOQzkX47+i382telYx4lFAZDWokWtRa0BrQFA+cWkX3K6yMXy75jBFJT/y95O1IX87budJv9GP/u2a+XfAweScqnMvz7UAgsYG8+iJl5bX6gFMxYC8m9ysrD8+3hdUVFra9VjXPbv55F//1n8jAD/7FyX4UHUdR2gOy2rIi3e4cy/L1ZNp7HCY5hz5V+xK5pSAX61ykowAYsXMPNveXhYn5d/VSq/Zd9fdZULMv8qgrQKVPlXVP8dfjg6G0n+BbUjiqwh+FlWWJmgcb5UoRjCqmcbQB2bNUsRq4nZpWiq0ZrzzIWg8xCE/74aIvkvnPDNL6HMv6OoKcUoxpTM/LvvWrtFuvzrtbxFkjhDCsAXmfzrGbQt02pMwOrvNqyd9PQcz4NQm3qxyL+VByj9lyP/am17q4l65gesCazRDwMT9hzu82Pe4pqS9Gqu/KvWJ5no8m9Aa1V2n5J/1bURtZnLl2eCmbovy79NrRVKyvfNiieXlWmthAmMCafnHMr8CxZ/FMTOeRFU1hnocObfzz8JClKyBu6GTyTLv8BF7PzpWMKRL+91nvyLcJfrTPn3nXeEM/8iDIT8izHZ3iie+Xfiwh7Kv7j7C0d78m8MIrTMv3LGvR9nRS5R/kXv70iXf29A0H97lPl3HEf+HcrM/AvS+gI1wqq3/UFlxwlAh+2PLPVWsBskB4axhxpI/Zdxz0osvEuovw2H8O8B6r+XhPwr9ygv2VzSjKu/XPk3+9usnsq/L1atywKvSXoq/6oTEtg3ehpNQoKa9f0+iZL8V2rfaMLO9al9UP7du9eO/NtdgyD/Wv6EhL0NeNa/OXzmq1zaw5tt8m9hPJgUhIoitV339w+P9oeITaMvQfl3EDPzrxyMRObfkUhcCPl3krj6W07Iv4T+m7HjZZxyd/dyYnFHBqH+Xgj596gr5F9fWDB8r/2tufnUqYqKjOZTi+9/jdjHlH/r6wsqq82VDPkXbq2EW6XLv0itGVf+5Wb+ZYwXVP5t2UPQ4ozMvw2D2launDULFIwEExf89304refyb5A2NiFuAIQr/27EcJH8m5DjpMy/L03s3cy/v37e74rLnSL/etZsK8WejcyfTz4bWSkg/4qfMTodS/690wq40wWZf71hgajY8q83VSTLv+A1sR9irGm6ybDhttm9Kv8ObUtJ2RK1MyWlbea5twjOvbX73LmF83a/tXv3ue3EVnvHraamJogp/36d+Dmq/CtfdvK/Kv/qD2T2mvx7FE6whaP4jFX6kvw793mD5imY9fcpjeF5QfX36adZ8u8mPO8vLOdPewBUHh7BHthIyL9f3PKLy+Rfa7Ixbu2V86fY6eti/9PHmFdpDg42b11CZEH8P/MvW/71GzHi1h5k/s2eJwbcS0i6x1ei/pfCaWVS5N/3EAom/0IDYhhQfOEgqP+OcKn8K36N3VJvWxSKvXTlX11MPY/6q0izMOXf/msaMsIkyL8//VTRVfETJv+mOlX+NQ0daUWRf72Rf67KKzIqZw2hweVERQrZv0J1ZzGTnevWM+Tfez49e/bTTx2Wf/fXEf/LyvXyLynzEvMcEz9SY7E7/ISoWvwRmsYgBCH/7n1wd1/P/CulBSGfEAsD90qXf90a+mP6r2vkX4VCWVgIbk56Wf41hUaFqkNNepNen6QPTTIak0KNxihW5t+7YLnxuzx9BLR/w3iLXfm37JvH338cjo9/8/rjeNJOQ9Nf+/d/AIrocNmCBdVmY65eplf56I3JUYYF1QsW6Jwt/z4kVKTLv3I58+7j0KH+ZWVwSuckdiBEPpuSoG/LvzNiY2L27t3HL/8Cu9cuD1Dyr7j4q8n5re03qfIv9f0OHKhPIr7f0SQhIVz5d0t1n5B/zyYCtFnimX8VtuFizfwblbTERzTz75iPU/Ng826MJJL/qlRwJNL+RhrhvrzUj8e4Sv4VOofxd7x+Kj8M6t+vqcnURsdOTF8UQFAEdF/+zL+vIBTHMv8yTd/9+3nyKNnqwpO+PZF/3cBA4A/cX1fLvxEHiqHtixVygVoi12HsHAa6SZXmkJyQEHNloY65h0/+VatNq1aZ1GoB+beuCCT+rSrisX/r6njk38Xrn+Hnj3XhUGqi5N+0rEGbK+KRM/+Ow6dc9/cE7v46Wf4Vv6JVG3Rms85Qzc78O9dFmX/LsWlYee9k/tUiQgojfkt/PX58iDjS5V/trtj6OVj+X51gIeVfMf13eErKunUI8i+sG+fPM+XfeO0us8bpUgVVz1Twyq4B9cxsMMfmaWLyZIaF3/2cbTbIQmLNBvL3NYTsHX/JZ/4dBf1efApn1OBOn+Ly7z5g/4oUhzP/Ak5KE2coAdhV8u/w7W+8sX0covw7pLCwh/Ivu/6S7eR4jOcI8DXxNlV7/HghQMuSfx+wjYC9oIvO3NqX5F+Flqn/UvIvcw9Rz9qaM0RpbmPc4qqTViXzyb/Jq5LUdPk3oLVuv6Py7+mMjNNOln/VstLlmQeWLz+QubxUpu6z8m93RcW6ioo0PO9vRUWdpYIwfrsPwx1NSlL+fekmBzP/Ph8TIoDIeQEJXHmyM8jhzL+fBLFRKjlbpMu/8MVkftmbJzqO5XwFEgAPdob8i3CX6yz597rMyZ9v2tSvX+Z1/PIvSiHk38kI6q+LM/8Oxu1fMIjKv1IztUDhBgwQOCcW8SVyh/TMv+j9HcnyLxrS5d9xtoGb+RcyFA74Mab0XuJB7rHysLDyY8SjW0oNxvuIdP2Xgqn+4v0HOQDqv70v/44gJxTUZifIv5Dy8PKjKn75F/Lt5mga/tyJuPy7f/3mhkPsPjgi9H8raUjblGOQMTDkfJhmUDO/X6Tkv2LXAIhu9dZCZubfPin/pqeLyr9Bys5uMMHQcQuv/Nve3A6EkV9eJdmDrbS3k/JvfOGCgsIaRPkXFjhSSwLtOjB7of67AkzgjLt8aWb+HQTuqsAEyr8D5Jj+Cyd9TP49nnhcVP0l5V9S/yWT/17j7n4NmfYXV38dlX/9mSNnE0P+PZoR5srMv77Vpc0dp2KrF/9Re6r5VPVE23ZS/iVT/5rNu1jyL7VVuvwr6V2XWh/a2Nho1JtY8m/vZf49uWfPyRYAnEuTf1U88m+beyeYrkxrSMP135Ev86sI8CFomhT5Nz6+uzs+nuX+7goxFg8gkTPk342zu5uamuLv2egK+Vfz1Xca58i/WOpfFhNfoo8uln8nD/j8e0H9V4kI/SwI6dcvhDgLGt14YPWLOWfMnK6uOUz512pNSoqzSsr8azAgZf71U4HCm/mX2OdI5l9Ai5xX//UIY8Wqj0WBFuj52b0p/1qXdKUe0XyV2rWk9C0A1H6b5r3lO+/bb5t274ZTQv4VbekCFQrPP1f+ChYo+Rdydhma/AvY0wfk31eYhRyp0kcz/2ZmtmVGXqDMvxMmOJr5N3bvRIy9scLqL1v+LTyFmb9wOH8Qpv2F2q/KAyuE/AvoXOYa+dcaqo+bf+Xa3Pn2jYUYeF6YfHxM4D5fZgbnhVKBEwTgkX/TYxcvjk2/eOXfwWz5F3q/ED9H5F9S/RXK+QsLKf9C5uSjyb/A/nVF5l/s3x8H2/L+jmBPXZ35V6ythnrJghxzEJhjiMRSStMFk399rC6Rf0dSIwW11V7m3yBFYFqWe1pgEF3+BZRtXhGGLP+W/vZTV4UlE5N/4eAk+VefHCEfeTApKcqe/AvwRihYnVR5+ejzOvvjNMqKBexfobrDTvy77ieG/Hu2AHAWXf7lpv2FYvJ/OvOvOi/hVM6pUzl5eaADmCgEKf/+juX9ndCHM/9KuQdmiAc8SZDVDmb+LSsh9V+p8u+UtXblX0VlAWwHKs2K3pR/1WqjNcmqhzdEubkRuUnW5Ny4ZGsEU/7NHjeOSP6bYzJaHc38+01De3tDQ3tZWUNDcwMm/8Ln+lsaRo2yWx+CAT4+KhUoKjiHq0HUHwn2ucy/4H1DCxW8pv8ay5qGhnwLWKC2tnhhB0L8s3l69vXMvzP2GjQaDfBqpl7LlX8Jt3cqmAjMwQiAsSLiL3TR8xq7ftlz8mStZPkXf2k5EJ9dh89Gk3z6KVv+/WdfaemD/zhf/t3NLHALdyOzi5MYEnI2nrB//Z2c+TetbTJ4u9qW1sflX3VEsUouDH5ZH3M3eLMI3xCqvOBGLwi+pILvEsHDNRBytwvlX+45DFBBHp758EwAmFHyr0ZjS60eBVIATw8IcAsH7smiIji04tNFRa7N/AsZg01IJ9TdnfUmFe6i1YU/zzko/7q5LZp+6gScLZoenfE2wLXyb0RE0oElk+3DlX8XxyR8l/Pdd/rvckIq7cu/pri1wCSKM/HLvx8U1X3z2OPfVAW8/xibb77hkX93rpvxDA8z1peUe8gZ8m+8pSSrW4eU+ZdyfsnlFw+T4i9kRfAwZ8u/Ilc05a76XdVanU5bDRaUNPl39uzqSbNnuyLzry3lb1hYL8i/6YjYssX5yYtDNYY8gwgOyL+xhuo5iJl/NwrrvwsPLxyeHZ0tKP+qqVlHxpsmGV3+hdRXpztXqqDqGbhC2OrZAo0MPImYt9CwcGd2YbyuIF2mqbb9vhpDzFRo+Qrrv86Qf1v6tPzLzfxLQW2kMv/iIzbjX53hkPwLfBwp8u+Uq6+esooSgJ0v/74xF+MNBPlXO2TsEIsFTLQ9kH+F6u/U8ZDKyj/+gON4DNG7BOVTU/e9dubMmaeUIpl/96an7+27mX/Zki8p/7KlYLye+aXdeLg1QJDWwzem+dFucU3JcQPX5urZ8q8+d+3AuGQTJf9C6qqyHZR/o6OdL/9G3GmN2LMnwnpnhB3512SMiIgwmtS9If9W1GXVWeoqlETeX0g8nhAY22Gh5N/XUhzI/AvYYBDqFIjfPWu1nocOeWq1Dmf+ZaGEhYUD8i9gacuahs2LpgP/90jqvU6QfxHucp0l/3ZN+P7V1HNpP/zdxSf/oqi/VOZfwv+dLDZ3cebfwbAgZf7diAg98y8YyEVyidohWf5F7+84Iv/ewEjzSy1SO3qS+XccV/6F2i8BjIVNnHE+sCPmG8F+MBiPNjeHGcECYwfRR2Trv9RtLKX+kvIvqf+6Uv5d00kuda6Rkvl3hDMz/0JuFjrG2ThVJYTm64+S+Zeb9pfx6Zh38auuBu/HwNTeEyCNZkvnprRGPNGvGp8mNKZt6vxQo2F8v0jJf+09QW08cb5Dy5B/D/8+gcXvv//e2/JvY6OY/NvZUAZo6AYOB3Lm30HtrwJmwml7+y+/tDeTLnA7If8WLsgLqYz3/D5SFHq7Trbg5EAVduZfOOLT6HAwMpZdn/n3ZUQuoPzrvtmymcj8i+f9BWUATf71Igu2cvToSPZGL9fLv5N2bdg16Ti/+ttcDllBfLuk/utevgMu7fD3x+fl7oT6e2Ey/2Ycpcm/dzhX/n3Nd+9vzR37fFev3rT6x321b9Y+YLN/mfJvvdlcUM+Rf+tjwFbp8q/4nZ6WgLrTM9XWNn64pbY2VK1mZ/4luMCZf09i6u9JOAGLPc78W5IFJivbSkaVtGH2b5KRi+33bZMg/3ZXALoZ6u+c6oRcm9op98mly78bu7OKihpa3S26jS6QfxNSU3N6Lv9yvd+XYGHhavkXvCrvt01A/1UiQpwFB0+D2t/PYukX7KM6DXNORbtxsXf9D+zqCmTIvzusEUlxw4Jh5l+1CPR/p6wxmzUaxMy/3ryZf1W2fTBWhYjt7GpZ6sfj/gZksM4YQnswT5rde/KvyWTKM8gMeSZTyFsQ3ybLt/N8fc9t73za13f76u1gGXv7KXbc0pqCFPHAelEEdddQ8i9kY78dAxHkX8jyll6Xf/tE5l+dVPk386dMUEpLMy+A/Dvhd8AEx+TfiXMnvvf88++BmZD6y5V/u05A9fc8GFcE42l/fYYB/xfOggn5F/L0TFfIv/OTo6D3uxYIwMJQ54WPCp4a1HlBMpphhGgwZFveAGyRaQRxWP5V23CV/JuT41jmX9L/lS7/IkKTdIPyUeRfaP9KkX/fI6cU7C3kd2aKOOgtxghXyr/i11jd4oLV9QoCwdheyfxbnByJy79P3y4AjI1DBL/7GTkSjOwBFMZWuvzLVX+7LeCGkPk94K5NVvSKMET592hmaSYAk39Tgfz7pXPk31ziFjQUIfMvHMUlYEL+lQMxx6hJ64/zoWyJl5yLsA33x2IaX34JVyn5957ExGqzuTox8VNH5N/960Ha33ya7SRV/i1DhJ3NF5ZMAaTGyqAdd+rNN9881QhcvJjbhCDk3/FT+3zmX3v3wPFaHV3+VR/rOGbS4FcrbPVEB1gjVzV5YLdaQP71EDzLgIxf4lYGOt/Lpjk/86+iulKhUyq0hRIz/yYmwtGZ8q/VmmuNA/5vnD7OGKc35gIdmCn/brakjAMA+/fer/L0uQeDccKIEU4o+Vfc/i0vb24HDjCe+Rd7x1nbsNndDlhlwKsB3iNi3N7Nux1M+pr8K19KNSllZfmWBgso+SD9L0n+UvxACH+2oJ0fbmpsLPhwSxCv/DtsxAjvZcvlI0bIly/zBqu9JP/GGgivJn3vA/u48i+u/wKmwjnfOin/Cou/sJb89ssvJ0GpkKkly7/UC1E4xyajKVjy7wPVpT6RpdUvOFf+ncAB3P9O4MLs4syOjR07icr96+/EzL9thMU7pa1vy7+y0Fwx+5e8rI9ZmAMbepMVWr/WCKMxwgodYKsJbs1ZCNRfV8q/3HOYlH/lmYYEQ+menDxDlxdct302ugFsOrbi9GcBkEWtWN5fLPOvi+XfMYPp7G91B7TuH8zaQa8L+X/udizz73SQ5uxYR8cJt0UdK952vfxrXXKguHgyASPpr7j8q43N2dm4M+e7n3N21n6XY9bak3+jVsGVVVH88m+V+/6qD95/bL/7B6TyC9ZIWPLvP4D1bjvh7BkG/+xcl+FBr+tKQHxFWkW3EoeUf5Us2K/eSW44PJ0Cur888u9aDEflX7ErWrpZqcAxp9My/85NfD5kQ+Ikp2f+DSvPGBRejmf9zcjoBflXhghDGMmNEo2VLv8GVZorg2B+KAT5F+q/c+fS9N/hw1NIDkev/zb6WyH5l3qT35FRfor5+8ZjFBbEaJwv/8L6BWUYsp7NUihn1cdWz3sdDE/vrJw1S6mYRX+Qn44l/yULZ+6I/PsoVQANqx5+eG3Xo4ztzpF/UxJAdM/lX0r9pfL/ujPy/8ICY+nZfWcwBnwC1V/HMv9CliNl4yPU3xWnT59ecXoKLQOwM+Vf6P5O2rh69cZJc++wK/9uy0obOzYNjlnbHJd/eesvKf/uG3q0HZTypfvGQ0TvEpQzzAmxsbFnzugo+ZdLTMzUPi3/Qv33N1L0rcTl30qm+kvJvzdtv+lwiRsvJYfBTob8q59/3cDrVhnVTPlXbVwFNs/X0+RfdzC0VmU7JP9e7eZ2tfPl35bS5JaW5NIWcfnXFFEcCd4RRBbn6nsj829TRVZFU3cgRNfUZLE0pSmxlXi4Iw3bQQinvtmI8u+PkA3pIIkRvmAQQPS80C0we3Z2xptXOynzr/KTbVs/UToh8y9kT8shS4kb6BkfSzjyJfR/B6PKvwcPcrch3OU6S/5V3bfr1a2rv9+6aURPM/+i4OrMvwAi86+T5V85LJTq6/Uvd2cD18R5x/H18wkiDsekK3pZR2VzboJs7bqyrVPpgnXM9KOszsDmXHWjUUbcS6kh05AAihADNro6k2W8lUmIZkz4gGtEyyDyoWw6RKdSRUGK0CoCq07Uupf/cy+59+OCwb187/Lcc0+uVpN7fe6b30VFodk45hshgcq/8s93Apd/P/5T9KIKKOmCekEZuPxLBf+KJf/CSH7H7IBfqJujU69Gm6HGjASmzhG5+i9f/aXlX1r/DVT+1aWkw2NkUnQy5N/GUuglhv9BaaOA/MuzfGfNSk2dNWs+F0o3koPgdxyRWl9/NVpc/gX6bJtXb4P+oW3bNqMJWciQf9+ocZmQ+wsj9fmzpdc503MNubPnzBaGIf/ahzwwdFEdIDBRdkHDIY8T432+EP4rjdQxACj3DNV5EtjyLzf5t6iotbXozn9U/rVaLFZx+Te53WZqbzfZ6sJFEE7+fRX3fsH6TUtLA//3SvctvIlK/m1pVqkrWuTIv7DLXkfZvqhK1KhWKOHlT/4F9oLdi0o84xdKRn3Rw0j+nSaThyX/xsTYbDHtpkjwf6nkXzSECCb/vgJjdzcq6ba4h5H8u6QsW5/R1PaemPpbfH8gka1Wg/6bhkf+pqWh8tE0XP0Nnvy7aPVqKfm3Pq14ksm/hYUTJ/9uH2jv2vT8M4caGz3PL/5bV7t6E/UOP/kXHhVGy7+MVin5d+dOgUbJvVk55DTduwehTbEs+bcRl39Zyb8h9EMHiHpgW9vk5d8LyP09sWPXrh0nkP17QVT+BWTIv7+KaUelCTKzTdLyL86am3LlX4vXa7N5vRaG+9umZ8b+VmvszLM+SyS4vxeTqqqObzkoxAPJv6rO/Pz+ICX//gwGdgXV6dfUy7/AikfA/n1w+XdsbEb88ndNpndXRcQXj4nIv5JbDCIhgSXZgCPlqD6f+9ZC2cm/Sr1++3a9Xikt/xKZv4BI8u9Csgi0n4q638y3f9OqiucJ9B9gOoVy2W/X/afkX4ej64xdebl/3DH+OuLevaMbj4Lye3Ro6OZR0H83ntuIZ/9KfG/Jtp0toWDnb/mC5dj6Fqb8C9x+2yAJfZzedWNq5d/OGkRnEOTfKU/+TQhA/i2pRfLvipHaWnz2KvMVZPkX3N+inp6iO5OSf4ENL6nVL20QVX/58q8H1F98uD9GxP6C+osmEfR38Recz96aAvl3f2Li/izD/ulZ0w2GCeVf0vsFA5i1P4PuNuht4+YeKhVbX7t+/bWtCuX/XvIvCEA+KAJN/qVif+dPQv7tlwkroXdBaWWpBNRZyKre0xMSePIvoDNXg+KLRnixRlRMKvm3RiaSx9i263A21WtJfuq1cDQrfTwur8Apn0D+XRQU+Re2HLDaoJwx46pNDPwsWiZo2fMyYcu/4XAHg2JpsjcmEk5ol3LlX6CyfTPov7Lk3/P43rkkH6m/SAC+/LDlX0r/hfJp6T+XeAZ3usIzjcCjcMRBCxtxG46Wf+/evbvd5drOkn//eLtZrVKpm28HnvwLsb/HG9oZHXaldbZA5d9LMqHTfGEgR1+KMIEuq8DsvlEbAPavUanf8FsRcPkX+OYdVELxX5v8K7oHid248y/r69bv3EhsT1TP8YDb5bo2oCWN34GGhjCwfQHc/L3mcrkHMMwv/0YzRiiiYcrFn8XtdoOxeWPXquAm/wIoBD2hKSE0APm3o2xJTnZGTk52ds6Sso4gyL9ACp7460hMT8xzOLTp2hRziiFdy/qOu9NsvwT3F42f6bRrzULhv6mU/CvFO3Xg/16peweq5N9hMNFh9XanSYNioLeqdHmaxPgIyIJ2aDLIGOjk8qbylnPev9/87JalDyT/zvEUSRGI/Mt/8EgleL9uACaV9J9AfhEi/zagxagYvDaoVRhbBOXfE7sX7r5x4cbChVBA9QRX/n1VJuIrToQc+VdP2w4Q//sJrvwLDxj+CQzg+UKJz/HmoY6WFRZ/AXSTwNl7CzHsVASW/Et/vmZ4IKr/8/0Ckz82/ZEh/45Xz1hV3bgsuPJvBZf3K7ZXCMA+xXnyyffKMnLKCfs3qMm/b0/38/Z/t/wLZ72agnhp+Rf4wx+KnOjmoCYzPoXcrcVnalCLs+gP4P5Oofwrtg3jfa8lCoXzhRNnFQpa/h3yNJIPvaQEYK2hIBEjMoABMv+Xln9fkXpx5N/dogU/+ddv+v70eFVV5KVLkdC3+VO8FUae/AuUHi2SQEz+vTYwYHQ6nUb74ECKYWzq5d/qguqCTIbvS5V0U7yQ/Bub8UF/P4w9ra120H/t2VLyL3xvGiwXzeRCBcP48u9pONycNh07HknE/P7+UuSx099lpP/CjF/+vVvjgnMnl8tV89KPmNx1paWGkEQXo2XbEBVtFRVtBI/MwHmkjQP+HfMp5Lu/fPnXrADMk5V/JY5oseVt+MNhoGgrj6Xl398uUyutGTlBT/5NTZsZGZNWTyb//i/IvyEwxsWnB1f+DS9HWTHwgUM1QXik5V9Ar6bTf/t6evoKST71S9fmzT2fEpR/McUAnKgAifeL67sTFXz5F4it2OoMqvyL1jMlOrJH+NczFMOTrXC25oPnkA+7WWtTW0cG6+8LJylTmfzbu2bXGhh7pyD5d6NPK/yZvSIT6oKOtnyBsCS4roMXAfEGP/kXXviEHflLVCYn/wInhiyS+OXfsbF9+8ZmzRobQ8KMsAAc6OdwmkX5wSUVG7zegxVLDpaz3+HLv+WmI+uehJvi646Yyicv/9L7Sdb6u/UriFMj3Q3dxcWpVwn5V/IqIeFvBxIxHbaMLf8uw188qHf+u+TfMoImtbmgIE8Hnxwh/6ryDAVmmFU3kQv45V/gSz1hAvR8Cd5iy786SP7NzeMn/+blQvKvjp38C/rv8dOTkn83bw62/Kv01U7rNVy4YOidVutTip4hYykF1P3I+FwN9pDlXyDhpsmSAFO8vgVu2cEM5w1KOD0qU/7VI9RKhQqvnDwghsR2AYTn3D585GsbQoOS/Aue7+EDB8D+FU/+jZMv/6I7k9DRiNrg9HjQfgYCgD8uR/5dnp4iIP8GepV7isVPOFUatOx+DrXV+2fNyqqu5baT8q9ILiQ10AmRBTKZ6uRfapyS5F8YQ0pK4jLPdo3Piwi5Mj68IoR6I/DkX/nnO4F+DvkymXTyL/i/fPmXCv6NogRvlugLyb/19ZD8yxSC6XNEnv7LV39p+ZfWf29YRBE4p02By8h581ZkFqRgE52nljZ6pl0oKbkwzdNYOmHy76zUseK0tOKx1NkC8u8jMhH6jqOL3UBxtJj8m9+K1pMeu1YCEfn3pz3H4emIQ4csHguVaGBzs6VXA6Z1KFKyJpR/VRYcoxI+VW1Kihb9EtqIWg55VAKf7w+KJJE6BgA/LPzsh4Ws5N/WmiKO+9vqWuTmGcFo2R0yQctmyURY/lWXlqrF5d8WCI6AweQlTA7+KJr8e6L7yi3oXG9Iu9KN0n+h6RYt/5Y1NZUvWFCWIgm9X6d25Zz0X6Kkk385bEYvf52eCSSL9H9d/o2MqRtqaDc1DLXHkMm/IP4i/1dI/u1+5ZXuq1dRSbU8nOTf9zqyVUqV/sASrvrbi6u/e0cHtZiCm6sMXSz1aJIKRf1MQv0NYvLvwICU/Fsck3ZVRP6Nl5Z/jx0Tl3+fgReanBw5t+n5X/yiwt5V/otfPP+Sdzwbb+bLv2XNGeoMnvyLWrPLReXfnetNpvV8/Vdyb1b+9T8d/XDo5tf/RN/4xLRaX1dXihauYwSTf0PIEte7ZELLtPNegGfWCQ/zBOXf0hPg/O4IwdkBFvCJ0omTfzGdRPLvTFL+jSHlX8hU48GQlV+wyJR/b3ptly7Z6Ojf5IQmtSPTr/7OMKScwdWJIzjvv3upKqnK1l4VCeXfjwjwQPKvPb8ov9MZFPl3MQw4xJSq0y9A3r2Cycu/wIy33xXSf8NlwtwKjO++m0JuBV0i8i+9xUQwtxia8PJyhvxbff7pt8D+fTw9TwqG/JvR8dprHRkTyr9ABEr3jeDKv7T5C6BlM/mcF/vhjV+rD2Hqv2ArzktLKq6P5vYf6OCWMfTGWg+sWxe4/LvR8+Dy7/LejYX9qv7Cjb0lxPNNj26sa9959LWbQ3V1YP62t/fdw5sl9nTJLet3rrd4+4Z6bKZQjvwLfEKtlYB5nJbTv8hWf7+/81GZ8i/cs0HdRUmumrvf5BJoXyTrouNsUOXfBHgFmvxbcqXEBMNDSP59vajnuA2exMGTf9Fdhs+jYmM+FJ/6PEoh4cm/gNUqrv7y5d/yUST/Ivf3PBH7u/xxpP9GLCdmzlPyL2KoNleSSci/uTpNFpJ/p0vJv9RDzxVwna+Nj9ei7UIP20U4nhl6pKqq5lJV1RGoktvFSRx9U4da3dGkPynKZOVfLAXQaFCpmxL5V+ccGXHqAk/+RebvJJN/nTJhS7pLshNTjKL4z0JWjUXOpImJ4dYA4r7nb2UN9GeGpRgeJ0J+g5X8u4iN2w1FWhpUOG9InZW+1/S917xer6Xje88sCQWklk1eOhy2OWxzWthwaPJDSP6tTjenYClmB/yma/kiKdVQIRMReX1wUEReDw3t6CDPQMoS/LG/loZIWBUiheRfoK4B6b8y5N+SEi8MRPIvetnlyr+zV66cLS7/Jualh8w9bzbr5Cf/Pv3EyulPIAF4IXeg5V8gzqA4NI3AojBz7TIpG247RevM1u0jI+zk39tNKH5Sld10O2D593TNJVsdM/bX1FATqPwbKRNC6EUeL0BOz6YLE+iycBI3usdmazDZ9tjRXRMx0LKHZCIq/+rsUyz/Sl4Dx66v+8fG4X/Urd/CTv51ud24/zs4qMTnYsD2VSghcxCZv4BI8i9QX88ygokXvUW2h+H677xVwU3+RcAVfUK4XPk3B8RffQcu/2Zk53ToM6AhCPKvTgvoYMB0iVoMSh2asvZiF9sbGvoKSf236LIzBcJ/eciRf4H2dlB//fJv4ua9T2sUjSeefuItCT6yNrRMbTbUvr91+fKtHWpNbu37sOsk5N+N5R5P290PtySIy7+uS5dc0vIvErqkEJZ/o6Li4sTkX+AGuUupu1jX4A4D3A1QJW9N3KC+CJF/G5BsV9y/PzCgsAsm/z6+G56rhH5njX5jDdXdTzB44AcIAqnFxdHi8i+V8nvKqqBRWk9x5F+ZoGVFxV9ECSH/jhjtzgC7jeEQkaM376++vfWjH92aozbvz7z9NfazUMsUOX75F1iWWQumS3Dl3/kc5uRqDPvn8yF3JDRNqqaP0dm/EyT/4gEuDQ2o3CaZ/Ns7nUHvQ5J/rTLhnWLpNNWS8i/BF78Ktxcx2JspMNX4uApigHUwqzwDbwBTKP+KbMNv7sKTf+H+1u7d4zqG/DsNqEQGMPUkqQJ0IlSAJDPt4LVr25JI0LKE3SvNK5T8K92bByWMtPxLZ/yeTqq65L3Z0nLTC32cp1GL/23ufu+ibbUoTPk3jBn8O2h0IjTalP2/fgjJvxpHrrlghTTxfPn3rr2r1dgP90f7+vL77f2tziYJ+de837DP4UAzDsc+w34zX/59JxJyBLshTZlwf6su4RLwdyn/93TV72n590fbiVOnGlbw7/dq3P7Oveh6N35aquZwdgbOWW47W/7l5v5ew0e4xJgC+Vf8iNam7gj106FuI+VfYIleqQL3N7jJv0AqyL8vP0rx8OXfRJmQwkhIXHV8CD7RqEThy79PPikt/yISkpvKpKN/0bJ48C88RgWmhP7bA0cSV0+hn5rNrhqYFRLgRuu7i+/f3wM3CveAp8GTf39IhP82qYMp/64NPcBZzx4Lt8KFYNmWLc354Drcxe/HKfCtgXmSon+R0n8p63fyyb99bNrnr4kqyYxaM7+d8wbZ0dFCj/BSKzFK/o2gBhH5d/2tNVGZ1QaNkGCYJhO0LC7+kkCtob3O69rTW9fegOYYb/E61L5HTvltk5F/50bFAZkacu3RpOtE1of5AOT+zt83tnflyr170aygABzw58Cg6viGDWD/ejyeJQc3bDhexXyPJ/+ueyz2MaIGlXUPJP+uXYDvJ49Q62/JkZYFhPw7fna8+vx4wcgyfFbyKiFh0998GVt9L/GTfwUc4GV07b9I/k3kokE/99Xwmmn5F1F4LIzDMQj04sm/mM68z6HDOPIvNDv2mXUYLf9G4kMSCv/9b5B/MUXB7t2758IIkwKYFemETMmdQVOdgj1k+RcAx3cpBci/yPflvOFPmy2UJ/8qEQoEquivLxZBYrsAtnzttsVy8AtDWyaWf+Uk/x5punNn+xGJ5N8Tu2TKv5QcUdnegDdvWw3+72Xwf5GFKi3/5ul0AvJvoFe5CiYqvZJ2oFUTdnbvm6XYt08xa5/QekZ4YCxPDEB1dnsgHe5TmfzLdH8nkn+zZcJL/g0ZHvf5Rpy1ISEl43G0kBO4/Cv/fCfQz6HzDOKDM9QEvS7zW/oDlX/p4F9+8m8UKf7Syb8IJP1mgSKRpVHozqemLsf8swpWKixf/+WpvwDvc4iAHHm5N3Ywc+a8XTjzMs3YROepQ42VuwsKdlc2Dk2bSP6dPVa8KK24OG1R8Rht/z6BikCTWkI4FIe5gbBiEfm31W7E7d/8fqf09iYQ+3vMhZ6OWOmz2y1kRE1DWj1T/p2TCxeNs6DXZbq0/IspG/HgX58SA7u6OjOzGtxqTOnzoOZGJcb7fCuNCimkjwHhRw55DnmOJLCSf9khv3eKjs+E+52td/jy769kgpZN4dPaJdAoKP/q4a7YIb2I/At4XTiWpeHCiMi/AJJ/u9O6G5D5CyMr+XdLy5YtCxYc1siQfwFi103xOaryMUaJlm2QSaDCdIlMhK8hKy1Dpf9R+bc3as2aqF5c/g2ZMY8K/mXIv3FoBF7Z0z0X5F8o9rxCt0998u97bfi1uSq7Y8l7DPX3CK7+dt8fGNRRW9tbP2frv8Vvpaalpb5VDOovk7ceXP4NGxwMk07+Zcu/T8lJ/i3s+cxn+vo+85meQsnk37+Ndt8FXXJxhc5YjqzJu8MZ5DvPsOTftmy1Xp9RFkvLv8xWcfnX5nbb+PKv5N4M5N9/es7dY8q/SAnp8sFXw5V/6VMQvETLvisTRpLuelHWcORfOvj3hF+9I6J/peVfTOsbGXfi8m+EgPxrcqNyyGQzDa1FGLV8mEnFUWD/flkCUv6FyxT3zJlu+KUiFfubkZIb73d/M/PsRZ/E+7734czqRl0CddNMMKm6sk+AB5J/+/OBTueDyr9/k4nsewWTl3+R/nuEr/+Gy4TVN5KVtbXDCFvBkeQF7jA+UltMQls4Ma2tXcpI/n0LRjR5WgqG/Gtt/uEPm60Tyr9I/MURTv6NwN3gZ0XOFdLTRY699La1g2n/pi6qTwsLS9oczek/uAa+g+6aFq5oc9YFKv+e6zr34PIvuL91BbqCusKNFlz+vddns7Xj1q8JngsEVEDjn/70usT31rJz/YIWi6Vv403vcRNX/gX+9RMrCjslkOzvqNYopODKv787ffoYHO5+I0P+vVuTRDkxfPsXLWs2m/NYA0KgkZf8Ox7c5N/A5d+rpu5uU7epxD9PT4Oe/FtU424QkH8/X9jZCXtF+G1fZ/8ZKAr7+zuLOPLvbxfDeP06PuWpv8Ly7zCZ+7t3OZ73izu/j0MFWI6EA1r+BfLtCikmJf+mZE3PkpKDAPI632rOLTicAdtFkwq/zifNQUtVlc10qcoCVYBhIcSqlUp17FPiTFL+xRKzAIcDlRoMC778axzpGh7uGjFOKvkXeFZc/j11SsTcwGRCyr+/hUcCbkDT22/PfmK5CIyfTNVH0u5vQ0MMpwagZTfJhPmZJTqWU+bvE7xxEvLvKzx2v3D16u7d3FbJY+xTz9w77Nn++qkDHfi81LIg/6YZNjdc6R6G+amXf+MN0B2OaXLjgyn/YhxA/dVqkf7LgZB/m5pCWSQvbYGrQRDBheRfy9C0ykpQLDYT+q+0/Huu1wv6r7c3/zmCMzKTf1c6NCDzO6aLyL+ANmpuLkwmkn8pnl5pMKM/cf8cPguZ/VQRcbmKRqq7zJkSEce2fyVsOFr+dbVCyUn+zUFrgjI754/y5V869vciK/bX1XrnweXfJDSIyr+II+SkRIRAl4WgGJB/EXu6jJj0+quTiaj86xs3Tq38K7oHoeTfVudOlvwL6AaQ4guW5WbXNR1mdMXEjKow5QBk6kEjMKBTkPIvL+Y3LQ0K4eRfjv4b1ORfAH4ZEC5X/m3KKFvSDIm/HR1L0CsnuzmnLKPpweVfSEZWohBKEqUSNXB6uivruhtMVPjvpzuN2rzcycq/O98hptTVyqLUakxhvzVX8llpTVaNAZ0CoZUB3QJBc8SF3ZGbFZ5vfdhRDlVh+de159KekREoXMGWf6NWnIchTlT+3XGB3KmYbORlq9tmqislL+WoL0L835bsG4Rrub2D9gWCyb+E+nsBIPTfYMu/0cWbi+sjROVf/YufwKcqBQPVMrb8C7lNnAEfeQNaVlT8BZR2q/fELaDLZwy027jMCjdF3//aF9BtUbgHqkZzXwDUaioT6Tad/IsYH4diUvKvW0z+XcXm2Wpd5rOrVmWu4sKTf2/nALE28eRfGpT8C89ybG+HQjr514IU3ixqnG55OPLvczJh75ywFEd1RIgM+Rf0X7hewxQwGnfvNhI1ez6ovw9B/j3A3IbD8W34MCn/eobRD+NU47T8S9+R8HSlJyp0ZkN1dQFUEkG7JAzg1dso+VcmgT7K6+M0Pz0eWQVdLDgt0L0J4b80/FspdTWS8q8Qg06jEfxfR3r62NhDkH8hyL6gmtZ82Ym/FDz5t03d2m/0efP7hnvq6uq67P399jZx+VeDpvv8hYYv/37nWFVVw5WqSHB8gePU9DgUiN/9/ne0/Auirwt68lp/xOBfrS76txepaa67PxLSjtJn4KQLaUdE5BZ6UUWPazXN/dTHp0L+FT+ilWe0hfppyyin5d8NGcv0m9YFOfkXSF2Utgjk3/9Y8m+8TEj5Nz5EkwsFPB465O3YJyWEXqb5+9iTXi8UE8i/bdlWdXP5hPIvuL9MDrtcm12FPX2forJ/kfz7S578C3ltWsVoPUkx/3vb4ie2I0MlfZY1Vyb4eoZfFvwwdGtEBL7XNaP1rK0jPLmt/LMfVmy8+ZeNsWtjO9pCeemB1pMc73fyyb9JbFJfjXjC8v6qiFdTOW/wk38BNYYOcJAZGcdC4Hbh0AtwL64g3eHg2r+8yyr3TFEYyb+UA9xgA/vXMgSxVJEIsh1GtGx5+U3GQFX4Tfj6KxN/8u9cVESd1SkATW6iBhOXf/eB87t3b/HK+WNQAYQE4EA/hyQGkd6Dnh5Pj7cHCs9BbyTzPY78e8Qb+ySDWO8RjvybQVOegGjLEAQ/M8XPE7asxfeTC4i5ryBe7Ow8U5tb9NyZF/FZyauEhJeeOYrYxJZ/pfnvSv6N5xEB8Ftp+Zep/ybBSKm/fPkX0JoTMQVX/oVubbMWJpzkXxguHT8dRPk3QiZ8+Tfl53Pmzn366blz5/w8RVT+1Rbg/c1oRORqFQ/wdwhU/iVPGi0toX4sN+l6MjXjl3+f/6Us+VeFgy4nEfrrYkhuF+Gem4ctliM3Ly5YKiH/KpUyk3//3vTN5577ZtPfw4WTf+N27ECPO5Yl/9J2xEUTtBL+77VB4+XO5yaQf3O1Zp3hUR6BXOVyZVqF9RNWKBlV6c5uhwHHwW0ne15Yub/r4NRuw+c+t46TFRm4/MtP/r0eFPmXdn8nlH9VfKxWgUZO8i+MJSPz4laofHFxXQVx1BuoPVD5V/75TqDbvNEpj8km/yL/VyD5FwYC5s1GjIr61WqiozVaMggY2lk9cXz9l1Z/BeTfiPgJ9V/e/leTuctPpoa3/23kYF8z1+GYu8bObUfL0oIvIrV40djYIvQqTqXbEbhEwmNOSckcfivxb4vAR3Ka6iYiBtyprHZK/m1VOfN/2dqKRwB/oAxI/j1N3Cap9BgVKk8pkZFSnBrBSv7NyzPnznHkmQ1zYGYlb6Tl30PI/T2kVCK7GoHcaqWy0QLNhyYl/0r0Dv99xRVgxd+l5N9WPOiIK/8KPqmjvKm5GdJyuQjuz5RwN66fLxAIyr9WUMaHrKLy79Kb7XVAe0v4JOTfV2/BUyTSbq25tWYNLv+eIOVfinczJRH54UNTk0AjrvfJJJAfxwa6LN/9bQT3d6iy9D8l/7q9Ja+88MIrvaaZKPmX0H+Fk39B/t1zNcpkirq6B+RfBnFTLv8ewOXfZlr+ffIxQv0tHh1IxIjrZiIvLK345XrUoUJowI/WR8KDw+ofJZRf1NVS/3Ix5Ic9uPy7WqdbLSr/Xo2qL66/epWf/Cst/x4t7CMqfdLy70vje04t3q7PgC5lyEzavviuafQl1M5O/i3vaFZZM2DV76DlX6JVTbTy5d9v4+V68BxM68kGGsm9Gci/Xz+6886f2PJvog8dnESTf+lnDLwpE1pj6f0Ui0JGvVdY/r1xAYxfElSfUP41jo70wvMcxZJ/f+W24ZMhyP1FnHXwof++wLxez91OcajkX4u3ISamwWvxx/6mV9Oxv7maM8+Rfd9ZOFfh98BVl+oq25H8a1uexedB5F8nOG6Fhfn2B5V/VTyc0O3Ob5V/r2Dy8i+w4hGe/ZssE3/fyPsJa7fu3evvG3GF8ZHYYsIP57aR2jy9xSzk8bhghbEHVTZv396sVEwg/1KK70Io+Mm/EczkX1745cBorQaeWjzBXecTz9IX5vX1SXjfRxo3+ffaakhbwd3YkxvWBST/brQ3EpX1hzaem7T8W1jYu8KgM1ztLfw0Lv/mN8xsOHfPBD/3MW00gZ/R9ycw3Y+C/Cuxp/twvaWv3eM1fRhq84by5F/gXyeVCkwY9nE6Pl0nX/5959jpd07XP5ra/ejE8i9yf/32r5D8q+ChUqtV/Napl38TApJ/ATB/Td17SsRz4VUymTj5905PTU0rX/79VNHly5dht9gPnEEeMCo/z5Z/ry/Lhl+Fb1h8PXvZdY76KyL/eq7hwb/3x6IBlPkbAQ4wqi0njQNa/kUU9iuDK//uT0zcPz0rN2v6/v3SzypuVqG93XvEdpGA5goOh+NPzKwYHR2pGR2tgCpA/h2egtdrZXp92WtQFxmeCXRPriTRwNXcbwyO38DErBQALfuGTISeGGk3je7ZM2qyQzXA5N/5MEom/774ooi5USATUv49WOGq6FmC7N/fvhv3m7eEYZ6F+O1fd0x7e4ybXQP4MU4Iu92u5uPX2wYHBrTavPNiyb+oNdB+n90c4IzN4/OdreW2S+2rk5+6vqys2fPDv/3wMXydlFx26fAiw95FV9KGl0ok/y4KjvwLxDswuPKJnzGR/KuSiVDfP2iFWi0cwTHB5F8KOvbXHYlCoMH/tYXy5F/7oa5K9LvqzaT+K5386/WiEZd/i4rO2Itkyb/7NbqUdIdZq9kvKv/qcs875Mi/C2GAMcusxTSG3FzDfphjjrwfqUfEZWK+UvKK3K7L5Nm/ZB8nWnfWMtadw9v93N3Ol3/LmvWQENJcFqD8C79nt9VVMjsSG+CZUN8IVP6N4ZAUMxMkf5hw8Au9VAHj+FlhAl1WgTl9EPwLw55RI5z7iRHguRxf/kUPUh8xjUyt/Cu1B0Hy7/pG47mdHPkXQn5dSP6FLuCwQWwAPv1tg1iiyz0zBpd/0S+X+cm/0WiMTkqKRnVB+feiyVYHAmd7WAOh/woy6eRfvT5ctvzbDI9kyqGjflG9TN/sn53snUanz+dzYk77Vl+GLyPDt9UOM6iJcwVysT3Nhof/wvAZCP/VGM7zkZZ/fwfQNbSsNnd5fVhYffRyh8p744Q4H0khf/3UHB/fHBqKVoe82mTc/fU0ld21bKw4dFNE/k0aGR8B9uwZH4kJrvy7YkXcihUgAIvKv8+eoH5S0BBD0kCljJ+gv2Cxf1v4gowBiLG+dr8rNFw4+ReihVH3ygWYBl/+hRPk1LTN0WLy7ym9Vb/spe8tY6sCypMv+Qm0Q+JXj7y6Iyo3PQXjiL8AZrcrfSj7d9xpxJfNkwmeBLo/832UgtQ8e3YzHoGkzqtG06YmKGho+Td7mSz518bATci/M20CCMm/eenPggGsyBOVf2ly1OrbW2yykn+762ybbZWVUNR1SyX/9k5n0RtU+XffLAEC1UGYtwlDJGAf1v/whyInvhaOjyvR1Fn0B3B/H4b8CzdlDyeEvokfrEKT1yY3GfNyI3D5V9na49n+le1OlvxLc2ONZdinNKfDPxTLLfDf49RBXn2gWYbpMkHL0rG/xyLB/YXzUpzQUBRucAzeFZV/4dw0QPn3mtFpHBwwOMwOh0Fa/t0fHPk3Pd1R4Bd+iQoNahWSf5vt/XbjyEhXj7dvZ9+tYZ291dgsLv8mgvNLsy+RJ/8Cpy/NdF8inN93iABgaDsNBQlT/v0XV/6960pLpX+F4WqFTOCA5V8mtPt7jXZ/p0b+pY9oW1lHtNjYhFA/CbGxDPl304acKUn+fTm1vh6mwMsv/wfk3xCZkGlxuYmQUknktjw775GlwrAFjFhvLJJ/YSIt/8Y2K5Vlosm/CZT8CxzEBeBN6g1QDtcU5oPxe4ySf3tq+gpRnb2HxhQDEA1Uj+hGw6Cw/BtLpP+igCGp7/hpmeA3hA0FTe/B3RtIB8lI+GEo3k0Gz9fpUCmcH+QcOdeM2ZXZsaHhHfwtR6XG9d8gJP9Wsol6IWLG4fVRES9Ecd7AP4cW5gAfhlqpUmEpgpIj1/1dNW9ooxHDH5PMgvP4JjdcAroXiYCWxf1emksN8OSbdhtM0Buc5N9SmYgcfRwOkaMPGfyLXnEF6N9TYHBkputE5d+xYiQAj6FiFswKCsCBfg5I9CReUHoObkCxv0s8Hu+Sgx7qjUgB+fecrfxJBuW2cxz5N0EmxH4S1N+WlhbYT25tgSPgdqu54EVc/r3cZS/IVXcZieRfiasE4KTKOz4y7DxJdySxQn5PnoSCrj8s+fc5mQjuJyNweM20/MvQf5OKo6Prk2j1ly//ItjyLw0/+TfSH/77rW+JyL8YG1r+5YCWLebT3S3QKCT/Pv3zp0+cgEJc/sXM9M1I5P/GC54J5MkkUPm3lE+l2P7hZzj3PqAZhTs7H/BAy55CwK9KrcvwykkxOOcaW1nbRTKIv3U7z2UMlYrIvwrMaFfau5RGo1JG8u/hZae2bz/1k8Miyb+7blC/6O12icL5fOE/grSBMIpt1yAA+AwEAH9cWP4Fr8ahA/n38fPc8N9Ar3I5lhoqTp6kqtLJvzpM81ENjJhOJPmXmfubobB7PHZFBtWCXkFJ/r1Xdvdu2b0gyL909O9E8i9X7QMOHEClsGwfAgMJ8i9LPhitjfLVCiT/DvIxmwUaAz3fSZeJ8KM4E83mRP7xOGD5lw7+5cm/BFH4yD2fTMSVX3gsczquASdCm0Tq7sX2mTE4M5GgKiT/RjjM8Yz0X40c+Vdbu4tBrZa7bDqHs7vmnj07d9dZbjsv+XfW2KKXU8eA1JcXjRGnMxLybzy8GhvxCht8PYvDiSCn9ZeI+4zubnZ7BC7/5hsV/b/002qXL/9CRApxm2ToUJfK3jgEURC2NPRQGqb8m6XNBet3zuw8jVTyL6A0dlksQ0Yl2NXzSMCtxoxDFksX7IkDlX+lz41i4fHFV0tKYhnyb2tNEUv9vVNUA/cbIfOltWgC+belLMOqAtevrEWG/Ks04g/jdMqSf7umAV1i8i+wFhFK1BP4o6T8eyWtAXqIFiHABKaSf8tJ3j88sfyr5OHzeHz81kDlX4VMAl12GhePBwnAXZXy5N8XXgi2/Gsb8lpsJou3vcGf/BsCDjCd/BvHlH+7vV6Pt54p/8ZNefIv7M47slUKJdxjYqi/V8D8vT86qCUumbOb8CNLFU5kJOxwUYJ5/aNpyIlMe7QepZnDrhhmcAKVf48Bp9HoZxTDRqn6af+bxLd2FWJ/QYFzp1Ly71Py5N9CeD3X2fkcqgrLv5DsC1zf6tv+/PPLMAWgOvX889tHzgrKv01qa0aGXl3GkX/VaqKVL/+Scb/tNlsf4f5Cgx/JvRmSfyu8915nyb8KnVan4Mq/IRGMU5Agyb/5nfn0zLcY8u8JmfD2DiD/6oyjXhTpIiz/Ar8y2XqH1vqZ+3M+5N931arU6BmrZsyrPuQRh5Z/TTabiZB/k8uz7QZG7G+6vRPcX0r+nZWVte/qJbSGt1ceR5OG5dDIHgj5d0wGQvLvZTB/CwtBNXtA+VfBRatzOnVaXnOgZ4fS/fR8+TfT4DBk4uG/73L03z0y8feNwPOx0B0VmLTchTsqm8P4CG8x6fgWU344NpSEln/lwJF/9VarfkL5dyEe7LtQNPkXRlQIXVNdu38/ynH//jWd1LEMQgEvhJD6b1pSUhhBUj1L/h0cXD0zLAw0MaheUy773DpBhOXfLudGMgHY7pu8/FvUlV6r0Z0tSO+qwOVfkCJNR/vcyIw81zBzZsO9eza37dzrr0vt6ZaeO17jha11586bX+DIv/8ipz/Ry0j+BSIKtDLl339895jpyu4rqb95pbvh0Ynk385LzD7UTgH5F+Ni7OryNRp5zjJX/k05OwXJvwkTy7/vUrxdXTIyAmNt5iNiufAHZCIt/yLugOEL7i8v+bcInjNTlF/UD+JvUX9RZ1Hn5c4irvxrVW5aDGxSWq+z1F8x+bd8lHB/z0ejxN94KFHhN3+58i9Q5Ayq/JuVp3NMz3Lsn24wSMu/KdWg/tL3zxKarWh/hrg53HwyO/tkG22EPEXwzGuNja8985Q4ge7JD5CcnTXbAGGhDsPs2WfFvuMPLssaPhC6g6kYbQdGoSIl/36ckn9Xr+Yk/84Xl3/1ehFzYwefqCiBRlL+9dREVsEdAoJHJI4XMyjqY8i034vQPdEQQ9ck0mZ12kStVidy7YMlDtwHRzol0Zz7OBJ9BUYg0CP7biZzT1z41c3KLoh+TEwv2c1CfF+dbBk+8mZb2d3DsbFv3hy2wEoqviySX4dnzoSnmiwahuqUJ/8C6YkarQNVlrvFQMt6ZCL0vQ1iCng4OzaoEJV/+bG/8IKhhSP/Vh7CFIeIgDU3of9Kyr/QrXEVBkL+PQP9xnLk36yUREPWylxDXqImiy//JpKkkFOHjOTflRoMc2Q9MeeJJ6AAGOrvQjr5l7J/47XGSlKK61JUc+1f6rzvsdBkvD8/PCE0/IA1r2A7h9a7TPn3dk42kHM7EPn3D2+cPu42MbsLIfa3Bo5EAcu/qTzG9t7fy28lhV5iJAtfijCBLqvAjGTy7yh0oakPiBEE+dfpA5nS6FRgwvKv6zhu/bqE5F+LTCSvgWM/v3Nnv+8f7ORfDFMoMZT9izxL16HmEZPXa2psPuSCWXB/XQP+SAGm9ouzMLWqKnUh2UhMaPn3Ylh7e1j7NEL/vQiy1g4h/HsmUv5duZIh/xocgIG1Z0qmKC/3Z8hMKP/mlJHmb5vnsL+pw//25Hr8MaWvC1RfpbPpNkmTU+nzQaOSfQVChP9uRNm/X/rUZ57rNyaa+UjLvzuB7+I/saMifhQpIP/Cc+rOg2HRKPWM57VvPkY4Q8nJCaDFwurwHm4S/ap7uCkDpOWm4atvhosk/5acv4/utu7ZE9zk3/O5cXHnz8fF5Z4XkX+BG6XA0NA5Uw2J6dzQEGq7QX/Bov+28LXN2rS9AwO6xrV8+RdA8i9BKZJ/dwdV/o1ILS5ODYl2F0eLyL8Q+atUn9RblZLyr4JL4sAo5AjwmieQfxNHUTg12L8+2OsE+uCGtV/42hfYfO2PjJmyMq78e+qULPk3hgkh/8YI8YDy75PZ2U8uibXJSf5tqKwj5N+6ygap5N8VRPAvKhArgir/jo0FU/6F2LbceJnyL/DFD+AwQK5ASsUHoP4+HPk3LmTFjl3z5u2KANB0x65M3OKLq/XtNtUNeW4V0PJvex3zpANtxaU3eg/5ChzL0Z+NR7DTh98kWUMksU0oZYBhlBiKDN83LqHOiy0JW5KT4eYS2L8teMMbHw+W/Bu2LQwyzZzG0bFfQ2qlmSn/ZvnJ1RKXogbR9G69TGj5V5p4rvwbC1G/Z0f23B/N957LH77VO9wF0b+xovJv3kdZ5AnJv5Du+w6UtPxLc/o0R/69G1bT6XKB4UvwvRp3fTSl/ta7a74HbQ8o//Jzf8XkX80Dyb/iR7RmJaMrNlbZTMq/FJOTf6OjpZJ/yRdQX/9fL/9GxDkUOthrBCT/2soJB3EC+TcUzpI6QidM/j2Yc5AQgHP0qDJc09NX2LONkH9/2QczAE/+HR0trmfSzRMlcPWXorwsQxUs+bepo8kK/521jAgUzuhA6UVKmDar0CV5cxn+BSkZp7sYOC0YarPqXwxK8i9f/o2o/fDWKkH5N4OLU+3zGbVmLnz5d82qGbc++3knuqGjk5B/ZzZcAbrdMyXlXzreNzLMZTtuO9fjOm5zhUXSocAAvueXifBFJTaYKPIdxwGg/86l5V+HIz5dIS7/7sXl35VQ2Sck/2a+fbgs0M+BjHlFBS7/LvHWbNhQ412yAcm/9Jtc+bf8yGOMObhBXv4A8u+yZV/5JpH0SyT8nvrKj6FElerq6vj46urMU/is+D4VSF72ElyPj/9rWbJg8u9JWNH96K0nmV4wWtbqR0/KvyetQgS673PJZBLy71Dh8Xw6yKs7JDU1pLvw6Gf48m8ihxRC/k3htpPrQ0wSbf+i8N+6OhH518Ahdz6Sf+fncttFji0mk0CjgPw7F64yp02be2LaXFH5V1fAzP0FqrUC21CGTAKVf6dxAPf3IuzqBPcPPyN4kVprdIM4giL24sXPwE0dq1J9HdUOqJQi4EqD2HZRbhmq6Dtddri0NFxE/lV2+bQDo3Z7v0o0+Ze2fA8vO9AEuY+H3wwXSP4F4uBXuDtQ5dxPReGv6zsuwPPzw9j+72Xwf/ny73lHbu5yh05rNuSlaPLY+m+gV7kKdgw+Lf9alRNKV/v24WOW0PfGehI8oFcY88E51DMeER+c5N/rh4B7wUv+hVeA8i+g37RJz29lJf9SO7Iop92nsH+QGQJ1Th4f2tSZA2bNBqzsRlgo0PMdjA147vhUBQG+ojef6d252eEw52GYLPn3MenkX9IA5sm/UfF+eE+SUGiywJeoroYiS4M3PGz5F0uft4vBPNYVlpA0+OpulPy7+1VuO1/+LU4bi4Q+EijSiieQf+eUDD87P6KrK2L+s8Mlc3jyr05jyMw0aHTkFMPgmUEQIY5h7HYdLv+2KiD4l0z+BfL7nTLl39M11NMRSystPstQ5cV2FPsbwpF/dQrH7NnTUxSk/DufKuaz5V/Aafd0KTFd9a55JLuqdZiyy2OHv1HA8q/EuREQ68MRl3+L3EV3WmvcrtaiO+5Wafm3pUKtwFFXyJB/nehu3J/lyb9Wy7S6umkWq7j8m4CDKoEl/97q7r6VtsgPNFHyr57CrpFEcN+navR4GpW85v8T+be3N+jJvxct5e2WJd72GJB/cfWXn/wbR8q/3Xv2eIdNXnCA6dapT/4FlhzI1mc0tb3HVn+J0F+VHsxf0IKnUv59g+aLOG/YlUr7G0SVASn/utMg+bd4Zr1Y8m+8oPy7sQfc3zNW6xmwf3s2SiT/bjpkBPl38SYdbMrXYf6U7/AmQg2m5V9S/22GOPA2pvwLrWXNqLVcQP7tW084wABR6WO8Kbk3K4ffKnj/8emvf50l/yIkkn9DoAiG/Ft0uUgk+TdEJkLJv1rfKAT/9g7rxORfYMFaP6EqBR/y77vj1bSxeTt2zFgVdaNSFOoKfYvFC1i2JMCHXKY3V8/wk6u5XET3fWcBs7II+ddUeomUf4FUegQ7OEvgajPFnJ5u5l5qCsm/9vx8JP92OoMs/2q12OXLmJYnPwZyryDQfvq/Z1ZnpmuxRHiWIa7/HgH9d3Lyr3vRtgY3ELZ5cxiaNrhXbwsTQGqLAR5c/gWUaJxI/qXEXygFkn9xIgSTf7GB+/cdEZn39+4dwMSPZZWHDoH9uwO3f1PD0KcCJEH0r6j8O4A55u0SRFD+Pee0k8G/rU6lZ9Lyr8+p9TlVRrvOufV1AGX+9h1Fdy/d5/qgNN2712My3QP5V+J78x4/97Of9dz7a8WHHw4ls+Xfn/yLsoB/Yk0UYpLyL3Ds0pXUfWPds1Kv2Lonkn9ryM5S4ehfwc/M3mo3dvomTv6tDar8mwAvWcm/WyiG00tG0s+evVpw9sgWAfB7NjLB5V9p/nQHjCuO/Avkd565fKazCMzfy8gALuo801/0Kbb8u/jUqcUAMT1Iq7+i8u8wcn9X712OS79ABMP8nZz828PANhOw9QiCy7/Afg2od/ulk38Ft4twan/25hVvdnZzNuM510/57V9wfyUIdE/+FMk4kn/NGiT/ji8W+XOVMhH44blR4WsHfAqfUzL59+Ok/HvsGC3/PgujRPLvKav1lJj8u4s1wHj1KpTs4UHlXyDSNm2aLZJRE5d/scF/U3cucE1ddxxfP58AynRMbGmTrSirug503Uu2WVe6YB0T1rJ1Tdhct7WjmXxI66YVMhtDxFLeLrJZw1Jec/JoMxdYwoqoKJEhGwwjH5ECyqM81AbChIpa5vY/9+bmvm9uILrte2/OOffc+/GDgdzcx/f+TorRmMJ9PRS+yy9MFhYePTqrkCZqtgh+Z0lJ1Goo+JZZ8m97b8mxq2+aTdioR3j4b6FbAubfV09Pg2j38p37/33ng4bJyWlIYOTfFrXql9bk5dVE1EPzHsi/qcmaSrizBK2wQT4w80gkHL+3sTHi5V3+JWJ/YYYiNHdTHFX+LTGDcmcfFy3/Xny6sPDp0R6Qf4EceImRf/fCI9o7kxWJiTHSvWz5N4BBlID8S2i+xfDcHli/iBUwkbCTf5H9G5IoHw/EsUmyothnCKWekN9bWNX2+maW+7u0mpR/kf1bCoD7K17+RbG/1tYKqtRihce/vwn4Kv9+mYkmY2BWoTnJdb/6GPJ4oSDqozz4ui1KcMXs30mX1iRL+ywfC5Z/7XaXA5J/HS6jiVv+PZEJdVXmCS75N4hJNDwbC9kVTASP6CNfeAGG5X6BJv/KOjrkpu91jLmqIPp3sWv69PT05z43DZVrMQr+nRtTp3WY2Mm/kPkPFBw+XOBZCqcn/xpq+/r6FvdhfyC6WGsf/93vG4gUuDmv2nsEfb265V9oJarViXqPDIy23c9BAJ/8y8I86SxvYfX66kRKMMD9dRgdDpB/P3/qFPokfb5RLcO67DLmGUjfEBb++xU0Qfivlo2g/Fu7Y0fYDkyHbe0B3N9q1hqrdSM8OiEs/y4JokMsD/Q0lKZnlqdbnD0D3Mm/RZOFc3+9iOTfySJ/yr87QPq9mJwMhX4Hr/y7/xgaceE2jfXQdWw/+Qvm+79BXa6OkajGJMcEkn9x/C//ohNMiJ6sg4JH/v1hmpw4JRYv/6pHIIN5EqLyGXiGeXpz4o0wdEBOE4BNrjmXWiYZaHfO51Lw54W5cYMq/4oEbVtHQxkcHF7HCZf8W6lO3QDPSD8rRv79wpXSlD1lBhHJv/tA+q3q66sCCXifUPLvukUA6f+u86v8e/CgP+VfQBpTnCpW/v2LkUgPQhj/cq/kX+JqK5QecyUEk39n4drmTMPA006P/Hv4cOwlg8cAbp9o7w2ET3Lv1olCm13ujpUidtKhIvH1M0HG/gKuLuDya+VlEFkc1HAYdZ1AbjCn/Ftb/Zx4+ReGM0aT1mTSZsDzo3KThiL/ZnhQyLBTUZkigwu0rUUkaFsInMyqpHu+qCJmgJ38G92mHTbai4oKJq/PTjY7J2YG7Neb89ui+eRftQZqDxo1S/5lcCb0T9TF995jyL/Nzf8G4/d1aAH/bq4in7lQJlXdgr6Fy7+ZDPdXWP5VzFf+5f9Ga2tcQulqbOOWf6U88Mi/SiVv8i+JUgnF/778G5CclVyJPTIQcDbyCw/wSxVXCP5whdJkQ3k8pK2spWWJV/l3j2QPUn8Jru7btSvzxL5uEH+B32Q/zCH/otxfLPMXL+eYz/bQLiy+iJUtTfn+kX8j0WPxjSnp0VCXNaU0QvV8S3pK2/NBz+9ucjhK4/DVZdRhpYsVUkJ66viqiOTfdV7kX8Zz7JUzz27Y+ujMmplKWKDCcxPdMstzE50e/BscvPWF1Y/a4atQKhGQf61JuPRqFZJ/I7AJm2MvFZ0YbM7JaR48UXSJXAHTguVf9ZgqZkzFfTELhf7ihF3ANlDo4TaZkPz7zLKDU5j8u4xL/P0JHJH5+j4g2dM9xYY2vFPeUm7u7zdD9U5DqGdNBEv+/elPoaAtL0D+/Sofm7OyLqRWFuuzyORf9j6VoM1hs9ksjtIg7/JvfH4HM/n3nIcfPoXk36tP3f/Dcxz4su/zdZ+6jkUIwO4l5N/ti2P7HyHYWrBrV8FWaLDl3yNMHsS+vlndaFu37h3hdr7PQPjvzAyP/PuMh0XPrFkDMy7/YkCXB573obaW532QUpEkHgicQPLvROCBRAnP6XtiKjX4F1in4LiBeEMk85R/S0qIU4W+2lYYoLyvgl/+/ScRoSTVxnR1GbVSPvl3PS7/QuMn+TIeBD8X9bnjjYP9pdMVJUHc8q/M1KxVjYwYjc0mMfLvufRGc+Pr3Mm/wH4Y47gdNbZ9iheuY4L2kj7abbl9YO+ZLnc+yZJ/VYkxyZD8q0mUxmRIFTT719ezXFrsb/xP8qHEmvk/iYeSBL+xI3FPGBL9EcURmPVomboObXuKzifi7fUuV709/hOMFQtO/i23NDRYyhcs/xKpvzD5KP8iQ/flPXtehiqf/fOS54F4GZUsmy3MujAZFkJCKDmsQ4KmFABkXgY+H+/QkF82yuQy1DBeviz3dlyi1qDUfg3nd/fbHpriMfk3rZE3ZYII/uVJ/g3DJ5b8Czs72AKuksAlkmRosh58oKu/NRHApUuorGntY8u/QMg6Uv3NUIv5O1Nn7aeRpWZse4DOyt6JlXr9yonelYwVLPlXCcJcwdRLL01BlaQUln8DZh0hDxXa7YUPhThmA1jyb2Ma0lLSGr3VmPzbJTEi5zcTCpzM6zEcMOXf7UTsL0aJuQTCyolIAFL+BRIlmod2PqSQFD8EC888iApqg3bOYJRD6ITb/Q1GswK0dKNUMg/5V/jYKPJW3i2YH6DIvzn9N+nJvzdv5gA3b0I/l/x7mph3p8jc+6CU3ZQV0OK6qd2FBf/mXJaJkH/jS/oWL+4rieeSf+NEwi3/IvuXW/5VePj/kH9jRMJ53lJhGy8JHK8oESX/JoyPJ/hZ/o2orW1o6G5oxeTfYNz8BQGYTP6l+L+jPUWwqa6oZwfZjbjr8u+VJ9reLm25Qqq/BQdd2FD0+Wnpb7ddeWCT++rDRlB+X6pD11RO/hKxvC4UXOC65djCSXS1pe4l0IA3LkD+zWlGoMcTTMNYM4dD/i0A+beOLf8KJ/9mb3vkKznxMll8zlce2ZYtIP/+pNuR8o1fPfUTdGzzAVjAKeZ6RvJvKUZbaWljYyPWRA/m5GPNNqIXwTib1w2upjGooywI7s3Kyru7x3/wcHm5d/kXgNKPyb+Zxi6q+/tt/8i/Rq3D5ZxxztqMMrb8O4HRPkGhvVLPBv953+idsPZMtO9HGvCE4JWKaMTu6dzcaeT+RjbFF6d6Yn/XFScOQ+wvRf5Fqu8oFvlbW6FDlQF6lNDvnmEBCjx/izqpiqcgBKxYJaX2SjiTfzszs8H/9b/8K42/fNkoVS30UQrx1+lR8q+mOEYK9lAyyL/A0/dR7V9P5FU53GsQwJfrB3yfGD/Kv+j8hmjFpPIn/4Ldi+X/ciX/roVunuTfsTl90VzUqjn9wbkxKe9d53ETZs20I/s3HKiLBQMYns6gJ/9CijDcbxnDjpmT10UFcMMp/w7LHFAixh3N80/+NRm1oP6a5EZtGri/f1vfPdh6vLsGk391UA6u/9vt7m5YI/R7A4fzF7f7+39RPthwgiH/5r8CBc79liMc0PdI62A8MZHy7w/OXFLu3Guz7T20XNmz3Iv8WxVKRZT8a++8fn3Y6PX8NuZCoV+Tf32Vf09bVFmjiTEXRpMT7778CyD1l538m93ZCdG/OaAAGzuBnM7hrk6m/Pvzn38DwGtC/RWQf83XgLmpcDchpPnLI/+iLHZ+fB3IfBFCvzdDIyD+kr83vv3ZktbabvN4bjRV/l2PJqigRBPXDKt93JPDv3sFJiT/LtIfKd57RL8Ik3+vMKYvLughPpPDBsG/TidE/9rgKpyA/Esk/2Zm0pN/eeTfc6+88kqHTNYB1Tm2uQFiL4BKok4oKEiAFtFBT/59p7yqvP8JaPzhD+9HvXWSG6r8W0dYvhGtQATZEpB/1TaLy9XoUPHIv7MNZoul0ZIBwyIVb+GL/mX8u0YjFLRlvmsYcLNkpqJi/NjVYxVmIyJxEvoKZ4/iq/n31dOnJycb2r71yivfagP59zTIv8Lfxw/MGR57zDAH5+P3Qv5dV7kOvaC19St8LFD+VcE9LhifHSph+RdFHTdEkLG/MBkYyb+BFXZLbi5UrYT6Kyj/FhYONAwUQvIvhjj5d6cKrs5kqDNUUph2suTflSJB27rl3mdipDE7ParvTv1Dz6yANpqwmSkVhwRE7ZXkBuKYJcVR0EP/Hnqdj1udt/D69VvVzVT5F8TFGzdAXvRB/j1fXaWDMfg99Oms8Ej4Nxcs/8IojXqVNhfu0+qhSQOzWJosjY1QEPVRHnzdFh3FGV2Tky4XeoTiLsq/2lmX0eGyGx2TEk75tyrzMyfQjaLMKu/yb0tLdFNkWVN0Swu9X3gPsjuvdfVl+TaG/HsnP/7xDvmwaw7s3yowf3HerFpcY61yXZajDUj5N5yQfwuSgFjQsVBdgHUz5N+K2tZAa20ggKX/GnRcoG0LEVkaQH9kJ5oWYeiLj2hiYjRHivXerBDx8i/4k06W/Tu/b2GZDYv51ZoaT526euPU1VOnGk1aLAzYxpB/AYh8sPZvw+zfLz3yZA4bYfkXvqYfxM7Lh8g7KrIqKzAmMTVMCI0YFMTNu0NF03s6v/+dzpZjRaPvcsq/kIo1V5yF5N/ZSX/KvxezRsOyLiRnhY1mXeSRf4GzH/yCgw/OUn/BQbzE2dI6OtJscdDkSP71p/y7gQmMNV+wZcOGT+9S0roJ+RdxDm4tsIjffL+Q/KtyFSUlFblUfPIvjwA8NlcEUlGRS7Yg+RdugPLju/wbLBLW7R+EXqE5soYNW/5FNMobPxFp8J78u89QodvX17dPV2FA8i8JW/4l8av8+7uXkIrx0u/+i/KvzG6UAEa77F7KvzwEDFwfBjXH0TxMyr+xAARjxFaBAVwR2N7bFxbY3l4y2jfRDgd+42a4EIrvme+6/HvePXaRuQySOVtKmy53tcDhPN536Txn8m+f4TlAtPz73AgcGV+bywD5N1GrSE5UHKHIv/EUmuBUtDGeG3a+pnCyg6JYn8Gb/Msn/74ND2arxlyTF+x2l2vSOWtXQ8fbvPIv/A0sIxaX7ZVKvMm/fzp86T1aB0P+fR2TfiHgF7hVlaQMcBNeUAVasFf5dy+v/PslInwrE5e2r2GvualPc8i/RzIQ+H5XrcAWjsxL/g3ipqWUbJe2BLHk3z98tkMm8SX5NyQc5dOHw/mDF/m3QPl/IP+CohAVsg6dH1Uq5LygbYm2dsRENE0jWu5tiWt/8BQd/5ix0fTk3/Q9UKCWc9++6irn1x84nk2Dkc3eg6u/WMX5zY5Zv78m43/LwErwh/wLUTtpLXDE0GaC4a6hboRn2GCE3LgUSbxlYnRowoivjvb8vKrExIuaGBhbAEMO4b90XsFFy1QKKEpTmsU/JG4nHeearQk7hma2rnEyVnDuobXNFmeO1rv8OxMMwb+rH71QrK9U88u/S62GpCEILS+yGgTkXzrWwfLXLn+v6figld6/YPlXBQdsIy7uIz0U/Iv5v6kKvFOqgIv0/PLvooMHnzlUcHDR1K4pTvEX4ev7cJjKGbjCZ24wwwwP+J+hraLLv5GReE3t8bv8C1w2yfWa4RPx+JLQWcKSoNLNTotl0lIKTZb8C3R0cLcBxullSz1K/m15gpO7Kf/GMFGsA/dXweom5V+l4RGCN8JjY8Pf4JR/Py4S4qiM8H+hjChonQkLm6nN45J/KUO4K3GmFi/2NEk/neN9sBp0rRUVrTqD1Wvyb1ZCwoEDMzMHDiQkZPEk/0ozwPmlTcHJHPLvJuDzIl7zk39/DGAKcF+rzgoYWvsqeORf4H4iXVYGiVfD0OaUf0H6xeVf4IPNfAh9Lk7n5tbmms1tkeY3+eRfbbMM5N/rxmatN/kXOPaT9NfLb5e/T++lyL9vwHwX5d8tMeoMkDI1+r2JKgVEe1LXiTrL5U/+ldGawpqAFB4LU8DMOUzjKjr7Ey1vDo2+2Zi4n7Fiwcm/sKuuNzcsXP7F1V/fk39l+Xtefvnnb7/985df3pPPn/xL1E9fn4wKiIoiB+PGWpzyrywlPa2pKS0dREM6Ph/vUJEZL2uNl43QMnV1dhpl3uTfYgxO+VdLosoA+TcxRssJ2pYS/MuSf0l8l3/Z6u+J7dtPkPovS/7lU3/53wdV6n4aqSrGtivpHCiZWJmaunKi5ABjBevqz6GkAuXUVETE1JTSm/z7UKHDMTtrczhss7MOBz36Fzt7jYNL5y/GvYjV0VBHv9jSAgWzn1v+zdu6jgOG/Pv7E2dooyOi2N8kGJWGJf8+pJccyZBoNOpFsIAbv7QGS+K3vYHvJF69775XVxVjv+T5yr9BfCx531Jus5Vb3l/CLf8CN3NuAjkw5zzOln/B7fVQlu9R/8u8Jv+aOiH39++g/16WeZV/0yyBNYsX1wRa0jjk3/0i4ZF/h4bgxsbGpJ6hGVQhG/jVIez4N1UknClVMsf4OIQ330v5t1Ak3OctFblg/wLe5d+Bmdrx8dqZAb/Kv5BJXtCgK5jxJP+uYib/kiFLoytHi3S6otGEIUL9vTfJv8CVPU/g6u80Un/nXOCiyZD524Kbv275F5RfCvAsw0llUpLyJOzMaCtOLkD+bTaa4CvEJAGwhrGZK/kXKPBR/gWefCQHJfTmQAPglX9/1d1g+gCcX5XFJt381FMfGM0pxKr1uPwbzwI9asHuZSb/Gl5YTeEFAzP5N4iPSBiVfuYfeTuGXhSf/IvPC5d/O7WZUPo3+feyzG4fnrU1NMA9SDVb/l3B5tN82k3IaG/fUG1t6+gU3OJ7dlV7ibD8i9iNxf62pSj0wQGecVP2Xs75FHXUu0MYi3oOhx6+1BfYiuTfUb7PEOMQqk4J1NEOojjlX1lXDlxSy8zOMfpV/gVM/dXV/aYF56iLv06P5F8U/CuVgqH0LM5Ziv67BCcS/oXGyCX8+Hr9IIiJKPn3IUH4P11siORfmAD+5F8E+1h3ZE6vd1WmuvT6uRH+Y90Ss6UE1b0BGwIwkmJjF4cH1DHk32tjYyPqa3CwqkhFYo0P8q8R5F833T8m8fVBIZnDKNPa5DKHPf7Ob3+7fv30ttptg0sx+dewtMbafby7u/u2W/4N4uFzedO/GHT0334n90RuUBwp/yKhL+0VT/jvO/ftf4sFbY+EBvkQK/+eP3FGeVGdkqK+GK6sUwrLv7eqsNhfoqi6xZZ/ZQxAz4EzMK2E2X+Xk3+BaN+Sf20m+1G7NitLq716L+RfgC3/Ppw5PNwFxm9nF6YAI3JY8i8Bqf4Kyb9lLgj+nbuIYn9p5i+v/JsJ+2M/yr/PYOzUQyjgM0II7882jTccP358N2V/tl4kvu7Jvwgg13f2wZ0ZxYrE4owjXMm/C5R/LeZmnbO5qanZ2WrrbpB5S/6t7u/Pzu7vr8bl3zXYvIFT/n0lLT9fDnd4YDy7V3iTf4kqbHR01GqFIozej8u/QHn5O5j6e+Psgyu2rOCGPGpaBe4vQQ1ckaC0BORflcU82Wxu5kn+Vc/euuV4bbNNIYUtky8K/Azktz9o8xDQyVpmy7+j6LiyosRsNh+rr6iwILTawoTC2cIEUv7lEbDiJidzX7/T0XHn9dzJyThQsPi3xaN/z7z35zP10BCSfzf6Q/4l8av8K6MhlYxduwaKwzV43oa9X6eqXJviDJTYX2zyRP8S3/PmCkyxINRfYfkX1F8nvHySfzVg/OrVar0eIpCkmoXJv7jxq1cTEcKw8GV9oqb4GXr4LzOJPwDGtzUH4uRK9sJBikj5t3ppJ1ZVoYqQf9mD3ImQf+GalpV6mbCi1oDF/s5L/n2LypffWqGQOcxyuKG54i06+P5Xi2at1l0n8uDrtujTLQONU2uXy1EwBR9oW7VIOOVfo23WbjcaHbpW+Htny7/oFlFmFRjAoAB7lX9LS5eURUeXQU3vF96DPLCtdvVlibN2G/UB2Pw7aaD3wv2k6y4YLcRc78YM44VUD3/1ezKQf7mSf+siDnuIqOOQf1tbSypqa8TIv4u40ceA/Qvub4zGX/JvvbMI7F+z3+RfI5i+Rkz+hVEtkfyLdbDlX6CktsdqGPzSl8D+fRReLITl3+UAU/5VHazZVWNVG2dWPigA3x/D+z25H330nfT073z0Ue7om0s45N/DVZNFPVPwhlmLJq2H+eXft3IFYcu/+uKLFysvPn3xIozHyS//rr3vqV+xeOq+ADHyL3C6qaNj+DQ0OJN/2ydKPL+YiXaW/KsTCXY4dIAxjY4mJCTAE1HWggRK7xuk/Atwqlr5mwXkX6k3+ZdHAJaMFY24dDrwSaTzln9Plaanl576L8m/3Wwyuzngln9v7AEiDV6Tf3ft6qtFyb+1fbt2CSX/Pg2Bv9iMF0/PX/4dZTBkWAwYhpj985d/VRl6uN4iVv597LrEeCABJUYkHDBKrj/mTf4tSuJmfvJvQAitBjbMbB9otzlmZh6b2EDKvwBhAJ8paJ0YVSbA+UdvSa/nToXZoZUSz94c9jrPT/7dfiYU59LpINAYYHC13aVdXZGfu+TuPrOdJf+WHM8RgCX/Lr42ps3PN2lHFCaTQpOhmZqa+h1F/i2nUIZurpVz46uGVplVmeVs8A5N/m3UNmshr0drnAX516XVIjHP2MQr/wIKalKusPwL/OlS6InzP+CVf0l+WF1TF06ov3U11SAEU+RfI4PZYIxZZj8r+RfcXxJwfznlXwkLv8q/KfHRRDM6PsX9jRZJ4UObghdO+VeJHjVQepd/65bz4h6OziBiLrqr8i9xqyZqXbK3T68aRzr2nErtRvXcmJTzAH6JSIgjJyT9ggIMJbJ/rzqdV6EC/ZdX/kXRvwRFI1IuWWM3SSSe/lv+moIDX+VfSXyKSZKfkga1DF75kpR4CDpLkctT8tVIRjZiq1Pknp8XhiP89BY9iKae8N9vMWGdIEkAgROk1XS+O7B1/1aYB77LWMF1NCTTmo9aukXIv68GB4+vXv0Ve2owRNNIeZN/a4p6ZmaOzs4WFfFLr9V0zvTX22zDnfX9Z6rP0FYsWP4tgue1ior45F/E/pnMHEE84syhg1Nrpg4dOniQKf6S+Po+KKn87tg7T/SD9Yoe8D/2O9oquvzboHsASgoP6Bruhvy72W7S63M6v+dN/gWibZZbk5O2FOcSavLvZuwlAFqJSY4UUiG2NvUsN3dT/i3FaYyHT1pGlmavHN1iWxcjh8W9WVkZ8Y2lOG75N/eREw1feQTn+PahcKUyfGj78YXKv6EwRRACcGxEknLH2rVRM17k34273MTGEq2NwvIvmLGYQsUl/+ppVFZWrtuydeuWddBgZ10pMJIrmRQr6ODy7yk0nxKu5y3//utf//oxAP+nS+jtu4T+jzzyL/CKTIIBT1cNQwgpX/KvW/5dLzB9Q/BzMQ4Oz3S51uEUkH+12pERhzj598P65tvlzc4POZN/CXyWf9/oraD+Jey7NjJmvJzzpHvb5VQg9RfOhS5e1BdnJCZfpCX/+nqWe04k2GeTiSbjyJEMDaub64w4ubl1aKi1OZnrjLhZJFzJv7ed5rffNjtvc8m/8BFIFTFX4pLjfJN/5Ztf3pMeH5++5+XNck75NwAmVOLVUe1sVDA18xcvOBJDZelp6TdupKeky5jSoO/HOyQwrMllTPqVQQU+ohfBG57F0euTFVIuwVtDQb8lfIteww3aFhd/+ZJ/w/CZJf8ir1yxEzyJykoodiqgg/EzsNXfTwKk/ssn/27tFj7WoEoeTPk3xov8G9i7MitrZW8gr/y7gkj+Ldi4bAoNNje1bGMB8V2xglv+TXU4HJDEADM0Ulnyr0Se3taWLpd4qzH5t1liAvG3uZlQfwfC+KV4gu39Z6ijIwK1Ooj9pW5LWr76GPhFZex8kARWeWCcM8hkpa8GrwLuOw371lfhHhJ0csq/E5V6IQS+A5a8aylypjU0pDmLLO965N/marrle/NxEH+hgF6W/EvldLnc8+kv9yb/yuHxDVB/P/Xkk10mr/Jv/rgBYvxiDeP5HPJvgEi45d92OBAemtmImj1JPUkzWPLvguVfMLcrKmwy2b2Uf7eKxNfzljAGW8dfGId5q3/lX6u1dWBAZ7UuRcm/qwKwF8yk/EsyOtozWlQ02qPTUczfBSf/Zo3yQsi/wBO4+ps7VHdwDkJ/5fHI/H1g0ybauEN09XdpHaqUUNQtpeu/85Z/gWbaAyrg/nLJvwUFNXT594uE/LuOV/49noOefpFIwIToyjnOIf+uRzPidZs9Zf1Tr1mApqfWpzns55761VME9L0ZTGygl/NsPq9mkBb8W5MnVv7dZB460PqPvKH6IG/yL/mYEeVII1ckXPLvly4bsx/2a/IvAMm/9q6mzmYL3IPkkH8lIsHl31qdbrzBtSsJv8X3aolX+ReIi2xMS64kY381iV0Q+0tAuW+TdwkususqLsVC8O+2bg5YP69iSokxpfAm/xoh+DcbBtXK6ZL5Wf41oiMH44LlX/HX6ZH8+2yqZm9Gsn7dswTBZ99H+i91FDIk37dBgyuN4J7JvydrBUHbprGxo/ML+oSfS6DYXwA3gJnybwjqXIuV7NHCrs3ps+wXZpOzpg6O8Cb/kvS+sYG4OxCbBKfoIfTkX7CRJBAPqY+KCiGFG7LglX9f0MqMULHAzqlEgiX/2rVyE0godm0a5P7+bf3x1ta8waURyPs11Bh03d0wNtDfvMi/02e6ywcHz/f/+oWPYImUf8/Fg1Ul7wD5182es4Ly74CX64sM+ff8UE860DMEp1Je5V8CPvlXwkINSHxP/j3rh+TfaJ/kX23WrP3oBZO23B/y702R0JN/M0H8Bek3JxMejEC/xEwoHqXJv2z1V1j+dULu78Et4QgO81dm0l7u6qTKvz8ezxXEV/lXrz+CpiN6aAhMem/7s7LbN28voezPzorE1z05Zv4CIP9qILBYr9np7+RfqcRuNjuLmpqa0puadM5up8lb8m91JhyEZGdWe0v+Bb4Xj49mFf+9+7mTf4kXzGE9Vit4YtaeMEovKf8SPJEeE6PlxXPU9OxU6FIPETBTWkLJvw6I9jU7ZJzvmSpmtuk1h6PJkjEmRZEPhQmc0PfrndnZnVoJY5kl/45u3Yrl/gaWjCMqSizoWoNWmjg0NDkE64Tl39PvOnPffU3+1e/Jm97Ndb57WljdQ9RXVdVDJZz8+z8s/0qYjI2MwSzwUDI4jnDsPm0NxWJ/YSYEYGtcEF3+LYFXrRVXf0XIvw0+y7/FqmfgBX7uzkSptHiB8u9aTCdG/85afGGFPkOq1kAD74CCLf8CUVmeUf7H5YkhUSHi5N/m6luoqq6BCsCONtnc95BX+ff8iSoYy4oaIEDE/iKw/aRIOEYAC1PJLOOOZJUqjGMEsAsi8XVbXO6Xa6Um7/tfp0g45V+TA84pYoocky7O5N9LoP0+WV0Nzm/mJWH5d0lpS2Qk3oyE3MElYuXfTQ2T3au7zS90T+o2kefAsm999VvfMjXn5TUb56zWSRg2FZsnrdaqrm/d6YjnlH8BZdJhN0lK0gkm5V+wf2t1iyswJ0sXa+0L5ERA/tWoVZqdOzUqtb+Sf1ucRYjJ+hY/yL9SE+zoIekXS/49VVoKBST/QhKw1uEwcUZtDCVZB0H+xWf6NC/5N1GtUsdY2r+84qQAH+OTYy02S155enpLps3ScJoz+Td0suilgoKquqSiyVCB5N8vBwrCln81xZVhkP47Coqqhk/+BUKu/orF1QBx8i9w+tat01BxJ/+2T/T2lmBfGr29HPJvkkjQtr1MdD14bdDRuqny7w/jJRzI+OVfQD0yCX+6I2ph+ZctAKtAvtKBTeJaQPJvukSS7s/k3zoayuDg8DpO0LZ/Fwmn/AvsiY+/sdvgLfl3177Wvqo+mFv37RJK/h1YhLMTrwbmL/9uY5J5Bnb6v2F1z1v+lSaDByJW/v3LX3JMEtPRo+i219Gj0Mz5y2PC8u/osmWHOKZlPsu/xN1eeg1FX18e0Ne3P4Qi/+7bdyl2n9sATloRHq4MTwgL6GVklfg5+VdY/o2OA4LiXr9s5pV/Sz762+NCsOXfkXwtJP5CLKlJnvw7EH9JsMN+kfh6O0efdaGyOdM7NPm3CVxfmcyEHnxxzbnkJpnMOKxtFJJ/Yw4dOgIcOhQjQv4F3vvTH/mSf0n+3VxF3ltVJlXdoqxD22YyaAjGaOD6vwm7v/de/l0S2UIM8QCNSDjgw2/qJXimrakXeeGSfwPCwU6C90tY/hUGbXtMJHdV/iXEkGK110/vOpGw5N9or/LvO/gLoDSY+i9zbzNSBMPP9cCjOTw/Lyb9ouxfHPB/p89e5MBX+bc06PmgtniZvO3555fAmJvxkIYXCa5DShyMhu2CAO93nw8qhdVNnp9XvXfLyZN6hdQTiJfz5Nd+/+TvPa8nv/akr3vSR5m0HkpIOOL8rqib3erZ2Vmn2m/yr3VyaGbGCdLrZNJSPum1nE6/biDTnJk5oOtnrFi4/IuSf3nl3/0roxLG4SaiIKRouWhq6mDB1CGW+Evi6/vAGOjixjeeeKel5Z0nvnEjgL7mnsq/JOc6jhamgPvrXf412522fG2Tc6ielH9ZbIaJbBML2GmrSO6m/BuEgDwgUH8r11VeaGzE5d9Gome2Eb9Q4JF/PWSfWBxbEB5eELv4RPbCk39D0YTVQNLytWsTwP0VI//WUOTfGgH5FzDUYg6VgdnPve87OTT0S3YveUMuS8FEw3FDbhNSe1EhWJ+ap/wL9i8ir9Ua6373wP71Kv/KTLLERKlJxi3/fvCND3D5F1pQcL7WC8u/nxsff/Oj1eWlDbv55F+Zw2bUaodtw3IR8m9Qbn9Of81AHJ2Fyb/7J2AMfbr524WZv1zy75a9alWMBp413lus37Kchq9nub8QCfbvMrmaf+hQ/lVWN5f8W4uJEttqueTfbSLhSP69DYHOb7/dZjbf5pB/FSIhkn+J2Rf5F4DoX3SWiYJ/eZN/yedAo1LtR0fpPg4U3PJvCrf86/vxDoFMa+zqBOUpxyiDAx7v8i8gVWk0KinncUm4SMixR/CJP/k3jC7/SpG6sAFSfyENtvhZaCCplCmGstVfpv7Lln+3jn9b4Hjjrsu/ZFr8xpfWIPl3zUsbp5YJJ/+usjlsDqTwQGVbxZJ/ScFXuMbk30ytZPg3HmoTBBOxydjfWqpGVUHE/tKSf1eseXAFVA8t0muOPPgQWobpQZhhQg0ouOTfNyH69437TkcDb2bxyb8l7VEBggh9B3youeZqhIeKXC7Nh5Tk35zHGeTk3GR1sq9QtPkg/2o7YT/+dyT/dmq9yb8dr7XGLgZiW1/r8KP8C8YvMDMDBnDSEGolQU3Kv4ki4Uz+1eZCbI9W+r8q/5aUBIqauORfsH+Braxu8efdHPJvRESoobXVGhoB8i+u/jKSf4EoNAM7elYi+XfljpUEfkj+lTVv44Ui/16BF6i/BQch9BfM36bSJ3Dzl0f+VSaFJi1HjaQkVC6HRaU/5F8g8zo5HsH1zN9zyb8FowV1daT8+0VRyb858fkmoxYNk2rKj89hy78U0me1m9eXWYAvru+wOzq+gYX+4vj617uagsGaR1GBrYbV4uRfINoMnkZh/aYgH5J/cdC2BpHwyb9+T/7tkpnsxq7m5i673SRly79bRIL/vKOtuWaLrUgZLF7+jWtJV2jWkbG/ycZOiP314DmCgYfD8mIPh7b2GWCMoG/DJmxYv4vkOiVGXbIX+VebA+YvmnM6tX6Wf1VqdCS3YPn3cyLB5V933C+V9yPB/qUkkbblw/FzKRIS70Xyb2Qkp/y7Ysf3BcGOr9iU2nnOJXDtN2QtZ/IvAlvDJf+OzB3NmgWypuZEyL9Au9v+XRVeBwHASobQK1VD7HQIT+yvkPwrNb3AI/8+KxIsngTuoYCHYpSbUn57+/jt9bd1htZuqwHo1hlqt21r1bV2/1ZQ/gUacrvzTuT9afqj06T8i7hfDmM8Qy1K/vV+fZEp/45eTAcuKoXlXwQu/0YQ8i9HgESKSO5u8i/xERMv/54G+Xf2giLLbtIeQ4u7qZz2Xf6tFglN/v12dva2bODR72Y/+ijaOX4XdpHfpcm/LPVXWP41X7s2N8U0f0ntF56/gD8Wivz740Av+Cr/KkTi6/7sQZH4uidHni962ZY9+OBbmuK34J+Y/aIfkn9lFLTmbiT/djZ1phc5zd0OiZxcx5H8C/bv9ocf3g4NXP7dgOY1XPIv8Apmp8RD7i9f8q9n3j/aU1NTVdMz+gZArmHIv8ezt2d/MpsX4qjp2YHzXuE8pxobhhSWMc5zKunIyGwTGgCoMXlEhUaHuvohJ7R/Vz6cnT0slzCWWfLvQO6xgdHR9l63/FtCyL+K0dEdQ7n1DcLyL1wWbRi3paWnp1nGG7CUdjF/v//P8m8mk9/gBRPyfYjMbwta0oB7v2TyLxShuk1xNPkXXWDB1V8R8m9hIai/hYX/PfkXWIvLvwhS/oVeePEk/wIhUZUSRwkxrJMKhrsVJf8ibnWC+UvKv/vZRL0lKP+yY39LqLG/gK/fWb10xiGCNzd3a7FpnLHCt9GLxG/r6/73ayLhlH8lMrXMMTQiUUsXJP8CjW1ku61RdPLvMau13/zo6m6nwXqMIv923LnTIRvO++M2x9iIazKrGCNr0jVy/c7Nm9/qYMq/RMjv2vAkt/sbvpa+hvhEVlhja/HUX6T+/vhhLrjuoro1OT2v/BtCFCHi5d+Wq2Yn0ieR/XvVD/KvzAi7eshxNpos6CztfSgsJiPqcdiNMn7592Ewff2S/IvId/YkCcMr/x4z108HPbApurSxfjqOS/49bCXk32pI/vWj/JtVfHFlVnKxfqVQ8i+Q0PKrp2j8qiVBpPxLwJf8OzHRPoG9n1hjQfJvIJPWS9hV/4oztbRuqvx7Lp9T/v0ev/wLxIyAIxQj4ZN/+QVgGZgkoP7OX/69kSKTpbCGRD11at7ybwSNguBg5dIILvwh//40Pf0LT2DZvw2Cyb+6Pl1fn65CJ5z8m/sMbUeVO3/591MszgDct70fEQnj+cDE4soQcfLvY5lGdJsQou8BKKFtzHxMSP7dFraGGz8l/wIbXh1/773xVzeEkPLvvsOXDu87DCXm/9YUIHW8oKBAV0tXJu6u/Aucd3u+09G7wWPAiucjr7uN4POwAU3+/ej244Av8u9zY/ljcwc1yRmJWu2R3wHzl38rRIK2TU7OKPZZ/m004vKvNj/t8jWXCcm/zdq3heRfKdwdVyhQJSz/snnvPT7591YVcS0Pia1Vzf/+GUP+fe839Kk2JBgIqWX0v4e25XB/r5Hu772Xf4H4+OiyaJjj47FFluCygx8O+ReoKyiogypkYfLvF0Tiy17BV0kX31kEVCbK5Ca5AL7Lv+KTf4m8XyjRhGqyDfovj/yrlUvGpHMu1JRiy2ru5F/C/31x+v2tASc58PX3FtSYgnyYoLimlBbwYZ4vS2kqg8Xn21Iao6+Y66+4Vz9P/rzqyi2f9gwxrO36/WMsFiz/Dsb2Vkg6V3Pd7M5gooK76zGmFCYs+XcmOHhm9epHLxTrK+G95ZN/l/YUgvSa65zsKeSXXv9Ap0F3NvP27cyz/Q2MFQuTf0HgKUJHekUxvMm/W1942BtUcWbR1CFe8Rfh6/uwlk7A+z/HeD+AsYK+f4iMxGvuHsZF/7JoRAv/Rf+vCnHuHBQi5N+ySYtl1gljQJWR8q9X/ufkX4r6GxlUisu/pfRetvwL6i8Qi2bgRPbC5N/QCJT4GxuKXjBtVC5fHjboRf6dUuJMLV7saQrJv4ABJf8aON8HkH2/DEDpYccOvKb14xc3V8FwtazdgVoPKyhTMCb/fl7UNF/5F+zfH/3rR38ykOK0obaER/791f3us0aTVma3y7Qmrv3DZgSIa/npmwURPnue0dW2DtS2Dr25hFv+hS+Ahmat0dkALoh3+XfJu8f6zwwExfkx+be9t09HiL/PwSgZkBZJ33Y5jS2a5L0QqVqsjrm4nI74s1zf5d9TbG7c4Ojkkn/3h+0PC4OCW/7NFTF1b+NI/m1zlt8uLf2g3FnOkH99/e6mur/+lH+J0bbJjN+AMMdogIjkX6ksJT2tqSktPYU5qL7vxzsEpuHOTmzs1C4TDDENrWET49+NUalgVlGrmBio0IusVIk+y79I+xVI/oXJk/xLqr+k8ktqwNBmCBFs9Zet/6JtqeqvEIzfhYop/6rY8u8B6lwysTI1deVEyQFYInvZ8i+K/gXpV6kECbhAuUZA/gVmHTY7ukILhc0xy3ooqeXFJS/C3OKtRttC6K/clOlO/u3eGgB4kX+3n69mPMXRp7PCOCv0bZd5OLQMbhBDCS2YiE6iYH2Om05/CFecT0ejSw/vzkq505173xCjlAXxUW5udg0Pu5rry4Mo8u/Nxzns38f55d/TMENVlu/58JeR3ae55F+ZsRPuvf39UyD/gnLvRf5Ncy1djLHUlebn5N8ZzP/tKZhBZc8Q1NA1tFD5V2qyBAJmE1cy+AsiQdvmi8RX+TdbJPzybwKn/BsjCq7kX7jTW1MDFZ78CzMUAavI5N+olRRw+ZeAWLkw+TcHD2xlFQAp/wK7Qf2F0F9k/raB+Yu6+ORfUH9D606i1smNG/G6LhT0X3/Iv8Cwifj6ggXu5F+AkvwrTv7NR+8GAFW+kPwLvDZrj7cA5ltpdhekALtBDbRtPAsZippjwTybz7NaB/PczUGrNU+s/AtsKquvj4Tau/yLH4B4Kux+hUjY8i/Qqc30c/Ivkn8lWshamHUYtVKQf0MWIv+uenXcYnPYBlYh/2ZVe0mgV/k37sXSlL1k7G+wXnE5hyX0ehbyDOibUHfi29D2q/yLDslAPcsZ7uoyLUz+lbPQAuzeeyD/Po18XzqUa5Et6XJ5eguuJN51+Tfy6NFIzuRfEfLvi2x+nS9hQztuC2En/yIvOARK7uRfo81ZWGizHC102ow88u94oBtzCSp7A9z6b0g43DyiCb3oOGrvOor6GyJK/gWMUpnFD/KvQya3wak9VLdA/t3WfVu31NA9OAiJv4ODrduOgwE8eNur/BuX+9Hg4GDe6dwguvz7b3laPin/vnPf/rf45V9R1xdJ+fdf58//accyVUeHapmyoE7pRf6tDiWIACummkP+/alImPJvzAU/yr8k4pN/LSbtBUVMst2UeGyhyb++fuuQeu9q9IKCG7QtU/0Vln/LXNfmLpLmL0v7JY+E/oH4V4moa979FLBkLkM/J77ucYOEuUfyL67/Nu4EncRs+fSKFYea3Gm/T5Av3+Xfr1K41d1tLmqCkRUsTUXd27rPUddxJP8C2wGovCb/Ah0yZIXdzyn/AqT7C4yi5N9RWOBN/v31w98Rxn3U9GztY97hPnq0v/aakfvoUX0N5F+H3WGzXEBP5aW3bOKG9rtAgzzBY96MZZb8e9/Vlvugai8pMSMqci0IbWIhdL7a0nJMWP4Fpi31EPTuqLdMk+qeAEtgvhfyb52yboqcewb58FX+/ZdIqMm/WOwvbv3SiGj4PF3+7TNg6q8o+Xf06cLCp0d7fJJ/NaqdD+nVar2+WCGVahYq/yK3V6+W7kVN91KiBsxiaJMvjjMEyEJQGyvc7q1dmhoVIkb+vXXr1uvNEc3Eoq/3dwj3lyP2t/nxb5L4+p0VSKfELjPacgs19hKO74tkkfi6bbpIFi7/wjC/Q6865BJu+RfdIsqsrgYF+MRiQfl3SVlkNLkUHVm2RKT8GxdtNgBWQ+4DcZRz4Pw7d/Ilpm0/gGucElkRkfxbZJLEPw7ybz5H8m84VqxVHsZQruX4lOEyfh+u/tbCXS54CJQ94XdquNRfQBNTfESjOVIcoxGOhAsRI/+2IPUXY7Jo0ll/deHyr9aBeb4O4+wON1mwYHdAt1bq2ZbU5HushkFc+33UL8m/UpnE3mr16rYFiYQt/8I7VVBQVFWQBA1/yr+jWZVPF2dlZT1dmbVFSP7dcPbl+39C4f6Xz27wg/wLJEzAdzZk/0Lub/uBA36Wfyt02Hh/tZf45d/N8TIu+beDKv/KWZi0Wg65iZB/BQTgRKkMO7mVzjf590YK3BVlEh8/b/nXQKEGl3+XGjjwh/z7hS9cKU3ZU2bwkvy7y1DRV1LSV2HYJZD8CwwQsb9QQPCvH+Xf31efP1/9e87b3mEiYf1+1YpKEfLvY1/rksGXklolkWJIVGpYlHXBinsg/5K3dMk6wC30tbcHgPtLSf4F8/cSqL/IAAb/F758UIGqS4bW2j6G/HvY6zxP+Rc4EQocbtgUt9ud/bt7U8PhWOg7Qbmoifsd6x8HfJN/r2m1cyjvd6o4PwNKaHrwdRAai0jwAROSL/gm/wJtpuHrMplWa+x4LT3Fjsm/DlPbiwLyLyIjA5W+yr9nznDLvz+srvHEKoXX1VT/8Gc08Fu429/bTr488i+zH23rNff33su/kPgraWuTEAnAPsoEbPk3RAmp2SELTv59QCS+7hViRELIvxve+PDKFRE/gxpHOvacSu1G9dyYVM0EbRsnEvLIac/bWEWPAabpv4wUL3s33MNQqdA+VwJviK2BQ/79NcX/nb5v/1pOcIFTHGhbdCFe3tRWKoc6v7GtSQKklbalQCVNN5vTJDJsNSVdIUa/t1ijlqKm6XoO34UZNRUJoOaGR/6t4JN/1zHBUnzjUaQCbWLJv/9h70yA2qgCMBxnqHijrVeitt5HaK06Wh2tovGoFi3xSvG+GCxCPUABNYYUpRKhSj0TEWithVJjpR1QIyJCZBCVQYqkKNAWtEVrLd546/92s9kzyXskUTy+fft28xYx3bCb3bff/juCe5dvOupYrz7JpQ8h/5bu6BvatGloKFTi7YkyXvA07eRetsyxU5PnBfkSxlsu1Mm/o1tHUdKDyb/fXXoIi/wbUvwlsK6H6QoOvJjc+3jxgdNDyr833shPtVvk68HUNovQYQjeEUpJ6LOEKpw8Vxn3q4qXyb8X8KNAbm4Q+fcdCZkpu6RkvqNNLOVfpeQryL8KKVgh/0L9lQP9Vy7/rlRyAPf1rWqWJP/yE0IqbsiaX9b0hEYnb4oA1hf+LjHuc889fucXTQE014NteX//cpu2/AsE/1cu/74paxcvz2diDyIjqVpDtPyBkvHKvxXXI/y3fZCsOn4lQr4LIv9+nWvwbx1OXPhH/lrwdBC8MIQm9HYx0udA13Rf+4XxweTfrO5hq3O420Aj/0L03bQJbVFL/l38MXI0/eYvIn83cpG/IeRfkF+QlpTmSk+3KNpZznIjl38Bjfwrcrm2/OsLX3yayb+nLEOgFMqyUyKVf0X3l1H+NV2w8IG85OS8BxZeYFL/XoXjSybzlnAmjrxV6/2amjNAs0nZzn68I+DERR+ecoNzY89G50al/Gt3UWHXgXwJ9rlT59rztdEBSfCvSv6VIr5f7M0sOTAociyYV7wU369a/Z2JotZ/dUCi/rLIv1lFj8ooUh7TLpVz6MdfHmq3H/rlx4cqFqjl332+Kp09u5SMXx0QUv49sNrk7Ya/4/Wi6vaaqg9UyL/49BsbsR8LN+XOHGH/Oq2trYVPPPHIpv1DK1pC7G/ZWkQBjQjmyfK1ZYj9Vf7s/ZTogOi7IOIp4z4IWCgXomrx6vUmp14pvVS8T6eUhbrWWOV2f45LCxL5F894pEAHeMNX4L4Mg38XdP99YZJ/yxHgDt7DWLwxnPy7ddcAW0PJvwnBxmDJv31E/0W55juiAAMyHRrik38zKdHYR5nqllfgw1leVx5hQu/vlLD+3jsoCSL/btoUJPk3jgpN+VfIfZpcStRfefKvUvMVXwZaEiOWf0Pv+aTq79ZyYv5+xpm/weVfqL8rZvtF3ymTJ0/xt85eAf03cvmX4DTwHv3z2vJvKpf8Wzs/mPw7Q1P+faPHajKYkpNRWXve0JR/TyGFo3l0lJN/u0dHm8+XweXwEzoQLN5YydNIEk0b5a1AdTa/uXbPss2PgM1le9ZuPopW/hVhTv6NXP4tdPY8HP3kX0NcltXpdKKjXpH8y3okt9vij23bRkev3LQYb2oxLjKGlX8vrGo2u8TY30yXs+fwS4LJv+CQ68FRJ+1NKf9avvLfCmoJI//GIYi6fLjYEAcik3+/poRl3bL200P+5Zi3E8J+Vezhp62ysk20EhUlyvLvrDVrZo1X/n1MzSklejVC8i8ZQiX/JqiTf0Hy6sYl71Q2LllSuTo5Tkv+rXB7HbxLUmdo4O3fxfw1ZDwyMkEi/+q34ijVXJ0Im0ZOglgFlX8bcMljQeTyL0QwL0n+NZian3zy3QWbyT7O5vO98cYbeASMb3NZbdmyJwkhFY/zPI6bmja32BznyeXf2zv/uD33Qz/71q0EOSvlCHuk7449hEH+BR81vTy0xXX//a4tpYOlU8LIv12Dk0UGu+bIYRJkGWGXf2exJf8S+TfNPOYt90ZL/t2TovDyLyU6QKP+ivLvjm1PzRXMX7X2C2Ty7/WUgRenSBjYEwycoslEkX9Z9uQn8ny2sGinT3b67ESkAtoro5H8K8u38Pl8trpGyL8NtmUjy06Vop38+8QqFL/8ezQKyf/Vln8/SDaU4NlhH9Ak/y7eUltfX7tlcdDk38eOuCQcOsC5v5Ty70JtHlA28Mm/o8iGb0A6vGs0vaT5LHi+s9SDTP4FVkRZYSJ7re7DeP+T1+/mph8v56hzEsxrlhI+eX2n0PIvocHbu2xZr7dBru6FJvby72w5tcFglX+vpUS6HjwB6/cwOZM9F0rl37X1RP2llX8R+8qa/JuT7jrwgIKsgnQ9hpxI5V9CSpI+KYdP+QU59gNTpmEq6r9a8i/s3wRzudCt1BBnT0wII//+hHHVnl0Pta6KTP59Hvez22Sxv7aaVYj9jZb8CxxWcrO+161sZ7nhmvVnj6EkYvnXicfL7VjTPer1JmnKvzWFhzcNDDQdXlgTWv41NhvjNV5S7UGMDo/HYZQ//cY0Z44prrzwkasWeA1b63/l5d9f6z815P7442W5Bsi/Jfz75b1fkXUrONYdrFgg/WTbd631q7/a+OXflMAgYof7m5QE+9ceXP6lT/51+8XfX7np9rbI5F9g6gYNXq93LHvLUHb20JbsIu4pc2g1iT8ravL1AwtO4q3fs4vVMMu/8EUa2rFrDEMk8u/YDj9jUZV/s4tcRRsA/soSQ8i/YE2ujDVoik7yL1F+P37/YxSiAUdX/oXzXtbev7zetjyI/AsuKIlTY8qTyr+5lEjl35AJwMKDECiRXhZ9CxyvpLJy3PLviRJsvPxbW3WimmjIv6DR1LgXsn9tCvk3Xhwg/9a3t/f34wFzIZN/wTu8+Ut45+Soyr/PY9SWf6dk0wz8pWy5+1s0I6z8++qrxeVkb2LJnGGO4zDPyLSQlvLiV2fGXv6dpEr+FefQ6wOkyb+8+DvIlXNFeBG4BgYw2eq4n6WEUyYokXZqPj9IOi9aLhSuwxnv4xqeF5YL3U9vvHvGuORfV4ELzm9+QYErf1EB5gSU9z42txzX0pisDet+pLeXNfkXGJOHh63fDA8XFrrdxa2YL2/9JtkYTv5dNC75d/16Lfn3j9aa0sCl1fmpNT+hTSX/wu2VDQH5V9b8hFz+fZ53f7cJ7m9Q+beAYOF1Rwv3IsryL5G5qqqI4BUN+RckkIJxYsq/LIdj2E08+slee50XDuktNdZPy4XZ8k+DZHx4KNEB3vHNK9FK/hX1X3Xyr9vTECfIGobteKGV/GskhfDJ3UhXfVNjmM76KK1cY3wVMV8yZu3RkYxpY/ysRpLH14HTibjeghJjfBtZnCyRf816vZnr/3MOPx+0YyZTQjX0VX1Rpias8m+ijEmJk/Bu9IZkzTvvj5JxzeWI/j0WF9theweRf0H9jvohQj29/Ot7e/sSj+ca99s+Dfm3jhKtdDD91q2ffro1Sa8t/5JH8lHKvxTiL4F1PUzneJMUngM5MCNfokgGr3p9vxMk7Pd61QkRyb+X3Xbqqbehko4qWM8SLhMICMCdJSWdwmtxoji9bHtl7i4pr7SdpUks5d9mqfork3/l+q9U/j1pYFcNBk6Syr9JCswrua85s9bNF6L5O5mvZqeee+7s2YNN69WdvPkK7Lz8q/LgtNZDbfvasrK17bWa8q+KN7dA/lUhES3T9PLNrmAGaT2Srwgsj6Bkl39F/fcR26Df/QWDQeXfywzCYYPVaUUxhHw0YETy77fffXtefMt3I8HkXwMvF5vImwkr/wIoZKijlPz76Jd43hhn/m6D+dsjmL8h5d8N6easLJclyZI+V76A4Sz3r5d/QTD518HH//rEmhukM1rJvyIRy797i4VF/jWU4CLNratX37pQFf2rA7LQX9Qo8+ZJTgqFovl+S/KAumeF9XjHEADXcshEb9Cj4lBuQ9PnUsGdKVhF0gvmTt1gTrJqogNE/Q2W/Lv/DLEI60Ee9asOAhbWg1z9FbRfzCj0Xx0Q1V8m+VefduSjEo6U7We1pMG7lx7qch269G5lu+QYZpp/esD8r0pTU0u/mn+AsEBb/t3NanJuxGG804lqo9Nk3U2Z/NuYjE+7sS3MlE/+BYWc++uD2RgcoVeHj/11NLgbRgKdv6nzE1S9LydSIlm/5U53N/a7HS3ocgCoOyADd7ud5ZL1Gyr2l7kHdQ+J/NvKIP/KWZbst3WWHRdG/i1BjuMwduldPV09PdbQ8m/nroFLgnvu2qkp/yaQEpwg8m9f6jV3qxlKjVj+tY74cWKTlMJ6i/85lIxD/j2IogSRf6/BGH35lwfyLy/+okYR5F8aYi//Gh22Xz+1Jnc2tu133nnBe0AE9Xdy6Zt38axDBLB/9s3SyUT/jYb8699urJryL+xfjKRmS/59o5jc/dLVhaqn+Ai1/CvngwY3Z/82XB2I/RXlXyNHVWVzY2MbN9tG9rZt8lagPpvfXL/nnkQ32XPP+s1HRV/+FQ4+hMOPyOVfULyx+OFoJv8CIv/yaMq/b1LCy793z06dOr+2bzFxfysqlmsPywX598JZHRkW+24Bqguksb8nqeRfcBBhb1r5N8u1jgv+dWWFk38JPcVxkcu/51PCcobF1E8vyL9zM4PYv6LwO0uYi3ny7x5G4x5RlX/j/KSnq5N/uXhf7eRfQQDWuJEwr7KxcvVqVHkaNxLyfozbb5YY3ML159OFkJCp4haTjjCIokkK9Zc2+ddXjmMwzPPcNF75Fy57VrmzPMtpzX0S9u/P0H33rLfZfIR2Wz32eO+Gk39BS0v8Ly3nfduiSP7dlx8Jf9xekqQFv0ei71+8NkBT2WbblGdypvTVD6buHlL+BavOnSyA4N8JLf+CWQzJv9uTvGNFaWt6rbz828IX/5Rd/oXZO3hY2MIu/4rqL4X86/71K2L+mrM0tF+V/HvU9Tv/S+Vflj35iQLND/DTL5pRqWH9NjmVMAcjmbh9Ix6b293qtnl8PkH+nRM8+XfVKjJSJf/eXpJ7++25Jbdryr9K1vVt2dK3jlN/A4jy74lvXBIeHaByf0GIbegFrW1IjxwVl2us14VnKTobjecFg/WzWEq4G+4vb/9yHbnkjk69Zc1SHiwLK/++VtV8f3Oz8bVoyb+zyRix/LsnJbGXfy/0lNmCUeZxtAjy7/L2Uqi/1PLvEg+BRf4Fi9LtB+a4LGZzEgJ7I5R/p3PFhUN3+L6EaRgI00Mn//IdGgVxjp156uLyE0PLv601rahWdZH5SORf3M+OSEup41Zf0wr3N5ryb4UbD+nyuiu0vi+WUMLys3+p/DvqHR21jFm6rV6rWv4lNBU2nX02ql3DyL+VxniNl5R7EOzpFOfApk7kvBu6F1x1VeE3NfU1Y0T+HdtWX7/1sh87TXpc3ukU5F8FqeisQFdGqqRpqrCVydTfS3DqF1r+FUlBwQBycuy4ZGO25+TI5d8EceQr1OHl3893EPf3V1JhTiX/GiiR9sR6vU4S/juWPdS+ZYttKLuIxP46vV55Tyyo6B9KLdv8MJ/xe0TxRqsaVvkXSSU+8ryN9WEYv/w7+VysKwJW12GToyj/HrqhqMheXV1dVLTh0NDy79wCfZxIwdzoyb8ErNAvuZmlB0dR/l0L/bDfZmvHM2qDyb8AW5yK5A+k8u/tlAjyL40ArAOLKOEui1KiA62UBJF/62Mo//7wADCW2UIm/97z4IP9/Q8+eE/o5F+wSbB4N50ckfxLiQ5kZ9Ppv/JTJbOrGvvFcPLvzEJnHAn7tROpyp5msaTZJ2HWnk5anYUz/7rkX/GJr0ohmMz5hd4Hz5Xov+cClQH8tq1dB5ooYVU8xEumTYj+tfFWw6z7jPG2FYHY35mC/FvxC9Rfdvn3SitIN7lI9m9+msVQ7pLLvwUBLIYMnIreb7AUaKEDF1CiA0WuXtd2NvkXNCP6t7V1YPMT69c/gaeBdDuHv2m+OZz8a7Gwy78EDfn3p5rU+ZP8TC2taf3jFiX+S7iXiKKvNPlXpgXL5N87QuT+ivKviCUOWCQN7PIvDZHLvwITNvmXpcPn9ISdzjsBh7V7Uci/nwncilGcVaEDKygRj5xefDFI8i/g9V/lv83q89R58ZeA0lDn2x6nkn9lsb8XT+eZpBjZ5d/4qg7jdTd3VMW3dcyKN3YY4zva4tG2x6yOquvOczi4xUa0yVLH+HfcUxiiY+ZICTOS8N9UH6kJq/yLQ3zJgFdmcvU8uSW8/Dty8eVHjiyw6tPN5vTgyb/1A/V9Q7ahvrKB2tk08i+oGhiwDQ15BgaqIryjv0HFdqBu5eRfPJKPWv6lEH8JrOuBF3zVyNrV8q+vrOoECVVlvsjkXwDfd07nHDKdg4L5yOVfFZ25uZ1yH1iQfz8IcPX5n0P+/fz8fa/+QINYyr8S9Vch/8r134D8+8YRA7W7alI7gIWC/BunIIuXf7OU7f6jssPOnXwYaq6Qiuft9bLwX61bDxelEPk3ZZGyXfMIbu3mpqbNa1XN2vLvxbYw8m91kjxvu4hYv1L9Vwe+oYRZ/pXdQ88n/2IlYjUGk3870hYFSMMjGrTP2DopCb1dnCdMgsq/PLTyLyFayb/vf9xvq0Xk77at1o1dovgbUv492JW1KClpQ1qSWVP+Dc0ElH854ZdMMPrIhJ/6hAYyVSf/Rlf+Fd1fWvlXNHQXPvDAQkw05V+gMHAmkYobRIJsm8PDGo2sxzsNlHD7HUp0YHWA5mQL5N+k3MbVq9Vltf8M5CRhCJ/8qxZ9tYRgHRDVXxUy/Zfb3o7k1F82+Rekr3lUwpp05WecpqD30UN7ew99tFfZLsi/MvbZZ/78ffxR8RIBWHGxJgW3lVTn2/OruQq3lqRIFvo1pptvRhVuKsi/hAXLOkLCbxd3kNjf5STHxGQd8cf+1pJ7UyOXfw3WbodjxGow5FZx5i+qKoRzWEccjm6rIbB+hdjfiOVfdIwBSfJv64/jlH9bKjNKTKaSjMqWcPIvErZLyrFb7zHg9NhpCCn/XtYj4bKgyb9U8m+9jZDKMbu0T5vU2azJMgY51jq3w+F2uOusigUTSP6lguH9Ri7/7onCyb/E+uWDf/3yb7Y87Veb7JjKv4L6m9y5WjB/g8u/vPqL2F+B0hUrSjERwn85/Zdd/t0sp9WAPT++CQytigWKT02Qf0+kkn8PL+7q6kIsNzc5PIj8K1q+9y4j7u8p94pNZCqRf3GDRV5GbqNU/hVakxu15V/wSFl9LagvewQvYpv8y72IWP4FhV2F2sm/myhRJ/+Gln/tlPDvd25pAqlwRjTmDn2bMnF/cUqZlhmI/Z2R7+w5Wxr7K8q/mpwkH9XyL0h3fYXcX1d6HI386xw2/LXybwYlrP30kH/n5ue78EyIIzXs3z3kzEKJufxLiIH8i5P+RYGDVDH5F0Uz+ZdYwQncMo2ttqR54erKyoULm0vitOVfh3vEb6tUYIbn40lE/02YOlUq9Ga5EhJlGkECrfwLug2wf338K597vPKvqwipWGtcmIw9SYD9W19Pio2f2nw/c+2sn9uHcm7PDfHtOwn9i+zy71VNTe1D2c9NW1dfPyWs/PsT7F/B/f1pAsu/szBSJf9WCox5e3vHvEXonKmr1EAHPqFESP7lhuAlbPLvsRryr6D+0si/VY9vqHZ5nUrtV1v+Papi53+r/MuyJ3/99U/44ZXmLxAAfOJZje5P0KYaWPvreLsXI+Ehn8/n8eCya7vP4RPF3zlBkn9FiPx7OleODiL/Xtb5AeJ/Oy8LnvwrDriFbDFfSZsF+RfqL6X8C/eXCu73UsJnJG4d3bZt9FOM3R3+2F8VaGLt95E/u+j9jyvwDeN2GpLSliyVEfZv0mhENbGSf1muI7opGZ/82+JRYPPYJAjyb/8Q1F8G+ddT6PFgZJN/c8xJ+Tkp9vxFSZacSOVfnhSLXu/Kgfc7DRXv+6qTfzXs30QX7mjiccel4agllPxb28pNI5N/EftbW7ZWajbZanAj+DmRyb9rVXh27PCoWzkzhRLWn11NSeTy7+iOMfNY1lh3MPm3ZtXA4YcPrKrRkn8/kfA0xmAvx3MOTA7FuejfR2w1NVs/3VFUtGN0a039tmK+1xlLNeXfqZMPKz344NLDJk8VGhTJv2t59fcQqL+U8q9CA853gXzMRiH5t00a/bvDLV3EuueP82OyWtEf64T8O5RNxiJnNxqsJuUZyPK1ffW2BSfxnD1sLcnIU8Gc/Osduerlj8ITgfxLeBzqL5lGVf49dH/EWrrSXPsfGkb+Tcw0GwxCbo05MzEq8i94dOmjSxPJ/Tofv5+I2UejmfzbXmtrX2uzIUdWQ/4NFf1r6LwhFvKvKAC/zx2S5VDCelm0hpK/Xv4FDyQnP/CtI2TyL+jvRxU6+Zfg2DRvxox5mxwn/3Xy75RsqiJ/qHwa3N9w8u/M07CPx7VB0vUBEgn8XIILzXGGHvxIKPl3mmJkl38poU/z5XW8iy6hGfiOwipKFJ2ad7wN+7eFpJrFx98H9/ftOxRfbNefcgZgkn93vXLbNngNac60NEv+sxyucoNFLv/mBLCnc6ei6fk5WrDKv67egqJWZvm3DdG/TmtGw/DoaHfD/U5nq7OkLaz8q9dHSf69elVt4ImqU9fVrrr6FjU6QMRfovlyoyL594nAAj75V+3+Ari/4eTfgjhQ8NfKv9mBil3+nbjJvyWU6MDd35+w13kUyN+vsayKdxCN+2nALP9ScfMRqkuL1m7f9u3dceXb6zweZ7la/uUyf28WYn9hV4ZM/j2MonAn7c24tp5njN8jD0exjTfHG8nFt8pZ8R0mhOO13XdfYxy3OL5D/n4RBr+xeCagkn8zoyn/ShHkXwON/Av7d7fdrilKc7ksiixdaUdHfRkuKD5ePxvTPbXQlDWqPJs8vraIH+e1MyU68N2lh1DBdahRiL8E1vUwnQa1/Pu6x3iCBKPn9UjkX0rY5V8IvkIlomqR76Nyvyby7ytfd5ZowbLvYz2SttgTMtOaq+KBWv4lGJtNcVlpAfn38IHBc4MyOHC4Qv5NL0jSq+VffVKBcGVWkvw7mR+gsAbmB5uk9q/GdiHKvxqf8bEqLiJFRbDk37uCy7/E7Z0hi5bKSpuxm8CR4lnuI5REIP8iGHKQX2eEQZu2/PvFvGnh0IEvKKHeLkLLv0BT/t1DMQBF0zjl38UfI3PgwSsR+buRi/ylk39xE3m6OX/KhgJ9wZR/hfxLQYyTf0UY5V9C7sKFuepW1rPBl9R89JFGI+vxTgUlrPLvfgE+y+Xk3zzMnqAs/LEnzJigyb986i8GIfkXO09LDuyIHEsc5kUUC4QLyk3P7x2C55uEC8q8+ssu/+otmY8GyLTolZ9xj4KNm0jy76aNynYdENN9UUtQNunATpRwZ6+USOTfZQvDwG0XzzfxT0ccqSvXW93L+dhfnKBGQf7VG+rcI+6ROpgm+Ju9ENzXloEXDQ401xkC3fShYn8j6UE9AzDJvy1CAVWNzc2NVZiRL9DaP5g2FhefPVyuuX+4LThU8m+CZJIglX/pYJV/1X/rXcWFhcXDqr/1/+VfmuRfEb/8S0ds5V+jY8eoN2/1WfudF7YHZAoJ952cOuWuALNXrJgtvpqSijwBLGeVf1PkpOn15vx8M7RQxQK1/MuS/Eu032JAFOCwyb/gFKAtUBoD0b95lRL5V2ztCCL/gksf2WyzbX7k0qNiJP8C1NFM/gVBkn+foCSc/Jug1BMp4d8v6QhFnbDuym0h8Mu/bXnm/N0C7m91mrNYFHvl8i8lOmBVgJQsr7ItiPwLoiL/3klRzme5VsDYTw/5N9NuwdOpFtnn7qa2f/dQ8w+Vf/Vmi91uMeul8i8M3+mkViX/ojlE8i8oySX3y+WamPrVPl58unIPasmUq7+AQf5d4MT2aB12+3zu4W7feOXfxGw/b17z85PvIuX3jc1lZWX1sH4xkqzDMt+7aI5M/v0DsVMhnvX6HdxfVvkXfNT08kfr102Zvw7ubzj5F/ZvDdfbUQP3dwLLv4BO/jUIFKzpQ+xv0ZK+oiSDBizHTKzfOjLh9+FCPwtI9bBS/t313Leh/tLJv9t31OHbntN+Lwr394DY33+t/MuyJw/8h9NWNjyA3N9G+7Sgv/drSmR93nN4+9exzOMZ8Cxz+B4S24Mk/wpQJf9+IEwUsIp1j510CRWcCDgzRvIv+rA/3TaKZ4Td3ya6vooCWPt9lirAU8Qrljt61yjbKf4m9/gny78mSpjlX57z1KjXw5dbDgasyb+bmJJ/wUpLljnNVZBuWXlghPLvdH/Eb05But7istvzV4rOrzr5V01iUVzdzjwOgwWqTnD596effopc/iWxv1KdDbezc7G/Ecq/SImRDng5CDCVt56rA+mUsP6sgZKI5d/yT81JvWvMZqs1S0v+BTUQfs/GvIb8K6RfCKelkkG2aNznwIZvCgdsZZ9u3VpDorbf/tQ6uqpsK6/oKOTfqaSAdbXrhImIKP+urd1VUH+p5d8UociJXP4FbSTyF2AiDf4FrHt+YY15vV6DgST/bsmGf7NlKpJ/DVyj/Aykv52P/SUDYn/Lcys/O0EFq/zb8NtHcH/Do2NBLf+eW1NzmIb8y4Ja/oX9uwHA/Q0j/yYkFqXr4zj06UWJ8sNuRqZJOBjj9PfxjKMv358+TUFE/zawHBvP27a1/bB/Q8i/++YlmwgGyXnsBSr59wKKUcdICiU6RrooYZJ/Y4Y6+Re0t6PSTP6lg13+RW6SJnurk38P5seQteJUKaugaEZCqB3kzFeLy4mGGej64HKW+DmY9xayrLz41ZkxS/6NIRdRogNGSnRA9rjU9eeuGPR829LyreftFeeuly3SMRJI/f0UPZ35X3nzn/3qWZ6v0iyK5N99AqxM4k9FV+6jBZP8y8jNIo3l3mFnrjfDm5zRnbsR842zxIW62AH594/WGjFVaX5qzU+3aKED6xW08/JvuyoqH8jc321+93dqePnXEpn8y4hc+s3WLLFO/v2eEpa9AtMWyYBC/oWL6PHAQQwq/75NiY6RODlWr8fT0OBrJepv8OTfbz+5mKi/QtLvJFkG8Jtsyb+MSGO5hk+bGR35l5FJUliSf8FN312zf2Z1PiwUOay3eVVVGSUDMFbttBOZUyyImfwbI5jWAyMnSLgRxu9+/Ox+RvIyAvk3VshtX5QgErD8/Sb75V/tTBXWfV8lJePYhjb1lYakb5P0Apc+q+AZV5ZeIf+i2fVMAZoD8q/f/OURPVZMSfhvxPLvpcequVQy1TGym5/MRVmSQ+VMXvtF4Wb+Uvm31r/aMAxqJ/9+vWnatCkhB/7M9UxKdAwwJ/9+/xoF37/D/vf76JcVax/fBvO3hzN/qeXfDbiLfAOmcy125THMBIFa/mUgZPLvmYURyL8RHe8YwOrVpI7w976kwRUabcw9OpSwy7+83yvKv59xTWLhoUn+3V+S/KsI+BVRRALrYoj8/1qQeaTg/hboVZ/xb3Ku9f22tKho6W++axULOPmXklhKA08QfB0LaeTfAeHpiI667vKGupGKfpsi9pe991KUfxtG3I66ES+2nOTGZVVVy5Drjw5ndzfs3wa//DtBeJoSLZnWO2w2Dw93m5VEcs6QQAqHOt5Px0gmJZoKnL9/T0nM5N8YESP5N0bEUv59ZftYc2U48xfoGIhM/s0xZ1nsKSl2XKzOiaxP/wiF/ds13AO6uuD+ytAxYuRpy8hobKtSyr9tuaRVlH8p0TFAl/zLw9oTtBvHNTcF5Rr+J/yq/RMU5Q6W5N/xHnkmlE4OCSf/GiuTF0lif+3mjarY35PG0ff9PAW6GHI+FXfy4joljP30kH+rLVncXaiZl3P27z+aEPJvWjWRxvXy5F8QJPl3ulBO177xpvv++7vVrYrjeId7Zxnvnx7BFqOUf4HPyenH5SaT03e9Wv6dEbIicAJR9vx161Cysy/+mfDuz8s2lw3Y6ssGBsrKPMg8dPu4dh0jUvX3dnwIhih9+14r4ar165v61q17bvfw8i/oWkXomjNngsu/s6jk38CvSVrSt8Fc3rtlqFcfpwHr0xrfpkQp/x5SWBygq6enUCb/ThDY5N+//+iRZU9+gMjKMeRBrwwhFd9LCS//ziHFz5yHPvA2bK9r8D4E95dfQkaK5F9wNFdOF+RfOnRArySLr5ToYgS7/AvwfkqaP+O1X4wq0Mba75OtYunS7yD7Klt1MSKW8m8ZJRNl26RGkH83zFuyZMk8NvkXpLgsZrPFtYuyXceI8N9NxwOqCshvXCn3foMm/4paXHVc9848I+VJMyDG6RhglX/XN9WUra2QXq+oJ7G/Ecu/kymJVfJvDP9+1fIvIWmMy2YIJv8WHn54YRD5l5IIzoHLs0Zbvykfra8vw7Cq8/cfW9Pl/3re/A0wf/50Mpk+fz5pVzgxUH/bZervSeoSPPk3RVv+ZeQsOe7tj5PcX0XwL2Dd8wvrq9tghfzr9I71jvWijHmd3QY0dZdL1hkf+/vESTyHd1lL8h7YSwNG+ZcddvlXIPryr0ho+RfgLnaxiyMi+VcJon8R/Dst2vIv6O/fuQLyuzrD6QYJH+R1duZ15iYnC9HGeeIyHSBqLyHcVMfILpToGPmJkokj/yqTf4Eq+TfW8i9hbzJKXsrndIC3e0Obv6rkX4LebA8l/xY6cUUpLt2emJigdYiRaE+PwzUlZ2Ew+Xfaf1L+nSlKvgj/XbFi8uDg5BUrpLG/M8ct/8L9NRcUQPzN9+ZD/vWDuTDyr/3vk39BxjfD3d84M5zOjG++aW0tz0DTXyP//lSTOn+Sn6mlNa1/3KKJVldKHy//9ml1pahzf4n7G/PkX0ak3u/flfy7ePE116CEHlGYO98oGb/8C9cC8i+qoJfqvqUk4stOemsDd8NYCPn327sTof6ikGESRnFKmv8S+ddQ/k3hzJkTSP6lS/4lLPCma6/fbEp0YN68efsrhoSEefvvL2vGD/0T5d9sSiKQf0GV7XWIvxCAX7chdnuCy7/BiLn8u5CScWxDp0/Ck5PB/PmoVFMsO116QSNrUf7u9kVJSvk3aZF99/xFWfLkX3LjNmoyi3kxAlgM/2WXfynRMRKwezPT/LnG+vRF1f42YeFfKP/iRnp/dDJW3dsv/3b99RUVSvn3FeL+hgJLWR5jFS3516CR/Lv/O1Tsr2MEJ+wjO7ZaN3Zx4i+D/CuyYcp/V/6NXvIvIyY1JSUajZHLv2CCy78EhfwrIpN/Twqd/OuvdUDUe/VxKvQBNfivk3/R7VCUOe/II+dlFpkVb0kjAWbBI9f2L1nSf+0jCzQSYMSMX3EizotTHbiRknHIvwuWUX4fS56OONKwvKJ/rTT2N2LhxORwNLgdDvQ6Yz452UQ2aqvD4W6oc5sm1kW2xeAaWQHqNu1nka1EWTlXnarFiGj4hkbHyKOUhMi//F/+/dfIv3UdvPk7ceRfe9KiHE4CXpRkj6L8C94gMlFX8RtHREf+rWrOyMirFOVfZetfL/+KWUqk5gqtnEoQj+SOvBgdXxdrFslzRXi79/nQBT+iPBuKgfw7NXVF+Evwbc3S2N9Ml7VLbf4SdIxQZf7FECL20hC5/GsPIf/+yd7ZxzZRxnH8TFZf0FBFEe+cG6hRIy4jaqaZ6LRRp86wyZKVqPENnS5T0albg5WpEd3cZkycoaOOOV8Ki4uBZZjIgkRwAVSUoQgB4Q98wRcyERMFVPR7d7s+17vr9Xnau/Zuu8/zPL/n6XP9o2u2ru19+m1IejXK1zxb7X77N5n8C/jQpEkhXvWIP5bs60cxSv7FAXkYf/BmB9DvauXfVm34r6/UOvkX3Ls6Eo5Gw5F92Eo3+ffxhp07dw60DwQbbn3zhcOHjx594eib/YePfvjh4cMt/Z2dLxzp/PTo4c5M5N8zKmpNSF/+Bf/e+fLpJgJRuRGOl39BCYP8y9//w2g4ugHBvxnLv6zvPd2WhHNeev4lT/7NDNZH8mkqTguFlkyzTP6VKZf70+HVK48cWbk6XLcVm+Qge/IvJRyIUsLZyIMS72iKfov87ggVy6YS9dcg+JdZ/p3dp2G2jHaXM8TZ8u9FlDjlb5NZ/v2ho2P0/Q5W+RdMq6ycpt/lGFFUX3BZYeWJhWddpnJ+UVIm/0LNqX840jt29iDycP1Mv53y7yeDapOtG7G/KxD7m13591ZKWK/bSEnm8i/P5zX/YCz/krNEazEZyr++1B1kFtkQef7Qj4OD+ObXwd/Kr7rqCkHQyL+mFCiFAxr1lzX513r5FwwfEMXfUbi/P1sg//LRDVFBCI9EBelshiAI0IHDgoBt1X0GTX4wHvv7/N5oxdBPkz35l17+LaqS5d+qIqvl3/xXdu16pdBy+ZewapVO/tWz9cbAmECwVSP/grkQfOeazQ6Sf/HRhdQNj2vOkX8JRP7NYvIvJWNqDtTefBSzrpN/+bKumGnyr5AnIBnIn+QbjxD+60eaEK6UMvm3cCLJv4ls2zMF7CGxv5kk/8L9bQ4dFF3fULQqtDSOw+Xfi5vaDq2P7DuEtj4cabo4W/Lvir74mdWCgb4Vt89PgpEa2T5Jot1IjZTc37Xx3F+U9oJ8h8q/DaQaYHfyr48SB8q/ACZiEjhwPSUcI3nG8Mnk3/sWLvzujksANF8fqnqJGUMl/84wGxnJv9FIS3Gxo+RfyuRf8FLYwIyRhDJKWL4mzI3y70xKMpN/17zaes/U1tap97S+usaZ8i8tLpV/FebN08/6ExplT0w7edqSGj5R/uVrlmD7iTIi/4q6L9FXFRcYVewI/zWXf086KcvyL9F8ixY3V5XV1pY1h4pwSRv9a7/8S6J/pXtKCv5ddZdEd4L8++uZhXTJvwFKbEv+tZFdvf179xpE/p5Khrn8Cyaw/Juz5N8mSjz5Vy3/kujfpMm/qJI8CTHiiRocSvq8ska6CmcjeRrwDYnbt99fhf8XKeXflzF275YXevnXlEKp2i//vkn9/1iV297bKsX+Bn3AIvlXiOzvRxsReF7xDYQRbKzsj/LOem7ko8TweTXOsqHr4BjRi79+/QpwNuHJvxNB/mXFfvk31KWsukJWyr8Eq+TfzUNNFXU92uTfzevqKpp6cpv8S2B5r571mdwCye19DcWkotmf/Bvse5viFHxFTcw3SSFWg9hfIv3KuFX+lfj6hseuljrWZId0m+XfWBUvPRzFqt1v/5ok//JdsVgXr0n+9Zsk/4pN7KzvUx1vxq4XSy2Uf8G936xc+Q02mOXforj8Oz0I8XcgGGy442hnZ+exY8c6RW4vR8E6Trry75+bQqZkIv+Cfy+zQv5lwGb5twSDMvmX/MJur6nasB1/x1bIv0iJ/5ui30vkX2M8+TcX8i/BQvlXHf07d275VlA+d+4V5Ahd8m8penry7z5KOBsxMn+BdovIv4G6zQkxvxpK0pB/V1DC6bFT/p2dqfzLarvUUsI5BEn+7RgdRVQnhfxLB8dIYszvZRiK8psy+ZfYv0VlbfuPlxnJi820U/5NiP3t3Ti4fD1ifzOUf5muayPvUGJB8i+fV3U/puTy7ycLFnySRP4FPr9pRc9U/hUih4TvRfn3N2HLVVdtEfIM5d8CaehRdjnQfXz3zWeT2F9K+ZdQabn8Cz6A+3vggwMfYGlB8q8Q2RAOj0QCURAOhzECkZFweENEUN1nO+e9qsT+nvdlpK0Osb+e/Est/4JYLS9GM8V8fkvlX5D/+ef59sm/oDul/AvG5N+2G+/WyL+pcVTy73pKnCP/5j7591SMVAHArLl8eXGqFhelOO0i/kOqJ+qvkf5bX4Urmcu/hfGFi+XfHoqukn+L4wWW6JQpaxeQ0F/0tOXfp/5RjN8aofmga+Tf++4bqgiH10fwxQGRiqHEI5yNkC9UDc5bfmQ+sEz+hfur4vWCfEfKvwnOb4PRSJn8O5Hl3+RIt+EmmsZ+G/IM89lMkn//OO5MKfNX1H2V0F9l5cM6G8m/QnjflcUOk3/pk38vCuNH8OTfXMu/Uy9G0PaiRVPFhSf/5lD+LSjQz/oTGrVI/n23S5/82/Uukn9rVfLvFNLFBsRZcYIR/msi/x586qmD2ZZ/SbxvUezZxc/Gioj3m/XkX9ALSUy+w/oWrert1su/v2+S/F65k5XSxjrL445tyb82sr8F5q8ZnvzryOTf9yjx5F+V/Avr1zT5F0NJ/i2tRqwveQqpA0cQDlxdytkE6+/OnSawyL8gK/LvQ0cfocIg0Z18ONUa+VdYvb+/dSQs5yHINTzSCvtXEJz13IhJ/qXEtttgI+T0BwpBve3Jv578a6n8+4Rq6WT5d3hdRUVj3RCRf1W7OUv+lfGhi43Iv59RNHb5V3J73xKHUR07uMB++Xdgxts0+VtdJPa3qCv81dmahzO3y78pYTpXwC7/NtfyUmBLNZi0ydX2r1ny73O1tc8ZJP+io2jlX//YUcABv4+q+TlAnoj1ouj4vNRC+ZeQQfLvdJzCm44+XZR/j0GFPSZOAAVIF9KXf4/76OQ3TPHkX835B1b5F5TV1ED9NUYV2GLeFfmXBk/+nTjyb3li9i8gG/KERp/8e0Ea8u9DlHA28iAVRP6NNl1zPVAH/6pbWsm/z1DCGeD05F8W2yVECecQrgXfdPz21+LFo7mTf2UuIYU++ZfYv/4qQbF/V+cttlP+Vcf+7l5EYn8zlX+DlHA2ciElmcu/BGP5F6xdi5I0+ReY1/TlXwL//fLl3wtCY3l5m+b2Er9XTYF6m8i/XxD1lzL5t1IqSrdD/n1zVBR/fx62Rv6F/TsyEgmjjKwGmHABRVDfZ4OLlNjfa7+KVqz7abIn/7LIv6DrYZ5/uAsLa+VfkJ9faKP8C2jk38aAIAiBtqYz9PIv4n0xHp2LgYXRcJD8+x8lzpF/45xgmvzLgC3Jvw7BWP4tJArwhEn+LSb+r8w2XexvcXry7+wHliqEyrqWukj+LekZqmtsk97LL8me/Bt3mdqXr/9vvpXy74JvNe4vlfz7rkQW5V+S+jvOkn+dwCmU2ClKLATf3aHk/cq2L2axA588oXA2Iv6mRg+9VVzsNPk3nvz7tyf/ukL+nXUPxpo10iIRzoW4Tf5l/9n45iU4TaeVf3GblzRjm8i/sugrdwwi/k6Ry4ptJvJve3u25V/i+eo5n0xZkn/B7t2LXu3bs2fP4MZVvbjYLbu/RP79oBCMab6ALMgldA5UUOLG5F9a3Cj/0uLG5N/xLP/Swiz/qqJ/kyb/As4h2CL/MsAk/9pIYp77vKDfZ538C/hAa38kkJdAILKyNcA77INRTpB/nYBGjyNDm5XpQjz5lzMg9/KvGufKvz3DQ4G2urq6ps0q+Re766TddcO5kn99aABFnjgA99fG5F+lERVYXTEWcDaCm+Jvp/zyXXXsb6TFMNnpUjfKv7TYm/xbHXuuqqxKdH/db/8mlX8BL/WE5F80eL765F/5kF/Wf1mfVxw/xv6Rkf2G4b++0qzJv0Wk6i8CDkxvCA4MBAd2NsjJv0j7xRgTgOUldtKVf/98BXqvJ/+yyb8lrPIvT6oeEtiSAk/+9eRfDRww1H7lPdVuOUXy7wXomFwq/7KA5+9tQxfL1i8KBpqWEk/+TUf+deNr97Hk379GRztymfyLBkhRtlBVyb8M2Cn/qj/OTmJ/M5N/mYITbOQZSqyRf3lz+Xc5VibJvz6TmmnyL7l9tbUoeNQU9PJvARF+UaShqYBjxDjut9J6+Xf4QL80WyT/Ah5Bvyo2RHnNfYbYX5mWSKBx86zJnvzLKv/6m3m+2W+D/AscIP/euKWxcUvT1rvvdnny7xmUOEb+Jem+Jsm/tsq/+sBfZc818q+KcSH/9phWDug0X2B0iV3+Pen1pSreXeps+Xehho8X9gBMGjgbGVN/B/pW3D4fUMm/Mwzl3xnxIxxQ3N9f0DG9fks+hfxLyKb826BUdAygmbOT/OtPNrtb/i2h6PbKv4j9vfUSoOT8ipPk/KKgyQdsln+FQKSluNjB8q+X/OsS+VfkHkn89eRfF8i/ebXNZUbyb1lzrepng907A4O0+EUwQyxTPtn2WjL59wKQk+RfcD6aNJMOpJpV+RfZv6s2bly0cRXcX4luDCL/DudL5i9N8u+vlHjy74STf73kX1fJv7B+TZN/xcmTfx0r/3Yj9re9wLK0WfJ+cxihjwnwQjjMO+1bEZQXf1LHmMjyb5LcX3LIk389+Xfiyb/LEPHbtK6pYojIv1gsa2rDbl3Fslwn/wKS/AtsSf6V7V60sUkygBPUX3Fhs/xbMO9tSvl3kkIIsb/6hzLXJv/SwnSugF3+rY7FQrH66upxYP+yyb/AD73XIPkXSAKwvzR9+bc3Gu3FpGfXi6WOSv5tGNi5c6C9PSjKvyT0F6tOTFgeK+9MU/59ZtMbb3jybzrJvyUs8i/geR7VNPnXk389+Tcd+ZcE/CZ2FLLNkPxbmp78+1rq5iD5V6hYNlUxfAFZkkte8u8Ek393zOno6JjjvORfVKIBO1D+FWN/W667bjzJvwFK7E7+JbAn/5KFne/a5lNQkJ78S1TfSqmJ3Q3yLzLRBF5QXtQIYUF7n0mxvxedd+6+trZ110ye7Mm/jPIvqC8rq/eNW/kXnKHd4Bhwo/zrBE5R4aDk31PVa9fIv4Wul397xA5MKweI5otBKCYL9HTk36cQ+6vG4fLvixpuVSYNnI3I0bXzlh+ZDyjk3xmUyb+Jub9wf50r/xI03m/2kn/9KfxfF8u/VHA2svC7J+WoX1SfOKsygJV9cXA2IkT3XVmcE/mXHafIv06QjRwq/86a5cm/bpF/83gMnfyrOXkn6b0Y8owhO7/ECMZ6z9rXnCT/no+OZgR2UbIm/xL9F/R2G/3N/zqHBP/KXSlo5EAhB66mhBvnePKvQfJvjuTfBynx5F+1/Euif42Tf8/0kn8dSPzhfONg0tjfjIQTQZ8rxqM5Uv5NwI8+MeVfY7zkX0/+ncjyr6j/NkkZv0T+JbtDwzmTfzHkCZXIv5/ZkvybGP0rm8BkxhCLzcm/wT64v0zyb31zmMT+koppYsi/dOcK2OVfLZvWuNb+NZF/CUT+vUTpWvlX3sws+be7tRXyryGfl9op/zLy+PTgQLAh2CAm/8rir5T/K0q/GNLFNOXf4z56I5fyr0NglH9LMBiTfwnm8m+Daccg8u/l0njob8PJvfIvLZ78mzL5t1y1j0ol/8L7nRjJv4G6YaL7qvN/Sb9+fMm/szOTfxlw42t3Wf7dMWdO/Y5cyr8k51cumOLdqcm/3WLs7+Hrxpf8m0dJruVfM/2XhP/aL/8WkEoKWaad/FuJjqam0lL5FwxjWCf/Enig3yXOXMveQOOyWZM9+Ted5N+ZodDM8Zv8K+LJvwyMb/lXxkv+/b+dO3ZpIwzjOP4ucSmVUujQUtoUOnVxt2Bb6JzV0DVTR5d2aZcO0qF06lDE4GbM6p8gig6C4CI4uLj4D+gk6KvH5VETL88F37vnvft+colw5+LgkLsvv2LjX6WQj3PaS0tRxb8NJRfQ1ezvn97GRUcV/3rK+PdW+3s+/zKi+FcUFf9mi3v5t/T499jP/mq4gP7/mpkh/iX+Jf6tX/ybkvhXSPyrsblvKP5VKCr+Fd17/ud3XisQ/xL/Go1/vykR/96Jf+9b/k0Q/xo02Ejpt/3sb4D4d9R95ucxxL/1Xf4l/iX+Jf69abCdurKV1JIS/8rZEpd/hSz/Bol/lVxA62+eqsjftvrh6OOTYbVb/s0wWfxbofo3V/wrhuNfkT/+VThszBqKf5sLC03/2fTLv/+Smd80//XH4ITL6WxxeZn4N//y76TxL8u/KduBVozxr0z/yvKvf8t55fJvXeLf73Ofs1Uu/n1M/Dsu/m0deCXGvwr24t/udr+38f4T8W8Z8a+CheXfK1Z6xDmd/PGvjsS/v3+8+Ppzetp8/Ftl6vgXUMgf/9rL2xAn9VfRimu8Wu+vfemM5QJ6lDB+4wsILjv+/XvzmgMip49/9azEvwDwEHxApWAnXNQKFv8CQIWUn28AsCmm+Fcrd/y702q9TQ//vn7FW/8aMKXRXZx1AGD8iWsa+w5LLySfDgAQmD7+5T5HwfTxL6qP+BcZiH8RDQtfRS2Yb/f2Oh3iX8AGC8u/QAbiXwAoyHXaO+7lf8dVHPEvgDoi/gVA/DuK856djvLuhPp3UlM6uw4AjD9xldI3PQY/5QrxLwBMgPi3Ooh/nbsEijgz4sWfyq0AAAAASUVORK5CYII=)}}.vti__flag.np{background-color:transparent}\\n\")();\nvar component_css_vue_type_style_index_1_src_5851b83d_lang = /* @__PURE__ */ (() => \".vue-tel-input{border-radius:3px;display:flex;border:1px solid #bbb;text-align:left}.vue-tel-input.disabled .selection,.vue-tel-input.disabled .dropdown,.vue-tel-input.disabled input{cursor:no-drop}.vue-tel-input:focus-within{box-shadow:inset 0 1px 1px #00000013,0 0 8px #66afe999;border-color:#66afe9}.vti__dropdown{display:flex;flex-direction:column;align-content:center;justify-content:center;position:relative;padding:7px;cursor:pointer}.vti__dropdown.show{max-height:300px;overflow:scroll}.vti__dropdown.open{background-color:#f3f3f3}.vti__dropdown.disabled{cursor:no-drop;outline:none;background-color:#f3f3f3}.vti__dropdown:hover{background-color:#f3f3f3}.vti__selection{font-size:.8em;display:flex;align-items:center}.vti__selection .vti__country-code{color:#666}.vti__flag{margin-right:5px;margin-left:5px}.vti__dropdown-list{z-index:1;padding:0;margin:0;text-align:left;list-style:none;max-height:200px;overflow-y:scroll;position:absolute;left:-1px;background-color:#fff;border:1px solid #ccc;width:390px}.vti__dropdown-list.below{top:33px}.vti__dropdown-list.above{top:auto;bottom:100%}.vti__dropdown-arrow{transform:scaleY(.5);display:inline-block;color:#666}.vti__dropdown-item{cursor:pointer;padding:4px 15px}.vti__dropdown-item.highlighted{background-color:#f3f3f3}.vti__dropdown-item.last-preferred{border-bottom:1px solid #cacaca}.vti__dropdown-item .vti__flag{display:inline-block;margin-right:5px}.vti__input{border:none;border-radius:0 2px 2px 0;width:100%;outline:none;padding-left:7px}\\n\")();\nvar _export_sfc = (sfc, props) => {\n const target = sfc.__vccOpts || sfc;\n for (const [key, val] of props) {\n target[key] = val;\n }\n return target;\n};\nfunction getDefault(key) {\n const value = utils.options[key];\n if (typeof value === \"undefined\") {\n return utils.options[key];\n }\n return value;\n}\nconst _sfc_main = {\n name: \"VueTelInput\",\n directives: {\n clickOutside\n },\n props: {\n modelValue: {\n type: String,\n default: \"\"\n },\n allCountries: {\n type: Array,\n default: () => getDefault(\"allCountries\")\n },\n autoFormat: {\n type: Boolean,\n default: () => getDefault(\"autoFormat\")\n },\n customValidate: {\n type: [Boolean, RegExp],\n default: () => getDefault(\"customValidate\")\n },\n defaultCountry: {\n type: [String, Number],\n default: () => getDefault(\"defaultCountry\")\n },\n disabled: {\n type: Boolean,\n default: () => getDefault(\"disabled\")\n },\n autoDefaultCountry: {\n type: Boolean,\n default: () => getDefault(\"autoDefaultCountry\")\n },\n dropdownOptions: {\n type: Object,\n default: () => getDefault(\"dropdownOptions\")\n },\n ignoredCountries: {\n type: Array,\n default: () => getDefault(\"ignoredCountries\")\n },\n inputOptions: {\n type: Object,\n default: () => getDefault(\"inputOptions\")\n },\n invalidMsg: {\n type: String,\n default: () => getDefault(\"invalidMsg\")\n },\n mode: {\n type: String,\n default: () => getDefault(\"mode\")\n },\n onlyCountries: {\n type: Array,\n default: () => getDefault(\"onlyCountries\")\n },\n preferredCountries: {\n type: Array,\n default: () => getDefault(\"preferredCountries\")\n },\n validCharactersOnly: {\n type: Boolean,\n default: () => getDefault(\"validCharactersOnly\")\n },\n styleClasses: {\n type: [String, Array, Object],\n default: () => getDefault(\"styleClasses\")\n }\n },\n data() {\n return {\n phone: \"\",\n activeCountryCode: \"\",\n open: false,\n finishMounted: false,\n selectedIndex: null,\n typeToFindInput: \"\",\n typeToFindTimer: null,\n dropdownOpenDirection: \"below\",\n parsedPlaceholder: this.inputOptions.placeholder\n };\n },\n computed: {\n activeCountry() {\n return this.findCountry(this.activeCountryCode);\n },\n parsedMode() {\n if (this.mode === \"auto\") {\n if (!this.phone || this.phone[0] !== \"+\") {\n return \"national\";\n }\n return \"international\";\n }\n if (![\"international\", \"national\"].includes(this.mode)) {\n console.error('Invalid value of prop \"mode\"');\n return \"international\";\n }\n return this.mode;\n },\n filteredCountries() {\n if (this.onlyCountries.length) {\n return this.allCountries.filter(({ iso2 }) => this.onlyCountries.some((c) => c.toUpperCase() === iso2));\n }\n if (this.ignoredCountries.length) {\n return this.allCountries.filter(({ iso2 }) => !this.ignoredCountries.includes(iso2.toUpperCase()) && !this.ignoredCountries.includes(iso2.toLowerCase()));\n }\n return this.allCountries;\n },\n sortedCountries() {\n const preferredCountries = this.getCountries(this.preferredCountries).map((country) => ({ ...country, preferred: true }));\n return [...preferredCountries, ...this.filteredCountries];\n },\n phoneObject() {\n var _a, _b, _c;\n let result2;\n if (((_a = this.phone) == null ? void 0 : _a[0]) === \"+\") {\n result2 = parsePhoneNumberFromString(this.phone) || {};\n } else {\n result2 = parsePhoneNumberFromString(this.phone, this.activeCountryCode) || {};\n }\n const {\n metadata: metadata2,\n ...phoneObject\n } = result2;\n let valid = (_b = result2.isValid) == null ? void 0 : _b.call(result2);\n let formatted = this.phone;\n if (valid) {\n formatted = (_c = result2.format) == null ? void 0 : _c.call(result2, this.parsedMode.toUpperCase());\n }\n if (result2.country && (this.ignoredCountries.length || this.onlyCountries.length)) {\n if (!this.findCountry(result2.country)) {\n valid = false;\n Object.assign(result2, { country: null });\n }\n }\n Object.assign(phoneObject, {\n countryCode: result2.country,\n valid,\n country: this.activeCountry,\n formatted\n });\n return phoneObject;\n }\n },\n watch: {\n activeCountry(value, oldValue) {\n if (!value && (oldValue == null ? void 0 : oldValue.iso2)) {\n this.activeCountryCode = oldValue.iso2;\n return;\n }\n if (value == null ? void 0 : value.iso2) {\n this.$emit(\"country-changed\", value);\n }\n },\n \"phoneObject.countryCode\": function(value) {\n this.activeCountryCode = value || \"\";\n },\n \"phoneObject.valid\": function() {\n this.$emit(\"validate\", this.phoneObject);\n },\n \"phoneObject.formatted\": function(value) {\n if (!this.autoFormat || this.customValidate) {\n return;\n }\n this.emitInput(value);\n this.$nextTick(() => {\n if (value && !this.modelValue) {\n this.phone = value;\n }\n });\n },\n \"inputOptions.placeholder\": function() {\n this.resetPlaceholder();\n },\n modelValue(value, oldValue) {\n if (!this.testCharacters()) {\n this.$nextTick(() => {\n this.phone = oldValue;\n this.onInput();\n });\n } else {\n this.phone = value;\n }\n },\n open(isDropdownOpened) {\n if (isDropdownOpened) {\n this.setDropdownPosition();\n this.$emit(\"open\");\n } else {\n this.$emit(\"close\");\n }\n }\n },\n mounted() {\n if (this.modelValue) {\n this.phone = this.modelValue.trim();\n }\n this.cleanInvalidCharacters();\n this.initializeCountry().then(() => {\n var _a;\n if (!this.phone && ((_a = this.inputOptions) == null ? void 0 : _a.showDialCode) && this.activeCountryCode) {\n this.phone = `+${this.activeCountryCode}`;\n }\n this.$emit(\"validate\", this.phoneObject);\n }).catch(console.error).then(() => {\n this.finishMounted = true;\n });\n },\n methods: {\n resetPlaceholder() {\n this.parsedPlaceholder = this.inputOptions.placeholder;\n },\n initializeCountry() {\n return new Promise((resolve) => {\n var _a;\n if (((_a = this.phone) == null ? void 0 : _a[0]) === \"+\") {\n resolve();\n return;\n }\n if (this.defaultCountry) {\n if (typeof this.defaultCountry === \"string\") {\n this.choose(this.defaultCountry);\n resolve();\n return;\n }\n if (typeof this.defaultCountry === \"number\") {\n const country = this.findCountryByDialCode(this.defaultCountry);\n if (country) {\n this.choose(country.iso2);\n resolve();\n return;\n }\n }\n }\n const fallbackCountry = this.preferredCountries[0] || this.filteredCountries[0];\n if (this.autoDefaultCountry) {\n getCountry().then((res) => {\n this.choose(res || this.activeCountryCode);\n }).catch((error) => {\n console.warn(error);\n this.choose(fallbackCountry);\n }).then(() => {\n resolve();\n });\n } else {\n this.choose(fallbackCountry);\n resolve();\n }\n });\n },\n getCountries(list = []) {\n return list.map((countryCode) => this.findCountry(countryCode)).filter(Boolean);\n },\n findCountry(iso = \"\") {\n return this.filteredCountries.find((country) => country.iso2 === iso.toUpperCase());\n },\n findCountryByDialCode(dialCode) {\n return this.filteredCountries.find((country) => Number(country.dialCode) === dialCode);\n },\n getItemClass(index2, iso2) {\n const highlighted = this.selectedIndex === index2;\n const lastPreferred = index2 === this.preferredCountries.length - 1;\n const preferred = this.preferredCountries.some((c) => c.toUpperCase() === iso2);\n return {\n highlighted,\n \"last-preferred\": lastPreferred,\n preferred\n };\n },\n choose(country) {\n var _a, _b;\n let parsedCountry = country;\n if (typeof parsedCountry === \"string\") {\n parsedCountry = this.findCountry(parsedCountry);\n }\n if (!parsedCountry) {\n return;\n }\n if (((_a = this.phone) == null ? void 0 : _a[0]) === \"+\" && parsedCountry.iso2 && this.phoneObject.nationalNumber) {\n this.activeCountryCode = parsedCountry.iso2;\n this.phone = parsePhoneNumberFromString(this.phoneObject.nationalNumber, parsedCountry.iso2).formatInternational();\n return;\n }\n if (((_b = this.inputOptions) == null ? void 0 : _b.showDialCode) && parsedCountry) {\n this.phone = `+${parsedCountry.dialCode}`;\n this.activeCountryCode = parsedCountry.iso2 || \"\";\n return;\n }\n this.activeCountryCode = parsedCountry.iso2 || \"\";\n this.emitInput(this.phone);\n },\n cleanInvalidCharacters() {\n const currentPhone = this.phone;\n if (this.validCharactersOnly) {\n const results = this.phone.match(/[()\\-+0-9\\s]*/g);\n this.phone = results.join(\"\");\n }\n if (this.customValidate && this.customValidate instanceof RegExp) {\n const results = this.phone.match(this.customValidate);\n this.phone = results.join(\"\");\n }\n if (currentPhone !== this.phone) {\n this.emitInput(this.phone);\n }\n },\n testCharacters() {\n if (this.validCharactersOnly) {\n const result2 = /^[()\\-+0-9\\s]*$/.test(this.phone);\n if (!result2) {\n return false;\n }\n }\n if (this.customValidate) {\n return this.testCustomValidate();\n }\n return true;\n },\n testCustomValidate() {\n return this.customValidate instanceof RegExp ? this.customValidate.test(this.phone) : false;\n },\n onInput() {\n this.$refs.input.setCustomValidity(this.phoneObject.valid ? \"\" : this.invalidMsg);\n this.emitInput(this.phone);\n },\n emitInput(value) {\n this.$emit(\"update:modelValue\", value);\n this.$emit(\"on-input\", value, this.phoneObject, this.$refs.input);\n },\n onBlur() {\n this.$emit(\"blur\");\n },\n onFocus() {\n setCaretPosition(this.$refs.input, this.phone.length);\n this.$emit(\"focus\");\n },\n onEnter() {\n this.$emit(\"enter\");\n },\n onSpace() {\n this.$emit(\"space\");\n },\n focus() {\n this.$refs.input.focus();\n },\n toggleDropdown() {\n if (this.disabled || this.dropdownOptions.disabled) {\n return;\n }\n this.open = !this.open;\n },\n clickedOutside() {\n this.open = false;\n },\n keyboardNav(e) {\n if (e.keyCode === 40) {\n e.preventDefault();\n this.open = true;\n if (this.selectedIndex === null) {\n this.selectedIndex = 0;\n } else {\n this.selectedIndex = Math.min(this.sortedCountries.length - 1, this.selectedIndex + 1);\n }\n const selEle = this.$refs.list.children[this.selectedIndex];\n selEle.focus();\n if (selEle.offsetTop + selEle.clientHeight > this.$refs.list.scrollTop + this.$refs.list.clientHeight) {\n this.$refs.list.scrollTop = selEle.offsetTop - this.$refs.list.clientHeight + selEle.clientHeight;\n }\n } else if (e.keyCode === 38) {\n e.preventDefault();\n this.open = true;\n if (this.selectedIndex === null) {\n this.selectedIndex = this.sortedCountries.length - 1;\n } else {\n this.selectedIndex = Math.max(0, this.selectedIndex - 1);\n }\n const selEle = this.$refs.list.children[this.selectedIndex];\n selEle.focus();\n if (selEle.offsetTop < this.$refs.list.scrollTop) {\n this.$refs.list.scrollTop = selEle.offsetTop;\n }\n } else if (e.keyCode === 13) {\n if (this.selectedIndex !== null) {\n this.choose(this.sortedCountries[this.selectedIndex]);\n }\n this.open = !this.open;\n } else {\n this.typeToFindInput += e.key;\n clearTimeout(this.typeToFindTimer);\n this.typeToFindTimer = setTimeout(() => {\n this.typeToFindInput = \"\";\n }, 700);\n const typedCountryI = this.sortedCountries.slice(this.preferredCountries.length).findIndex((c) => c.name.toLowerCase().startsWith(this.typeToFindInput));\n if (typedCountryI >= 0) {\n this.selectedIndex = this.preferredCountries.length + typedCountryI;\n const selEle = this.$refs.list.children[this.selectedIndex];\n const needToScrollTop = selEle.offsetTop < this.$refs.list.scrollTop;\n const needToScrollBottom = selEle.offsetTop + selEle.clientHeight > this.$refs.list.scrollTop + this.$refs.list.clientHeight;\n if (needToScrollTop || needToScrollBottom) {\n this.$refs.list.scrollTop = selEle.offsetTop - this.$refs.list.clientHeight / 2;\n }\n }\n }\n },\n reset() {\n this.selectedIndex = this.sortedCountries.map((c) => c.iso2).indexOf(this.activeCountryCode);\n this.open = false;\n },\n setDropdownPosition() {\n const spaceBelow = window.innerHeight - this.$el.getBoundingClientRect().bottom;\n const hasEnoughSpaceBelow = spaceBelow > 200;\n if (hasEnoughSpaceBelow) {\n this.dropdownOpenDirection = \"below\";\n } else {\n this.dropdownOpenDirection = \"above\";\n }\n }\n }\n};\nconst _hoisted_1 = [\"aria-expanded\", \"tabindex\"];\nconst _hoisted_2 = { class: \"vti__selection\" };\nconst _hoisted_3 = {\n key: 1,\n class: \"vti__country-code\"\n};\nconst _hoisted_4 = { class: \"vti__dropdown-arrow\" };\nconst _hoisted_5 = [\"onClick\", \"onMousemove\", \"aria-selected\"];\nconst _hoisted_6 = { key: 1 };\nconst _hoisted_7 = [\"type\", \"autocomplete\", \"autofocus\", \"disabled\", \"id\", \"maxlength\", \"name\", \"placeholder\", \"readonly\", \"required\", \"tabindex\", \"value\", \"aria-describedby\"];\nfunction _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {\n const _directive_click_outside = resolveDirective(\"click-outside\");\n return openBlock(), createElementBlock(\"div\", {\n class: normalizeClass([\"vue-tel-input\", $props.styleClasses, { disabled: $props.disabled }])\n }, [\n withDirectives((openBlock(), createElementBlock(\"div\", {\n \"aria-label\": \"Country Code Selector\",\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.open,\n role: \"button\",\n class: normalizeClass([\"vti__dropdown\", { open: $data.open, disabled: $props.dropdownOptions.disabled }]),\n tabindex: $props.dropdownOptions.tabindex,\n onKeydown: [\n _cache[0] || (_cache[0] = (...args) => $options.keyboardNav && $options.keyboardNav(...args)),\n _cache[2] || (_cache[2] = withKeys((...args) => $options.toggleDropdown && $options.toggleDropdown(...args), [\"space\"])),\n _cache[3] || (_cache[3] = withKeys((...args) => $options.reset && $options.reset(...args), [\"esc\"])),\n _cache[4] || (_cache[4] = withKeys((...args) => $options.reset && $options.reset(...args), [\"tab\"]))\n ],\n onClick: _cache[1] || (_cache[1] = (...args) => $options.toggleDropdown && $options.toggleDropdown(...args))\n }, [\n createElementVNode(\"span\", _hoisted_2, [\n $props.dropdownOptions.showFlags ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass([\"vti__flag\", $data.activeCountryCode.toLowerCase()])\n }, null, 2)) : createCommentVNode(\"\", true),\n $props.dropdownOptions.showDialCodeInSelection ? (openBlock(), createElementBlock(\"span\", _hoisted_3, \" +\" + toDisplayString($options.activeCountry && $options.activeCountry.dialCode), 1)) : createCommentVNode(\"\", true),\n renderSlot(_ctx.$slots, \"arrow-icon\", { open: $data.open }, () => [\n createElementVNode(\"span\", _hoisted_4, toDisplayString($data.open ? \"\\u25B2\" : \"\\u25BC\"), 1)\n ])\n ]),\n $data.open ? (openBlock(), createElementBlock(\"ul\", {\n key: 0,\n ref: \"list\",\n class: normalizeClass([\"vti__dropdown-list\", $data.dropdownOpenDirection]),\n role: \"listbox\"\n }, [\n (openBlock(true), createElementBlock(Fragment, null, renderList($options.sortedCountries, (pb, index2) => {\n return openBlock(), createElementBlock(\"li\", {\n role: \"option\",\n class: normalizeClass([\"vti__dropdown-item\", $options.getItemClass(index2, pb.iso2)]),\n key: pb.iso2 + (pb.preferred ? \"-preferred\" : \"\"),\n tabindex: \"-1\",\n onClick: ($event) => $options.choose(pb),\n onMousemove: ($event) => $data.selectedIndex = index2,\n \"aria-selected\": $data.activeCountryCode === pb.iso2 && !pb.preferred\n }, [\n $props.dropdownOptions.showFlags ? (openBlock(), createElementBlock(\"span\", {\n key: 0,\n class: normalizeClass([\"vti__flag\", pb.iso2.toLowerCase()])\n }, null, 2)) : createCommentVNode(\"\", true),\n createElementVNode(\"strong\", null, toDisplayString(pb.name), 1),\n $props.dropdownOptions.showDialCodeInList ? (openBlock(), createElementBlock(\"span\", _hoisted_6, \" +\" + toDisplayString(pb.dialCode), 1)) : createCommentVNode(\"\", true)\n ], 42, _hoisted_5);\n }), 128))\n ], 2)) : createCommentVNode(\"\", true)\n ], 42, _hoisted_1)), [\n [_directive_click_outside, $options.clickedOutside]\n ]),\n withDirectives(createElementVNode(\"input\", {\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event) => $data.phone = $event),\n ref: \"input\",\n type: $props.inputOptions.type,\n autocomplete: $props.inputOptions.autocomplete,\n autofocus: $props.inputOptions.autofocus,\n class: normalizeClass([\"vti__input\", $props.inputOptions.styleClasses]),\n disabled: $props.disabled,\n id: $props.inputOptions.id,\n maxlength: $props.inputOptions.maxlength,\n name: $props.inputOptions.name,\n placeholder: $data.parsedPlaceholder,\n readonly: $props.inputOptions.readonly,\n required: $props.inputOptions.required,\n tabindex: $props.inputOptions.tabindex,\n value: $props.modelValue,\n \"aria-describedby\": $props.inputOptions[\"aria-describedby\"],\n onBlur: _cache[6] || (_cache[6] = (...args) => $options.onBlur && $options.onBlur(...args)),\n onFocus: _cache[7] || (_cache[7] = (...args) => $options.onFocus && $options.onFocus(...args)),\n onInput: _cache[8] || (_cache[8] = (...args) => $options.onInput && $options.onInput(...args)),\n onKeyup: [\n _cache[9] || (_cache[9] = withKeys((...args) => $options.onEnter && $options.onEnter(...args), [\"enter\"])),\n _cache[10] || (_cache[10] = withKeys((...args) => $options.onSpace && $options.onSpace(...args), [\"space\"]))\n ]\n }, null, 42, _hoisted_7), [\n [vModelDynamic, $data.phone]\n ]),\n renderSlot(_ctx.$slots, \"icon-right\")\n ], 2);\n}\nvar VueTelInput = /* @__PURE__ */ _export_sfc(_sfc_main, [[\"render\", _sfc_render]]);\nvar index = {\n install(app, customOptions = {}) {\n const {\n dropdownOptions: customDropdownOptions,\n inputOptions: customInputOptions,\n ...otherCustomOptions\n } = customOptions;\n const {\n dropdownOptions: defaultDropdownOptions,\n inputOptions: defaultInputOptions,\n ...otherDefaultOptions\n } = defaultOptions;\n utils.options = {\n inputOptions: {\n ...defaultInputOptions,\n ...customInputOptions\n },\n dropdownOptions: {\n ...defaultDropdownOptions,\n ...customDropdownOptions\n },\n ...otherDefaultOptions,\n ...otherCustomOptions\n };\n app.component(\"vue-tel-input\", VueTelInput);\n }\n};\nexport { VueTelInput, index as default };\n","import { getWindow, getDocument } from 'ssr-window';\nvar support;\n\nfunction calcSupport() {\n var window = getWindow();\n var document = getDocument();\n return {\n touch: !!('ontouchstart' in window || window.DocumentTouch && document instanceof window.DocumentTouch),\n pointerEvents: !!window.PointerEvent && 'maxTouchPoints' in window.navigator && window.navigator.maxTouchPoints >= 0,\n observer: function checkObserver() {\n return 'MutationObserver' in window || 'WebkitMutationObserver' in window;\n }(),\n passiveListener: function checkPassiveListener() {\n var supportsPassive = false;\n\n try {\n var opts = Object.defineProperty({}, 'passive', {\n // eslint-disable-next-line\n get: function get() {\n supportsPassive = true;\n }\n });\n window.addEventListener('testPassiveListener', null, opts);\n } catch (e) {// No support\n }\n\n return supportsPassive;\n }(),\n gestures: function checkGestures() {\n return 'ongesturestart' in window;\n }()\n };\n}\n\nfunction getSupport() {\n if (!support) {\n support = calcSupport();\n }\n\n return support;\n}\n\nexport { getSupport };","import { getWindow } from 'ssr-window';\nimport { getSupport } from './get-support';\nvar device;\n\nfunction calcDevice(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n userAgent = _ref.userAgent;\n\n var support = getSupport();\n var window = getWindow();\n var platform = window.navigator.platform;\n var ua = userAgent || window.navigator.userAgent;\n var device = {\n ios: false,\n android: false\n };\n var screenWidth = window.screen.width;\n var screenHeight = window.screen.height;\n var android = ua.match(/(Android);?[\\s\\/]+([\\d.]+)?/); // eslint-disable-line\n\n var ipad = ua.match(/(iPad).*OS\\s([\\d_]+)/);\n var ipod = ua.match(/(iPod)(.*OS\\s([\\d_]+))?/);\n var iphone = !ipad && ua.match(/(iPhone\\sOS|iOS)\\s([\\d_]+)/);\n var windows = platform === 'Win32';\n var macos = platform === 'MacIntel'; // iPadOs 13 fix\n\n var iPadScreens = ['1024x1366', '1366x1024', '834x1194', '1194x834', '834x1112', '1112x834', '768x1024', '1024x768', '820x1180', '1180x820', '810x1080', '1080x810'];\n\n if (!ipad && macos && support.touch && iPadScreens.indexOf(screenWidth + \"x\" + screenHeight) >= 0) {\n ipad = ua.match(/(Version)\\/([\\d.]+)/);\n if (!ipad) ipad = [0, 1, '13_0_0'];\n macos = false;\n } // Android\n\n\n if (android && !windows) {\n device.os = 'android';\n device.android = true;\n }\n\n if (ipad || iphone || ipod) {\n device.os = 'ios';\n device.ios = true;\n } // Export object\n\n\n return device;\n}\n\nfunction getDevice(overrides) {\n if (overrides === void 0) {\n overrides = {};\n }\n\n if (!device) {\n device = calcDevice(overrides);\n }\n\n return device;\n}\n\nexport { getDevice };","import { getWindow } from 'ssr-window';\nvar browser;\n\nfunction calcBrowser() {\n var window = getWindow();\n\n function isSafari() {\n var ua = window.navigator.userAgent.toLowerCase();\n return ua.indexOf('safari') >= 0 && ua.indexOf('chrome') < 0 && ua.indexOf('android') < 0;\n }\n\n return {\n isEdge: !!window.navigator.userAgent.match(/Edge/g),\n isSafari: isSafari(),\n isWebView: /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(window.navigator.userAgent)\n };\n}\n\nfunction getBrowser() {\n if (!browser) {\n browser = calcBrowser();\n }\n\n return browser;\n}\n\nexport { getBrowser };","import { getWindow } from 'ssr-window';\nimport { extend } from '../../utils/utils';\n\nvar supportsResizeObserver = function supportsResizeObserver() {\n var window = getWindow();\n return typeof window.ResizeObserver !== 'undefined';\n};\n\nexport default {\n name: 'resize',\n create: function create() {\n var swiper = this;\n extend(swiper, {\n resize: {\n observer: null,\n createObserver: function createObserver() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.resize.observer = new ResizeObserver(function (entries) {\n var width = swiper.width,\n height = swiper.height;\n var newWidth = width;\n var newHeight = height;\n entries.forEach(function (_ref) {\n var contentBoxSize = _ref.contentBoxSize,\n contentRect = _ref.contentRect,\n target = _ref.target;\n if (target && target !== swiper.el) return;\n newWidth = contentRect ? contentRect.width : (contentBoxSize[0] || contentBoxSize).inlineSize;\n newHeight = contentRect ? contentRect.height : (contentBoxSize[0] || contentBoxSize).blockSize;\n });\n\n if (newWidth !== width || newHeight !== height) {\n swiper.resize.resizeHandler();\n }\n });\n swiper.resize.observer.observe(swiper.el);\n },\n removeObserver: function removeObserver() {\n if (swiper.resize.observer && swiper.resize.observer.unobserve && swiper.el) {\n swiper.resize.observer.unobserve(swiper.el);\n swiper.resize.observer = null;\n }\n },\n resizeHandler: function resizeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('beforeResize');\n swiper.emit('resize');\n },\n orientationChangeHandler: function orientationChangeHandler() {\n if (!swiper || swiper.destroyed || !swiper.initialized) return;\n swiper.emit('orientationchange');\n }\n }\n });\n },\n on: {\n init: function init(swiper) {\n var window = getWindow();\n\n if (swiper.params.resizeObserver && supportsResizeObserver()) {\n swiper.resize.createObserver();\n return;\n } // Emit resize\n\n\n window.addEventListener('resize', swiper.resize.resizeHandler); // Emit orientationchange\n\n window.addEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n },\n destroy: function destroy(swiper) {\n var window = getWindow();\n swiper.resize.removeObserver();\n window.removeEventListener('resize', swiper.resize.resizeHandler);\n window.removeEventListener('orientationchange', swiper.resize.orientationChangeHandler);\n }\n }\n};","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport { getWindow } from 'ssr-window';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Observer = {\n attach: function attach(target, options) {\n if (options === void 0) {\n options = {};\n }\n\n var window = getWindow();\n var swiper = this;\n var ObserverFunc = window.MutationObserver || window.WebkitMutationObserver;\n var observer = new ObserverFunc(function (mutations) {\n // The observerUpdate event should only be triggered\n // once despite the number of mutations. Additional\n // triggers are redundant and are very costly\n if (mutations.length === 1) {\n swiper.emit('observerUpdate', mutations[0]);\n return;\n }\n\n var observerUpdate = function observerUpdate() {\n swiper.emit('observerUpdate', mutations[0]);\n };\n\n if (window.requestAnimationFrame) {\n window.requestAnimationFrame(observerUpdate);\n } else {\n window.setTimeout(observerUpdate, 0);\n }\n });\n observer.observe(target, {\n attributes: typeof options.attributes === 'undefined' ? true : options.attributes,\n childList: typeof options.childList === 'undefined' ? true : options.childList,\n characterData: typeof options.characterData === 'undefined' ? true : options.characterData\n });\n swiper.observer.observers.push(observer);\n },\n init: function init() {\n var swiper = this;\n if (!swiper.support.observer || !swiper.params.observer) return;\n\n if (swiper.params.observeParents) {\n var containerParents = swiper.$el.parents();\n\n for (var i = 0; i < containerParents.length; i += 1) {\n swiper.observer.attach(containerParents[i]);\n }\n } // Observe container\n\n\n swiper.observer.attach(swiper.$el[0], {\n childList: swiper.params.observeSlideChildren\n }); // Observe wrapper\n\n swiper.observer.attach(swiper.$wrapperEl[0], {\n attributes: false\n });\n },\n destroy: function destroy() {\n var swiper = this;\n swiper.observer.observers.forEach(function (observer) {\n observer.disconnect();\n });\n swiper.observer.observers = [];\n }\n};\nexport default {\n name: 'observer',\n params: {\n observer: false,\n observeParents: false,\n observeSlideChildren: false\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n observer: _extends({}, Observer, {\n observers: []\n })\n });\n },\n on: {\n init: function init(swiper) {\n swiper.observer.init();\n },\n destroy: function destroy(swiper) {\n swiper.observer.destroy();\n }\n }\n};","import { extend } from '../../utils/utils';\nexport default {\n useParams: function useParams(instanceParams) {\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName]; // Extend params\n\n if (module.params) {\n extend(instanceParams, module.params);\n }\n });\n },\n useModules: function useModules(modulesParams) {\n if (modulesParams === void 0) {\n modulesParams = {};\n }\n\n var instance = this;\n if (!instance.modules) return;\n Object.keys(instance.modules).forEach(function (moduleName) {\n var module = instance.modules[moduleName];\n var moduleParams = modulesParams[moduleName] || {}; // Add event listeners\n\n if (module.on && instance.on) {\n Object.keys(module.on).forEach(function (moduleEventName) {\n instance.on(moduleEventName, module.on[moduleEventName]);\n });\n } // Module create callback\n\n\n if (module.create) {\n module.create.bind(instance)(moduleParams);\n }\n });\n }\n};","/* eslint-disable no-underscore-dangle */\nexport default {\n on: function on(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n events.split(' ').forEach(function (event) {\n if (!self.eventsListeners[event]) self.eventsListeners[event] = [];\n self.eventsListeners[event][method](handler);\n });\n return self;\n },\n once: function once(events, handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n\n function onceHandler() {\n self.off(events, onceHandler);\n\n if (onceHandler.__emitterProxy) {\n delete onceHandler.__emitterProxy;\n }\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n handler.apply(self, args);\n }\n\n onceHandler.__emitterProxy = handler;\n return self.on(events, onceHandler, priority);\n },\n onAny: function onAny(handler, priority) {\n var self = this;\n if (typeof handler !== 'function') return self;\n var method = priority ? 'unshift' : 'push';\n\n if (self.eventsAnyListeners.indexOf(handler) < 0) {\n self.eventsAnyListeners[method](handler);\n }\n\n return self;\n },\n offAny: function offAny(handler) {\n var self = this;\n if (!self.eventsAnyListeners) return self;\n var index = self.eventsAnyListeners.indexOf(handler);\n\n if (index >= 0) {\n self.eventsAnyListeners.splice(index, 1);\n }\n\n return self;\n },\n off: function off(events, handler) {\n var self = this;\n if (!self.eventsListeners) return self;\n events.split(' ').forEach(function (event) {\n if (typeof handler === 'undefined') {\n self.eventsListeners[event] = [];\n } else if (self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler, index) {\n if (eventHandler === handler || eventHandler.__emitterProxy && eventHandler.__emitterProxy === handler) {\n self.eventsListeners[event].splice(index, 1);\n }\n });\n }\n });\n return self;\n },\n emit: function emit() {\n var self = this;\n if (!self.eventsListeners) return self;\n var events;\n var data;\n var context;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' || Array.isArray(args[0])) {\n events = args[0];\n data = args.slice(1, args.length);\n context = self;\n } else {\n events = args[0].events;\n data = args[0].data;\n context = args[0].context || self;\n }\n\n data.unshift(context);\n var eventsArray = Array.isArray(events) ? events : events.split(' ');\n eventsArray.forEach(function (event) {\n if (self.eventsAnyListeners && self.eventsAnyListeners.length) {\n self.eventsAnyListeners.forEach(function (eventHandler) {\n eventHandler.apply(context, [event].concat(data));\n });\n }\n\n if (self.eventsListeners && self.eventsListeners[event]) {\n self.eventsListeners[event].forEach(function (eventHandler) {\n eventHandler.apply(context, data);\n });\n }\n });\n return self;\n }\n};","import { extend } from '../../../utils/utils';\nexport default function updateSize() {\n var swiper = this;\n var width;\n var height;\n var $el = swiper.$el;\n\n if (typeof swiper.params.width !== 'undefined' && swiper.params.width !== null) {\n width = swiper.params.width;\n } else {\n width = $el[0].clientWidth;\n }\n\n if (typeof swiper.params.height !== 'undefined' && swiper.params.height !== null) {\n height = swiper.params.height;\n } else {\n height = $el[0].clientHeight;\n }\n\n if (width === 0 && swiper.isHorizontal() || height === 0 && swiper.isVertical()) {\n return;\n } // Subtract paddings\n\n\n width = width - parseInt($el.css('padding-left') || 0, 10) - parseInt($el.css('padding-right') || 0, 10);\n height = height - parseInt($el.css('padding-top') || 0, 10) - parseInt($el.css('padding-bottom') || 0, 10);\n if (Number.isNaN(width)) width = 0;\n if (Number.isNaN(height)) height = 0;\n extend(swiper, {\n width: width,\n height: height,\n size: swiper.isHorizontal() ? width : height\n });\n}","import { extend } from '../../../utils/utils';\nexport default function updateSlides() {\n var swiper = this;\n\n function getDirectionLabel(property) {\n if (swiper.isHorizontal()) {\n return property;\n } // prettier-ignore\n\n\n return {\n 'width': 'height',\n 'margin-top': 'margin-left',\n 'margin-bottom ': 'margin-right',\n 'margin-left': 'margin-top',\n 'margin-right': 'margin-bottom',\n 'padding-left': 'padding-top',\n 'padding-right': 'padding-bottom',\n 'marginRight': 'marginBottom'\n }[property];\n }\n\n function getDirectionPropertyValue(node, label) {\n return parseFloat(node.getPropertyValue(getDirectionLabel(label)) || 0);\n }\n\n var params = swiper.params;\n var $wrapperEl = swiper.$wrapperEl,\n swiperSize = swiper.size,\n rtl = swiper.rtlTranslate,\n wrongRTL = swiper.wrongRTL;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n var previousSlidesLength = isVirtual ? swiper.virtual.slides.length : swiper.slides.length;\n var slides = $wrapperEl.children(\".\" + swiper.params.slideClass);\n var slidesLength = isVirtual ? swiper.virtual.slides.length : slides.length;\n var snapGrid = [];\n var slidesGrid = [];\n var slidesSizesGrid = [];\n var offsetBefore = params.slidesOffsetBefore;\n\n if (typeof offsetBefore === 'function') {\n offsetBefore = params.slidesOffsetBefore.call(swiper);\n }\n\n var offsetAfter = params.slidesOffsetAfter;\n\n if (typeof offsetAfter === 'function') {\n offsetAfter = params.slidesOffsetAfter.call(swiper);\n }\n\n var previousSnapGridLength = swiper.snapGrid.length;\n var previousSlidesGridLength = swiper.slidesGrid.length;\n var spaceBetween = params.spaceBetween;\n var slidePosition = -offsetBefore;\n var prevSlideSize = 0;\n var index = 0;\n\n if (typeof swiperSize === 'undefined') {\n return;\n }\n\n if (typeof spaceBetween === 'string' && spaceBetween.indexOf('%') >= 0) {\n spaceBetween = parseFloat(spaceBetween.replace('%', '')) / 100 * swiperSize;\n }\n\n swiper.virtualSize = -spaceBetween; // reset margins\n\n if (rtl) slides.css({\n marginLeft: '',\n marginBottom: '',\n marginTop: ''\n });else slides.css({\n marginRight: '',\n marginBottom: '',\n marginTop: ''\n });\n var slidesNumberEvenToRows;\n\n if (params.slidesPerColumn > 1) {\n if (Math.floor(slidesLength / params.slidesPerColumn) === slidesLength / swiper.params.slidesPerColumn) {\n slidesNumberEvenToRows = slidesLength;\n } else {\n slidesNumberEvenToRows = Math.ceil(slidesLength / params.slidesPerColumn) * params.slidesPerColumn;\n }\n\n if (params.slidesPerView !== 'auto' && params.slidesPerColumnFill === 'row') {\n slidesNumberEvenToRows = Math.max(slidesNumberEvenToRows, params.slidesPerView * params.slidesPerColumn);\n }\n } // Calc slides\n\n\n var slideSize;\n var slidesPerColumn = params.slidesPerColumn;\n var slidesPerRow = slidesNumberEvenToRows / slidesPerColumn;\n var numFullColumns = Math.floor(slidesLength / params.slidesPerColumn);\n\n for (var i = 0; i < slidesLength; i += 1) {\n slideSize = 0;\n var slide = slides.eq(i);\n\n if (params.slidesPerColumn > 1) {\n // Set slides order\n var newSlideOrderIndex = void 0;\n var column = void 0;\n var row = void 0;\n\n if (params.slidesPerColumnFill === 'row' && params.slidesPerGroup > 1) {\n var groupIndex = Math.floor(i / (params.slidesPerGroup * params.slidesPerColumn));\n var slideIndexInGroup = i - params.slidesPerColumn * params.slidesPerGroup * groupIndex;\n var columnsInGroup = groupIndex === 0 ? params.slidesPerGroup : Math.min(Math.ceil((slidesLength - groupIndex * slidesPerColumn * params.slidesPerGroup) / slidesPerColumn), params.slidesPerGroup);\n row = Math.floor(slideIndexInGroup / columnsInGroup);\n column = slideIndexInGroup - row * columnsInGroup + groupIndex * params.slidesPerGroup;\n newSlideOrderIndex = column + row * slidesNumberEvenToRows / slidesPerColumn;\n slide.css({\n '-webkit-box-ordinal-group': newSlideOrderIndex,\n '-moz-box-ordinal-group': newSlideOrderIndex,\n '-ms-flex-order': newSlideOrderIndex,\n '-webkit-order': newSlideOrderIndex,\n order: newSlideOrderIndex\n });\n } else if (params.slidesPerColumnFill === 'column') {\n column = Math.floor(i / slidesPerColumn);\n row = i - column * slidesPerColumn;\n\n if (column > numFullColumns || column === numFullColumns && row === slidesPerColumn - 1) {\n row += 1;\n\n if (row >= slidesPerColumn) {\n row = 0;\n column += 1;\n }\n }\n } else {\n row = Math.floor(i / slidesPerRow);\n column = i - row * slidesPerRow;\n }\n\n slide.css(getDirectionLabel('margin-top'), row !== 0 ? params.spaceBetween && params.spaceBetween + \"px\" : '');\n }\n\n if (slide.css('display') === 'none') continue; // eslint-disable-line\n\n if (params.slidesPerView === 'auto') {\n var slideStyles = getComputedStyle(slide[0]);\n var currentTransform = slide[0].style.transform;\n var currentWebKitTransform = slide[0].style.webkitTransform;\n\n if (currentTransform) {\n slide[0].style.transform = 'none';\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = 'none';\n }\n\n if (params.roundLengths) {\n slideSize = swiper.isHorizontal() ? slide.outerWidth(true) : slide.outerHeight(true);\n } else {\n // eslint-disable-next-line\n var width = getDirectionPropertyValue(slideStyles, 'width');\n var paddingLeft = getDirectionPropertyValue(slideStyles, 'padding-left');\n var paddingRight = getDirectionPropertyValue(slideStyles, 'padding-right');\n var marginLeft = getDirectionPropertyValue(slideStyles, 'margin-left');\n var marginRight = getDirectionPropertyValue(slideStyles, 'margin-right');\n var boxSizing = slideStyles.getPropertyValue('box-sizing');\n\n if (boxSizing && boxSizing === 'border-box') {\n slideSize = width + marginLeft + marginRight;\n } else {\n var _slide$ = slide[0],\n clientWidth = _slide$.clientWidth,\n offsetWidth = _slide$.offsetWidth;\n slideSize = width + paddingLeft + paddingRight + marginLeft + marginRight + (offsetWidth - clientWidth);\n }\n }\n\n if (currentTransform) {\n slide[0].style.transform = currentTransform;\n }\n\n if (currentWebKitTransform) {\n slide[0].style.webkitTransform = currentWebKitTransform;\n }\n\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n } else {\n slideSize = (swiperSize - (params.slidesPerView - 1) * spaceBetween) / params.slidesPerView;\n if (params.roundLengths) slideSize = Math.floor(slideSize);\n\n if (slides[i]) {\n slides[i].style[getDirectionLabel('width')] = slideSize + \"px\";\n }\n }\n\n if (slides[i]) {\n slides[i].swiperSlideSize = slideSize;\n }\n\n slidesSizesGrid.push(slideSize);\n\n if (params.centeredSlides) {\n slidePosition = slidePosition + slideSize / 2 + prevSlideSize / 2 + spaceBetween;\n if (prevSlideSize === 0 && i !== 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (i === 0) slidePosition = slidePosition - swiperSize / 2 - spaceBetween;\n if (Math.abs(slidePosition) < 1 / 1000) slidePosition = 0;\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if (index % params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n } else {\n if (params.roundLengths) slidePosition = Math.floor(slidePosition);\n if ((index - Math.min(swiper.params.slidesPerGroupSkip, index)) % swiper.params.slidesPerGroup === 0) snapGrid.push(slidePosition);\n slidesGrid.push(slidePosition);\n slidePosition = slidePosition + slideSize + spaceBetween;\n }\n\n swiper.virtualSize += slideSize + spaceBetween;\n prevSlideSize = slideSize;\n index += 1;\n }\n\n swiper.virtualSize = Math.max(swiper.virtualSize, swiperSize) + offsetAfter;\n var newSlidesGrid;\n\n if (rtl && wrongRTL && (params.effect === 'slide' || params.effect === 'coverflow')) {\n $wrapperEl.css({\n width: swiper.virtualSize + params.spaceBetween + \"px\"\n });\n }\n\n if (params.setWrapperSize) {\n var _$wrapperEl$css;\n\n $wrapperEl.css((_$wrapperEl$css = {}, _$wrapperEl$css[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css));\n }\n\n if (params.slidesPerColumn > 1) {\n var _$wrapperEl$css2;\n\n swiper.virtualSize = (slideSize + params.spaceBetween) * slidesNumberEvenToRows;\n swiper.virtualSize = Math.ceil(swiper.virtualSize / params.slidesPerColumn) - params.spaceBetween;\n $wrapperEl.css((_$wrapperEl$css2 = {}, _$wrapperEl$css2[getDirectionLabel('width')] = swiper.virtualSize + params.spaceBetween + \"px\", _$wrapperEl$css2));\n\n if (params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i = 0; _i < snapGrid.length; _i += 1) {\n var slidesGridItem = snapGrid[_i];\n if (params.roundLengths) slidesGridItem = Math.floor(slidesGridItem);\n if (snapGrid[_i] < swiper.virtualSize + snapGrid[0]) newSlidesGrid.push(slidesGridItem);\n }\n\n snapGrid = newSlidesGrid;\n }\n } // Remove last grid elements depending on width\n\n\n if (!params.centeredSlides) {\n newSlidesGrid = [];\n\n for (var _i2 = 0; _i2 < snapGrid.length; _i2 += 1) {\n var _slidesGridItem = snapGrid[_i2];\n if (params.roundLengths) _slidesGridItem = Math.floor(_slidesGridItem);\n\n if (snapGrid[_i2] <= swiper.virtualSize - swiperSize) {\n newSlidesGrid.push(_slidesGridItem);\n }\n }\n\n snapGrid = newSlidesGrid;\n\n if (Math.floor(swiper.virtualSize - swiperSize) - Math.floor(snapGrid[snapGrid.length - 1]) > 1) {\n snapGrid.push(swiper.virtualSize - swiperSize);\n }\n }\n\n if (snapGrid.length === 0) snapGrid = [0];\n\n if (params.spaceBetween !== 0) {\n var _slides$filter$css;\n\n var key = swiper.isHorizontal() && rtl ? 'marginLeft' : getDirectionLabel('marginRight');\n slides.filter(function (_, slideIndex) {\n if (!params.cssMode) return true;\n\n if (slideIndex === slides.length - 1) {\n return false;\n }\n\n return true;\n }).css((_slides$filter$css = {}, _slides$filter$css[key] = spaceBetween + \"px\", _slides$filter$css));\n }\n\n if (params.centeredSlides && params.centeredSlidesBounds) {\n var allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n allSlidesSize -= params.spaceBetween;\n var maxSnap = allSlidesSize - swiperSize;\n snapGrid = snapGrid.map(function (snap) {\n if (snap < 0) return -offsetBefore;\n if (snap > maxSnap) return maxSnap + offsetAfter;\n return snap;\n });\n }\n\n if (params.centerInsufficientSlides) {\n var _allSlidesSize = 0;\n slidesSizesGrid.forEach(function (slideSizeValue) {\n _allSlidesSize += slideSizeValue + (params.spaceBetween ? params.spaceBetween : 0);\n });\n _allSlidesSize -= params.spaceBetween;\n\n if (_allSlidesSize < swiperSize) {\n var allSlidesOffset = (swiperSize - _allSlidesSize) / 2;\n snapGrid.forEach(function (snap, snapIndex) {\n snapGrid[snapIndex] = snap - allSlidesOffset;\n });\n slidesGrid.forEach(function (snap, snapIndex) {\n slidesGrid[snapIndex] = snap + allSlidesOffset;\n });\n }\n }\n\n extend(swiper, {\n slides: slides,\n snapGrid: snapGrid,\n slidesGrid: slidesGrid,\n slidesSizesGrid: slidesSizesGrid\n });\n\n if (slidesLength !== previousSlidesLength) {\n swiper.emit('slidesLengthChange');\n }\n\n if (snapGrid.length !== previousSnapGridLength) {\n if (swiper.params.watchOverflow) swiper.checkOverflow();\n swiper.emit('snapGridLengthChange');\n }\n\n if (slidesGrid.length !== previousSlidesGridLength) {\n swiper.emit('slidesGridLengthChange');\n }\n\n if (params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateSlidesOffset();\n }\n}","export default function updateAutoHeight(speed) {\n var swiper = this;\n var activeSlides = [];\n var isVirtual = swiper.virtual && swiper.params.virtual.enabled;\n var newHeight = 0;\n var i;\n\n if (typeof speed === 'number') {\n swiper.setTransition(speed);\n } else if (speed === true) {\n swiper.setTransition(swiper.params.speed);\n }\n\n var getSlideByIndex = function getSlideByIndex(index) {\n if (isVirtual) {\n return swiper.slides.filter(function (el) {\n return parseInt(el.getAttribute('data-swiper-slide-index'), 10) === index;\n })[0];\n }\n\n return swiper.slides.eq(index)[0];\n }; // Find slides currently in view\n\n\n if (swiper.params.slidesPerView !== 'auto' && swiper.params.slidesPerView > 1) {\n if (swiper.params.centeredSlides) {\n swiper.visibleSlides.each(function (slide) {\n activeSlides.push(slide);\n });\n } else {\n for (i = 0; i < Math.ceil(swiper.params.slidesPerView); i += 1) {\n var index = swiper.activeIndex + i;\n if (index > swiper.slides.length && !isVirtual) break;\n activeSlides.push(getSlideByIndex(index));\n }\n }\n } else {\n activeSlides.push(getSlideByIndex(swiper.activeIndex));\n } // Find new height from highest slide in view\n\n\n for (i = 0; i < activeSlides.length; i += 1) {\n if (typeof activeSlides[i] !== 'undefined') {\n var height = activeSlides[i].offsetHeight;\n newHeight = height > newHeight ? height : newHeight;\n }\n } // Update Height\n\n\n if (newHeight) swiper.$wrapperEl.css('height', newHeight + \"px\");\n}","export default function updateSlidesOffset() {\n var swiper = this;\n var slides = swiper.slides;\n\n for (var i = 0; i < slides.length; i += 1) {\n slides[i].swiperSlideOffset = swiper.isHorizontal() ? slides[i].offsetLeft : slides[i].offsetTop;\n }\n}","import $ from '../../../utils/dom';\nexport default function updateSlidesProgress(translate) {\n if (translate === void 0) {\n translate = this && this.translate || 0;\n }\n\n var swiper = this;\n var params = swiper.params;\n var slides = swiper.slides,\n rtl = swiper.rtlTranslate;\n if (slides.length === 0) return;\n if (typeof slides[0].swiperSlideOffset === 'undefined') swiper.updateSlidesOffset();\n var offsetCenter = -translate;\n if (rtl) offsetCenter = translate; // Visible Slides\n\n slides.removeClass(params.slideVisibleClass);\n swiper.visibleSlidesIndexes = [];\n swiper.visibleSlides = [];\n\n for (var i = 0; i < slides.length; i += 1) {\n var slide = slides[i];\n var slideProgress = (offsetCenter + (params.centeredSlides ? swiper.minTranslate() : 0) - slide.swiperSlideOffset) / (slide.swiperSlideSize + params.spaceBetween);\n\n if (params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) {\n var slideBefore = -(offsetCenter - slide.swiperSlideOffset);\n var slideAfter = slideBefore + swiper.slidesSizesGrid[i];\n var isVisible = slideBefore >= 0 && slideBefore < swiper.size - 1 || slideAfter > 1 && slideAfter <= swiper.size || slideBefore <= 0 && slideAfter >= swiper.size;\n\n if (isVisible) {\n swiper.visibleSlides.push(slide);\n swiper.visibleSlidesIndexes.push(i);\n slides.eq(i).addClass(params.slideVisibleClass);\n }\n }\n\n slide.progress = rtl ? -slideProgress : slideProgress;\n }\n\n swiper.visibleSlides = $(swiper.visibleSlides);\n}","import { extend } from '../../../utils/utils';\nexport default function updateProgress(translate) {\n var swiper = this;\n\n if (typeof translate === 'undefined') {\n var multiplier = swiper.rtlTranslate ? -1 : 1; // eslint-disable-next-line\n\n translate = swiper && swiper.translate && swiper.translate * multiplier || 0;\n }\n\n var params = swiper.params;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n var progress = swiper.progress,\n isBeginning = swiper.isBeginning,\n isEnd = swiper.isEnd;\n var wasBeginning = isBeginning;\n var wasEnd = isEnd;\n\n if (translatesDiff === 0) {\n progress = 0;\n isBeginning = true;\n isEnd = true;\n } else {\n progress = (translate - swiper.minTranslate()) / translatesDiff;\n isBeginning = progress <= 0;\n isEnd = progress >= 1;\n }\n\n extend(swiper, {\n progress: progress,\n isBeginning: isBeginning,\n isEnd: isEnd\n });\n if (params.watchSlidesProgress || params.watchSlidesVisibility || params.centeredSlides && params.autoHeight) swiper.updateSlidesProgress(translate);\n\n if (isBeginning && !wasBeginning) {\n swiper.emit('reachBeginning toEdge');\n }\n\n if (isEnd && !wasEnd) {\n swiper.emit('reachEnd toEdge');\n }\n\n if (wasBeginning && !isBeginning || wasEnd && !isEnd) {\n swiper.emit('fromEdge');\n }\n\n swiper.emit('progress', progress);\n}","export default function updateSlidesClasses() {\n var swiper = this;\n var slides = swiper.slides,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex,\n realIndex = swiper.realIndex;\n var isVirtual = swiper.virtual && params.virtual.enabled;\n slides.removeClass(params.slideActiveClass + \" \" + params.slideNextClass + \" \" + params.slidePrevClass + \" \" + params.slideDuplicateActiveClass + \" \" + params.slideDuplicateNextClass + \" \" + params.slideDuplicatePrevClass);\n var activeSlide;\n\n if (isVirtual) {\n activeSlide = swiper.$wrapperEl.find(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + activeIndex + \"\\\"]\");\n } else {\n activeSlide = slides.eq(activeIndex);\n } // Active classes\n\n\n activeSlide.addClass(params.slideActiveClass);\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (activeSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]\").addClass(params.slideDuplicateActiveClass);\n }\n } // Next Slide\n\n\n var nextSlide = activeSlide.nextAll(\".\" + params.slideClass).eq(0).addClass(params.slideNextClass);\n\n if (params.loop && nextSlide.length === 0) {\n nextSlide = slides.eq(0);\n nextSlide.addClass(params.slideNextClass);\n } // Prev Slide\n\n\n var prevSlide = activeSlide.prevAll(\".\" + params.slideClass).eq(0).addClass(params.slidePrevClass);\n\n if (params.loop && prevSlide.length === 0) {\n prevSlide = slides.eq(-1);\n prevSlide.addClass(params.slidePrevClass);\n }\n\n if (params.loop) {\n // Duplicate to all looped slides\n if (nextSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + nextSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicateNextClass);\n }\n\n if (prevSlide.hasClass(params.slideDuplicateClass)) {\n $wrapperEl.children(\".\" + params.slideClass + \":not(.\" + params.slideDuplicateClass + \")[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n } else {\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \"[data-swiper-slide-index=\\\"\" + prevSlide.attr('data-swiper-slide-index') + \"\\\"]\").addClass(params.slideDuplicatePrevClass);\n }\n }\n\n swiper.emitSlidesClasses();\n}","import { extend } from '../../../utils/utils';\nexport default function updateActiveIndex(newActiveIndex) {\n var swiper = this;\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n var slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n params = swiper.params,\n previousIndex = swiper.activeIndex,\n previousRealIndex = swiper.realIndex,\n previousSnapIndex = swiper.snapIndex;\n var activeIndex = newActiveIndex;\n var snapIndex;\n\n if (typeof activeIndex === 'undefined') {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1] - (slidesGrid[i + 1] - slidesGrid[i]) / 2) {\n activeIndex = i;\n } else if (translate >= slidesGrid[i] && translate < slidesGrid[i + 1]) {\n activeIndex = i + 1;\n }\n } else if (translate >= slidesGrid[i]) {\n activeIndex = i;\n }\n } // Normalize slideIndex\n\n\n if (params.normalizeSlideIndex) {\n if (activeIndex < 0 || typeof activeIndex === 'undefined') activeIndex = 0;\n }\n }\n\n if (snapGrid.indexOf(translate) >= 0) {\n snapIndex = snapGrid.indexOf(translate);\n } else {\n var skip = Math.min(params.slidesPerGroupSkip, activeIndex);\n snapIndex = skip + Math.floor((activeIndex - skip) / params.slidesPerGroup);\n }\n\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if (activeIndex === previousIndex) {\n if (snapIndex !== previousSnapIndex) {\n swiper.snapIndex = snapIndex;\n swiper.emit('snapIndexChange');\n }\n\n return;\n } // Get real index\n\n\n var realIndex = parseInt(swiper.slides.eq(activeIndex).attr('data-swiper-slide-index') || activeIndex, 10);\n extend(swiper, {\n snapIndex: snapIndex,\n realIndex: realIndex,\n previousIndex: previousIndex,\n activeIndex: activeIndex\n });\n swiper.emit('activeIndexChange');\n swiper.emit('snapIndexChange');\n\n if (previousRealIndex !== realIndex) {\n swiper.emit('realIndexChange');\n }\n\n if (swiper.initialized || swiper.params.runCallbacksOnInit) {\n swiper.emit('slideChange');\n }\n}","import $ from '../../../utils/dom';\nexport default function updateClickedSlide(e) {\n var swiper = this;\n var params = swiper.params;\n var slide = $(e.target).closest(\".\" + params.slideClass)[0];\n var slideFound = false;\n var slideIndex;\n\n if (slide) {\n for (var i = 0; i < swiper.slides.length; i += 1) {\n if (swiper.slides[i] === slide) {\n slideFound = true;\n slideIndex = i;\n break;\n }\n }\n }\n\n if (slide && slideFound) {\n swiper.clickedSlide = slide;\n\n if (swiper.virtual && swiper.params.virtual.enabled) {\n swiper.clickedIndex = parseInt($(slide).attr('data-swiper-slide-index'), 10);\n } else {\n swiper.clickedIndex = slideIndex;\n }\n } else {\n swiper.clickedSlide = undefined;\n swiper.clickedIndex = undefined;\n return;\n }\n\n if (params.slideToClickedSlide && swiper.clickedIndex !== undefined && swiper.clickedIndex !== swiper.activeIndex) {\n swiper.slideToClickedSlide();\n }\n}","import updateSize from './updateSize';\nimport updateSlides from './updateSlides';\nimport updateAutoHeight from './updateAutoHeight';\nimport updateSlidesOffset from './updateSlidesOffset';\nimport updateSlidesProgress from './updateSlidesProgress';\nimport updateProgress from './updateProgress';\nimport updateSlidesClasses from './updateSlidesClasses';\nimport updateActiveIndex from './updateActiveIndex';\nimport updateClickedSlide from './updateClickedSlide';\nexport default {\n updateSize: updateSize,\n updateSlides: updateSlides,\n updateAutoHeight: updateAutoHeight,\n updateSlidesOffset: updateSlidesOffset,\n updateSlidesProgress: updateSlidesProgress,\n updateProgress: updateProgress,\n updateSlidesClasses: updateSlidesClasses,\n updateActiveIndex: updateActiveIndex,\n updateClickedSlide: updateClickedSlide\n};","import { getTranslate } from '../../../utils/utils';\nexport default function getSwiperTranslate(axis) {\n if (axis === void 0) {\n axis = this.isHorizontal() ? 'x' : 'y';\n }\n\n var swiper = this;\n var params = swiper.params,\n rtl = swiper.rtlTranslate,\n translate = swiper.translate,\n $wrapperEl = swiper.$wrapperEl;\n\n if (params.virtualTranslate) {\n return rtl ? -translate : translate;\n }\n\n if (params.cssMode) {\n return translate;\n }\n\n var currentTranslate = getTranslate($wrapperEl[0], axis);\n if (rtl) currentTranslate = -currentTranslate;\n return currentTranslate || 0;\n}","export default function setTranslate(translate, byController) {\n var swiper = this;\n var rtl = swiper.rtlTranslate,\n params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n wrapperEl = swiper.wrapperEl,\n progress = swiper.progress;\n var x = 0;\n var y = 0;\n var z = 0;\n\n if (swiper.isHorizontal()) {\n x = rtl ? -translate : translate;\n } else {\n y = translate;\n }\n\n if (params.roundLengths) {\n x = Math.floor(x);\n y = Math.floor(y);\n }\n\n if (params.cssMode) {\n wrapperEl[swiper.isHorizontal() ? 'scrollLeft' : 'scrollTop'] = swiper.isHorizontal() ? -x : -y;\n } else if (!params.virtualTranslate) {\n $wrapperEl.transform(\"translate3d(\" + x + \"px, \" + y + \"px, \" + z + \"px)\");\n }\n\n swiper.previousTranslate = swiper.translate;\n swiper.translate = swiper.isHorizontal() ? x : y; // Check if we need to update progress\n\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== progress) {\n swiper.updateProgress(translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, byController);\n}","export default function minTranslate() {\n return -this.snapGrid[0];\n}","export default function maxTranslate() {\n return -this.snapGrid[this.snapGrid.length - 1];\n}","export default function translateTo(translate, speed, runCallbacks, translateBounds, internal) {\n if (translate === void 0) {\n translate = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (translateBounds === void 0) {\n translateBounds = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n wrapperEl = swiper.wrapperEl;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return false;\n }\n\n var minTranslate = swiper.minTranslate();\n var maxTranslate = swiper.maxTranslate();\n var newTranslate;\n if (translateBounds && translate > minTranslate) newTranslate = minTranslate;else if (translateBounds && translate < maxTranslate) newTranslate = maxTranslate;else newTranslate = translate; // Update progress\n\n swiper.updateProgress(newTranslate);\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = -newTranslate, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = -newTranslate;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionEnd');\n }\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(newTranslate);\n\n if (runCallbacks) {\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.emit('transitionStart');\n }\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onTranslateToWrapperTransitionEnd) {\n swiper.onTranslateToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n swiper.onTranslateToWrapperTransitionEnd = null;\n delete swiper.onTranslateToWrapperTransitionEnd;\n\n if (runCallbacks) {\n swiper.emit('transitionEnd');\n }\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onTranslateToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onTranslateToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","import getTranslate from './getTranslate';\nimport setTranslate from './setTranslate';\nimport minTranslate from './minTranslate';\nimport maxTranslate from './maxTranslate';\nimport translateTo from './translateTo';\nexport default {\n getTranslate: getTranslate,\n setTranslate: setTranslate,\n minTranslate: minTranslate,\n maxTranslate: maxTranslate,\n translateTo: translateTo\n};","export default function setTransition(duration, byController) {\n var swiper = this;\n\n if (!swiper.params.cssMode) {\n swiper.$wrapperEl.transition(duration);\n }\n\n swiper.emit('setTransition', duration, byController);\n}","export default function transitionStart(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n params = swiper.params,\n previousIndex = swiper.previousIndex;\n if (params.cssMode) return;\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionStart');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionStart');\n return;\n }\n\n swiper.emit('slideChangeTransitionStart');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionStart');\n } else {\n swiper.emit('slidePrevTransitionStart');\n }\n }\n}","export default function transitionEnd(runCallbacks, direction) {\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n previousIndex = swiper.previousIndex,\n params = swiper.params;\n swiper.animating = false;\n if (params.cssMode) return;\n swiper.setTransition(0);\n var dir = direction;\n\n if (!dir) {\n if (activeIndex > previousIndex) dir = 'next';else if (activeIndex < previousIndex) dir = 'prev';else dir = 'reset';\n }\n\n swiper.emit('transitionEnd');\n\n if (runCallbacks && activeIndex !== previousIndex) {\n if (dir === 'reset') {\n swiper.emit('slideResetTransitionEnd');\n return;\n }\n\n swiper.emit('slideChangeTransitionEnd');\n\n if (dir === 'next') {\n swiper.emit('slideNextTransitionEnd');\n } else {\n swiper.emit('slidePrevTransitionEnd');\n }\n }\n}","import setTransition from './setTransition';\nimport transitionStart from './transitionStart';\nimport transitionEnd from './transitionEnd';\nexport default {\n setTransition: setTransition,\n transitionStart: transitionStart,\n transitionEnd: transitionEnd\n};","export default function slideTo(index, speed, runCallbacks, internal, initial) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (typeof index !== 'number' && typeof index !== 'string') {\n throw new Error(\"The 'index' argument cannot have type other than 'number' or 'string'. [\" + typeof index + \"] given.\");\n }\n\n if (typeof index === 'string') {\n /**\n * The `index` argument converted from `string` to `number`.\n * @type {number}\n */\n var indexAsNumber = parseInt(index, 10);\n /**\n * Determines whether the `index` argument is a valid `number`\n * after being converted from the `string` type.\n * @type {boolean}\n */\n\n var isValidNumber = isFinite(indexAsNumber);\n\n if (!isValidNumber) {\n throw new Error(\"The passed-in 'index' (string) couldn't be converted to 'number'. [\" + index + \"] given.\");\n } // Knowing that the converted `index` is a valid number,\n // we can update the original argument's value.\n\n\n index = indexAsNumber;\n }\n\n var swiper = this;\n var slideIndex = index;\n if (slideIndex < 0) slideIndex = 0;\n var params = swiper.params,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n previousIndex = swiper.previousIndex,\n activeIndex = swiper.activeIndex,\n rtl = swiper.rtlTranslate,\n wrapperEl = swiper.wrapperEl,\n enabled = swiper.enabled;\n\n if (swiper.animating && params.preventInteractionOnTransition || !enabled && !internal && !initial) {\n return false;\n }\n\n var skip = Math.min(swiper.params.slidesPerGroupSkip, slideIndex);\n var snapIndex = skip + Math.floor((slideIndex - skip) / swiper.params.slidesPerGroup);\n if (snapIndex >= snapGrid.length) snapIndex = snapGrid.length - 1;\n\n if ((activeIndex || params.initialSlide || 0) === (previousIndex || 0) && runCallbacks) {\n swiper.emit('beforeSlideChangeStart');\n }\n\n var translate = -snapGrid[snapIndex]; // Update progress\n\n swiper.updateProgress(translate); // Normalize slideIndex\n\n if (params.normalizeSlideIndex) {\n for (var i = 0; i < slidesGrid.length; i += 1) {\n var normalizedTranslate = -Math.floor(translate * 100);\n var normalizedGird = Math.floor(slidesGrid[i] * 100);\n var normalizedGridNext = Math.floor(slidesGrid[i + 1] * 100);\n\n if (typeof slidesGrid[i + 1] !== 'undefined') {\n if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext - (normalizedGridNext - normalizedGird) / 2) {\n slideIndex = i;\n } else if (normalizedTranslate >= normalizedGird && normalizedTranslate < normalizedGridNext) {\n slideIndex = i + 1;\n }\n } else if (normalizedTranslate >= normalizedGird) {\n slideIndex = i;\n }\n }\n } // Directions locks\n\n\n if (swiper.initialized && slideIndex !== activeIndex) {\n if (!swiper.allowSlideNext && translate < swiper.translate && translate < swiper.minTranslate()) {\n return false;\n }\n\n if (!swiper.allowSlidePrev && translate > swiper.translate && translate > swiper.maxTranslate()) {\n if ((activeIndex || 0) !== slideIndex) return false;\n }\n }\n\n var direction;\n if (slideIndex > activeIndex) direction = 'next';else if (slideIndex < activeIndex) direction = 'prev';else direction = 'reset'; // Update Index\n\n if (rtl && -translate === swiper.translate || !rtl && translate === swiper.translate) {\n swiper.updateActiveIndex(slideIndex); // Update Height\n\n if (params.autoHeight) {\n swiper.updateAutoHeight();\n }\n\n swiper.updateSlidesClasses();\n\n if (params.effect !== 'slide') {\n swiper.setTranslate(translate);\n }\n\n if (direction !== 'reset') {\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n }\n\n return false;\n }\n\n if (params.cssMode) {\n var isH = swiper.isHorizontal();\n var t = -translate;\n\n if (rtl) {\n t = wrapperEl.scrollWidth - wrapperEl.offsetWidth - t;\n }\n\n if (speed === 0) {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n } else {\n // eslint-disable-next-line\n if (wrapperEl.scrollTo) {\n var _wrapperEl$scrollTo;\n\n wrapperEl.scrollTo((_wrapperEl$scrollTo = {}, _wrapperEl$scrollTo[isH ? 'left' : 'top'] = t, _wrapperEl$scrollTo.behavior = 'smooth', _wrapperEl$scrollTo));\n } else {\n wrapperEl[isH ? 'scrollLeft' : 'scrollTop'] = t;\n }\n }\n\n return true;\n }\n\n if (speed === 0) {\n swiper.setTransition(0);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n swiper.transitionEnd(runCallbacks, direction);\n } else {\n swiper.setTransition(speed);\n swiper.setTranslate(translate);\n swiper.updateActiveIndex(slideIndex);\n swiper.updateSlidesClasses();\n swiper.emit('beforeTransitionStart', speed, internal);\n swiper.transitionStart(runCallbacks, direction);\n\n if (!swiper.animating) {\n swiper.animating = true;\n\n if (!swiper.onSlideToWrapperTransitionEnd) {\n swiper.onSlideToWrapperTransitionEnd = function transitionEnd(e) {\n if (!swiper || swiper.destroyed) return;\n if (e.target !== this) return;\n swiper.$wrapperEl[0].removeEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].removeEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n swiper.onSlideToWrapperTransitionEnd = null;\n delete swiper.onSlideToWrapperTransitionEnd;\n swiper.transitionEnd(runCallbacks, direction);\n };\n }\n\n swiper.$wrapperEl[0].addEventListener('transitionend', swiper.onSlideToWrapperTransitionEnd);\n swiper.$wrapperEl[0].addEventListener('webkitTransitionEnd', swiper.onSlideToWrapperTransitionEnd);\n }\n }\n\n return true;\n}","export default function slideToLoop(index, speed, runCallbacks, internal) {\n if (index === void 0) {\n index = 0;\n }\n\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var newIndex = index;\n\n if (swiper.params.loop) {\n newIndex += swiper.loopedSlides;\n }\n\n return swiper.slideTo(newIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideNext(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n var increment = swiper.activeIndex < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n return swiper.slideTo(swiper.activeIndex + increment, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slidePrev(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n animating = swiper.animating,\n snapGrid = swiper.snapGrid,\n slidesGrid = swiper.slidesGrid,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return swiper;\n\n if (params.loop) {\n if (animating && params.loopPreventsSlide) return false;\n swiper.loopFix(); // eslint-disable-next-line\n\n swiper._clientLeft = swiper.$wrapperEl[0].clientLeft;\n }\n\n var translate = rtlTranslate ? swiper.translate : -swiper.translate;\n\n function normalize(val) {\n if (val < 0) return -Math.floor(Math.abs(val));\n return Math.floor(val);\n }\n\n var normalizedTranslate = normalize(translate);\n var normalizedSnapGrid = snapGrid.map(function (val) {\n return normalize(val);\n });\n var prevSnap = snapGrid[normalizedSnapGrid.indexOf(normalizedTranslate) - 1];\n\n if (typeof prevSnap === 'undefined' && params.cssMode) {\n snapGrid.forEach(function (snap) {\n if (!prevSnap && normalizedTranslate >= snap) prevSnap = snap;\n });\n }\n\n var prevIndex;\n\n if (typeof prevSnap !== 'undefined') {\n prevIndex = slidesGrid.indexOf(prevSnap);\n if (prevIndex < 0) prevIndex = swiper.activeIndex - 1;\n }\n\n return swiper.slideTo(prevIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideReset(speed, runCallbacks, internal) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n var swiper = this;\n return swiper.slideTo(swiper.activeIndex, speed, runCallbacks, internal);\n}","/* eslint no-unused-vars: \"off\" */\nexport default function slideToClosest(speed, runCallbacks, internal, threshold) {\n if (speed === void 0) {\n speed = this.params.speed;\n }\n\n if (runCallbacks === void 0) {\n runCallbacks = true;\n }\n\n if (threshold === void 0) {\n threshold = 0.5;\n }\n\n var swiper = this;\n var index = swiper.activeIndex;\n var skip = Math.min(swiper.params.slidesPerGroupSkip, index);\n var snapIndex = skip + Math.floor((index - skip) / swiper.params.slidesPerGroup);\n var translate = swiper.rtlTranslate ? swiper.translate : -swiper.translate;\n\n if (translate >= swiper.snapGrid[snapIndex]) {\n // The current translate is on or after the current snap index, so the choice\n // is between the current index and the one after it.\n var currentSnap = swiper.snapGrid[snapIndex];\n var nextSnap = swiper.snapGrid[snapIndex + 1];\n\n if (translate - currentSnap > (nextSnap - currentSnap) * threshold) {\n index += swiper.params.slidesPerGroup;\n }\n } else {\n // The current translate is before the current snap index, so the choice\n // is between the current index and the one before it.\n var prevSnap = swiper.snapGrid[snapIndex - 1];\n var _currentSnap = swiper.snapGrid[snapIndex];\n\n if (translate - prevSnap <= (_currentSnap - prevSnap) * threshold) {\n index -= swiper.params.slidesPerGroup;\n }\n }\n\n index = Math.max(index, 0);\n index = Math.min(index, swiper.slidesGrid.length - 1);\n return swiper.slideTo(index, speed, runCallbacks, internal);\n}","import $ from '../../../utils/dom';\nimport { nextTick } from '../../../utils/utils';\nexport default function slideToClickedSlide() {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl;\n var slidesPerView = params.slidesPerView === 'auto' ? swiper.slidesPerViewDynamic() : params.slidesPerView;\n var slideToIndex = swiper.clickedIndex;\n var realIndex;\n\n if (params.loop) {\n if (swiper.animating) return;\n realIndex = parseInt($(swiper.clickedSlide).attr('data-swiper-slide-index'), 10);\n\n if (params.centeredSlides) {\n if (slideToIndex < swiper.loopedSlides - slidesPerView / 2 || slideToIndex > swiper.slides.length - swiper.loopedSlides + slidesPerView / 2) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else if (slideToIndex > swiper.slides.length - slidesPerView) {\n swiper.loopFix();\n slideToIndex = $wrapperEl.children(\".\" + params.slideClass + \"[data-swiper-slide-index=\\\"\" + realIndex + \"\\\"]:not(.\" + params.slideDuplicateClass + \")\").eq(0).index();\n nextTick(function () {\n swiper.slideTo(slideToIndex);\n });\n } else {\n swiper.slideTo(slideToIndex);\n }\n } else {\n swiper.slideTo(slideToIndex);\n }\n}","import slideTo from './slideTo';\nimport slideToLoop from './slideToLoop';\nimport slideNext from './slideNext';\nimport slidePrev from './slidePrev';\nimport slideReset from './slideReset';\nimport slideToClosest from './slideToClosest';\nimport slideToClickedSlide from './slideToClickedSlide';\nexport default {\n slideTo: slideTo,\n slideToLoop: slideToLoop,\n slideNext: slideNext,\n slidePrev: slidePrev,\n slideReset: slideReset,\n slideToClosest: slideToClosest,\n slideToClickedSlide: slideToClickedSlide\n};","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loopCreate() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl; // Remove duplicated slides\n\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass).remove();\n var slides = $wrapperEl.children(\".\" + params.slideClass);\n\n if (params.loopFillGroupWithBlank) {\n var blankSlidesNum = params.slidesPerGroup - slides.length % params.slidesPerGroup;\n\n if (blankSlidesNum !== params.slidesPerGroup) {\n for (var i = 0; i < blankSlidesNum; i += 1) {\n var blankNode = $(document.createElement('div')).addClass(params.slideClass + \" \" + params.slideBlankClass);\n $wrapperEl.append(blankNode);\n }\n\n slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n }\n\n if (params.slidesPerView === 'auto' && !params.loopedSlides) params.loopedSlides = slides.length;\n swiper.loopedSlides = Math.ceil(parseFloat(params.loopedSlides || params.slidesPerView, 10));\n swiper.loopedSlides += params.loopAdditionalSlides;\n\n if (swiper.loopedSlides > slides.length) {\n swiper.loopedSlides = slides.length;\n }\n\n var prependSlides = [];\n var appendSlides = [];\n slides.each(function (el, index) {\n var slide = $(el);\n\n if (index < swiper.loopedSlides) {\n appendSlides.push(el);\n }\n\n if (index < slides.length && index >= slides.length - swiper.loopedSlides) {\n prependSlides.push(el);\n }\n\n slide.attr('data-swiper-slide-index', index);\n });\n\n for (var _i = 0; _i < appendSlides.length; _i += 1) {\n $wrapperEl.append($(appendSlides[_i].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n\n for (var _i2 = prependSlides.length - 1; _i2 >= 0; _i2 -= 1) {\n $wrapperEl.prepend($(prependSlides[_i2].cloneNode(true)).addClass(params.slideDuplicateClass));\n }\n}","export default function loopFix() {\n var swiper = this;\n swiper.emit('beforeLoopFix');\n var activeIndex = swiper.activeIndex,\n slides = swiper.slides,\n loopedSlides = swiper.loopedSlides,\n allowSlidePrev = swiper.allowSlidePrev,\n allowSlideNext = swiper.allowSlideNext,\n snapGrid = swiper.snapGrid,\n rtl = swiper.rtlTranslate;\n var newIndex;\n swiper.allowSlidePrev = true;\n swiper.allowSlideNext = true;\n var snapTranslate = -snapGrid[activeIndex];\n var diff = snapTranslate - swiper.getTranslate(); // Fix For Negative Oversliding\n\n if (activeIndex < loopedSlides) {\n newIndex = slides.length - loopedSlides * 3 + activeIndex;\n newIndex += loopedSlides;\n var slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n } else if (activeIndex >= slides.length - loopedSlides) {\n // Fix For Positive Oversliding\n newIndex = -slides.length + activeIndex + loopedSlides;\n newIndex += loopedSlides;\n\n var _slideChanged = swiper.slideTo(newIndex, 0, false, true);\n\n if (_slideChanged && diff !== 0) {\n swiper.setTranslate((rtl ? -swiper.translate : swiper.translate) - diff);\n }\n }\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n swiper.emit('loopFix');\n}","export default function loopDestroy() {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n slides = swiper.slides;\n $wrapperEl.children(\".\" + params.slideClass + \".\" + params.slideDuplicateClass + \",.\" + params.slideClass + \".\" + params.slideBlankClass).remove();\n slides.removeAttr('data-swiper-slide-index');\n}","import loopCreate from './loopCreate';\nimport loopFix from './loopFix';\nimport loopDestroy from './loopDestroy';\nexport default {\n loopCreate: loopCreate,\n loopFix: loopFix,\n loopDestroy: loopDestroy\n};","export default function setGrabCursor(moving) {\n var swiper = this;\n if (swiper.support.touch || !swiper.params.simulateTouch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) return;\n var el = swiper.el;\n el.style.cursor = 'move';\n el.style.cursor = moving ? '-webkit-grabbing' : '-webkit-grab';\n el.style.cursor = moving ? '-moz-grabbin' : '-moz-grab';\n el.style.cursor = moving ? 'grabbing' : 'grab';\n}","export default function unsetGrabCursor() {\n var swiper = this;\n\n if (swiper.support.touch || swiper.params.watchOverflow && swiper.isLocked || swiper.params.cssMode) {\n return;\n }\n\n swiper.el.style.cursor = '';\n}","import setGrabCursor from './setGrabCursor';\nimport unsetGrabCursor from './unsetGrabCursor';\nexport default {\n setGrabCursor: setGrabCursor,\n unsetGrabCursor: unsetGrabCursor\n};","export default function appendSlide(slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.append(slides[i]);\n }\n } else {\n $wrapperEl.append(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n}","export default function prependSlide(slides) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n\n if (params.loop) {\n swiper.loopDestroy();\n }\n\n var newActiveIndex = activeIndex + 1;\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var i = 0; i < slides.length; i += 1) {\n if (slides[i]) $wrapperEl.prepend(slides[i]);\n }\n\n newActiveIndex = activeIndex + slides.length;\n } else {\n $wrapperEl.prepend(slides);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n swiper.slideTo(newActiveIndex, 0, false);\n}","export default function addSlide(index, slides) {\n var swiper = this;\n var $wrapperEl = swiper.$wrapperEl,\n params = swiper.params,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var baseLength = swiper.slides.length;\n\n if (index <= 0) {\n swiper.prependSlide(slides);\n return;\n }\n\n if (index >= baseLength) {\n swiper.appendSlide(slides);\n return;\n }\n\n var newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + 1 : activeIndexBuffer;\n var slidesBuffer = [];\n\n for (var i = baseLength - 1; i >= index; i -= 1) {\n var currentSlide = swiper.slides.eq(i);\n currentSlide.remove();\n slidesBuffer.unshift(currentSlide);\n }\n\n if (typeof slides === 'object' && 'length' in slides) {\n for (var _i = 0; _i < slides.length; _i += 1) {\n if (slides[_i]) $wrapperEl.append(slides[_i]);\n }\n\n newActiveIndex = activeIndexBuffer > index ? activeIndexBuffer + slides.length : activeIndexBuffer;\n } else {\n $wrapperEl.append(slides);\n }\n\n for (var _i2 = 0; _i2 < slidesBuffer.length; _i2 += 1) {\n $wrapperEl.append(slidesBuffer[_i2]);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeSlide(slidesIndexes) {\n var swiper = this;\n var params = swiper.params,\n $wrapperEl = swiper.$wrapperEl,\n activeIndex = swiper.activeIndex;\n var activeIndexBuffer = activeIndex;\n\n if (params.loop) {\n activeIndexBuffer -= swiper.loopedSlides;\n swiper.loopDestroy();\n swiper.slides = $wrapperEl.children(\".\" + params.slideClass);\n }\n\n var newActiveIndex = activeIndexBuffer;\n var indexToRemove;\n\n if (typeof slidesIndexes === 'object' && 'length' in slidesIndexes) {\n for (var i = 0; i < slidesIndexes.length; i += 1) {\n indexToRemove = slidesIndexes[i];\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n }\n\n newActiveIndex = Math.max(newActiveIndex, 0);\n } else {\n indexToRemove = slidesIndexes;\n if (swiper.slides[indexToRemove]) swiper.slides.eq(indexToRemove).remove();\n if (indexToRemove < newActiveIndex) newActiveIndex -= 1;\n newActiveIndex = Math.max(newActiveIndex, 0);\n }\n\n if (params.loop) {\n swiper.loopCreate();\n }\n\n if (!(params.observer && swiper.support.observer)) {\n swiper.update();\n }\n\n if (params.loop) {\n swiper.slideTo(newActiveIndex + swiper.loopedSlides, 0, false);\n } else {\n swiper.slideTo(newActiveIndex, 0, false);\n }\n}","export default function removeAllSlides() {\n var swiper = this;\n var slidesIndexes = [];\n\n for (var i = 0; i < swiper.slides.length; i += 1) {\n slidesIndexes.push(i);\n }\n\n swiper.removeSlide(slidesIndexes);\n}","import appendSlide from './appendSlide';\nimport prependSlide from './prependSlide';\nimport addSlide from './addSlide';\nimport removeSlide from './removeSlide';\nimport removeAllSlides from './removeAllSlides';\nexport default {\n appendSlide: appendSlide,\n prependSlide: prependSlide,\n addSlide: addSlide,\n removeSlide: removeSlide,\n removeAllSlides: removeAllSlides\n};","import { getWindow, getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils'; // Modified from https://stackoverflow.com/questions/54520554/custom-element-getrootnode-closest-function-crossing-multiple-parent-shadowd\n\nfunction closestElement(selector, base) {\n if (base === void 0) {\n base = this;\n }\n\n function __closestFrom(el) {\n if (!el || el === getDocument() || el === getWindow()) return null;\n if (el.assignedSlot) el = el.assignedSlot;\n var found = el.closest(selector);\n return found || __closestFrom(el.getRootNode().host);\n }\n\n return __closestFrom(base);\n}\n\nexport default function onTouchStart(event) {\n var swiper = this;\n var document = getDocument();\n var window = getWindow();\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n enabled = swiper.enabled;\n if (!enabled) return;\n\n if (swiper.animating && params.preventInteractionOnTransition) {\n return;\n }\n\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n var $targetEl = $(e.target);\n\n if (params.touchEventsTarget === 'wrapper') {\n if (!$targetEl.closest(swiper.wrapperEl).length) return;\n }\n\n data.isTouchEvent = e.type === 'touchstart';\n if (!data.isTouchEvent && 'which' in e && e.which === 3) return;\n if (!data.isTouchEvent && 'button' in e && e.button > 0) return;\n if (data.isTouched && data.isMoved) return; // change target el for shadow root component\n\n var swipingClassHasValue = !!params.noSwipingClass && params.noSwipingClass !== '';\n\n if (swipingClassHasValue && e.target && e.target.shadowRoot && event.path && event.path[0]) {\n $targetEl = $(event.path[0]);\n }\n\n var noSwipingSelector = params.noSwipingSelector ? params.noSwipingSelector : \".\" + params.noSwipingClass;\n var isTargetShadow = !!(e.target && e.target.shadowRoot); // use closestElement for shadow root element to get the actual closest for nested shadow root element\n\n if (params.noSwiping && (isTargetShadow ? closestElement(noSwipingSelector, e.target) : $targetEl.closest(noSwipingSelector)[0])) {\n swiper.allowClick = true;\n return;\n }\n\n if (params.swipeHandler) {\n if (!$targetEl.closest(params.swipeHandler)[0]) return;\n }\n\n touches.currentX = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX;\n touches.currentY = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY;\n var startX = touches.currentX;\n var startY = touches.currentY; // Do NOT start if iOS edge swipe is detected. Otherwise iOS app cannot swipe-to-go-back anymore\n\n var edgeSwipeDetection = params.edgeSwipeDetection || params.iOSEdgeSwipeDetection;\n var edgeSwipeThreshold = params.edgeSwipeThreshold || params.iOSEdgeSwipeThreshold;\n\n if (edgeSwipeDetection && (startX <= edgeSwipeThreshold || startX >= window.innerWidth - edgeSwipeThreshold)) {\n if (edgeSwipeDetection === 'prevent') {\n event.preventDefault();\n } else {\n return;\n }\n }\n\n extend(data, {\n isTouched: true,\n isMoved: false,\n allowTouchCallbacks: true,\n isScrolling: undefined,\n startMoving: undefined\n });\n touches.startX = startX;\n touches.startY = startY;\n data.touchStartTime = now();\n swiper.allowClick = true;\n swiper.updateSize();\n swiper.swipeDirection = undefined;\n if (params.threshold > 0) data.allowThresholdMove = false;\n\n if (e.type !== 'touchstart') {\n var preventDefault = true;\n if ($targetEl.is(data.focusableElements)) preventDefault = false;\n\n if (document.activeElement && $(document.activeElement).is(data.focusableElements) && document.activeElement !== $targetEl[0]) {\n document.activeElement.blur();\n }\n\n var shouldPreventDefault = preventDefault && swiper.allowTouchMove && params.touchStartPreventDefault;\n\n if ((params.touchStartForcePreventDefault || shouldPreventDefault) && !$targetEl[0].isContentEditable) {\n e.preventDefault();\n }\n }\n\n swiper.emit('touchStart', e);\n}","import { getDocument } from 'ssr-window';\nimport $ from '../../../utils/dom';\nimport { extend, now } from '../../../utils/utils';\nexport default function onTouchMove(event) {\n var document = getDocument();\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (!data.isTouched) {\n if (data.startMoving && data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n return;\n }\n\n if (data.isTouchEvent && e.type !== 'touchmove') return;\n var targetTouch = e.type === 'touchmove' && e.targetTouches && (e.targetTouches[0] || e.changedTouches[0]);\n var pageX = e.type === 'touchmove' ? targetTouch.pageX : e.pageX;\n var pageY = e.type === 'touchmove' ? targetTouch.pageY : e.pageY;\n\n if (e.preventedByNestedSwiper) {\n touches.startX = pageX;\n touches.startY = pageY;\n return;\n }\n\n if (!swiper.allowTouchMove) {\n // isMoved = true;\n swiper.allowClick = false;\n\n if (data.isTouched) {\n extend(touches, {\n startX: pageX,\n startY: pageY,\n currentX: pageX,\n currentY: pageY\n });\n data.touchStartTime = now();\n }\n\n return;\n }\n\n if (data.isTouchEvent && params.touchReleaseOnEdges && !params.loop) {\n if (swiper.isVertical()) {\n // Vertical\n if (pageY < touches.startY && swiper.translate <= swiper.maxTranslate() || pageY > touches.startY && swiper.translate >= swiper.minTranslate()) {\n data.isTouched = false;\n data.isMoved = false;\n return;\n }\n } else if (pageX < touches.startX && swiper.translate <= swiper.maxTranslate() || pageX > touches.startX && swiper.translate >= swiper.minTranslate()) {\n return;\n }\n }\n\n if (data.isTouchEvent && document.activeElement) {\n if (e.target === document.activeElement && $(e.target).is(data.focusableElements)) {\n data.isMoved = true;\n swiper.allowClick = false;\n return;\n }\n }\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchMove', e);\n }\n\n if (e.targetTouches && e.targetTouches.length > 1) return;\n touches.currentX = pageX;\n touches.currentY = pageY;\n var diffX = touches.currentX - touches.startX;\n var diffY = touches.currentY - touches.startY;\n if (swiper.params.threshold && Math.sqrt(Math.pow(diffX, 2) + Math.pow(diffY, 2)) < swiper.params.threshold) return;\n\n if (typeof data.isScrolling === 'undefined') {\n var touchAngle;\n\n if (swiper.isHorizontal() && touches.currentY === touches.startY || swiper.isVertical() && touches.currentX === touches.startX) {\n data.isScrolling = false;\n } else {\n // eslint-disable-next-line\n if (diffX * diffX + diffY * diffY >= 25) {\n touchAngle = Math.atan2(Math.abs(diffY), Math.abs(diffX)) * 180 / Math.PI;\n data.isScrolling = swiper.isHorizontal() ? touchAngle > params.touchAngle : 90 - touchAngle > params.touchAngle;\n }\n }\n }\n\n if (data.isScrolling) {\n swiper.emit('touchMoveOpposite', e);\n }\n\n if (typeof data.startMoving === 'undefined') {\n if (touches.currentX !== touches.startX || touches.currentY !== touches.startY) {\n data.startMoving = true;\n }\n }\n\n if (data.isScrolling) {\n data.isTouched = false;\n return;\n }\n\n if (!data.startMoving) {\n return;\n }\n\n swiper.allowClick = false;\n\n if (!params.cssMode && e.cancelable) {\n e.preventDefault();\n }\n\n if (params.touchMoveStopPropagation && !params.nested) {\n e.stopPropagation();\n }\n\n if (!data.isMoved) {\n if (params.loop) {\n swiper.loopFix();\n }\n\n data.startTranslate = swiper.getTranslate();\n swiper.setTransition(0);\n\n if (swiper.animating) {\n swiper.$wrapperEl.trigger('webkitTransitionEnd transitionend');\n }\n\n data.allowMomentumBounce = false; // Grab Cursor\n\n if (params.grabCursor && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(true);\n }\n\n swiper.emit('sliderFirstMove', e);\n }\n\n swiper.emit('sliderMove', e);\n data.isMoved = true;\n var diff = swiper.isHorizontal() ? diffX : diffY;\n touches.diff = diff;\n diff *= params.touchRatio;\n if (rtl) diff = -diff;\n swiper.swipeDirection = diff > 0 ? 'prev' : 'next';\n data.currentTranslate = diff + data.startTranslate;\n var disableParentSwiper = true;\n var resistanceRatio = params.resistanceRatio;\n\n if (params.touchReleaseOnEdges) {\n resistanceRatio = 0;\n }\n\n if (diff > 0 && data.currentTranslate > swiper.minTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.minTranslate() - 1 + Math.pow(-swiper.minTranslate() + data.startTranslate + diff, resistanceRatio);\n } else if (diff < 0 && data.currentTranslate < swiper.maxTranslate()) {\n disableParentSwiper = false;\n if (params.resistance) data.currentTranslate = swiper.maxTranslate() + 1 - Math.pow(swiper.maxTranslate() - data.startTranslate - diff, resistanceRatio);\n }\n\n if (disableParentSwiper) {\n e.preventedByNestedSwiper = true;\n } // Directions locks\n\n\n if (!swiper.allowSlideNext && swiper.swipeDirection === 'next' && data.currentTranslate < data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && swiper.swipeDirection === 'prev' && data.currentTranslate > data.startTranslate) {\n data.currentTranslate = data.startTranslate;\n }\n\n if (!swiper.allowSlidePrev && !swiper.allowSlideNext) {\n data.currentTranslate = data.startTranslate;\n } // Threshold\n\n\n if (params.threshold > 0) {\n if (Math.abs(diff) > params.threshold || data.allowThresholdMove) {\n if (!data.allowThresholdMove) {\n data.allowThresholdMove = true;\n touches.startX = touches.currentX;\n touches.startY = touches.currentY;\n data.currentTranslate = data.startTranslate;\n touches.diff = swiper.isHorizontal() ? touches.currentX - touches.startX : touches.currentY - touches.startY;\n return;\n }\n } else {\n data.currentTranslate = data.startTranslate;\n return;\n }\n }\n\n if (!params.followFinger || params.cssMode) return; // Update active index in free mode\n\n if (params.freeMode || params.watchSlidesProgress || params.watchSlidesVisibility) {\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n if (params.freeMode) {\n // Velocity\n if (data.velocities.length === 0) {\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'startX' : 'startY'],\n time: data.touchStartTime\n });\n }\n\n data.velocities.push({\n position: touches[swiper.isHorizontal() ? 'currentX' : 'currentY'],\n time: now()\n });\n } // Update progress\n\n\n swiper.updateProgress(data.currentTranslate); // Update translate\n\n swiper.setTranslate(data.currentTranslate);\n}","import { now, nextTick } from '../../../utils/utils';\nexport default function onTouchEnd(event) {\n var swiper = this;\n var data = swiper.touchEventsData;\n var params = swiper.params,\n touches = swiper.touches,\n rtl = swiper.rtlTranslate,\n $wrapperEl = swiper.$wrapperEl,\n slidesGrid = swiper.slidesGrid,\n snapGrid = swiper.snapGrid,\n enabled = swiper.enabled;\n if (!enabled) return;\n var e = event;\n if (e.originalEvent) e = e.originalEvent;\n\n if (data.allowTouchCallbacks) {\n swiper.emit('touchEnd', e);\n }\n\n data.allowTouchCallbacks = false;\n\n if (!data.isTouched) {\n if (data.isMoved && params.grabCursor) {\n swiper.setGrabCursor(false);\n }\n\n data.isMoved = false;\n data.startMoving = false;\n return;\n } // Return Grab Cursor\n\n\n if (params.grabCursor && data.isMoved && data.isTouched && (swiper.allowSlideNext === true || swiper.allowSlidePrev === true)) {\n swiper.setGrabCursor(false);\n } // Time diff\n\n\n var touchEndTime = now();\n var timeDiff = touchEndTime - data.touchStartTime; // Tap, doubleTap, Click\n\n if (swiper.allowClick) {\n swiper.updateClickedSlide(e);\n swiper.emit('tap click', e);\n\n if (timeDiff < 300 && touchEndTime - data.lastClickTime < 300) {\n swiper.emit('doubleTap doubleClick', e);\n }\n }\n\n data.lastClickTime = now();\n nextTick(function () {\n if (!swiper.destroyed) swiper.allowClick = true;\n });\n\n if (!data.isTouched || !data.isMoved || !swiper.swipeDirection || touches.diff === 0 || data.currentTranslate === data.startTranslate) {\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n return;\n }\n\n data.isTouched = false;\n data.isMoved = false;\n data.startMoving = false;\n var currentPos;\n\n if (params.followFinger) {\n currentPos = rtl ? swiper.translate : -swiper.translate;\n } else {\n currentPos = -data.currentTranslate;\n }\n\n if (params.cssMode) {\n return;\n }\n\n if (params.freeMode) {\n if (currentPos < -swiper.minTranslate()) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (currentPos > -swiper.maxTranslate()) {\n if (swiper.slides.length < snapGrid.length) {\n swiper.slideTo(snapGrid.length - 1);\n } else {\n swiper.slideTo(swiper.slides.length - 1);\n }\n\n return;\n }\n\n if (params.freeModeMomentum) {\n if (data.velocities.length > 1) {\n var lastMoveEvent = data.velocities.pop();\n var velocityEvent = data.velocities.pop();\n var distance = lastMoveEvent.position - velocityEvent.position;\n var time = lastMoveEvent.time - velocityEvent.time;\n swiper.velocity = distance / time;\n swiper.velocity /= 2;\n\n if (Math.abs(swiper.velocity) < params.freeModeMinimumVelocity) {\n swiper.velocity = 0;\n } // this implies that the user stopped moving a finger then released.\n // There would be no events with distance zero, so the last event is stale.\n\n\n if (time > 150 || now() - lastMoveEvent.time > 300) {\n swiper.velocity = 0;\n }\n } else {\n swiper.velocity = 0;\n }\n\n swiper.velocity *= params.freeModeMomentumVelocityRatio;\n data.velocities.length = 0;\n var momentumDuration = 1000 * params.freeModeMomentumRatio;\n var momentumDistance = swiper.velocity * momentumDuration;\n var newPosition = swiper.translate + momentumDistance;\n if (rtl) newPosition = -newPosition;\n var doBounce = false;\n var afterBouncePosition;\n var bounceAmount = Math.abs(swiper.velocity) * 20 * params.freeModeMomentumBounceRatio;\n var needsLoopFix;\n\n if (newPosition < swiper.maxTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition + swiper.maxTranslate() < -bounceAmount) {\n newPosition = swiper.maxTranslate() - bounceAmount;\n }\n\n afterBouncePosition = swiper.maxTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.maxTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (newPosition > swiper.minTranslate()) {\n if (params.freeModeMomentumBounce) {\n if (newPosition - swiper.minTranslate() > bounceAmount) {\n newPosition = swiper.minTranslate() + bounceAmount;\n }\n\n afterBouncePosition = swiper.minTranslate();\n doBounce = true;\n data.allowMomentumBounce = true;\n } else {\n newPosition = swiper.minTranslate();\n }\n\n if (params.loop && params.centeredSlides) needsLoopFix = true;\n } else if (params.freeModeSticky) {\n var nextSlide;\n\n for (var j = 0; j < snapGrid.length; j += 1) {\n if (snapGrid[j] > -newPosition) {\n nextSlide = j;\n break;\n }\n }\n\n if (Math.abs(snapGrid[nextSlide] - newPosition) < Math.abs(snapGrid[nextSlide - 1] - newPosition) || swiper.swipeDirection === 'next') {\n newPosition = snapGrid[nextSlide];\n } else {\n newPosition = snapGrid[nextSlide - 1];\n }\n\n newPosition = -newPosition;\n }\n\n if (needsLoopFix) {\n swiper.once('transitionEnd', function () {\n swiper.loopFix();\n });\n } // Fix duration\n\n\n if (swiper.velocity !== 0) {\n if (rtl) {\n momentumDuration = Math.abs((-newPosition - swiper.translate) / swiper.velocity);\n } else {\n momentumDuration = Math.abs((newPosition - swiper.translate) / swiper.velocity);\n }\n\n if (params.freeModeSticky) {\n // If freeModeSticky is active and the user ends a swipe with a slow-velocity\n // event, then durations can be 20+ seconds to slide one (or zero!) slides.\n // It's easy to see this when simulating touch with mouse events. To fix this,\n // limit single-slide swipes to the default slide duration. This also has the\n // nice side effect of matching slide speed if the user stopped moving before\n // lifting finger or mouse vs. moving slowly before lifting the finger/mouse.\n // For faster swipes, also apply limits (albeit higher ones).\n var moveDistance = Math.abs((rtl ? -newPosition : newPosition) - swiper.translate);\n var currentSlideSize = swiper.slidesSizesGrid[swiper.activeIndex];\n\n if (moveDistance < currentSlideSize) {\n momentumDuration = params.speed;\n } else if (moveDistance < 2 * currentSlideSize) {\n momentumDuration = params.speed * 1.5;\n } else {\n momentumDuration = params.speed * 2.5;\n }\n }\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n }\n\n if (params.freeModeMomentumBounce && doBounce) {\n swiper.updateProgress(afterBouncePosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed || !data.allowMomentumBounce) return;\n swiper.emit('momentumBounce');\n swiper.setTransition(params.speed);\n setTimeout(function () {\n swiper.setTranslate(afterBouncePosition);\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }, 0);\n });\n } else if (swiper.velocity) {\n swiper.updateProgress(newPosition);\n swiper.setTransition(momentumDuration);\n swiper.setTranslate(newPosition);\n swiper.transitionStart(true, swiper.swipeDirection);\n\n if (!swiper.animating) {\n swiper.animating = true;\n $wrapperEl.transitionEnd(function () {\n if (!swiper || swiper.destroyed) return;\n swiper.transitionEnd();\n });\n }\n } else {\n swiper.emit('_freeModeNoMomentumRelease');\n swiper.updateProgress(newPosition);\n }\n\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n } else if (params.freeModeSticky) {\n swiper.slideToClosest();\n return;\n } else if (params.freeMode) {\n swiper.emit('_freeModeNoMomentumRelease');\n }\n\n if (!params.freeModeMomentum || timeDiff >= params.longSwipesMs) {\n swiper.updateProgress();\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n return;\n } // Find current slide\n\n\n var stopIndex = 0;\n var groupSize = swiper.slidesSizesGrid[0];\n\n for (var i = 0; i < slidesGrid.length; i += i < params.slidesPerGroupSkip ? 1 : params.slidesPerGroup) {\n var _increment = i < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (typeof slidesGrid[i + _increment] !== 'undefined') {\n if (currentPos >= slidesGrid[i] && currentPos < slidesGrid[i + _increment]) {\n stopIndex = i;\n groupSize = slidesGrid[i + _increment] - slidesGrid[i];\n }\n } else if (currentPos >= slidesGrid[i]) {\n stopIndex = i;\n groupSize = slidesGrid[slidesGrid.length - 1] - slidesGrid[slidesGrid.length - 2];\n }\n } // Find current slide size\n\n\n var ratio = (currentPos - slidesGrid[stopIndex]) / groupSize;\n var increment = stopIndex < params.slidesPerGroupSkip - 1 ? 1 : params.slidesPerGroup;\n\n if (timeDiff > params.longSwipesMs) {\n // Long touches\n if (!params.longSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n if (swiper.swipeDirection === 'next') {\n if (ratio >= params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n\n if (swiper.swipeDirection === 'prev') {\n if (ratio > 1 - params.longSwipesRatio) swiper.slideTo(stopIndex + increment);else swiper.slideTo(stopIndex);\n }\n } else {\n // Short swipes\n if (!params.shortSwipes) {\n swiper.slideTo(swiper.activeIndex);\n return;\n }\n\n var isNavButtonTarget = swiper.navigation && (e.target === swiper.navigation.nextEl || e.target === swiper.navigation.prevEl);\n\n if (!isNavButtonTarget) {\n if (swiper.swipeDirection === 'next') {\n swiper.slideTo(stopIndex + increment);\n }\n\n if (swiper.swipeDirection === 'prev') {\n swiper.slideTo(stopIndex);\n }\n } else if (e.target === swiper.navigation.nextEl) {\n swiper.slideTo(stopIndex + increment);\n } else {\n swiper.slideTo(stopIndex);\n }\n }\n}","export default function onResize() {\n var swiper = this;\n var params = swiper.params,\n el = swiper.el;\n if (el && el.offsetWidth === 0) return; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n } // Save locks\n\n\n var allowSlideNext = swiper.allowSlideNext,\n allowSlidePrev = swiper.allowSlidePrev,\n snapGrid = swiper.snapGrid; // Disable locks on resize\n\n swiper.allowSlideNext = true;\n swiper.allowSlidePrev = true;\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateSlidesClasses();\n\n if ((params.slidesPerView === 'auto' || params.slidesPerView > 1) && swiper.isEnd && !swiper.isBeginning && !swiper.params.centeredSlides) {\n swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (swiper.autoplay && swiper.autoplay.running && swiper.autoplay.paused) {\n swiper.autoplay.run();\n } // Return locks after resize\n\n\n swiper.allowSlidePrev = allowSlidePrev;\n swiper.allowSlideNext = allowSlideNext;\n\n if (swiper.params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n}","export default function onClick(e) {\n var swiper = this;\n if (!swiper.enabled) return;\n\n if (!swiper.allowClick) {\n if (swiper.params.preventClicks) e.preventDefault();\n\n if (swiper.params.preventClicksPropagation && swiper.animating) {\n e.stopPropagation();\n e.stopImmediatePropagation();\n }\n }\n}","export default function onScroll() {\n var swiper = this;\n var wrapperEl = swiper.wrapperEl,\n rtlTranslate = swiper.rtlTranslate,\n enabled = swiper.enabled;\n if (!enabled) return;\n swiper.previousTranslate = swiper.translate;\n\n if (swiper.isHorizontal()) {\n if (rtlTranslate) {\n swiper.translate = wrapperEl.scrollWidth - wrapperEl.offsetWidth - wrapperEl.scrollLeft;\n } else {\n swiper.translate = -wrapperEl.scrollLeft;\n }\n } else {\n swiper.translate = -wrapperEl.scrollTop;\n } // eslint-disable-next-line\n\n\n if (swiper.translate === -0) swiper.translate = 0;\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n var newProgress;\n var translatesDiff = swiper.maxTranslate() - swiper.minTranslate();\n\n if (translatesDiff === 0) {\n newProgress = 0;\n } else {\n newProgress = (swiper.translate - swiper.minTranslate()) / translatesDiff;\n }\n\n if (newProgress !== swiper.progress) {\n swiper.updateProgress(rtlTranslate ? -swiper.translate : swiper.translate);\n }\n\n swiper.emit('setTranslate', swiper.translate, false);\n}","import { getDocument } from 'ssr-window';\nimport onTouchStart from './onTouchStart';\nimport onTouchMove from './onTouchMove';\nimport onTouchEnd from './onTouchEnd';\nimport onResize from './onResize';\nimport onClick from './onClick';\nimport onScroll from './onScroll';\nvar dummyEventAttached = false;\n\nfunction dummyEventListener() {}\n\nfunction attachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n swiper.onTouchStart = onTouchStart.bind(swiper);\n swiper.onTouchMove = onTouchMove.bind(swiper);\n swiper.onTouchEnd = onTouchEnd.bind(swiper);\n\n if (params.cssMode) {\n swiper.onScroll = onScroll.bind(swiper);\n }\n\n swiper.onClick = onClick.bind(swiper);\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.addEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.addEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.addEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'touchstart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.addEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.addEventListener(touchEvents.move, swiper.onTouchMove, support.passiveListener ? {\n passive: false,\n capture: capture\n } : capture);\n el.addEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.addEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n\n if (!dummyEventAttached) {\n document.addEventListener('touchstart', dummyEventListener);\n dummyEventAttached = true;\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.addEventListener('mousedown', swiper.onTouchStart, false);\n document.addEventListener('mousemove', swiper.onTouchMove, capture);\n document.addEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.addEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.addEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n if (params.updateOnWindowResize) {\n swiper.on(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize, true);\n } else {\n swiper.on('observerUpdate', onResize, true);\n }\n}\n\nfunction detachEvents() {\n var swiper = this;\n var document = getDocument();\n var params = swiper.params,\n touchEvents = swiper.touchEvents,\n el = swiper.el,\n wrapperEl = swiper.wrapperEl,\n device = swiper.device,\n support = swiper.support;\n var capture = !!params.nested; // Touch Events\n\n if (!support.touch && support.pointerEvents) {\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, false);\n document.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n document.removeEventListener(touchEvents.end, swiper.onTouchEnd, false);\n } else {\n if (support.touch) {\n var passiveListener = touchEvents.start === 'onTouchStart' && support.passiveListener && params.passiveListeners ? {\n passive: true,\n capture: false\n } : false;\n el.removeEventListener(touchEvents.start, swiper.onTouchStart, passiveListener);\n el.removeEventListener(touchEvents.move, swiper.onTouchMove, capture);\n el.removeEventListener(touchEvents.end, swiper.onTouchEnd, passiveListener);\n\n if (touchEvents.cancel) {\n el.removeEventListener(touchEvents.cancel, swiper.onTouchEnd, passiveListener);\n }\n }\n\n if (params.simulateTouch && !device.ios && !device.android || params.simulateTouch && !support.touch && device.ios) {\n el.removeEventListener('mousedown', swiper.onTouchStart, false);\n document.removeEventListener('mousemove', swiper.onTouchMove, capture);\n document.removeEventListener('mouseup', swiper.onTouchEnd, false);\n }\n } // Prevent Links Clicks\n\n\n if (params.preventClicks || params.preventClicksPropagation) {\n el.removeEventListener('click', swiper.onClick, true);\n }\n\n if (params.cssMode) {\n wrapperEl.removeEventListener('scroll', swiper.onScroll);\n } // Resize handler\n\n\n swiper.off(device.ios || device.android ? 'resize orientationchange observerUpdate' : 'resize observerUpdate', onResize);\n}\n\nexport default {\n attachEvents: attachEvents,\n detachEvents: detachEvents\n};","import { extend } from '../../../utils/utils';\nexport default function setBreakpoint() {\n var swiper = this;\n var activeIndex = swiper.activeIndex,\n initialized = swiper.initialized,\n _swiper$loopedSlides = swiper.loopedSlides,\n loopedSlides = _swiper$loopedSlides === void 0 ? 0 : _swiper$loopedSlides,\n params = swiper.params,\n $el = swiper.$el;\n var breakpoints = params.breakpoints;\n if (!breakpoints || breakpoints && Object.keys(breakpoints).length === 0) return; // Get breakpoint for window width and update parameters\n\n var breakpoint = swiper.getBreakpoint(breakpoints, swiper.params.breakpointsBase, swiper.el);\n if (!breakpoint || swiper.currentBreakpoint === breakpoint) return;\n var breakpointOnlyParams = breakpoint in breakpoints ? breakpoints[breakpoint] : undefined;\n\n if (breakpointOnlyParams) {\n ['slidesPerView', 'spaceBetween', 'slidesPerGroup', 'slidesPerGroupSkip', 'slidesPerColumn'].forEach(function (param) {\n var paramValue = breakpointOnlyParams[param];\n if (typeof paramValue === 'undefined') return;\n\n if (param === 'slidesPerView' && (paramValue === 'AUTO' || paramValue === 'auto')) {\n breakpointOnlyParams[param] = 'auto';\n } else if (param === 'slidesPerView') {\n breakpointOnlyParams[param] = parseFloat(paramValue);\n } else {\n breakpointOnlyParams[param] = parseInt(paramValue, 10);\n }\n });\n }\n\n var breakpointParams = breakpointOnlyParams || swiper.originalParams;\n var wasMultiRow = params.slidesPerColumn > 1;\n var isMultiRow = breakpointParams.slidesPerColumn > 1;\n var wasEnabled = params.enabled;\n\n if (wasMultiRow && !isMultiRow) {\n $el.removeClass(params.containerModifierClass + \"multirow \" + params.containerModifierClass + \"multirow-column\");\n swiper.emitContainerClasses();\n } else if (!wasMultiRow && isMultiRow) {\n $el.addClass(params.containerModifierClass + \"multirow\");\n\n if (breakpointParams.slidesPerColumnFill && breakpointParams.slidesPerColumnFill === 'column' || !breakpointParams.slidesPerColumnFill && params.slidesPerColumnFill === 'column') {\n $el.addClass(params.containerModifierClass + \"multirow-column\");\n }\n\n swiper.emitContainerClasses();\n }\n\n var directionChanged = breakpointParams.direction && breakpointParams.direction !== params.direction;\n var needsReLoop = params.loop && (breakpointParams.slidesPerView !== params.slidesPerView || directionChanged);\n\n if (directionChanged && initialized) {\n swiper.changeDirection();\n }\n\n extend(swiper.params, breakpointParams);\n var isEnabled = swiper.params.enabled;\n extend(swiper, {\n allowTouchMove: swiper.params.allowTouchMove,\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev\n });\n\n if (wasEnabled && !isEnabled) {\n swiper.disable();\n } else if (!wasEnabled && isEnabled) {\n swiper.enable();\n }\n\n swiper.currentBreakpoint = breakpoint;\n swiper.emit('_beforeBreakpoint', breakpointParams);\n\n if (needsReLoop && initialized) {\n swiper.loopDestroy();\n swiper.loopCreate();\n swiper.updateSlides();\n swiper.slideTo(activeIndex - loopedSlides + swiper.loopedSlides, 0, false);\n }\n\n swiper.emit('breakpoint', breakpointParams);\n}","import { getWindow } from 'ssr-window';\nexport default function getBreakpoint(breakpoints, base, containerEl) {\n if (base === void 0) {\n base = 'window';\n }\n\n if (!breakpoints || base === 'container' && !containerEl) return undefined;\n var breakpoint = false;\n var window = getWindow();\n var currentHeight = base === 'window' ? window.innerHeight : containerEl.clientHeight;\n var points = Object.keys(breakpoints).map(function (point) {\n if (typeof point === 'string' && point.indexOf('@') === 0) {\n var minRatio = parseFloat(point.substr(1));\n var value = currentHeight * minRatio;\n return {\n value: value,\n point: point\n };\n }\n\n return {\n value: point,\n point: point\n };\n });\n points.sort(function (a, b) {\n return parseInt(a.value, 10) - parseInt(b.value, 10);\n });\n\n for (var i = 0; i < points.length; i += 1) {\n var _points$i = points[i],\n point = _points$i.point,\n value = _points$i.value;\n\n if (base === 'window') {\n if (window.matchMedia(\"(min-width: \" + value + \"px)\").matches) {\n breakpoint = point;\n }\n } else if (value <= containerEl.clientWidth) {\n breakpoint = point;\n }\n }\n\n return breakpoint || 'max';\n}","import setBreakpoint from './setBreakpoint';\nimport getBreakpoint from './getBreakpoint';\nexport default {\n setBreakpoint: setBreakpoint,\n getBreakpoint: getBreakpoint\n};","function prepareClasses(entries, prefix) {\n var resultClasses = [];\n entries.forEach(function (item) {\n if (typeof item === 'object') {\n Object.keys(item).forEach(function (classNames) {\n if (item[classNames]) {\n resultClasses.push(prefix + classNames);\n }\n });\n } else if (typeof item === 'string') {\n resultClasses.push(prefix + item);\n }\n });\n return resultClasses;\n}\n\nexport default function addClasses() {\n var swiper = this;\n var classNames = swiper.classNames,\n params = swiper.params,\n rtl = swiper.rtl,\n $el = swiper.$el,\n device = swiper.device,\n support = swiper.support; // prettier-ignore\n\n var suffixes = prepareClasses(['initialized', params.direction, {\n 'pointer-events': support.pointerEvents && !support.touch\n }, {\n 'free-mode': params.freeMode\n }, {\n 'autoheight': params.autoHeight\n }, {\n 'rtl': rtl\n }, {\n 'multirow': params.slidesPerColumn > 1\n }, {\n 'multirow-column': params.slidesPerColumn > 1 && params.slidesPerColumnFill === 'column'\n }, {\n 'android': device.android\n }, {\n 'ios': device.ios\n }, {\n 'css-mode': params.cssMode\n }], params.containerModifierClass);\n classNames.push.apply(classNames, suffixes);\n $el.addClass([].concat(classNames).join(' '));\n swiper.emitContainerClasses();\n}","export default function removeClasses() {\n var swiper = this;\n var $el = swiper.$el,\n classNames = swiper.classNames;\n $el.removeClass(classNames.join(' '));\n swiper.emitContainerClasses();\n}","import addClasses from './addClasses';\nimport removeClasses from './removeClasses';\nexport default {\n addClasses: addClasses,\n removeClasses: removeClasses\n};","import { getWindow } from 'ssr-window';\nimport $ from '../../../utils/dom';\nexport default function loadImage(imageEl, src, srcset, sizes, checkForComplete, callback) {\n var window = getWindow();\n var image;\n\n function onReady() {\n if (callback) callback();\n }\n\n var isPicture = $(imageEl).parent('picture')[0];\n\n if (!isPicture && (!imageEl.complete || !checkForComplete)) {\n if (src) {\n image = new window.Image();\n image.onload = onReady;\n image.onerror = onReady;\n\n if (sizes) {\n image.sizes = sizes;\n }\n\n if (srcset) {\n image.srcset = srcset;\n }\n\n if (src) {\n image.src = src;\n }\n } else {\n onReady();\n }\n } else {\n // image already loaded...\n onReady();\n }\n}","export default function preloadImages() {\n var swiper = this;\n swiper.imagesToLoad = swiper.$el.find('img');\n\n function onReady() {\n if (typeof swiper === 'undefined' || swiper === null || !swiper || swiper.destroyed) return;\n if (swiper.imagesLoaded !== undefined) swiper.imagesLoaded += 1;\n\n if (swiper.imagesLoaded === swiper.imagesToLoad.length) {\n if (swiper.params.updateOnImagesReady) swiper.update();\n swiper.emit('imagesReady');\n }\n }\n\n for (var i = 0; i < swiper.imagesToLoad.length; i += 1) {\n var imageEl = swiper.imagesToLoad[i];\n swiper.loadImage(imageEl, imageEl.currentSrc || imageEl.getAttribute('src'), imageEl.srcset || imageEl.getAttribute('srcset'), imageEl.sizes || imageEl.getAttribute('sizes'), true, onReady);\n }\n}","import loadImage from './loadImage';\nimport preloadImages from './preloadImages';\nexport default {\n loadImage: loadImage,\n preloadImages: preloadImages\n};","function checkOverflow() {\n var swiper = this;\n var params = swiper.params;\n var wasLocked = swiper.isLocked;\n var lastSlidePosition = swiper.slides.length > 0 && params.slidesOffsetBefore + params.spaceBetween * (swiper.slides.length - 1) + swiper.slides[0].offsetWidth * swiper.slides.length;\n\n if (params.slidesOffsetBefore && params.slidesOffsetAfter && lastSlidePosition) {\n swiper.isLocked = lastSlidePosition <= swiper.size;\n } else {\n swiper.isLocked = swiper.snapGrid.length === 1;\n }\n\n swiper.allowSlideNext = !swiper.isLocked;\n swiper.allowSlidePrev = !swiper.isLocked; // events\n\n if (wasLocked !== swiper.isLocked) swiper.emit(swiper.isLocked ? 'lock' : 'unlock');\n\n if (wasLocked && wasLocked !== swiper.isLocked) {\n swiper.isEnd = false;\n if (swiper.navigation) swiper.navigation.update();\n }\n}\n\nexport default {\n checkOverflow: checkOverflow\n};","export default {\n init: true,\n direction: 'horizontal',\n touchEventsTarget: 'container',\n initialSlide: 0,\n speed: 300,\n cssMode: false,\n updateOnWindowResize: true,\n resizeObserver: false,\n nested: false,\n createElements: false,\n enabled: true,\n focusableElements: 'input, select, option, textarea, button, video, label',\n // Overrides\n width: null,\n height: null,\n //\n preventInteractionOnTransition: false,\n // ssr\n userAgent: null,\n url: null,\n // To support iOS's swipe-to-go-back gesture (when being used in-app).\n edgeSwipeDetection: false,\n edgeSwipeThreshold: 20,\n // Free mode\n freeMode: false,\n freeModeMomentum: true,\n freeModeMomentumRatio: 1,\n freeModeMomentumBounce: true,\n freeModeMomentumBounceRatio: 1,\n freeModeMomentumVelocityRatio: 1,\n freeModeSticky: false,\n freeModeMinimumVelocity: 0.02,\n // Autoheight\n autoHeight: false,\n // Set wrapper width\n setWrapperSize: false,\n // Virtual Translate\n virtualTranslate: false,\n // Effects\n effect: 'slide',\n // 'slide' or 'fade' or 'cube' or 'coverflow' or 'flip'\n // Breakpoints\n breakpoints: undefined,\n breakpointsBase: 'window',\n // Slides grid\n spaceBetween: 0,\n slidesPerView: 1,\n slidesPerColumn: 1,\n slidesPerColumnFill: 'column',\n slidesPerGroup: 1,\n slidesPerGroupSkip: 0,\n centeredSlides: false,\n centeredSlidesBounds: false,\n slidesOffsetBefore: 0,\n // in px\n slidesOffsetAfter: 0,\n // in px\n normalizeSlideIndex: true,\n centerInsufficientSlides: false,\n // Disable swiper and hide navigation when container not overflow\n watchOverflow: false,\n // Round length\n roundLengths: false,\n // Touches\n touchRatio: 1,\n touchAngle: 45,\n simulateTouch: true,\n shortSwipes: true,\n longSwipes: true,\n longSwipesRatio: 0.5,\n longSwipesMs: 300,\n followFinger: true,\n allowTouchMove: true,\n threshold: 0,\n touchMoveStopPropagation: false,\n touchStartPreventDefault: true,\n touchStartForcePreventDefault: false,\n touchReleaseOnEdges: false,\n // Unique Navigation Elements\n uniqueNavElements: true,\n // Resistance\n resistance: true,\n resistanceRatio: 0.85,\n // Progress\n watchSlidesProgress: false,\n watchSlidesVisibility: false,\n // Cursor\n grabCursor: false,\n // Clicks\n preventClicks: true,\n preventClicksPropagation: true,\n slideToClickedSlide: false,\n // Images\n preloadImages: true,\n updateOnImagesReady: true,\n // loop\n loop: false,\n loopAdditionalSlides: 0,\n loopedSlides: null,\n loopFillGroupWithBlank: false,\n loopPreventsSlide: true,\n // Swiping/no swiping\n allowSlidePrev: true,\n allowSlideNext: true,\n swipeHandler: null,\n // '.swipe-handler',\n noSwiping: true,\n noSwipingClass: 'swiper-no-swiping',\n noSwipingSelector: null,\n // Passive Listeners\n passiveListeners: true,\n // NS\n containerModifierClass: 'swiper-container-',\n // NEW\n slideClass: 'swiper-slide',\n slideBlankClass: 'swiper-slide-invisible-blank',\n slideActiveClass: 'swiper-slide-active',\n slideDuplicateActiveClass: 'swiper-slide-duplicate-active',\n slideVisibleClass: 'swiper-slide-visible',\n slideDuplicateClass: 'swiper-slide-duplicate',\n slideNextClass: 'swiper-slide-next',\n slideDuplicateNextClass: 'swiper-slide-duplicate-next',\n slidePrevClass: 'swiper-slide-prev',\n slideDuplicatePrevClass: 'swiper-slide-duplicate-prev',\n wrapperClass: 'swiper-wrapper',\n // Callbacks\n runCallbacksOnInit: true,\n // Internals\n _emitClasses: false\n};","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n/* eslint no-param-reassign: \"off\" */\nimport { getDocument } from 'ssr-window';\nimport $ from '../../utils/dom';\nimport { extend, now, deleteProps } from '../../utils/utils';\nimport { getSupport } from '../../utils/get-support';\nimport { getDevice } from '../../utils/get-device';\nimport { getBrowser } from '../../utils/get-browser';\nimport Resize from '../../modules/resize/resize';\nimport Observer from '../../modules/observer/observer';\nimport modular from './modular';\nimport eventsEmitter from './events-emitter';\nimport update from './update/index';\nimport translate from './translate/index';\nimport transition from './transition/index';\nimport slide from './slide/index';\nimport loop from './loop/index';\nimport grabCursor from './grab-cursor/index';\nimport manipulation from './manipulation/index';\nimport events from './events/index';\nimport breakpoints from './breakpoints/index';\nimport classes from './classes/index';\nimport images from './images/index';\nimport checkOverflow from './check-overflow/index';\nimport defaults from './defaults';\nvar prototypes = {\n modular: modular,\n eventsEmitter: eventsEmitter,\n update: update,\n translate: translate,\n transition: transition,\n slide: slide,\n loop: loop,\n grabCursor: grabCursor,\n manipulation: manipulation,\n events: events,\n breakpoints: breakpoints,\n checkOverflow: checkOverflow,\n classes: classes,\n images: images\n};\nvar extendedDefaults = {};\n\nvar Swiper = /*#__PURE__*/function () {\n function Swiper() {\n var el;\n var params;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (args.length === 1 && args[0].constructor && Object.prototype.toString.call(args[0]).slice(8, -1) === 'Object') {\n params = args[0];\n } else {\n el = args[0];\n params = args[1];\n }\n\n if (!params) params = {};\n params = extend({}, params);\n if (el && !params.el) params.el = el;\n\n if (params.el && $(params.el).length > 1) {\n var swipers = [];\n $(params.el).each(function (containerEl) {\n var newParams = extend({}, params, {\n el: containerEl\n });\n swipers.push(new Swiper(newParams));\n });\n return swipers;\n } // Swiper Instance\n\n\n var swiper = this;\n swiper.__swiper__ = true;\n swiper.support = getSupport();\n swiper.device = getDevice({\n userAgent: params.userAgent\n });\n swiper.browser = getBrowser();\n swiper.eventsListeners = {};\n swiper.eventsAnyListeners = [];\n\n if (typeof swiper.modules === 'undefined') {\n swiper.modules = {};\n }\n\n Object.keys(swiper.modules).forEach(function (moduleName) {\n var module = swiper.modules[moduleName];\n\n if (module.params) {\n var moduleParamName = Object.keys(module.params)[0];\n var moduleParams = module.params[moduleParamName];\n if (typeof moduleParams !== 'object' || moduleParams === null) return;\n\n if (['navigation', 'pagination', 'scrollbar'].indexOf(moduleParamName) >= 0 && params[moduleParamName] === true) {\n params[moduleParamName] = {\n auto: true\n };\n }\n\n if (!(moduleParamName in params && 'enabled' in moduleParams)) return;\n\n if (params[moduleParamName] === true) {\n params[moduleParamName] = {\n enabled: true\n };\n }\n\n if (typeof params[moduleParamName] === 'object' && !('enabled' in params[moduleParamName])) {\n params[moduleParamName].enabled = true;\n }\n\n if (!params[moduleParamName]) params[moduleParamName] = {\n enabled: false\n };\n }\n }); // Extend defaults with modules params\n\n var swiperParams = extend({}, defaults);\n swiper.useParams(swiperParams); // Extend defaults with passed params\n\n swiper.params = extend({}, swiperParams, extendedDefaults, params);\n swiper.originalParams = extend({}, swiper.params);\n swiper.passedParams = extend({}, params); // add event listeners\n\n if (swiper.params && swiper.params.on) {\n Object.keys(swiper.params.on).forEach(function (eventName) {\n swiper.on(eventName, swiper.params.on[eventName]);\n });\n }\n\n if (swiper.params && swiper.params.onAny) {\n swiper.onAny(swiper.params.onAny);\n } // Save Dom lib\n\n\n swiper.$ = $; // Extend Swiper\n\n extend(swiper, {\n enabled: swiper.params.enabled,\n el: el,\n // Classes\n classNames: [],\n // Slides\n slides: $(),\n slidesGrid: [],\n snapGrid: [],\n slidesSizesGrid: [],\n // isDirection\n isHorizontal: function isHorizontal() {\n return swiper.params.direction === 'horizontal';\n },\n isVertical: function isVertical() {\n return swiper.params.direction === 'vertical';\n },\n // Indexes\n activeIndex: 0,\n realIndex: 0,\n //\n isBeginning: true,\n isEnd: false,\n // Props\n translate: 0,\n previousTranslate: 0,\n progress: 0,\n velocity: 0,\n animating: false,\n // Locks\n allowSlideNext: swiper.params.allowSlideNext,\n allowSlidePrev: swiper.params.allowSlidePrev,\n // Touch Events\n touchEvents: function touchEvents() {\n var touch = ['touchstart', 'touchmove', 'touchend', 'touchcancel'];\n var desktop = ['mousedown', 'mousemove', 'mouseup'];\n\n if (swiper.support.pointerEvents) {\n desktop = ['pointerdown', 'pointermove', 'pointerup'];\n }\n\n swiper.touchEventsTouch = {\n start: touch[0],\n move: touch[1],\n end: touch[2],\n cancel: touch[3]\n };\n swiper.touchEventsDesktop = {\n start: desktop[0],\n move: desktop[1],\n end: desktop[2]\n };\n return swiper.support.touch || !swiper.params.simulateTouch ? swiper.touchEventsTouch : swiper.touchEventsDesktop;\n }(),\n touchEventsData: {\n isTouched: undefined,\n isMoved: undefined,\n allowTouchCallbacks: undefined,\n touchStartTime: undefined,\n isScrolling: undefined,\n currentTranslate: undefined,\n startTranslate: undefined,\n allowThresholdMove: undefined,\n // Form elements to match\n focusableElements: swiper.params.focusableElements,\n // Last click time\n lastClickTime: now(),\n clickTimeout: undefined,\n // Velocities\n velocities: [],\n allowMomentumBounce: undefined,\n isTouchEvent: undefined,\n startMoving: undefined\n },\n // Clicks\n allowClick: true,\n // Touches\n allowTouchMove: swiper.params.allowTouchMove,\n touches: {\n startX: 0,\n startY: 0,\n currentX: 0,\n currentY: 0,\n diff: 0\n },\n // Images\n imagesToLoad: [],\n imagesLoaded: 0\n }); // Install Modules\n\n swiper.useModules();\n swiper.emit('_swiper'); // Init\n\n if (swiper.params.init) {\n swiper.init();\n } // Return app instance\n\n\n return swiper;\n }\n\n var _proto = Swiper.prototype;\n\n _proto.enable = function enable() {\n var swiper = this;\n if (swiper.enabled) return;\n swiper.enabled = true;\n\n if (swiper.params.grabCursor) {\n swiper.setGrabCursor();\n }\n\n swiper.emit('enable');\n };\n\n _proto.disable = function disable() {\n var swiper = this;\n if (!swiper.enabled) return;\n swiper.enabled = false;\n\n if (swiper.params.grabCursor) {\n swiper.unsetGrabCursor();\n }\n\n swiper.emit('disable');\n };\n\n _proto.setProgress = function setProgress(progress, speed) {\n var swiper = this;\n progress = Math.min(Math.max(progress, 0), 1);\n var min = swiper.minTranslate();\n var max = swiper.maxTranslate();\n var current = (max - min) * progress + min;\n swiper.translateTo(current, typeof speed === 'undefined' ? 0 : speed);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n };\n\n _proto.emitContainerClasses = function emitContainerClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var classes = swiper.el.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-container') === 0 || className.indexOf(swiper.params.containerModifierClass) === 0;\n });\n swiper.emit('_containerClasses', classes.join(' '));\n };\n\n _proto.getSlideClasses = function getSlideClasses(slideEl) {\n var swiper = this;\n return slideEl.className.split(' ').filter(function (className) {\n return className.indexOf('swiper-slide') === 0 || className.indexOf(swiper.params.slideClass) === 0;\n }).join(' ');\n };\n\n _proto.emitSlidesClasses = function emitSlidesClasses() {\n var swiper = this;\n if (!swiper.params._emitClasses || !swiper.el) return;\n var updates = [];\n swiper.slides.each(function (slideEl) {\n var classNames = swiper.getSlideClasses(slideEl);\n updates.push({\n slideEl: slideEl,\n classNames: classNames\n });\n swiper.emit('_slideClass', slideEl, classNames);\n });\n swiper.emit('_slideClasses', updates);\n };\n\n _proto.slidesPerViewDynamic = function slidesPerViewDynamic() {\n var swiper = this;\n var params = swiper.params,\n slides = swiper.slides,\n slidesGrid = swiper.slidesGrid,\n swiperSize = swiper.size,\n activeIndex = swiper.activeIndex;\n var spv = 1;\n\n if (params.centeredSlides) {\n var slideSize = slides[activeIndex].swiperSlideSize;\n var breakLoop;\n\n for (var i = activeIndex + 1; i < slides.length; i += 1) {\n if (slides[i] && !breakLoop) {\n slideSize += slides[i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n\n for (var _i = activeIndex - 1; _i >= 0; _i -= 1) {\n if (slides[_i] && !breakLoop) {\n slideSize += slides[_i].swiperSlideSize;\n spv += 1;\n if (slideSize > swiperSize) breakLoop = true;\n }\n }\n } else {\n for (var _i2 = activeIndex + 1; _i2 < slides.length; _i2 += 1) {\n if (slidesGrid[_i2] - slidesGrid[activeIndex] < swiperSize) {\n spv += 1;\n }\n }\n }\n\n return spv;\n };\n\n _proto.update = function update() {\n var swiper = this;\n if (!swiper || swiper.destroyed) return;\n var snapGrid = swiper.snapGrid,\n params = swiper.params; // Breakpoints\n\n if (params.breakpoints) {\n swiper.setBreakpoint();\n }\n\n swiper.updateSize();\n swiper.updateSlides();\n swiper.updateProgress();\n swiper.updateSlidesClasses();\n\n function setTranslate() {\n var translateValue = swiper.rtlTranslate ? swiper.translate * -1 : swiper.translate;\n var newTranslate = Math.min(Math.max(translateValue, swiper.maxTranslate()), swiper.minTranslate());\n swiper.setTranslate(newTranslate);\n swiper.updateActiveIndex();\n swiper.updateSlidesClasses();\n }\n\n var translated;\n\n if (swiper.params.freeMode) {\n setTranslate();\n\n if (swiper.params.autoHeight) {\n swiper.updateAutoHeight();\n }\n } else {\n if ((swiper.params.slidesPerView === 'auto' || swiper.params.slidesPerView > 1) && swiper.isEnd && !swiper.params.centeredSlides) {\n translated = swiper.slideTo(swiper.slides.length - 1, 0, false, true);\n } else {\n translated = swiper.slideTo(swiper.activeIndex, 0, false, true);\n }\n\n if (!translated) {\n setTranslate();\n }\n }\n\n if (params.watchOverflow && snapGrid !== swiper.snapGrid) {\n swiper.checkOverflow();\n }\n\n swiper.emit('update');\n };\n\n _proto.changeDirection = function changeDirection(newDirection, needUpdate) {\n if (needUpdate === void 0) {\n needUpdate = true;\n }\n\n var swiper = this;\n var currentDirection = swiper.params.direction;\n\n if (!newDirection) {\n // eslint-disable-next-line\n newDirection = currentDirection === 'horizontal' ? 'vertical' : 'horizontal';\n }\n\n if (newDirection === currentDirection || newDirection !== 'horizontal' && newDirection !== 'vertical') {\n return swiper;\n }\n\n swiper.$el.removeClass(\"\" + swiper.params.containerModifierClass + currentDirection).addClass(\"\" + swiper.params.containerModifierClass + newDirection);\n swiper.emitContainerClasses();\n swiper.params.direction = newDirection;\n swiper.slides.each(function (slideEl) {\n if (newDirection === 'vertical') {\n slideEl.style.width = '';\n } else {\n slideEl.style.height = '';\n }\n });\n swiper.emit('changeDirection');\n if (needUpdate) swiper.update();\n return swiper;\n };\n\n _proto.mount = function mount(el) {\n var swiper = this;\n if (swiper.mounted) return true; // Find el\n\n var $el = $(el || swiper.params.el);\n el = $el[0];\n\n if (!el) {\n return false;\n }\n\n el.swiper = swiper;\n\n var getWrapperSelector = function getWrapperSelector() {\n return \".\" + (swiper.params.wrapperClass || '').trim().split(' ').join('.');\n };\n\n var getWrapper = function getWrapper() {\n if (el && el.shadowRoot && el.shadowRoot.querySelector) {\n var res = $(el.shadowRoot.querySelector(getWrapperSelector())); // Children needs to return slot items\n\n res.children = function (options) {\n return $el.children(options);\n };\n\n return res;\n }\n\n return $el.children(getWrapperSelector());\n }; // Find Wrapper\n\n\n var $wrapperEl = getWrapper();\n\n if ($wrapperEl.length === 0 && swiper.params.createElements) {\n var document = getDocument();\n var wrapper = document.createElement('div');\n $wrapperEl = $(wrapper);\n wrapper.className = swiper.params.wrapperClass;\n $el.append(wrapper);\n $el.children(\".\" + swiper.params.slideClass).each(function (slideEl) {\n $wrapperEl.append(slideEl);\n });\n }\n\n extend(swiper, {\n $el: $el,\n el: el,\n $wrapperEl: $wrapperEl,\n wrapperEl: $wrapperEl[0],\n mounted: true,\n // RTL\n rtl: el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl',\n rtlTranslate: swiper.params.direction === 'horizontal' && (el.dir.toLowerCase() === 'rtl' || $el.css('direction') === 'rtl'),\n wrongRTL: $wrapperEl.css('display') === '-webkit-box'\n });\n return true;\n };\n\n _proto.init = function init(el) {\n var swiper = this;\n if (swiper.initialized) return swiper;\n var mounted = swiper.mount(el);\n if (mounted === false) return swiper;\n swiper.emit('beforeInit'); // Set breakpoint\n\n if (swiper.params.breakpoints) {\n swiper.setBreakpoint();\n } // Add Classes\n\n\n swiper.addClasses(); // Create loop\n\n if (swiper.params.loop) {\n swiper.loopCreate();\n } // Update size\n\n\n swiper.updateSize(); // Update slides\n\n swiper.updateSlides();\n\n if (swiper.params.watchOverflow) {\n swiper.checkOverflow();\n } // Set Grab Cursor\n\n\n if (swiper.params.grabCursor && swiper.enabled) {\n swiper.setGrabCursor();\n }\n\n if (swiper.params.preloadImages) {\n swiper.preloadImages();\n } // Slide To Initial Slide\n\n\n if (swiper.params.loop) {\n swiper.slideTo(swiper.params.initialSlide + swiper.loopedSlides, 0, swiper.params.runCallbacksOnInit, false, true);\n } else {\n swiper.slideTo(swiper.params.initialSlide, 0, swiper.params.runCallbacksOnInit, false, true);\n } // Attach events\n\n\n swiper.attachEvents(); // Init Flag\n\n swiper.initialized = true; // Emit\n\n swiper.emit('init');\n swiper.emit('afterInit');\n return swiper;\n };\n\n _proto.destroy = function destroy(deleteInstance, cleanStyles) {\n if (deleteInstance === void 0) {\n deleteInstance = true;\n }\n\n if (cleanStyles === void 0) {\n cleanStyles = true;\n }\n\n var swiper = this;\n var params = swiper.params,\n $el = swiper.$el,\n $wrapperEl = swiper.$wrapperEl,\n slides = swiper.slides;\n\n if (typeof swiper.params === 'undefined' || swiper.destroyed) {\n return null;\n }\n\n swiper.emit('beforeDestroy'); // Init Flag\n\n swiper.initialized = false; // Detach events\n\n swiper.detachEvents(); // Destroy loop\n\n if (params.loop) {\n swiper.loopDestroy();\n } // Cleanup styles\n\n\n if (cleanStyles) {\n swiper.removeClasses();\n $el.removeAttr('style');\n $wrapperEl.removeAttr('style');\n\n if (slides && slides.length) {\n slides.removeClass([params.slideVisibleClass, params.slideActiveClass, params.slideNextClass, params.slidePrevClass].join(' ')).removeAttr('style').removeAttr('data-swiper-slide-index');\n }\n }\n\n swiper.emit('destroy'); // Detach emitter events\n\n Object.keys(swiper.eventsListeners).forEach(function (eventName) {\n swiper.off(eventName);\n });\n\n if (deleteInstance !== false) {\n swiper.$el[0].swiper = null;\n deleteProps(swiper);\n }\n\n swiper.destroyed = true;\n return null;\n };\n\n Swiper.extendDefaults = function extendDefaults(newDefaults) {\n extend(extendedDefaults, newDefaults);\n };\n\n Swiper.installModule = function installModule(module) {\n if (!Swiper.prototype.modules) Swiper.prototype.modules = {};\n var name = module.name || Object.keys(Swiper.prototype.modules).length + \"_\" + now();\n Swiper.prototype.modules[name] = module;\n };\n\n Swiper.use = function use(module) {\n if (Array.isArray(module)) {\n module.forEach(function (m) {\n return Swiper.installModule(m);\n });\n return Swiper;\n }\n\n Swiper.installModule(module);\n return Swiper;\n };\n\n _createClass(Swiper, null, [{\n key: \"extendedDefaults\",\n get: function get() {\n return extendedDefaults;\n }\n }, {\n key: \"defaults\",\n get: function get() {\n return defaults;\n }\n }]);\n\n return Swiper;\n}();\n\nObject.keys(prototypes).forEach(function (prototypeGroup) {\n Object.keys(prototypes[prototypeGroup]).forEach(function (protoMethod) {\n Swiper.prototype[protoMethod] = prototypes[prototypeGroup][protoMethod];\n });\n});\nSwiper.use([Resize, Observer]);\nexport default Swiper;","import { getDocument, getWindow } from 'ssr-window';\n\nfunction deleteProps(obj) {\n var object = obj;\n Object.keys(object).forEach(function (key) {\n try {\n object[key] = null;\n } catch (e) {// no getter for object\n }\n\n try {\n delete object[key];\n } catch (e) {// something got wrong\n }\n });\n}\n\nfunction nextTick(callback, delay) {\n if (delay === void 0) {\n delay = 0;\n }\n\n return setTimeout(callback, delay);\n}\n\nfunction now() {\n return Date.now();\n}\n\nfunction getComputedStyle(el) {\n var window = getWindow();\n var style;\n\n if (window.getComputedStyle) {\n style = window.getComputedStyle(el, null);\n }\n\n if (!style && el.currentStyle) {\n style = el.currentStyle;\n }\n\n if (!style) {\n style = el.style;\n }\n\n return style;\n}\n\nfunction getTranslate(el, axis) {\n if (axis === void 0) {\n axis = 'x';\n }\n\n var window = getWindow();\n var matrix;\n var curTransform;\n var transformMatrix;\n var curStyle = getComputedStyle(el, null);\n\n if (window.WebKitCSSMatrix) {\n curTransform = curStyle.transform || curStyle.webkitTransform;\n\n if (curTransform.split(',').length > 6) {\n curTransform = curTransform.split(', ').map(function (a) {\n return a.replace(',', '.');\n }).join(', ');\n } // Some old versions of Webkit choke when 'none' is passed; pass\n // empty string instead in this case\n\n\n transformMatrix = new window.WebKitCSSMatrix(curTransform === 'none' ? '' : curTransform);\n } else {\n transformMatrix = curStyle.MozTransform || curStyle.OTransform || curStyle.MsTransform || curStyle.msTransform || curStyle.transform || curStyle.getPropertyValue('transform').replace('translate(', 'matrix(1, 0, 0, 1,');\n matrix = transformMatrix.toString().split(',');\n }\n\n if (axis === 'x') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m41; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[12]); // Normal Browsers\n else curTransform = parseFloat(matrix[4]);\n }\n\n if (axis === 'y') {\n // Latest Chrome and webkits Fix\n if (window.WebKitCSSMatrix) curTransform = transformMatrix.m42; // Crazy IE10 Matrix\n else if (matrix.length === 16) curTransform = parseFloat(matrix[13]); // Normal Browsers\n else curTransform = parseFloat(matrix[5]);\n }\n\n return curTransform || 0;\n}\n\nfunction isObject(o) {\n return typeof o === 'object' && o !== null && o.constructor && Object.prototype.toString.call(o).slice(8, -1) === 'Object';\n}\n\nfunction isNode(node) {\n // eslint-disable-next-line\n if (typeof window !== 'undefined' && typeof window.HTMLElement !== 'undefined') {\n return node instanceof HTMLElement;\n }\n\n return node && (node.nodeType === 1 || node.nodeType === 11);\n}\n\nfunction extend() {\n var to = Object(arguments.length <= 0 ? undefined : arguments[0]);\n var noExtend = ['__proto__', 'constructor', 'prototype'];\n\n for (var i = 1; i < arguments.length; i += 1) {\n var nextSource = i < 0 || arguments.length <= i ? undefined : arguments[i];\n\n if (nextSource !== undefined && nextSource !== null && !isNode(nextSource)) {\n var keysArray = Object.keys(Object(nextSource)).filter(function (key) {\n return noExtend.indexOf(key) < 0;\n });\n\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex += 1) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n\n if (desc !== undefined && desc.enumerable) {\n if (isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else if (!isObject(to[nextKey]) && isObject(nextSource[nextKey])) {\n to[nextKey] = {};\n\n if (nextSource[nextKey].__swiper__) {\n to[nextKey] = nextSource[nextKey];\n } else {\n extend(to[nextKey], nextSource[nextKey]);\n }\n } else {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n }\n }\n\n return to;\n}\n\nfunction bindModuleMethods(instance, obj) {\n Object.keys(obj).forEach(function (key) {\n if (isObject(obj[key])) {\n Object.keys(obj[key]).forEach(function (subKey) {\n if (typeof obj[key][subKey] === 'function') {\n obj[key][subKey] = obj[key][subKey].bind(instance);\n }\n });\n }\n\n instance[key] = obj[key];\n });\n}\n\nfunction classesToSelector(classes) {\n if (classes === void 0) {\n classes = '';\n }\n\n return \".\" + classes.trim().replace(/([\\.:!\\/])/g, '\\\\$1') // eslint-disable-line\n .replace(/ /g, '.');\n}\n\nfunction createElementIfNotDefined($container, params, createElements, checkProps) {\n var document = getDocument();\n\n if (createElements) {\n Object.keys(checkProps).forEach(function (key) {\n if (!params[key] && params.auto === true) {\n var element = document.createElement('div');\n element.className = checkProps[key];\n $container.append(element);\n params[key] = element;\n }\n });\n }\n\n return params;\n}\n\nexport { deleteProps, nextTick, now, getTranslate, isObject, extend, bindModuleMethods, getComputedStyle, classesToSelector, createElementIfNotDefined };","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nimport $ from '../../utils/dom';\nimport { bindModuleMethods } from '../../utils/utils';\nvar Coverflow = {\n setTranslate: function setTranslate() {\n var swiper = this;\n var swiperWidth = swiper.width,\n swiperHeight = swiper.height,\n slides = swiper.slides,\n slidesSizesGrid = swiper.slidesSizesGrid;\n var params = swiper.params.coverflowEffect;\n var isHorizontal = swiper.isHorizontal();\n var transform = swiper.translate;\n var center = isHorizontal ? -transform + swiperWidth / 2 : -transform + swiperHeight / 2;\n var rotate = isHorizontal ? params.rotate : -params.rotate;\n var translate = params.depth; // Each slide offset from center\n\n for (var i = 0, length = slides.length; i < length; i += 1) {\n var $slideEl = slides.eq(i);\n var slideSize = slidesSizesGrid[i];\n var slideOffset = $slideEl[0].swiperSlideOffset;\n var offsetMultiplier = (center - slideOffset - slideSize / 2) / slideSize * params.modifier;\n var rotateY = isHorizontal ? rotate * offsetMultiplier : 0;\n var rotateX = isHorizontal ? 0 : rotate * offsetMultiplier; // var rotateZ = 0\n\n var translateZ = -translate * Math.abs(offsetMultiplier);\n var stretch = params.stretch; // Allow percentage to make a relative stretch for responsive sliders\n\n if (typeof stretch === 'string' && stretch.indexOf('%') !== -1) {\n stretch = parseFloat(params.stretch) / 100 * slideSize;\n }\n\n var translateY = isHorizontal ? 0 : stretch * offsetMultiplier;\n var translateX = isHorizontal ? stretch * offsetMultiplier : 0;\n var scale = 1 - (1 - params.scale) * Math.abs(offsetMultiplier); // Fix for ultra small values\n\n if (Math.abs(translateX) < 0.001) translateX = 0;\n if (Math.abs(translateY) < 0.001) translateY = 0;\n if (Math.abs(translateZ) < 0.001) translateZ = 0;\n if (Math.abs(rotateY) < 0.001) rotateY = 0;\n if (Math.abs(rotateX) < 0.001) rotateX = 0;\n if (Math.abs(scale) < 0.001) scale = 0;\n var slideTransform = \"translate3d(\" + translateX + \"px,\" + translateY + \"px,\" + translateZ + \"px) rotateX(\" + rotateX + \"deg) rotateY(\" + rotateY + \"deg) scale(\" + scale + \")\";\n $slideEl.transform(slideTransform);\n $slideEl[0].style.zIndex = -Math.abs(Math.round(offsetMultiplier)) + 1;\n\n if (params.slideShadows) {\n // Set shadows\n var $shadowBeforeEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-left') : $slideEl.find('.swiper-slide-shadow-top');\n var $shadowAfterEl = isHorizontal ? $slideEl.find('.swiper-slide-shadow-right') : $slideEl.find('.swiper-slide-shadow-bottom');\n\n if ($shadowBeforeEl.length === 0) {\n $shadowBeforeEl = $(\"
\");\n $slideEl.append($shadowBeforeEl);\n }\n\n if ($shadowAfterEl.length === 0) {\n $shadowAfterEl = $(\"
\");\n $slideEl.append($shadowAfterEl);\n }\n\n if ($shadowBeforeEl.length) $shadowBeforeEl[0].style.opacity = offsetMultiplier > 0 ? offsetMultiplier : 0;\n if ($shadowAfterEl.length) $shadowAfterEl[0].style.opacity = -offsetMultiplier > 0 ? -offsetMultiplier : 0;\n }\n }\n },\n setTransition: function setTransition(duration) {\n var swiper = this;\n swiper.slides.transition(duration).find('.swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left').transition(duration);\n }\n};\nexport default {\n name: 'effect-coverflow',\n params: {\n coverflowEffect: {\n rotate: 50,\n stretch: 0,\n depth: 100,\n scale: 1,\n modifier: 1,\n slideShadows: true\n }\n },\n create: function create() {\n var swiper = this;\n bindModuleMethods(swiper, {\n coverflowEffect: _extends({}, Coverflow)\n });\n },\n on: {\n beforeInit: function beforeInit(swiper) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.classNames.push(swiper.params.containerModifierClass + \"coverflow\");\n swiper.classNames.push(swiper.params.containerModifierClass + \"3d\");\n swiper.params.watchSlidesProgress = true;\n swiper.originalParams.watchSlidesProgress = true;\n },\n setTranslate: function setTranslate(swiper) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTranslate();\n },\n setTransition: function setTransition(swiper, duration) {\n if (swiper.params.effect !== 'coverflow') return;\n swiper.coverflowEffect.setTransition(duration);\n }\n }\n};","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","import { extend, isArray, isMap, isIntegerKey, hasOwn, isSymbol, isObject, hasChanged, makeMap, capitalize, toRawType, def, isFunction, NOOP } from '@vue/shared';\n\nfunction warn(msg, ...args) {\n console.warn(`[Vue warn] ${msg}`, ...args);\n}\n\nlet activeEffectScope;\nclass EffectScope {\n constructor(detached = false) {\n this.detached = detached;\n /**\n * @internal\n */\n this._active = true;\n /**\n * @internal\n */\n this.effects = [];\n /**\n * @internal\n */\n this.cleanups = [];\n this.parent = activeEffectScope;\n if (!detached && activeEffectScope) {\n this.index =\n (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;\n }\n }\n get active() {\n return this._active;\n }\n run(fn) {\n if (this._active) {\n const currentEffectScope = activeEffectScope;\n try {\n activeEffectScope = this;\n return fn();\n }\n finally {\n activeEffectScope = currentEffectScope;\n }\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`cannot run an inactive effect scope.`);\n }\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n on() {\n activeEffectScope = this;\n }\n /**\n * This should only be called on non-detached scopes\n * @internal\n */\n off() {\n activeEffectScope = this.parent;\n }\n stop(fromParent) {\n if (this._active) {\n let i, l;\n for (i = 0, l = this.effects.length; i < l; i++) {\n this.effects[i].stop();\n }\n for (i = 0, l = this.cleanups.length; i < l; i++) {\n this.cleanups[i]();\n }\n if (this.scopes) {\n for (i = 0, l = this.scopes.length; i < l; i++) {\n this.scopes[i].stop(true);\n }\n }\n // nested scope, dereference from parent to avoid memory leaks\n if (!this.detached && this.parent && !fromParent) {\n // optimized O(1) removal\n const last = this.parent.scopes.pop();\n if (last && last !== this) {\n this.parent.scopes[this.index] = last;\n last.index = this.index;\n }\n }\n this.parent = undefined;\n this._active = false;\n }\n }\n}\nfunction effectScope(detached) {\n return new EffectScope(detached);\n}\nfunction recordEffectScope(effect, scope = activeEffectScope) {\n if (scope && scope.active) {\n scope.effects.push(effect);\n }\n}\nfunction getCurrentScope() {\n return activeEffectScope;\n}\nfunction onScopeDispose(fn) {\n if (activeEffectScope) {\n activeEffectScope.cleanups.push(fn);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`onScopeDispose() is called when there is no active effect scope` +\n ` to be associated with.`);\n }\n}\n\nconst createDep = (effects) => {\n const dep = new Set(effects);\n dep.w = 0;\n dep.n = 0;\n return dep;\n};\nconst wasTracked = (dep) => (dep.w & trackOpBit) > 0;\nconst newTracked = (dep) => (dep.n & trackOpBit) > 0;\nconst initDepMarkers = ({ deps }) => {\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].w |= trackOpBit; // set was tracked\n }\n }\n};\nconst finalizeDepMarkers = (effect) => {\n const { deps } = effect;\n if (deps.length) {\n let ptr = 0;\n for (let i = 0; i < deps.length; i++) {\n const dep = deps[i];\n if (wasTracked(dep) && !newTracked(dep)) {\n dep.delete(effect);\n }\n else {\n deps[ptr++] = dep;\n }\n // clear bits\n dep.w &= ~trackOpBit;\n dep.n &= ~trackOpBit;\n }\n deps.length = ptr;\n }\n};\n\nconst targetMap = new WeakMap();\n// The number of effects currently being tracked recursively.\nlet effectTrackDepth = 0;\nlet trackOpBit = 1;\n/**\n * The bitwise track markers support at most 30 levels of recursion.\n * This value is chosen to enable modern JS engines to use a SMI on all platforms.\n * When recursion depth is greater, fall back to using a full cleanup.\n */\nconst maxMarkerBits = 30;\nlet activeEffect;\nconst ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'iterate' : '');\nconst MAP_KEY_ITERATE_KEY = Symbol((process.env.NODE_ENV !== 'production') ? 'Map key iterate' : '');\nclass ReactiveEffect {\n constructor(fn, scheduler = null, scope) {\n this.fn = fn;\n this.scheduler = scheduler;\n this.active = true;\n this.deps = [];\n this.parent = undefined;\n recordEffectScope(this, scope);\n }\n run() {\n if (!this.active) {\n return this.fn();\n }\n let parent = activeEffect;\n let lastShouldTrack = shouldTrack;\n while (parent) {\n if (parent === this) {\n return;\n }\n parent = parent.parent;\n }\n try {\n this.parent = activeEffect;\n activeEffect = this;\n shouldTrack = true;\n trackOpBit = 1 << ++effectTrackDepth;\n if (effectTrackDepth <= maxMarkerBits) {\n initDepMarkers(this);\n }\n else {\n cleanupEffect(this);\n }\n return this.fn();\n }\n finally {\n if (effectTrackDepth <= maxMarkerBits) {\n finalizeDepMarkers(this);\n }\n trackOpBit = 1 << --effectTrackDepth;\n activeEffect = this.parent;\n shouldTrack = lastShouldTrack;\n this.parent = undefined;\n if (this.deferStop) {\n this.stop();\n }\n }\n }\n stop() {\n // stopped while running itself - defer the cleanup\n if (activeEffect === this) {\n this.deferStop = true;\n }\n else if (this.active) {\n cleanupEffect(this);\n if (this.onStop) {\n this.onStop();\n }\n this.active = false;\n }\n }\n}\nfunction cleanupEffect(effect) {\n const { deps } = effect;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect);\n }\n deps.length = 0;\n }\n}\nfunction effect(fn, options) {\n if (fn.effect) {\n fn = fn.effect.fn;\n }\n const _effect = new ReactiveEffect(fn);\n if (options) {\n extend(_effect, options);\n if (options.scope)\n recordEffectScope(_effect, options.scope);\n }\n if (!options || !options.lazy) {\n _effect.run();\n }\n const runner = _effect.run.bind(_effect);\n runner.effect = _effect;\n return runner;\n}\nfunction stop(runner) {\n runner.effect.stop();\n}\nlet shouldTrack = true;\nconst trackStack = [];\nfunction pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n}\nfunction enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n}\nfunction resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === undefined ? true : last;\n}\nfunction track(target, type, key) {\n if (shouldTrack && activeEffect) {\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, (depsMap = new Map()));\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, (dep = createDep()));\n }\n const eventInfo = (process.env.NODE_ENV !== 'production')\n ? { effect: activeEffect, target, type, key }\n : undefined;\n trackEffects(dep, eventInfo);\n }\n}\nfunction trackEffects(dep, debuggerEventExtraInfo) {\n let shouldTrack = false;\n if (effectTrackDepth <= maxMarkerBits) {\n if (!newTracked(dep)) {\n dep.n |= trackOpBit; // set newly tracked\n shouldTrack = !wasTracked(dep);\n }\n }\n else {\n // Full cleanup mode.\n shouldTrack = !dep.has(activeEffect);\n }\n if (shouldTrack) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if ((process.env.NODE_ENV !== 'production') && activeEffect.onTrack) {\n activeEffect.onTrack(Object.assign({ effect: activeEffect }, debuggerEventExtraInfo));\n }\n }\n}\nfunction trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n // never been tracked\n return;\n }\n let deps = [];\n if (type === \"clear\" /* TriggerOpTypes.CLEAR */) {\n // collection being cleared\n // trigger all effects for target\n deps = [...depsMap.values()];\n }\n else if (key === 'length' && isArray(target)) {\n const newLength = Number(newValue);\n depsMap.forEach((dep, key) => {\n if (key === 'length' || key >= newLength) {\n deps.push(dep);\n }\n });\n }\n else {\n // schedule runs for SET | ADD | DELETE\n if (key !== void 0) {\n deps.push(depsMap.get(key));\n }\n // also run for iteration key on ADD | DELETE | Map.SET\n switch (type) {\n case \"add\" /* TriggerOpTypes.ADD */:\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n else if (isIntegerKey(key)) {\n // new index added to array -> length changes\n deps.push(depsMap.get('length'));\n }\n break;\n case \"delete\" /* TriggerOpTypes.DELETE */:\n if (!isArray(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n if (isMap(target)) {\n deps.push(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\" /* TriggerOpTypes.SET */:\n if (isMap(target)) {\n deps.push(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const eventInfo = (process.env.NODE_ENV !== 'production')\n ? { target, type, key, newValue, oldValue, oldTarget }\n : undefined;\n if (deps.length === 1) {\n if (deps[0]) {\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(deps[0], eventInfo);\n }\n else {\n triggerEffects(deps[0]);\n }\n }\n }\n else {\n const effects = [];\n for (const dep of deps) {\n if (dep) {\n effects.push(...dep);\n }\n }\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(createDep(effects), eventInfo);\n }\n else {\n triggerEffects(createDep(effects));\n }\n }\n}\nfunction triggerEffects(dep, debuggerEventExtraInfo) {\n // spread into array for stabilization\n const effects = isArray(dep) ? dep : [...dep];\n for (const effect of effects) {\n if (effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n for (const effect of effects) {\n if (!effect.computed) {\n triggerEffect(effect, debuggerEventExtraInfo);\n }\n }\n}\nfunction triggerEffect(effect, debuggerEventExtraInfo) {\n if (effect !== activeEffect || effect.allowRecurse) {\n if ((process.env.NODE_ENV !== 'production') && effect.onTrigger) {\n effect.onTrigger(extend({ effect }, debuggerEventExtraInfo));\n }\n if (effect.scheduler) {\n effect.scheduler();\n }\n else {\n effect.run();\n }\n }\n}\nfunction getDepFromReactive(object, key) {\n var _a;\n return (_a = targetMap.get(object)) === null || _a === void 0 ? void 0 : _a.get(key);\n}\n\nconst isNonTrackableKeys = /*#__PURE__*/ makeMap(`__proto__,__v_isRef,__isVue`);\nconst builtInSymbols = new Set(\n/*#__PURE__*/\nObject.getOwnPropertyNames(Symbol)\n // ios10.x Object.getOwnPropertyNames(Symbol) can enumerate 'arguments' and 'caller'\n // but accessing them on Symbol leads to TypeError because Symbol is a strict mode\n // function\n .filter(key => key !== 'arguments' && key !== 'caller')\n .map(key => Symbol[key])\n .filter(isSymbol));\nconst get$1 = /*#__PURE__*/ createGetter();\nconst shallowGet = /*#__PURE__*/ createGetter(false, true);\nconst readonlyGet = /*#__PURE__*/ createGetter(true);\nconst shallowReadonlyGet = /*#__PURE__*/ createGetter(true, true);\nconst arrayInstrumentations = /*#__PURE__*/ createArrayInstrumentations();\nfunction createArrayInstrumentations() {\n const instrumentations = {};\n ['includes', 'indexOf', 'lastIndexOf'].forEach(key => {\n instrumentations[key] = function (...args) {\n const arr = toRaw(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\" /* TrackOpTypes.GET */, i + '');\n }\n // we run the method using the original args first (which may be reactive)\n const res = arr[key](...args);\n if (res === -1 || res === false) {\n // if that didn't work, run it again using raw values.\n return arr[key](...args.map(toRaw));\n }\n else {\n return res;\n }\n };\n });\n ['push', 'pop', 'shift', 'unshift', 'splice'].forEach(key => {\n instrumentations[key] = function (...args) {\n pauseTracking();\n const res = toRaw(this)[key].apply(this, args);\n resetTracking();\n return res;\n };\n });\n return instrumentations;\n}\nfunction hasOwnProperty(key) {\n const obj = toRaw(this);\n track(obj, \"has\" /* TrackOpTypes.HAS */, key);\n return obj.hasOwnProperty(key);\n}\nfunction createGetter(isReadonly = false, shallow = false) {\n return function get(target, key, receiver) {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */) {\n return shallow;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */ &&\n receiver ===\n (isReadonly\n ? shallow\n ? shallowReadonlyMap\n : readonlyMap\n : shallow\n ? shallowReactiveMap\n : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = isArray(target);\n if (!isReadonly) {\n if (targetIsArray && hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n if (key === 'hasOwnProperty') {\n return hasOwnProperty;\n }\n }\n const res = Reflect.get(target, key, receiver);\n if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly) {\n track(target, \"get\" /* TrackOpTypes.GET */, key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n // ref unwrapping - skip unwrap for Array + integer key.\n return targetIsArray && isIntegerKey(key) ? res : res.value;\n }\n if (isObject(res)) {\n // Convert returned value into a proxy as well. we do the isObject check\n // here to avoid invalid value warning. Also need to lazy access readonly\n // and reactive here to avoid circular dependency.\n return isReadonly ? readonly(res) : reactive(res);\n }\n return res;\n };\n}\nconst set$1 = /*#__PURE__*/ createSetter();\nconst shallowSet = /*#__PURE__*/ createSetter(true);\nfunction createSetter(shallow = false) {\n return function set(target, key, value, receiver) {\n let oldValue = target[key];\n if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {\n return false;\n }\n if (!shallow) {\n if (!isShallow(value) && !isReadonly(value)) {\n oldValue = toRaw(oldValue);\n value = toRaw(value);\n }\n if (!isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = isArray(target) && isIntegerKey(key)\n ? Number(key) < target.length\n : hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n // don't trigger if target is something up in the prototype chain of original\n if (target === toRaw(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n }\n return result;\n };\n}\nfunction deleteProperty(target, key) {\n const hadKey = hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction has$1(target, key) {\n const result = Reflect.has(target, key);\n if (!isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\" /* TrackOpTypes.HAS */, key);\n }\n return result;\n}\nfunction ownKeys(target) {\n track(target, \"iterate\" /* TrackOpTypes.ITERATE */, isArray(target) ? 'length' : ITERATE_KEY);\n return Reflect.ownKeys(target);\n}\nconst mutableHandlers = {\n get: get$1,\n set: set$1,\n deleteProperty,\n has: has$1,\n ownKeys\n};\nconst readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n },\n deleteProperty(target, key) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n }\n};\nconst shallowReactiveHandlers = /*#__PURE__*/ extend({}, mutableHandlers, {\n get: shallowGet,\n set: shallowSet\n});\n// Props handlers are special in the sense that it should not unwrap top-level\n// refs (in order to allow refs to be explicitly passed down), but should\n// retain the reactivity of the normal readonly object.\nconst shallowReadonlyHandlers = /*#__PURE__*/ extend({}, readonlyHandlers, {\n get: shallowReadonlyGet\n});\n\nconst toShallow = (value) => value;\nconst getProto = (v) => Reflect.getPrototypeOf(v);\nfunction get(target, key, isReadonly = false, isShallow = false) {\n // #1772: readonly(reactive(Map)) should return readonly + reactive version\n // of the value\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, key);\n }\n track(rawTarget, \"get\" /* TrackOpTypes.GET */, rawKey);\n }\n const { has } = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n if (has.call(rawTarget, key)) {\n return wrap(target.get(key));\n }\n else if (has.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n }\n else if (target !== rawTarget) {\n // #3602 readonly(reactive(Map))\n // ensure that the nested reactive `Map` can do tracking for itself\n target.get(key);\n }\n}\nfunction has(key, isReadonly = false) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const rawKey = toRaw(key);\n if (!isReadonly) {\n if (key !== rawKey) {\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, key);\n }\n track(rawTarget, \"has\" /* TrackOpTypes.HAS */, rawKey);\n }\n return key === rawKey\n ? target.has(key)\n : target.has(key) || target.has(rawKey);\n}\nfunction size(target, isReadonly = false) {\n target = target[\"__v_raw\" /* ReactiveFlags.RAW */];\n !isReadonly && track(toRaw(target), \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return Reflect.get(target, 'size', target);\n}\nfunction add(value) {\n value = toRaw(value);\n const target = toRaw(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, value, value);\n }\n return this;\n}\nfunction set(key, value) {\n value = toRaw(value);\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\" /* TriggerOpTypes.ADD */, key, value);\n }\n else if (hasChanged(value, oldValue)) {\n trigger(target, \"set\" /* TriggerOpTypes.SET */, key, value, oldValue);\n }\n return this;\n}\nfunction deleteEntry(key) {\n const target = toRaw(this);\n const { has, get } = getProto(target);\n let hadKey = has.call(target, key);\n if (!hadKey) {\n key = toRaw(key);\n hadKey = has.call(target, key);\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n checkIdentityKeys(target, has, key);\n }\n const oldValue = get ? get.call(target, key) : undefined;\n // forward the operation before queueing reactions\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\" /* TriggerOpTypes.DELETE */, key, undefined, oldValue);\n }\n return result;\n}\nfunction clear() {\n const target = toRaw(this);\n const hadItems = target.size !== 0;\n const oldTarget = (process.env.NODE_ENV !== 'production')\n ? isMap(target)\n ? new Map(target)\n : new Set(target)\n : undefined;\n // forward the operation before queueing reactions\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\" /* TriggerOpTypes.CLEAR */, undefined, undefined, oldTarget);\n }\n return result;\n}\nfunction createForEach(isReadonly, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly && track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, ITERATE_KEY);\n return target.forEach((value, key) => {\n // important: make sure the callback is\n // 1. invoked with the reactive map as `this` and 3rd arg\n // 2. the value received should be a corresponding reactive/readonly.\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n}\nfunction createIterableMethod(method, isReadonly, isShallow) {\n return function (...args) {\n const target = this[\"__v_raw\" /* ReactiveFlags.RAW */];\n const rawTarget = toRaw(target);\n const targetIsMap = isMap(rawTarget);\n const isPair = method === 'entries' || (method === Symbol.iterator && targetIsMap);\n const isKeyOnly = method === 'keys' && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly ? toReadonly : toReactive;\n !isReadonly &&\n track(rawTarget, \"iterate\" /* TrackOpTypes.ITERATE */, isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\n // return a wrapped iterator which returns observed versions of the\n // values emitted from the real iterator\n return {\n // iterator protocol\n next() {\n const { value, done } = innerIterator.next();\n return done\n ? { value, done }\n : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n // iterable protocol\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n}\nfunction createReadonlyMethod(type) {\n return function (...args) {\n if ((process.env.NODE_ENV !== 'production')) {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(`${capitalize(type)} operation ${key}failed: target is readonly.`, toRaw(this));\n }\n return type === \"delete\" /* TriggerOpTypes.DELETE */ ? false : this;\n };\n}\nfunction createInstrumentations() {\n const mutableInstrumentations = {\n get(key) {\n return get(this, key);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n const shallowInstrumentations = {\n get(key) {\n return get(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has,\n add,\n set,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n const readonlyInstrumentations = {\n get(key) {\n return get(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, false)\n };\n const shallowReadonlyInstrumentations = {\n get(key) {\n return get(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\" /* TriggerOpTypes.ADD */),\n set: createReadonlyMethod(\"set\" /* TriggerOpTypes.SET */),\n delete: createReadonlyMethod(\"delete\" /* TriggerOpTypes.DELETE */),\n clear: createReadonlyMethod(\"clear\" /* TriggerOpTypes.CLEAR */),\n forEach: createForEach(true, true)\n };\n const iteratorMethods = ['keys', 'values', 'entries', Symbol.iterator];\n iteratorMethods.forEach(method => {\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\n });\n return [\n mutableInstrumentations,\n readonlyInstrumentations,\n shallowInstrumentations,\n shallowReadonlyInstrumentations\n ];\n}\nconst [mutableInstrumentations, readonlyInstrumentations, shallowInstrumentations, shallowReadonlyInstrumentations] = /* #__PURE__*/ createInstrumentations();\nfunction createInstrumentationGetter(isReadonly, shallow) {\n const instrumentations = shallow\n ? isReadonly\n ? shallowReadonlyInstrumentations\n : shallowInstrumentations\n : isReadonly\n ? readonlyInstrumentations\n : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */) {\n return !isReadonly;\n }\n else if (key === \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */) {\n return isReadonly;\n }\n else if (key === \"__v_raw\" /* ReactiveFlags.RAW */) {\n return target;\n }\n return Reflect.get(hasOwn(instrumentations, key) && key in target\n ? instrumentations\n : target, key, receiver);\n };\n}\nconst mutableCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, false)\n};\nconst shallowCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(false, true)\n};\nconst readonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, false)\n};\nconst shallowReadonlyCollectionHandlers = {\n get: /*#__PURE__*/ createInstrumentationGetter(true, true)\n};\nfunction checkIdentityKeys(target, has, key) {\n const rawKey = toRaw(key);\n if (rawKey !== key && has.call(target, rawKey)) {\n const type = toRawType(target);\n console.warn(`Reactive ${type} contains both the raw and reactive ` +\n `versions of the same object${type === `Map` ? ` as keys` : ``}, ` +\n `which can lead to inconsistencies. ` +\n `Avoid differentiating between the raw and reactive versions ` +\n `of an object and only use the reactive version if possible.`);\n }\n}\n\nconst reactiveMap = new WeakMap();\nconst shallowReactiveMap = new WeakMap();\nconst readonlyMap = new WeakMap();\nconst shallowReadonlyMap = new WeakMap();\nfunction targetTypeMap(rawType) {\n switch (rawType) {\n case 'Object':\n case 'Array':\n return 1 /* TargetType.COMMON */;\n case 'Map':\n case 'Set':\n case 'WeakMap':\n case 'WeakSet':\n return 2 /* TargetType.COLLECTION */;\n default:\n return 0 /* TargetType.INVALID */;\n }\n}\nfunction getTargetType(value) {\n return value[\"__v_skip\" /* ReactiveFlags.SKIP */] || !Object.isExtensible(value)\n ? 0 /* TargetType.INVALID */\n : targetTypeMap(toRawType(value));\n}\nfunction reactive(target) {\n // if trying to observe a readonly proxy, return the readonly version.\n if (isReadonly(target)) {\n return target;\n }\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\n}\n/**\n * Return a shallowly-reactive copy of the original object, where only the root\n * level properties are reactive. It also does not auto-unwrap refs (even at the\n * root level).\n */\nfunction shallowReactive(target) {\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\n}\n/**\n * Creates a readonly copy of the original object. Note the returned copy is not\n * made reactive, but `readonly` can be called on an already reactive object.\n */\nfunction readonly(target) {\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\n}\n/**\n * Returns a reactive-copy of the original object, where only the root level\n * properties are readonly, and does NOT unwrap refs nor recursively convert\n * returned properties.\n * This is used for creating the props proxy object for stateful components.\n */\nfunction shallowReadonly(target) {\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\n}\nfunction createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers, proxyMap) {\n if (!isObject(target)) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n // target is already a Proxy, return it.\n // exception: calling readonly() on a reactive object\n if (target[\"__v_raw\" /* ReactiveFlags.RAW */] &&\n !(isReadonly && target[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */])) {\n return target;\n }\n // target already has corresponding Proxy\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n // only specific value types can be observed.\n const targetType = getTargetType(target);\n if (targetType === 0 /* TargetType.INVALID */) {\n return target;\n }\n const proxy = new Proxy(target, targetType === 2 /* TargetType.COLLECTION */ ? collectionHandlers : baseHandlers);\n proxyMap.set(target, proxy);\n return proxy;\n}\nfunction isReactive(value) {\n if (isReadonly(value)) {\n return isReactive(value[\"__v_raw\" /* ReactiveFlags.RAW */]);\n }\n return !!(value && value[\"__v_isReactive\" /* ReactiveFlags.IS_REACTIVE */]);\n}\nfunction isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */]);\n}\nfunction isShallow(value) {\n return !!(value && value[\"__v_isShallow\" /* ReactiveFlags.IS_SHALLOW */]);\n}\nfunction isProxy(value) {\n return isReactive(value) || isReadonly(value);\n}\nfunction toRaw(observed) {\n const raw = observed && observed[\"__v_raw\" /* ReactiveFlags.RAW */];\n return raw ? toRaw(raw) : observed;\n}\nfunction markRaw(value) {\n def(value, \"__v_skip\" /* ReactiveFlags.SKIP */, true);\n return value;\n}\nconst toReactive = (value) => isObject(value) ? reactive(value) : value;\nconst toReadonly = (value) => isObject(value) ? readonly(value) : value;\n\nfunction trackRefValue(ref) {\n if (shouldTrack && activeEffect) {\n ref = toRaw(ref);\n if ((process.env.NODE_ENV !== 'production')) {\n trackEffects(ref.dep || (ref.dep = createDep()), {\n target: ref,\n type: \"get\" /* TrackOpTypes.GET */,\n key: 'value'\n });\n }\n else {\n trackEffects(ref.dep || (ref.dep = createDep()));\n }\n }\n}\nfunction triggerRefValue(ref, newVal) {\n ref = toRaw(ref);\n const dep = ref.dep;\n if (dep) {\n if ((process.env.NODE_ENV !== 'production')) {\n triggerEffects(dep, {\n target: ref,\n type: \"set\" /* TriggerOpTypes.SET */,\n key: 'value',\n newValue: newVal\n });\n }\n else {\n triggerEffects(dep);\n }\n }\n}\nfunction isRef(r) {\n return !!(r && r.__v_isRef === true);\n}\nfunction ref(value) {\n return createRef(value, false);\n}\nfunction shallowRef(value) {\n return createRef(value, true);\n}\nfunction createRef(rawValue, shallow) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n}\nclass RefImpl {\n constructor(value, __v_isShallow) {\n this.__v_isShallow = __v_isShallow;\n this.dep = undefined;\n this.__v_isRef = true;\n this._rawValue = __v_isShallow ? value : toRaw(value);\n this._value = __v_isShallow ? value : toReactive(value);\n }\n get value() {\n trackRefValue(this);\n return this._value;\n }\n set value(newVal) {\n const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal);\n newVal = useDirectValue ? newVal : toRaw(newVal);\n if (hasChanged(newVal, this._rawValue)) {\n this._rawValue = newVal;\n this._value = useDirectValue ? newVal : toReactive(newVal);\n triggerRefValue(this, newVal);\n }\n }\n}\nfunction triggerRef(ref) {\n triggerRefValue(ref, (process.env.NODE_ENV !== 'production') ? ref.value : void 0);\n}\nfunction unref(ref) {\n return isRef(ref) ? ref.value : ref;\n}\nconst shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n};\nfunction proxyRefs(objectWithRefs) {\n return isReactive(objectWithRefs)\n ? objectWithRefs\n : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n}\nclass CustomRefImpl {\n constructor(factory) {\n this.dep = undefined;\n this.__v_isRef = true;\n const { get, set } = factory(() => trackRefValue(this), () => triggerRefValue(this));\n this._get = get;\n this._set = set;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n}\nfunction customRef(factory) {\n return new CustomRefImpl(factory);\n}\nfunction toRefs(object) {\n if ((process.env.NODE_ENV !== 'production') && !isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n}\nclass ObjectRefImpl {\n constructor(_object, _key, _defaultValue) {\n this._object = _object;\n this._key = _key;\n this._defaultValue = _defaultValue;\n this.__v_isRef = true;\n }\n get value() {\n const val = this._object[this._key];\n return val === undefined ? this._defaultValue : val;\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n get dep() {\n return getDepFromReactive(toRaw(this._object), this._key);\n }\n}\nfunction toRef(object, key, defaultValue) {\n const val = object[key];\n return isRef(val)\n ? val\n : new ObjectRefImpl(object, key, defaultValue);\n}\n\nvar _a$1;\nclass ComputedRefImpl {\n constructor(getter, _setter, isReadonly, isSSR) {\n this._setter = _setter;\n this.dep = undefined;\n this.__v_isRef = true;\n this[_a$1] = false;\n this._dirty = true;\n this.effect = new ReactiveEffect(getter, () => {\n if (!this._dirty) {\n this._dirty = true;\n triggerRefValue(this);\n }\n });\n this.effect.computed = this;\n this.effect.active = this._cacheable = !isSSR;\n this[\"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */] = isReadonly;\n }\n get value() {\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n const self = toRaw(this);\n trackRefValue(self);\n if (self._dirty || !self._cacheable) {\n self._dirty = false;\n self._value = self.effect.run();\n }\n return self._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n}\n_a$1 = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction computed(getterOrOptions, debugOptions, isSSR = false) {\n let getter;\n let setter;\n const onlyGetter = isFunction(getterOrOptions);\n if (onlyGetter) {\n getter = getterOrOptions;\n setter = (process.env.NODE_ENV !== 'production')\n ? () => {\n console.warn('Write operation failed: computed value is readonly');\n }\n : NOOP;\n }\n else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR);\n if ((process.env.NODE_ENV !== 'production') && debugOptions && !isSSR) {\n cRef.effect.onTrack = debugOptions.onTrack;\n cRef.effect.onTrigger = debugOptions.onTrigger;\n }\n return cRef;\n}\n\nvar _a;\nconst tick = /*#__PURE__*/ Promise.resolve();\nconst queue = [];\nlet queued = false;\nconst scheduler = (fn) => {\n queue.push(fn);\n if (!queued) {\n queued = true;\n tick.then(flush);\n }\n};\nconst flush = () => {\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n queued = false;\n};\nclass DeferredComputedRefImpl {\n constructor(getter) {\n this.dep = undefined;\n this._dirty = true;\n this.__v_isRef = true;\n this[_a] = true;\n let compareTarget;\n let hasCompareTarget = false;\n let scheduled = false;\n this.effect = new ReactiveEffect(getter, (computedTrigger) => {\n if (this.dep) {\n if (computedTrigger) {\n compareTarget = this._value;\n hasCompareTarget = true;\n }\n else if (!scheduled) {\n const valueToCompare = hasCompareTarget ? compareTarget : this._value;\n scheduled = true;\n hasCompareTarget = false;\n scheduler(() => {\n if (this.effect.active && this._get() !== valueToCompare) {\n triggerRefValue(this);\n }\n scheduled = false;\n });\n }\n // chained upstream computeds are notified synchronously to ensure\n // value invalidation in case of sync access; normal effects are\n // deferred to be triggered in scheduler.\n for (const e of this.dep) {\n if (e.computed instanceof DeferredComputedRefImpl) {\n e.scheduler(true /* computedTrigger */);\n }\n }\n }\n this._dirty = true;\n });\n this.effect.computed = this;\n }\n _get() {\n if (this._dirty) {\n this._dirty = false;\n return (this._value = this.effect.run());\n }\n return this._value;\n }\n get value() {\n trackRefValue(this);\n // the computed ref may get wrapped by other proxies e.g. readonly() #3376\n return toRaw(this)._get();\n }\n}\n_a = \"__v_isReadonly\" /* ReactiveFlags.IS_READONLY */;\nfunction deferredComputed(getter) {\n return new DeferredComputedRefImpl(getter);\n}\n\nexport { EffectScope, ITERATE_KEY, ReactiveEffect, computed, customRef, deferredComputed, effect, effectScope, enableTracking, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, pauseTracking, proxyRefs, reactive, readonly, ref, resetTracking, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, track, trigger, triggerRef, unref };\n","import { pauseTracking, resetTracking, isRef, toRaw, getCurrentScope, isShallow as isShallow$1, isReactive, ReactiveEffect, ref, shallowReadonly, track, reactive, shallowReactive, trigger, isProxy, proxyRefs, markRaw, EffectScope, computed as computed$1, isReadonly } from '@vue/reactivity';\nexport { EffectScope, ReactiveEffect, customRef, effect, effectScope, getCurrentScope, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, onScopeDispose, proxyRefs, reactive, readonly, ref, shallowReactive, shallowReadonly, shallowRef, stop, toRaw, toRef, toRefs, triggerRef, unref } from '@vue/reactivity';\nimport { isString, isFunction, isPromise, isArray, NOOP, getGlobalThis, extend, EMPTY_OBJ, toHandlerKey, looseToNumber, hyphenate, camelize, isObject, isOn, hasOwn, isModelListener, toNumber, hasChanged, remove, isSet, isMap, isPlainObject, invokeArrayFns, isRegExp, isBuiltInDirective, capitalize, isGloballyWhitelisted, def, isReservedProp, EMPTY_ARR, toRawType, makeMap, NO, normalizeClass, normalizeStyle } from '@vue/shared';\nexport { camelize, capitalize, normalizeClass, normalizeProps, normalizeStyle, toDisplayString, toHandlerKey } from '@vue/shared';\n\nconst stack = [];\nfunction pushWarningContext(vnode) {\n stack.push(vnode);\n}\nfunction popWarningContext() {\n stack.pop();\n}\nfunction warn(msg, ...args) {\n if (!(process.env.NODE_ENV !== 'production'))\n return;\n // avoid props formatting or warn handler tracking deps that might be mutated\n // during patch, leading to infinite recursion.\n pauseTracking();\n const instance = stack.length ? stack[stack.length - 1].component : null;\n const appWarnHandler = instance && instance.appContext.config.warnHandler;\n const trace = getComponentTrace();\n if (appWarnHandler) {\n callWithErrorHandling(appWarnHandler, instance, 11 /* ErrorCodes.APP_WARN_HANDLER */, [\n msg + args.join(''),\n instance && instance.proxy,\n trace\n .map(({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>`)\n .join('\\n'),\n trace\n ]);\n }\n else {\n const warnArgs = [`[Vue warn]: ${msg}`, ...args];\n /* istanbul ignore if */\n if (trace.length &&\n // avoid spamming console during tests\n !false) {\n warnArgs.push(`\\n`, ...formatTrace(trace));\n }\n console.warn(...warnArgs);\n }\n resetTracking();\n}\nfunction getComponentTrace() {\n let currentVNode = stack[stack.length - 1];\n if (!currentVNode) {\n return [];\n }\n // we can't just use the stack because it will be incomplete during updates\n // that did not start from the root. Re-construct the parent chain using\n // instance parent pointers.\n const normalizedStack = [];\n while (currentVNode) {\n const last = normalizedStack[0];\n if (last && last.vnode === currentVNode) {\n last.recurseCount++;\n }\n else {\n normalizedStack.push({\n vnode: currentVNode,\n recurseCount: 0\n });\n }\n const parentInstance = currentVNode.component && currentVNode.component.parent;\n currentVNode = parentInstance && parentInstance.vnode;\n }\n return normalizedStack;\n}\n/* istanbul ignore next */\nfunction formatTrace(trace) {\n const logs = [];\n trace.forEach((entry, i) => {\n logs.push(...(i === 0 ? [] : [`\\n`]), ...formatTraceEntry(entry));\n });\n return logs;\n}\nfunction formatTraceEntry({ vnode, recurseCount }) {\n const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``;\n const isRoot = vnode.component ? vnode.component.parent == null : false;\n const open = ` at <${formatComponentName(vnode.component, vnode.type, isRoot)}`;\n const close = `>` + postfix;\n return vnode.props\n ? [open, ...formatProps(vnode.props), close]\n : [open + close];\n}\n/* istanbul ignore next */\nfunction formatProps(props) {\n const res = [];\n const keys = Object.keys(props);\n keys.slice(0, 3).forEach(key => {\n res.push(...formatProp(key, props[key]));\n });\n if (keys.length > 3) {\n res.push(` ...`);\n }\n return res;\n}\n/* istanbul ignore next */\nfunction formatProp(key, value, raw) {\n if (isString(value)) {\n value = JSON.stringify(value);\n return raw ? value : [`${key}=${value}`];\n }\n else if (typeof value === 'number' ||\n typeof value === 'boolean' ||\n value == null) {\n return raw ? value : [`${key}=${value}`];\n }\n else if (isRef(value)) {\n value = formatProp(key, toRaw(value.value), true);\n return raw ? value : [`${key}=Ref<`, value, `>`];\n }\n else if (isFunction(value)) {\n return [`${key}=fn${value.name ? `<${value.name}>` : ``}`];\n }\n else {\n value = toRaw(value);\n return raw ? value : [`${key}=`, value];\n }\n}\n/**\n * @internal\n */\nfunction assertNumber(val, type) {\n if (!(process.env.NODE_ENV !== 'production'))\n return;\n if (val === undefined) {\n return;\n }\n else if (typeof val !== 'number') {\n warn(`${type} is not a valid number - ` + `got ${JSON.stringify(val)}.`);\n }\n else if (isNaN(val)) {\n warn(`${type} is NaN - ` + 'the duration expression might be incorrect.');\n }\n}\n\nconst ErrorTypeStrings = {\n [\"sp\" /* LifecycleHooks.SERVER_PREFETCH */]: 'serverPrefetch hook',\n [\"bc\" /* LifecycleHooks.BEFORE_CREATE */]: 'beforeCreate hook',\n [\"c\" /* LifecycleHooks.CREATED */]: 'created hook',\n [\"bm\" /* LifecycleHooks.BEFORE_MOUNT */]: 'beforeMount hook',\n [\"m\" /* LifecycleHooks.MOUNTED */]: 'mounted hook',\n [\"bu\" /* LifecycleHooks.BEFORE_UPDATE */]: 'beforeUpdate hook',\n [\"u\" /* LifecycleHooks.UPDATED */]: 'updated',\n [\"bum\" /* LifecycleHooks.BEFORE_UNMOUNT */]: 'beforeUnmount hook',\n [\"um\" /* LifecycleHooks.UNMOUNTED */]: 'unmounted hook',\n [\"a\" /* LifecycleHooks.ACTIVATED */]: 'activated hook',\n [\"da\" /* LifecycleHooks.DEACTIVATED */]: 'deactivated hook',\n [\"ec\" /* LifecycleHooks.ERROR_CAPTURED */]: 'errorCaptured hook',\n [\"rtc\" /* LifecycleHooks.RENDER_TRACKED */]: 'renderTracked hook',\n [\"rtg\" /* LifecycleHooks.RENDER_TRIGGERED */]: 'renderTriggered hook',\n [0 /* ErrorCodes.SETUP_FUNCTION */]: 'setup function',\n [1 /* ErrorCodes.RENDER_FUNCTION */]: 'render function',\n [2 /* ErrorCodes.WATCH_GETTER */]: 'watcher getter',\n [3 /* ErrorCodes.WATCH_CALLBACK */]: 'watcher callback',\n [4 /* ErrorCodes.WATCH_CLEANUP */]: 'watcher cleanup function',\n [5 /* ErrorCodes.NATIVE_EVENT_HANDLER */]: 'native event handler',\n [6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */]: 'component event handler',\n [7 /* ErrorCodes.VNODE_HOOK */]: 'vnode hook',\n [8 /* ErrorCodes.DIRECTIVE_HOOK */]: 'directive hook',\n [9 /* ErrorCodes.TRANSITION_HOOK */]: 'transition hook',\n [10 /* ErrorCodes.APP_ERROR_HANDLER */]: 'app errorHandler',\n [11 /* ErrorCodes.APP_WARN_HANDLER */]: 'app warnHandler',\n [12 /* ErrorCodes.FUNCTION_REF */]: 'ref function',\n [13 /* ErrorCodes.ASYNC_COMPONENT_LOADER */]: 'async component loader',\n [14 /* ErrorCodes.SCHEDULER */]: 'scheduler flush. This is likely a Vue internals bug. ' +\n 'Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core'\n};\nfunction callWithErrorHandling(fn, instance, type, args) {\n let res;\n try {\n res = args ? fn(...args) : fn();\n }\n catch (err) {\n handleError(err, instance, type);\n }\n return res;\n}\nfunction callWithAsyncErrorHandling(fn, instance, type, args) {\n if (isFunction(fn)) {\n const res = callWithErrorHandling(fn, instance, type, args);\n if (res && isPromise(res)) {\n res.catch(err => {\n handleError(err, instance, type);\n });\n }\n return res;\n }\n const values = [];\n for (let i = 0; i < fn.length; i++) {\n values.push(callWithAsyncErrorHandling(fn[i], instance, type, args));\n }\n return values;\n}\nfunction handleError(err, instance, type, throwInDev = true) {\n const contextVNode = instance ? instance.vnode : null;\n if (instance) {\n let cur = instance.parent;\n // the exposed instance is the render proxy to keep it consistent with 2.x\n const exposedInstance = instance.proxy;\n // in production the hook receives only the error code\n const errorInfo = (process.env.NODE_ENV !== 'production') ? ErrorTypeStrings[type] : type;\n while (cur) {\n const errorCapturedHooks = cur.ec;\n if (errorCapturedHooks) {\n for (let i = 0; i < errorCapturedHooks.length; i++) {\n if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) {\n return;\n }\n }\n }\n cur = cur.parent;\n }\n // app-level handling\n const appErrorHandler = instance.appContext.config.errorHandler;\n if (appErrorHandler) {\n callWithErrorHandling(appErrorHandler, null, 10 /* ErrorCodes.APP_ERROR_HANDLER */, [err, exposedInstance, errorInfo]);\n return;\n }\n }\n logError(err, type, contextVNode, throwInDev);\n}\nfunction logError(err, type, contextVNode, throwInDev = true) {\n if ((process.env.NODE_ENV !== 'production')) {\n const info = ErrorTypeStrings[type];\n if (contextVNode) {\n pushWarningContext(contextVNode);\n }\n warn(`Unhandled error${info ? ` during execution of ${info}` : ``}`);\n if (contextVNode) {\n popWarningContext();\n }\n // crash in dev by default so it's more noticeable\n if (throwInDev) {\n throw err;\n }\n else {\n console.error(err);\n }\n }\n else {\n // recover in prod to reduce the impact on end-user\n console.error(err);\n }\n}\n\nlet isFlushing = false;\nlet isFlushPending = false;\nconst queue = [];\nlet flushIndex = 0;\nconst pendingPostFlushCbs = [];\nlet activePostFlushCbs = null;\nlet postFlushIndex = 0;\nconst resolvedPromise = /*#__PURE__*/ Promise.resolve();\nlet currentFlushPromise = null;\nconst RECURSION_LIMIT = 100;\nfunction nextTick(fn) {\n const p = currentFlushPromise || resolvedPromise;\n return fn ? p.then(this ? fn.bind(this) : fn) : p;\n}\n// #2768\n// Use binary-search to find a suitable position in the queue,\n// so that the queue maintains the increasing order of job's id,\n// which can prevent the job from being skipped and also can avoid repeated patching.\nfunction findInsertionIndex(id) {\n // the start index should be `flushIndex + 1`\n let start = flushIndex + 1;\n let end = queue.length;\n while (start < end) {\n const middle = (start + end) >>> 1;\n const middleJobId = getId(queue[middle]);\n middleJobId < id ? (start = middle + 1) : (end = middle);\n }\n return start;\n}\nfunction queueJob(job) {\n // the dedupe search uses the startIndex argument of Array.includes()\n // by default the search index includes the current job that is being run\n // so it cannot recursively trigger itself again.\n // if the job is a watch() callback, the search will start with a +1 index to\n // allow it recursively trigger itself - it is the user's responsibility to\n // ensure it doesn't end up in an infinite loop.\n if (!queue.length ||\n !queue.includes(job, isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex)) {\n if (job.id == null) {\n queue.push(job);\n }\n else {\n queue.splice(findInsertionIndex(job.id), 0, job);\n }\n queueFlush();\n }\n}\nfunction queueFlush() {\n if (!isFlushing && !isFlushPending) {\n isFlushPending = true;\n currentFlushPromise = resolvedPromise.then(flushJobs);\n }\n}\nfunction invalidateJob(job) {\n const i = queue.indexOf(job);\n if (i > flushIndex) {\n queue.splice(i, 1);\n }\n}\nfunction queuePostFlushCb(cb) {\n if (!isArray(cb)) {\n if (!activePostFlushCbs ||\n !activePostFlushCbs.includes(cb, cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex)) {\n pendingPostFlushCbs.push(cb);\n }\n }\n else {\n // if cb is an array, it is a component lifecycle hook which can only be\n // triggered by a job, which is already deduped in the main queue, so\n // we can skip duplicate check here to improve perf\n pendingPostFlushCbs.push(...cb);\n }\n queueFlush();\n}\nfunction flushPreFlushCbs(seen, \n// if currently flushing, skip the current job itself\ni = isFlushing ? flushIndex + 1 : 0) {\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n for (; i < queue.length; i++) {\n const cb = queue[i];\n if (cb && cb.pre) {\n if ((process.env.NODE_ENV !== 'production') && checkRecursiveUpdates(seen, cb)) {\n continue;\n }\n queue.splice(i, 1);\n i--;\n cb();\n }\n }\n}\nfunction flushPostFlushCbs(seen) {\n if (pendingPostFlushCbs.length) {\n const deduped = [...new Set(pendingPostFlushCbs)];\n pendingPostFlushCbs.length = 0;\n // #1947 already has active queue, nested flushPostFlushCbs call\n if (activePostFlushCbs) {\n activePostFlushCbs.push(...deduped);\n return;\n }\n activePostFlushCbs = deduped;\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n activePostFlushCbs.sort((a, b) => getId(a) - getId(b));\n for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {\n if ((process.env.NODE_ENV !== 'production') &&\n checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {\n continue;\n }\n activePostFlushCbs[postFlushIndex]();\n }\n activePostFlushCbs = null;\n postFlushIndex = 0;\n }\n}\nconst getId = (job) => job.id == null ? Infinity : job.id;\nconst comparator = (a, b) => {\n const diff = getId(a) - getId(b);\n if (diff === 0) {\n if (a.pre && !b.pre)\n return -1;\n if (b.pre && !a.pre)\n return 1;\n }\n return diff;\n};\nfunction flushJobs(seen) {\n isFlushPending = false;\n isFlushing = true;\n if ((process.env.NODE_ENV !== 'production')) {\n seen = seen || new Map();\n }\n // Sort queue before flush.\n // This ensures that:\n // 1. Components are updated from parent to child. (because parent is always\n // created before the child so its render effect will have smaller\n // priority number)\n // 2. If a component is unmounted during a parent component's update,\n // its update can be skipped.\n queue.sort(comparator);\n // conditional usage of checkRecursiveUpdate must be determined out of\n // try ... catch block since Rollup by default de-optimizes treeshaking\n // inside try-catch. This can leave all warning code unshaked. Although\n // they would get eventually shaken by a minifier like terser, some minifiers\n // would fail to do that (e.g. https://github.com/evanw/esbuild/issues/1610)\n const check = (process.env.NODE_ENV !== 'production')\n ? (job) => checkRecursiveUpdates(seen, job)\n : NOOP;\n try {\n for (flushIndex = 0; flushIndex < queue.length; flushIndex++) {\n const job = queue[flushIndex];\n if (job && job.active !== false) {\n if ((process.env.NODE_ENV !== 'production') && check(job)) {\n continue;\n }\n // console.log(`running:`, job.id)\n callWithErrorHandling(job, null, 14 /* ErrorCodes.SCHEDULER */);\n }\n }\n }\n finally {\n flushIndex = 0;\n queue.length = 0;\n flushPostFlushCbs(seen);\n isFlushing = false;\n currentFlushPromise = null;\n // some postFlushCb queued jobs!\n // keep flushing until it drains.\n if (queue.length || pendingPostFlushCbs.length) {\n flushJobs(seen);\n }\n }\n}\nfunction checkRecursiveUpdates(seen, fn) {\n if (!seen.has(fn)) {\n seen.set(fn, 1);\n }\n else {\n const count = seen.get(fn);\n if (count > RECURSION_LIMIT) {\n const instance = fn.ownerInstance;\n const componentName = instance && getComponentName(instance.type);\n warn(`Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. ` +\n `This means you have a reactive effect that is mutating its own ` +\n `dependencies and thus recursively triggering itself. Possible sources ` +\n `include component template, render function, updated hook or ` +\n `watcher source function.`);\n return true;\n }\n else {\n seen.set(fn, count + 1);\n }\n }\n}\n\n/* eslint-disable no-restricted-globals */\nlet isHmrUpdating = false;\nconst hmrDirtyComponents = new Set();\n// Expose the HMR runtime on the global object\n// This makes it entirely tree-shakable without polluting the exports and makes\n// it easier to be used in toolings like vue-loader\n// Note: for a component to be eligible for HMR it also needs the __hmrId option\n// to be set so that its instances can be registered / removed.\nif ((process.env.NODE_ENV !== 'production')) {\n getGlobalThis().__VUE_HMR_RUNTIME__ = {\n createRecord: tryWrap(createRecord),\n rerender: tryWrap(rerender),\n reload: tryWrap(reload)\n };\n}\nconst map = new Map();\nfunction registerHMR(instance) {\n const id = instance.type.__hmrId;\n let record = map.get(id);\n if (!record) {\n createRecord(id, instance.type);\n record = map.get(id);\n }\n record.instances.add(instance);\n}\nfunction unregisterHMR(instance) {\n map.get(instance.type.__hmrId).instances.delete(instance);\n}\nfunction createRecord(id, initialDef) {\n if (map.has(id)) {\n return false;\n }\n map.set(id, {\n initialDef: normalizeClassComponent(initialDef),\n instances: new Set()\n });\n return true;\n}\nfunction normalizeClassComponent(component) {\n return isClassComponent(component) ? component.__vccOpts : component;\n}\nfunction rerender(id, newRender) {\n const record = map.get(id);\n if (!record) {\n return;\n }\n // update initial record (for not-yet-rendered component)\n record.initialDef.render = newRender;\n [...record.instances].forEach(instance => {\n if (newRender) {\n instance.render = newRender;\n normalizeClassComponent(instance.type).render = newRender;\n }\n instance.renderCache = [];\n // this flag forces child components with slot content to update\n isHmrUpdating = true;\n instance.update();\n isHmrUpdating = false;\n });\n}\nfunction reload(id, newComp) {\n const record = map.get(id);\n if (!record)\n return;\n newComp = normalizeClassComponent(newComp);\n // update initial def (for not-yet-rendered components)\n updateComponentDef(record.initialDef, newComp);\n // create a snapshot which avoids the set being mutated during updates\n const instances = [...record.instances];\n for (const instance of instances) {\n const oldComp = normalizeClassComponent(instance.type);\n if (!hmrDirtyComponents.has(oldComp)) {\n // 1. Update existing comp definition to match new one\n if (oldComp !== record.initialDef) {\n updateComponentDef(oldComp, newComp);\n }\n // 2. mark definition dirty. This forces the renderer to replace the\n // component on patch.\n hmrDirtyComponents.add(oldComp);\n }\n // 3. invalidate options resolution cache\n instance.appContext.optionsCache.delete(instance.type);\n // 4. actually update\n if (instance.ceReload) {\n // custom element\n hmrDirtyComponents.add(oldComp);\n instance.ceReload(newComp.styles);\n hmrDirtyComponents.delete(oldComp);\n }\n else if (instance.parent) {\n // 4. Force the parent instance to re-render. This will cause all updated\n // components to be unmounted and re-mounted. Queue the update so that we\n // don't end up forcing the same parent to re-render multiple times.\n queueJob(instance.parent.update);\n }\n else if (instance.appContext.reload) {\n // root instance mounted via createApp() has a reload method\n instance.appContext.reload();\n }\n else if (typeof window !== 'undefined') {\n // root instance inside tree created via raw render(). Force reload.\n window.location.reload();\n }\n else {\n console.warn('[HMR] Root or manually mounted instance modified. Full reload required.');\n }\n }\n // 5. make sure to cleanup dirty hmr components after update\n queuePostFlushCb(() => {\n for (const instance of instances) {\n hmrDirtyComponents.delete(normalizeClassComponent(instance.type));\n }\n });\n}\nfunction updateComponentDef(oldComp, newComp) {\n extend(oldComp, newComp);\n for (const key in oldComp) {\n if (key !== '__file' && !(key in newComp)) {\n delete oldComp[key];\n }\n }\n}\nfunction tryWrap(fn) {\n return (id, arg) => {\n try {\n return fn(id, arg);\n }\n catch (e) {\n console.error(e);\n console.warn(`[HMR] Something went wrong during Vue component hot-reload. ` +\n `Full reload required.`);\n }\n };\n}\n\nlet devtools;\nlet buffer = [];\nlet devtoolsNotInstalled = false;\nfunction emit$1(event, ...args) {\n if (devtools) {\n devtools.emit(event, ...args);\n }\n else if (!devtoolsNotInstalled) {\n buffer.push({ event, args });\n }\n}\nfunction setDevtoolsHook(hook, target) {\n var _a, _b;\n devtools = hook;\n if (devtools) {\n devtools.enabled = true;\n buffer.forEach(({ event, args }) => devtools.emit(event, ...args));\n buffer = [];\n }\n else if (\n // handle late devtools injection - only do this if we are in an actual\n // browser environment to avoid the timer handle stalling test runner exit\n // (#4815)\n typeof window !== 'undefined' &&\n // some envs mock window but not fully\n window.HTMLElement &&\n // also exclude jsdom\n !((_b = (_a = window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) === null || _b === void 0 ? void 0 : _b.includes('jsdom'))) {\n const replay = (target.__VUE_DEVTOOLS_HOOK_REPLAY__ =\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []);\n replay.push((newHook) => {\n setDevtoolsHook(newHook, target);\n });\n // clear buffer after 3s - the user probably doesn't have devtools installed\n // at all, and keeping the buffer will cause memory leaks (#4738)\n setTimeout(() => {\n if (!devtools) {\n target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null;\n devtoolsNotInstalled = true;\n buffer = [];\n }\n }, 3000);\n }\n else {\n // non-browser env, assume not installed\n devtoolsNotInstalled = true;\n buffer = [];\n }\n}\nfunction devtoolsInitApp(app, version) {\n emit$1(\"app:init\" /* DevtoolsHooks.APP_INIT */, app, version, {\n Fragment,\n Text,\n Comment,\n Static\n });\n}\nfunction devtoolsUnmountApp(app) {\n emit$1(\"app:unmount\" /* DevtoolsHooks.APP_UNMOUNT */, app);\n}\nconst devtoolsComponentAdded = /*#__PURE__*/ createDevtoolsComponentHook(\"component:added\" /* DevtoolsHooks.COMPONENT_ADDED */);\nconst devtoolsComponentUpdated = \n/*#__PURE__*/ createDevtoolsComponentHook(\"component:updated\" /* DevtoolsHooks.COMPONENT_UPDATED */);\nconst _devtoolsComponentRemoved = /*#__PURE__*/ createDevtoolsComponentHook(\"component:removed\" /* DevtoolsHooks.COMPONENT_REMOVED */);\nconst devtoolsComponentRemoved = (component) => {\n if (devtools &&\n typeof devtools.cleanupBuffer === 'function' &&\n // remove the component if it wasn't buffered\n !devtools.cleanupBuffer(component)) {\n _devtoolsComponentRemoved(component);\n }\n};\nfunction createDevtoolsComponentHook(hook) {\n return (component) => {\n emit$1(hook, component.appContext.app, component.uid, component.parent ? component.parent.uid : undefined, component);\n };\n}\nconst devtoolsPerfStart = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:start\" /* DevtoolsHooks.PERFORMANCE_START */);\nconst devtoolsPerfEnd = /*#__PURE__*/ createDevtoolsPerformanceHook(\"perf:end\" /* DevtoolsHooks.PERFORMANCE_END */);\nfunction createDevtoolsPerformanceHook(hook) {\n return (component, type, time) => {\n emit$1(hook, component.appContext.app, component.uid, component, type, time);\n };\n}\nfunction devtoolsComponentEmit(component, event, params) {\n emit$1(\"component:emit\" /* DevtoolsHooks.COMPONENT_EMIT */, component.appContext.app, component, event, params);\n}\n\nfunction emit(instance, event, ...rawArgs) {\n if (instance.isUnmounted)\n return;\n const props = instance.vnode.props || EMPTY_OBJ;\n if ((process.env.NODE_ENV !== 'production')) {\n const { emitsOptions, propsOptions: [propsOptions] } = instance;\n if (emitsOptions) {\n if (!(event in emitsOptions) &&\n !(false )) {\n if (!propsOptions || !(toHandlerKey(event) in propsOptions)) {\n warn(`Component emitted event \"${event}\" but it is neither declared in ` +\n `the emits option nor as an \"${toHandlerKey(event)}\" prop.`);\n }\n }\n else {\n const validator = emitsOptions[event];\n if (isFunction(validator)) {\n const isValid = validator(...rawArgs);\n if (!isValid) {\n warn(`Invalid event arguments: event validation failed for event \"${event}\".`);\n }\n }\n }\n }\n }\n let args = rawArgs;\n const isModelListener = event.startsWith('update:');\n // for v-model update:xxx events, apply modifiers on args\n const modelArg = isModelListener && event.slice(7);\n if (modelArg && modelArg in props) {\n const modifiersKey = `${modelArg === 'modelValue' ? 'model' : modelArg}Modifiers`;\n const { number, trim } = props[modifiersKey] || EMPTY_OBJ;\n if (trim) {\n args = rawArgs.map(a => (isString(a) ? a.trim() : a));\n }\n if (number) {\n args = rawArgs.map(looseToNumber);\n }\n }\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentEmit(instance, event, args);\n }\n if ((process.env.NODE_ENV !== 'production')) {\n const lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && props[toHandlerKey(lowerCaseEvent)]) {\n warn(`Event \"${lowerCaseEvent}\" is emitted in component ` +\n `${formatComponentName(instance, instance.type)} but the handler is registered for \"${event}\". ` +\n `Note that HTML attributes are case-insensitive and you cannot use ` +\n `v-on to listen to camelCase events when using in-DOM templates. ` +\n `You should probably use \"${hyphenate(event)}\" instead of \"${event}\".`);\n }\n }\n let handlerName;\n let handler = props[(handlerName = toHandlerKey(event))] ||\n // also try camelCase event handler (#2249)\n props[(handlerName = toHandlerKey(camelize(event)))];\n // for v-model update:xxx events, also trigger kebab-case equivalent\n // for props passed via kebab-case\n if (!handler && isModelListener) {\n handler = props[(handlerName = toHandlerKey(hyphenate(event)))];\n }\n if (handler) {\n callWithAsyncErrorHandling(handler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n const onceHandler = props[handlerName + `Once`];\n if (onceHandler) {\n if (!instance.emitted) {\n instance.emitted = {};\n }\n else if (instance.emitted[handlerName]) {\n return;\n }\n instance.emitted[handlerName] = true;\n callWithAsyncErrorHandling(onceHandler, instance, 6 /* ErrorCodes.COMPONENT_EVENT_HANDLER */, args);\n }\n}\nfunction normalizeEmitsOptions(comp, appContext, asMixin = false) {\n const cache = appContext.emitsCache;\n const cached = cache.get(comp);\n if (cached !== undefined) {\n return cached;\n }\n const raw = comp.emits;\n let normalized = {};\n // apply mixin/extends props\n let hasExtends = false;\n if (__VUE_OPTIONS_API__ && !isFunction(comp)) {\n const extendEmits = (raw) => {\n const normalizedFromExtend = normalizeEmitsOptions(raw, appContext, true);\n if (normalizedFromExtend) {\n hasExtends = true;\n extend(normalized, normalizedFromExtend);\n }\n };\n if (!asMixin && appContext.mixins.length) {\n appContext.mixins.forEach(extendEmits);\n }\n if (comp.extends) {\n extendEmits(comp.extends);\n }\n if (comp.mixins) {\n comp.mixins.forEach(extendEmits);\n }\n }\n if (!raw && !hasExtends) {\n if (isObject(comp)) {\n cache.set(comp, null);\n }\n return null;\n }\n if (isArray(raw)) {\n raw.forEach(key => (normalized[key] = null));\n }\n else {\n extend(normalized, raw);\n }\n if (isObject(comp)) {\n cache.set(comp, normalized);\n }\n return normalized;\n}\n// Check if an incoming prop key is a declared emit event listener.\n// e.g. With `emits: { click: null }`, props named `onClick` and `onclick` are\n// both considered matched listeners.\nfunction isEmitListener(options, key) {\n if (!options || !isOn(key)) {\n return false;\n }\n key = key.slice(2).replace(/Once$/, '');\n return (hasOwn(options, key[0].toLowerCase() + key.slice(1)) ||\n hasOwn(options, hyphenate(key)) ||\n hasOwn(options, key));\n}\n\n/**\n * mark the current rendering instance for asset resolution (e.g.\n * resolveComponent, resolveDirective) during render\n */\nlet currentRenderingInstance = null;\nlet currentScopeId = null;\n/**\n * Note: rendering calls maybe nested. The function returns the parent rendering\n * instance if present, which should be restored after the render is done:\n *\n * ```js\n * const prev = setCurrentRenderingInstance(i)\n * // ...render\n * setCurrentRenderingInstance(prev)\n * ```\n */\nfunction setCurrentRenderingInstance(instance) {\n const prev = currentRenderingInstance;\n currentRenderingInstance = instance;\n currentScopeId = (instance && instance.type.__scopeId) || null;\n return prev;\n}\n/**\n * Set scope id when creating hoisted vnodes.\n * @private compiler helper\n */\nfunction pushScopeId(id) {\n currentScopeId = id;\n}\n/**\n * Technically we no longer need this after 3.0.8 but we need to keep the same\n * API for backwards compat w/ code generated by compilers.\n * @private\n */\nfunction popScopeId() {\n currentScopeId = null;\n}\n/**\n * Only for backwards compat\n * @private\n */\nconst withScopeId = (_id) => withCtx;\n/**\n * Wrap a slot function to memoize current rendering instance\n * @private compiler helper\n */\nfunction withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot // false only\n) {\n if (!ctx)\n return fn;\n // already normalized\n if (fn._n) {\n return fn;\n }\n const renderFnWithContext = (...args) => {\n // If a user calls a compiled slot inside a template expression (#1745), it\n // can mess up block tracking, so by default we disable block tracking and\n // force bail out when invoking a compiled slot (indicated by the ._d flag).\n // This isn't necessary if rendering a compiled ``, so we flip the\n // ._d flag off when invoking the wrapped fn inside `renderSlot`.\n if (renderFnWithContext._d) {\n setBlockTracking(-1);\n }\n const prevInstance = setCurrentRenderingInstance(ctx);\n let res;\n try {\n res = fn(...args);\n }\n finally {\n setCurrentRenderingInstance(prevInstance);\n if (renderFnWithContext._d) {\n setBlockTracking(1);\n }\n }\n if ((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) {\n devtoolsComponentUpdated(ctx);\n }\n return res;\n };\n // mark normalized to avoid duplicated wrapping\n renderFnWithContext._n = true;\n // mark this as compiled by default\n // this is used in vnode.ts -> normalizeChildren() to set the slot\n // rendering flag.\n renderFnWithContext._c = true;\n // disable block tracking by default\n renderFnWithContext._d = true;\n return renderFnWithContext;\n}\n\n/**\n * dev only flag to track whether $attrs was used during render.\n * If $attrs was used during render then the warning for failed attrs\n * fallthrough can be suppressed.\n */\nlet accessedAttrs = false;\nfunction markAttrsAccessed() {\n accessedAttrs = true;\n}\nfunction renderComponentRoot(instance) {\n const { type: Component, vnode, proxy, withProxy, props, propsOptions: [propsOptions], slots, attrs, emit, render, renderCache, data, setupState, ctx, inheritAttrs } = instance;\n let result;\n let fallthroughAttrs;\n const prev = setCurrentRenderingInstance(instance);\n if ((process.env.NODE_ENV !== 'production')) {\n accessedAttrs = false;\n }\n try {\n if (vnode.shapeFlag & 4 /* ShapeFlags.STATEFUL_COMPONENT */) {\n // withProxy is a proxy with a different `has` trap only for\n // runtime-compiled render functions using `with` block.\n const proxyToUse = withProxy || proxy;\n result = normalizeVNode(render.call(proxyToUse, proxyToUse, renderCache, props, setupState, data, ctx));\n fallthroughAttrs = attrs;\n }\n else {\n // functional\n const render = Component;\n // in dev, mark attrs accessed if optional props (attrs === props)\n if ((process.env.NODE_ENV !== 'production') && attrs === props) {\n markAttrsAccessed();\n }\n result = normalizeVNode(render.length > 1\n ? render(props, (process.env.NODE_ENV !== 'production')\n ? {\n get attrs() {\n markAttrsAccessed();\n return attrs;\n },\n slots,\n emit\n }\n : { attrs, slots, emit })\n : render(props, null /* we know it doesn't need it */));\n fallthroughAttrs = Component.props\n ? attrs\n : getFunctionalFallthrough(attrs);\n }\n }\n catch (err) {\n blockStack.length = 0;\n handleError(err, instance, 1 /* ErrorCodes.RENDER_FUNCTION */);\n result = createVNode(Comment);\n }\n // attr merging\n // in dev mode, comments are preserved, and it's possible for a template\n // to have comments along side the root element which makes it a fragment\n let root = result;\n let setRoot = undefined;\n if ((process.env.NODE_ENV !== 'production') &&\n result.patchFlag > 0 &&\n result.patchFlag & 2048 /* PatchFlags.DEV_ROOT_FRAGMENT */) {\n [root, setRoot] = getChildRoot(result);\n }\n if (fallthroughAttrs && inheritAttrs !== false) {\n const keys = Object.keys(fallthroughAttrs);\n const { shapeFlag } = root;\n if (keys.length) {\n if (shapeFlag & (1 /* ShapeFlags.ELEMENT */ | 6 /* ShapeFlags.COMPONENT */)) {\n if (propsOptions && keys.some(isModelListener)) {\n // If a v-model listener (onUpdate:xxx) has a corresponding declared\n // prop, it indicates this component expects to handle v-model and\n // it should not fallthrough.\n // related: #1543, #1643, #1989\n fallthroughAttrs = filterModelListeners(fallthroughAttrs, propsOptions);\n }\n root = cloneVNode(root, fallthroughAttrs);\n }\n else if ((process.env.NODE_ENV !== 'production') && !accessedAttrs && root.type !== Comment) {\n const allAttrs = Object.keys(attrs);\n const eventAttrs = [];\n const extraAttrs = [];\n for (let i = 0, l = allAttrs.length; i < l; i++) {\n const key = allAttrs[i];\n if (isOn(key)) {\n // ignore v-model handlers when they fail to fallthrough\n if (!isModelListener(key)) {\n // remove `on`, lowercase first letter to reflect event casing\n // accurately\n eventAttrs.push(key[2].toLowerCase() + key.slice(3));\n }\n }\n else {\n extraAttrs.push(key);\n }\n }\n if (extraAttrs.length) {\n warn(`Extraneous non-props attributes (` +\n `${extraAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes.`);\n }\n if (eventAttrs.length) {\n warn(`Extraneous non-emits event listeners (` +\n `${eventAttrs.join(', ')}) ` +\n `were passed to component but could not be automatically inherited ` +\n `because component renders fragment or text root nodes. ` +\n `If the listener is intended to be a component custom event listener only, ` +\n `declare it using the \"emits\" option.`);\n }\n }\n }\n }\n // inherit directives\n if (vnode.dirs) {\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\n warn(`Runtime directive used on component with non-element root node. ` +\n `The directives will not function as intended.`);\n }\n // clone before mutating since the root may be a hoisted vnode\n root = cloneVNode(root);\n root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;\n }\n // inherit transition data\n if (vnode.transition) {\n if ((process.env.NODE_ENV !== 'production') && !isElementRoot(root)) {\n warn(`Component inside renders non-element root node ` +\n `that cannot be animated.`);\n }\n root.transition = vnode.transition;\n }\n if ((process.env.NODE_ENV !== 'production') && setRoot) {\n setRoot(root);\n }\n else {\n result = root;\n }\n setCurrentRenderingInstance(prev);\n return result;\n}\n/**\n * dev only\n * In dev mode, template root level comments are rendered, which turns the\n * template into a fragment root, but we need to locate the single element\n * root for attrs and scope id processing.\n */\nconst getChildRoot = (vnode) => {\n const rawChildren = vnode.children;\n const dynamicChildren = vnode.dynamicChildren;\n const childRoot = filterSingleRoot(rawChildren);\n if (!childRoot) {\n return [vnode, undefined];\n }\n const index = rawChildren.indexOf(childRoot);\n const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1;\n const setRoot = (updatedRoot) => {\n rawChildren[index] = updatedRoot;\n if (dynamicChildren) {\n if (dynamicIndex > -1) {\n dynamicChildren[dynamicIndex] = updatedRoot;\n }\n else if (updatedRoot.patchFlag > 0) {\n vnode.dynamicChildren = [...dynamicChildren, updatedRoot];\n }\n }\n };\n return [normalizeVNode(childRoot), setRoot];\n};\nfunction filterSingleRoot(children) {\n let singleRoot;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n if (isVNode(child)) {\n // ignore user comment\n if (child.type !== Comment || child.children === 'v-if') {\n if (singleRoot) {\n // has more than 1 non-comment child, return now\n return;\n }\n else {\n singleRoot = child;\n }\n }\n }\n else {\n return;\n }\n }\n return singleRoot;\n}\nconst getFunctionalFallthrough = (attrs) => {\n let res;\n for (const key in attrs) {\n if (key === 'class' || key === 'style' || isOn(key)) {\n (res || (res = {}))[key] = attrs[key];\n }\n }\n return res;\n};\nconst filterModelListeners = (attrs, props) => {\n const res = {};\n for (const key in attrs) {\n if (!isModelListener(key) || !(key.slice(9) in props)) {\n res[key] = attrs[key];\n }\n }\n return res;\n};\nconst isElementRoot = (vnode) => {\n return (vnode.shapeFlag & (6 /* ShapeFlags.COMPONENT */ | 1 /* ShapeFlags.ELEMENT */) ||\n vnode.type === Comment // potential v-if branch switch\n );\n};\nfunction shouldUpdateComponent(prevVNode, nextVNode, optimized) {\n const { props: prevProps, children: prevChildren, component } = prevVNode;\n const { props: nextProps, children: nextChildren, patchFlag } = nextVNode;\n const emits = component.emitsOptions;\n // Parent component's render function was hot-updated. Since this may have\n // caused the child component's slots content to have changed, we need to\n // force the child to update as well.\n if ((process.env.NODE_ENV !== 'production') && (prevChildren || nextChildren) && isHmrUpdating) {\n return true;\n }\n // force child update for runtime directive or transition on component vnode.\n if (nextVNode.dirs || nextVNode.transition) {\n return true;\n }\n if (optimized && patchFlag >= 0) {\n if (patchFlag & 1024 /* PatchFlags.DYNAMIC_SLOTS */) {\n // slot content that references values that might have changed,\n // e.g. in a v-for\n return true;\n }\n if (patchFlag & 16 /* PatchFlags.FULL_PROPS */) {\n if (!prevProps) {\n return !!nextProps;\n }\n // presence of this flag indicates props are always non-null\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n else if (patchFlag & 8 /* PatchFlags.PROPS */) {\n const dynamicProps = nextVNode.dynamicProps;\n for (let i = 0; i < dynamicProps.length; i++) {\n const key = dynamicProps[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emits, key)) {\n return true;\n }\n }\n }\n }\n else {\n // this path is only taken by manually written render functions\n // so presence of any children leads to a forced update\n if (prevChildren || nextChildren) {\n if (!nextChildren || !nextChildren.$stable) {\n return true;\n }\n }\n if (prevProps === nextProps) {\n return false;\n }\n if (!prevProps) {\n return !!nextProps;\n }\n if (!nextProps) {\n return true;\n }\n return hasPropsChanged(prevProps, nextProps, emits);\n }\n return false;\n}\nfunction hasPropsChanged(prevProps, nextProps, emitsOptions) {\n const nextKeys = Object.keys(nextProps);\n if (nextKeys.length !== Object.keys(prevProps).length) {\n return true;\n }\n for (let i = 0; i < nextKeys.length; i++) {\n const key = nextKeys[i];\n if (nextProps[key] !== prevProps[key] &&\n !isEmitListener(emitsOptions, key)) {\n return true;\n }\n }\n return false;\n}\nfunction updateHOCHostEl({ vnode, parent }, el // HostNode\n) {\n while (parent && parent.subTree === vnode) {\n (vnode = parent.vnode).el = el;\n parent = parent.parent;\n }\n}\n\nconst isSuspense = (type) => type.__isSuspense;\n// Suspense exposes a component-like API, and is treated like a component\n// in the compiler, but internally it's a special built-in type that hooks\n// directly into the renderer.\nconst SuspenseImpl = {\n name: 'Suspense',\n // In order to make Suspense tree-shakable, we need to avoid importing it\n // directly in the renderer. The renderer checks for the __isSuspense flag\n // on a vnode's type and calls the `process` method, passing in renderer\n // internals.\n __isSuspense: true,\n process(n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, \n // platform-specific impl passed from renderer\n rendererInternals) {\n if (n1 == null) {\n mountSuspense(n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n else {\n patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, rendererInternals);\n }\n },\n hydrate: hydrateSuspense,\n create: createSuspenseBoundary,\n normalize: normalizeSuspenseChildren\n};\n// Force-casted public typing for h and TSX props inference\nconst Suspense = (SuspenseImpl\n );\nfunction triggerEvent(vnode, name) {\n const eventListener = vnode.props && vnode.props[name];\n if (isFunction(eventListener)) {\n eventListener();\n }\n}\nfunction mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals) {\n const { p: patch, o: { createElement } } = rendererInternals;\n const hiddenContainer = createElement('div');\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals));\n // start mounting the content subtree in an off-dom container\n patch(null, (suspense.pendingBranch = vnode.ssContent), hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds);\n // now check if we have encountered any async deps\n if (suspense.deps > 0) {\n // has async\n // invoke @fallback event\n triggerEvent(vnode, 'onPending');\n triggerEvent(vnode, 'onFallback');\n // mount the fallback tree\n patch(null, vnode.ssFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds);\n setActiveBranch(suspense, vnode.ssFallback);\n }\n else {\n // Suspense has no async deps. Just resolve.\n suspense.resolve();\n }\n}\nfunction patchSuspense(n1, n2, container, anchor, parentComponent, isSVG, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement } }) {\n const suspense = (n2.suspense = n1.suspense);\n suspense.vnode = n2;\n n2.el = n1.el;\n const newBranch = n2.ssContent;\n const newFallback = n2.ssFallback;\n const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;\n if (pendingBranch) {\n suspense.pendingBranch = newBranch;\n if (isSameVNodeType(newBranch, pendingBranch)) {\n // same root type but content may have changed.\n patch(pendingBranch, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else if (isInFallback) {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else {\n // toggled before pending tree is resolved\n suspense.pendingId++;\n if (isHydrating) {\n // if toggled before hydration is finished, the current DOM tree is\n // no longer valid. set it as the active branch so it will be unmounted\n // when resolved\n suspense.isHydrating = false;\n suspense.activeBranch = pendingBranch;\n }\n else {\n unmount(pendingBranch, parentComponent, suspense);\n }\n // increment pending ID. this is used to invalidate async callbacks\n // reset suspense state\n suspense.deps = 0;\n // discard effects from pending branch\n suspense.effects.length = 0;\n // discard previous container\n suspense.hiddenContainer = createElement('div');\n if (isInFallback) {\n // already in fallback state\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n else {\n patch(activeBranch, newFallback, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newFallback);\n }\n }\n else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // toggled \"back\" to current active branch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n // force resolve\n suspense.resolve(true);\n }\n else {\n // switched to a 3rd branch\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n suspense.resolve();\n }\n }\n }\n }\n else {\n if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {\n // root did not change, just normal patch\n patch(activeBranch, newBranch, container, anchor, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, newBranch);\n }\n else {\n // root node toggled\n // invoke @pending event\n triggerEvent(n2, 'onPending');\n // mount pending branch in off-dom container\n suspense.pendingBranch = newBranch;\n suspense.pendingId++;\n patch(null, newBranch, suspense.hiddenContainer, null, parentComponent, suspense, isSVG, slotScopeIds, optimized);\n if (suspense.deps <= 0) {\n // incoming branch has no async deps, resolve now.\n suspense.resolve();\n }\n else {\n const { timeout, pendingId } = suspense;\n if (timeout > 0) {\n setTimeout(() => {\n if (suspense.pendingId === pendingId) {\n suspense.fallback(newFallback);\n }\n }, timeout);\n }\n else if (timeout === 0) {\n suspense.fallback(newFallback);\n }\n }\n }\n }\n}\nlet hasWarned = false;\nfunction createSuspenseBoundary(vnode, parent, parentComponent, container, hiddenContainer, anchor, isSVG, slotScopeIds, optimized, rendererInternals, isHydrating = false) {\n /* istanbul ignore if */\n if ((process.env.NODE_ENV !== 'production') && !false && !hasWarned) {\n hasWarned = true;\n // @ts-ignore `console.info` cannot be null error\n console[console.info ? 'info' : 'log'](` is an experimental feature and its API will likely change.`);\n }\n const { p: patch, m: move, um: unmount, n: next, o: { parentNode, remove } } = rendererInternals;\n const timeout = vnode.props ? toNumber(vnode.props.timeout) : undefined;\n if ((process.env.NODE_ENV !== 'production')) {\n assertNumber(timeout, `Suspense timeout`);\n }\n const suspense = {\n vnode,\n parent,\n parentComponent,\n isSVG,\n container,\n hiddenContainer,\n anchor,\n deps: 0,\n pendingId: 0,\n timeout: typeof timeout === 'number' ? timeout : -1,\n activeBranch: null,\n pendingBranch: null,\n isInFallback: true,\n isHydrating,\n isUnmounted: false,\n effects: [],\n resolve(resume = false) {\n if ((process.env.NODE_ENV !== 'production')) {\n if (!resume && !suspense.pendingBranch) {\n throw new Error(`suspense.resolve() is called without a pending branch.`);\n }\n if (suspense.isUnmounted) {\n throw new Error(`suspense.resolve() is called on an already unmounted suspense boundary.`);\n }\n }\n const { vnode, activeBranch, pendingBranch, pendingId, effects, parentComponent, container } = suspense;\n if (suspense.isHydrating) {\n suspense.isHydrating = false;\n }\n else if (!resume) {\n const delayEnter = activeBranch &&\n pendingBranch.transition &&\n pendingBranch.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = () => {\n if (pendingId === suspense.pendingId) {\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n };\n }\n // this is initial anchor on mount\n let { anchor } = suspense;\n // unmount current active tree\n if (activeBranch) {\n // if the fallback tree was mounted, it may have been moved\n // as part of a parent suspense. get the latest anchor for insertion\n anchor = next(activeBranch);\n unmount(activeBranch, parentComponent, suspense, true);\n }\n if (!delayEnter) {\n // move content from off-dom container to actual container\n move(pendingBranch, container, anchor, 0 /* MoveType.ENTER */);\n }\n }\n setActiveBranch(suspense, pendingBranch);\n suspense.pendingBranch = null;\n suspense.isInFallback = false;\n // flush buffered effects\n // check if there is a pending parent suspense\n let parent = suspense.parent;\n let hasUnresolvedAncestor = false;\n while (parent) {\n if (parent.pendingBranch) {\n // found a pending parent suspense, merge buffered post jobs\n // into that parent\n parent.effects.push(...effects);\n hasUnresolvedAncestor = true;\n break;\n }\n parent = parent.parent;\n }\n // no pending parent suspense, flush all jobs\n if (!hasUnresolvedAncestor) {\n queuePostFlushCb(effects);\n }\n suspense.effects = [];\n // invoke @resolve event\n triggerEvent(vnode, 'onResolve');\n },\n fallback(fallbackVNode) {\n if (!suspense.pendingBranch) {\n return;\n }\n const { vnode, activeBranch, parentComponent, container, isSVG } = suspense;\n // invoke @fallback event\n triggerEvent(vnode, 'onFallback');\n const anchor = next(activeBranch);\n const mountFallback = () => {\n if (!suspense.isInFallback) {\n return;\n }\n // mount the fallback tree\n patch(null, fallbackVNode, container, anchor, parentComponent, null, // fallback tree will not have suspense context\n isSVG, slotScopeIds, optimized);\n setActiveBranch(suspense, fallbackVNode);\n };\n const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === 'out-in';\n if (delayEnter) {\n activeBranch.transition.afterLeave = mountFallback;\n }\n suspense.isInFallback = true;\n // unmount current active branch\n unmount(activeBranch, parentComponent, null, // no suspense so unmount hooks fire now\n true // shouldRemove\n );\n if (!delayEnter) {\n mountFallback();\n }\n },\n move(container, anchor, type) {\n suspense.activeBranch &&\n move(suspense.activeBranch, container, anchor, type);\n suspense.container = container;\n },\n next() {\n return suspense.activeBranch && next(suspense.activeBranch);\n },\n registerDep(instance, setupRenderEffect) {\n const isInPendingSuspense = !!suspense.pendingBranch;\n if (isInPendingSuspense) {\n suspense.deps++;\n }\n const hydratedEl = instance.vnode.el;\n instance\n .asyncDep.catch(err => {\n handleError(err, instance, 0 /* ErrorCodes.SETUP_FUNCTION */);\n })\n .then(asyncSetupResult => {\n // retry when the setup() promise resolves.\n // component may have been unmounted before resolve.\n if (instance.isUnmounted ||\n suspense.isUnmounted ||\n suspense.pendingId !== instance.suspenseId) {\n return;\n }\n // retry from this component\n instance.asyncResolved = true;\n const { vnode } = instance;\n if ((process.env.NODE_ENV !== 'production')) {\n pushWarningContext(vnode);\n }\n handleSetupResult(instance, asyncSetupResult, false);\n if (hydratedEl) {\n // vnode may have been replaced if an update happened before the\n // async dep is resolved.\n vnode.el = hydratedEl;\n }\n const placeholder = !hydratedEl && instance.subTree.el;\n setupRenderEffect(instance, vnode, \n // component may have been moved before resolve.\n // if this is not a hydration, instance.subTree will be the comment\n // placeholder.\n parentNode(hydratedEl || instance.subTree.el), \n // anchor will not be used if this is hydration, so only need to\n // consider the comment placeholder case.\n hydratedEl ? null : next(instance.subTree), suspense, isSVG, optimized);\n if (placeholder) {\n remove(placeholder);\n }\n updateHOCHostEl(instance, vnode.el);\n if ((process.env.NODE_ENV !== 'production')) {\n popWarningContext();\n }\n // only decrease deps count if suspense is not already resolved\n if (isInPendingSuspense && --suspense.deps === 0) {\n suspense.resolve();\n }\n });\n },\n unmount(parentSuspense, doRemove) {\n suspense.isUnmounted = true;\n if (suspense.activeBranch) {\n unmount(suspense.activeBranch, parentComponent, parentSuspense, doRemove);\n }\n if (suspense.pendingBranch) {\n unmount(suspense.pendingBranch, parentComponent, parentSuspense, doRemove);\n }\n }\n };\n return suspense;\n}\nfunction hydrateSuspense(node, vnode, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized, rendererInternals, hydrateNode) {\n /* eslint-disable no-restricted-globals */\n const suspense = (vnode.suspense = createSuspenseBoundary(vnode, parentSuspense, parentComponent, node.parentNode, document.createElement('div'), null, isSVG, slotScopeIds, optimized, rendererInternals, true /* hydrating */));\n // there are two possible scenarios for server-rendered suspense:\n // - success: ssr content should be fully resolved\n // - failure: ssr content should be the fallback branch.\n // however, on the client we don't really know if it has failed or not\n // attempt to hydrate the DOM assuming it has succeeded, but we still\n // need to construct a suspense boundary first\n const result = hydrateNode(node, (suspense.pendingBranch = vnode.ssContent), parentComponent, suspense, slotScopeIds, optimized);\n if (suspense.deps === 0) {\n suspense.resolve();\n }\n return result;\n /* eslint-enable no-restricted-globals */\n}\nfunction normalizeSuspenseChildren(vnode) {\n const { shapeFlag, children } = vnode;\n const isSlotChildren = shapeFlag & 32 /* ShapeFlags.SLOTS_CHILDREN */;\n vnode.ssContent = normalizeSuspenseSlot(isSlotChildren ? children.default : children);\n vnode.ssFallback = isSlotChildren\n ? normalizeSuspenseSlot(children.fallback)\n : createVNode(Comment);\n}\nfunction normalizeSuspenseSlot(s) {\n let block;\n if (isFunction(s)) {\n const trackBlock = isBlockTreeEnabled && s._c;\n if (trackBlock) {\n // disableTracking: false\n // allow block tracking for compiled slots\n // (see ./componentRenderContext.ts)\n s._d = false;\n openBlock();\n }\n s = s();\n if (trackBlock) {\n s._d = true;\n block = currentBlock;\n closeBlock();\n }\n }\n if (isArray(s)) {\n const singleChild = filterSingleRoot(s);\n if ((process.env.NODE_ENV !== 'production') && !singleChild) {\n warn(` slots expect a single root node.`);\n }\n s = singleChild;\n }\n s = normalizeVNode(s);\n if (block && !s.dynamicChildren) {\n s.dynamicChildren = block.filter(c => c !== s);\n }\n return s;\n}\nfunction queueEffectWithSuspense(fn, suspense) {\n if (suspense && suspense.pendingBranch) {\n if (isArray(fn)) {\n suspense.effects.push(...fn);\n }\n else {\n suspense.effects.push(fn);\n }\n }\n else {\n queuePostFlushCb(fn);\n }\n}\nfunction setActiveBranch(suspense, branch) {\n suspense.activeBranch = branch;\n const { vnode, parentComponent } = suspense;\n const el = (vnode.el = branch.el);\n // in case suspense is the root node of a component,\n // recursively update the HOC el\n if (parentComponent && parentComponent.subTree === vnode) {\n parentComponent.vnode.el = el;\n updateHOCHostEl(parentComponent, el);\n }\n}\n\nfunction provide(key, value) {\n if (!currentInstance) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(`provide() can only be used inside setup().`);\n }\n }\n else {\n let provides = currentInstance.provides;\n // by default an instance inherits its parent's provides object\n // but when it needs to provide values of its own, it creates its\n // own provides object using parent provides object as prototype.\n // this way in `inject` we can simply look up injections from direct\n // parent and let the prototype chain do the work.\n const parentProvides = currentInstance.parent && currentInstance.parent.provides;\n if (parentProvides === provides) {\n provides = currentInstance.provides = Object.create(parentProvides);\n }\n // TS doesn't allow symbol as index type\n provides[key] = value;\n }\n}\nfunction inject(key, defaultValue, treatDefaultAsFactory = false) {\n // fallback to `currentRenderingInstance` so that this can be called in\n // a functional component\n const instance = currentInstance || currentRenderingInstance;\n if (instance) {\n // #2400\n // to support `app.use` plugins,\n // fallback to appContext's `provides` if the instance is at root\n const provides = instance.parent == null\n ? instance.vnode.appContext && instance.vnode.appContext.provides\n : instance.parent.provides;\n if (provides && key in provides) {\n // TS doesn't allow symbol as index type\n return provides[key];\n }\n else if (arguments.length > 1) {\n return treatDefaultAsFactory && isFunction(defaultValue)\n ? defaultValue.call(instance.proxy)\n : defaultValue;\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`injection \"${String(key)}\" not found.`);\n }\n }\n else if ((process.env.NODE_ENV !== 'production')) {\n warn(`inject() can only be used inside setup() or functional components.`);\n }\n}\n\n// Simple effect.\nfunction watchEffect(effect, options) {\n return doWatch(effect, null, options);\n}\nfunction watchPostEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'post' }) : { flush: 'post' });\n}\nfunction watchSyncEffect(effect, options) {\n return doWatch(effect, null, (process.env.NODE_ENV !== 'production') ? Object.assign(Object.assign({}, options), { flush: 'sync' }) : { flush: 'sync' });\n}\n// initial value for watchers to trigger on undefined initial values\nconst INITIAL_WATCHER_VALUE = {};\n// implementation\nfunction watch(source, cb, options) {\n if ((process.env.NODE_ENV !== 'production') && !isFunction(cb)) {\n warn(`\\`watch(fn, options?)\\` signature has been moved to a separate API. ` +\n `Use \\`watchEffect(fn, options?)\\` instead. \\`watch\\` now only ` +\n `supports \\`watch(source, cb, options?) signature.`);\n }\n return doWatch(source, cb, options);\n}\nfunction doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EMPTY_OBJ) {\n if ((process.env.NODE_ENV !== 'production') && !cb) {\n if (immediate !== undefined) {\n warn(`watch() \"immediate\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n if (deep !== undefined) {\n warn(`watch() \"deep\" option is only respected when using the ` +\n `watch(source, callback, options?) signature.`);\n }\n }\n const warnInvalidSource = (s) => {\n warn(`Invalid watch source: `, s, `A watch source can only be a getter/effect function, a ref, ` +\n `a reactive object, or an array of these types.`);\n };\n const instance = getCurrentScope() === (currentInstance === null || currentInstance === void 0 ? void 0 : currentInstance.scope) ? currentInstance : null;\n // const instance = currentInstance\n let getter;\n let forceTrigger = false;\n let isMultiSource = false;\n if (isRef(source)) {\n getter = () => source.value;\n forceTrigger = isShallow$1(source);\n }\n else if (isReactive(source)) {\n getter = () => source;\n deep = true;\n }\n else if (isArray(source)) {\n isMultiSource = true;\n forceTrigger = source.some(s => isReactive(s) || isShallow$1(s));\n getter = () => source.map(s => {\n if (isRef(s)) {\n return s.value;\n }\n else if (isReactive(s)) {\n return traverse(s);\n }\n else if (isFunction(s)) {\n return callWithErrorHandling(s, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(s);\n }\n });\n }\n else if (isFunction(source)) {\n if (cb) {\n // getter with cb\n getter = () => callWithErrorHandling(source, instance, 2 /* ErrorCodes.WATCH_GETTER */);\n }\n else {\n // no cb -> simple effect\n getter = () => {\n if (instance && instance.isUnmounted) {\n return;\n }\n if (cleanup) {\n cleanup();\n }\n return callWithAsyncErrorHandling(source, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [onCleanup]);\n };\n }\n }\n else {\n getter = NOOP;\n (process.env.NODE_ENV !== 'production') && warnInvalidSource(source);\n }\n if (cb && deep) {\n const baseGetter = getter;\n getter = () => traverse(baseGetter());\n }\n let cleanup;\n let onCleanup = (fn) => {\n cleanup = effect.onStop = () => {\n callWithErrorHandling(fn, instance, 4 /* ErrorCodes.WATCH_CLEANUP */);\n };\n };\n // in SSR there is no need to setup an actual effect, and it should be noop\n // unless it's eager or sync flush\n let ssrCleanup;\n if (isInSSRComponentSetup) {\n // we will also not call the invalidate callback (+ runner is not set up)\n onCleanup = NOOP;\n if (!cb) {\n getter();\n }\n else if (immediate) {\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n getter(),\n isMultiSource ? [] : undefined,\n onCleanup\n ]);\n }\n if (flush === 'sync') {\n const ctx = useSSRContext();\n ssrCleanup = ctx.__watcherHandles || (ctx.__watcherHandles = []);\n }\n else {\n return NOOP;\n }\n }\n let oldValue = isMultiSource\n ? new Array(source.length).fill(INITIAL_WATCHER_VALUE)\n : INITIAL_WATCHER_VALUE;\n const job = () => {\n if (!effect.active) {\n return;\n }\n if (cb) {\n // watch(source, cb)\n const newValue = effect.run();\n if (deep ||\n forceTrigger ||\n (isMultiSource\n ? newValue.some((v, i) => hasChanged(v, oldValue[i]))\n : hasChanged(newValue, oldValue)) ||\n (false )) {\n // cleanup before running cb again\n if (cleanup) {\n cleanup();\n }\n callWithAsyncErrorHandling(cb, instance, 3 /* ErrorCodes.WATCH_CALLBACK */, [\n newValue,\n // pass undefined as the old value when it's changed for the first time\n oldValue === INITIAL_WATCHER_VALUE\n ? undefined\n : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE\n ? []\n : oldValue,\n onCleanup\n ]);\n oldValue = newValue;\n }\n }\n else {\n // watchEffect\n effect.run();\n }\n };\n // important: mark the job as a watcher callback so that scheduler knows\n // it is allowed to self-trigger (#1727)\n job.allowRecurse = !!cb;\n let scheduler;\n if (flush === 'sync') {\n scheduler = job; // the scheduler function gets called directly\n }\n else if (flush === 'post') {\n scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);\n }\n else {\n // default: 'pre'\n job.pre = true;\n if (instance)\n job.id = instance.uid;\n scheduler = () => queueJob(job);\n }\n const effect = new ReactiveEffect(getter, scheduler);\n if ((process.env.NODE_ENV !== 'production')) {\n effect.onTrack = onTrack;\n effect.onTrigger = onTrigger;\n }\n // initial run\n if (cb) {\n if (immediate) {\n job();\n }\n else {\n oldValue = effect.run();\n }\n }\n else if (flush === 'post') {\n queuePostRenderEffect(effect.run.bind(effect), instance && instance.suspense);\n }\n else {\n effect.run();\n }\n const unwatch = () => {\n effect.stop();\n if (instance && instance.scope) {\n remove(instance.scope.effects, effect);\n }\n };\n if (ssrCleanup)\n ssrCleanup.push(unwatch);\n return unwatch;\n}\n// this.$watch\nfunction instanceWatch(source, value, options) {\n const publicThis = this.proxy;\n const getter = isString(source)\n ? source.includes('.')\n ? createPathGetter(publicThis, source)\n : () => publicThis[source]\n : source.bind(publicThis, publicThis);\n let cb;\n if (isFunction(value)) {\n cb = value;\n }\n else {\n cb = value.handler;\n options = value;\n }\n const cur = currentInstance;\n setCurrentInstance(this);\n const res = doWatch(getter, cb.bind(publicThis), options);\n if (cur) {\n setCurrentInstance(cur);\n }\n else {\n unsetCurrentInstance();\n }\n return res;\n}\nfunction createPathGetter(ctx, path) {\n const segments = path.split('.');\n return () => {\n let cur = ctx;\n for (let i = 0; i < segments.length && cur; i++) {\n cur = cur[segments[i]];\n }\n return cur;\n };\n}\nfunction traverse(value, seen) {\n if (!isObject(value) || value[\"__v_skip\" /* ReactiveFlags.SKIP */]) {\n return value;\n }\n seen = seen || new Set();\n if (seen.has(value)) {\n return value;\n }\n seen.add(value);\n if (isRef(value)) {\n traverse(value.value, seen);\n }\n else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n traverse(value[i], seen);\n }\n }\n else if (isSet(value) || isMap(value)) {\n value.forEach((v) => {\n traverse(v, seen);\n });\n }\n else if (isPlainObject(value)) {\n for (const key in value) {\n traverse(value[key], seen);\n }\n }\n return value;\n}\n\nfunction useTransitionState() {\n const state = {\n isMounted: false,\n isLeaving: false,\n isUnmounting: false,\n leavingVNodes: new Map()\n };\n onMounted(() => {\n state.isMounted = true;\n });\n onBeforeUnmount(() => {\n state.isUnmounting = true;\n });\n return state;\n}\nconst TransitionHookValidator = [Function, Array];\nconst BaseTransitionImpl = {\n name: `BaseTransition`,\n props: {\n mode: String,\n appear: Boolean,\n persisted: Boolean,\n // enter\n onBeforeEnter: TransitionHookValidator,\n onEnter: TransitionHookValidator,\n onAfterEnter: TransitionHookValidator,\n onEnterCancelled: TransitionHookValidator,\n // leave\n onBeforeLeave: TransitionHookValidator,\n onLeave: TransitionHookValidator,\n onAfterLeave: TransitionHookValidator,\n onLeaveCancelled: TransitionHookValidator,\n // appear\n onBeforeAppear: TransitionHookValidator,\n onAppear: TransitionHookValidator,\n onAfterAppear: TransitionHookValidator,\n onAppearCancelled: TransitionHookValidator\n },\n setup(props, { slots }) {\n const instance = getCurrentInstance();\n const state = useTransitionState();\n let prevTransitionKey;\n return () => {\n const children = slots.default && getTransitionRawChildren(slots.default(), true);\n if (!children || !children.length) {\n return;\n }\n let child = children[0];\n if (children.length > 1) {\n let hasFound = false;\n // locate first non-comment child\n for (const c of children) {\n if (c.type !== Comment) {\n if ((process.env.NODE_ENV !== 'production') && hasFound) {\n // warn more than one non-comment child\n warn(' can only be used on a single element or component. ' +\n 'Use for lists.');\n break;\n }\n child = c;\n hasFound = true;\n if (!(process.env.NODE_ENV !== 'production'))\n break;\n }\n }\n }\n // there's no need to track reactivity for these props so use the raw\n // props for a bit better perf\n const rawProps = toRaw(props);\n const { mode } = rawProps;\n // check mode\n if ((process.env.NODE_ENV !== 'production') &&\n mode &&\n mode !== 'in-out' &&\n mode !== 'out-in' &&\n mode !== 'default') {\n warn(`invalid mode: ${mode}`);\n }\n if (state.isLeaving) {\n return emptyPlaceholder(child);\n }\n // in the case of , we need to\n // compare the type of the kept-alive children.\n const innerChild = getKeepAliveChild(child);\n if (!innerChild) {\n return emptyPlaceholder(child);\n }\n const enterHooks = resolveTransitionHooks(innerChild, rawProps, state, instance);\n setTransitionHooks(innerChild, enterHooks);\n const oldChild = instance.subTree;\n const oldInnerChild = oldChild && getKeepAliveChild(oldChild);\n let transitionKeyChanged = false;\n const { getTransitionKey } = innerChild.type;\n if (getTransitionKey) {\n const key = getTransitionKey();\n if (prevTransitionKey === undefined) {\n prevTransitionKey = key;\n }\n else if (key !== prevTransitionKey) {\n prevTransitionKey = key;\n transitionKeyChanged = true;\n }\n }\n // handle mode\n if (oldInnerChild &&\n oldInnerChild.type !== Comment &&\n (!isSameVNodeType(innerChild, oldInnerChild) || transitionKeyChanged)) {\n const leavingHooks = resolveTransitionHooks(oldInnerChild, rawProps, state, instance);\n // update old tree's hooks in case of dynamic transition\n setTransitionHooks(oldInnerChild, leavingHooks);\n // switching between different views\n if (mode === 'out-in') {\n state.isLeaving = true;\n // return placeholder node and queue update when leave finishes\n leavingHooks.afterLeave = () => {\n state.isLeaving = false;\n // #6835\n // it also needs to be updated when active is undefined\n if (instance.update.active !== false) {\n instance.update();\n }\n };\n return emptyPlaceholder(child);\n }\n else if (mode === 'in-out' && innerChild.type !== Comment) {\n leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => {\n const leavingVNodesCache = getLeavingNodesForType(state, oldInnerChild);\n leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;\n // early removal callback\n el._leaveCb = () => {\n earlyRemove();\n el._leaveCb = undefined;\n delete enterHooks.delayedLeave;\n };\n enterHooks.delayedLeave = delayedLeave;\n };\n }\n }\n return child;\n };\n }\n};\n// export the public type for h/tsx inference\n// also to avoid inline import() in generated d.ts files\nconst BaseTransition = BaseTransitionImpl;\nfunction getLeavingNodesForType(state, vnode) {\n const { leavingVNodes } = state;\n let leavingVNodesCache = leavingVNodes.get(vnode.type);\n if (!leavingVNodesCache) {\n leavingVNodesCache = Object.create(null);\n leavingVNodes.set(vnode.type, leavingVNodesCache);\n }\n return leavingVNodesCache;\n}\n// The transition hooks are attached to the vnode as vnode.transition\n// and will be called at appropriate timing in the renderer.\nfunction resolveTransitionHooks(vnode, props, state, instance) {\n const { appear, mode, persisted = false, onBeforeEnter, onEnter, onAfterEnter, onEnterCancelled, onBeforeLeave, onLeave, onAfterLeave, onLeaveCancelled, onBeforeAppear, onAppear, onAfterAppear, onAppearCancelled } = props;\n const key = String(vnode.key);\n const leavingVNodesCache = getLeavingNodesForType(state, vnode);\n const callHook = (hook, args) => {\n hook &&\n callWithAsyncErrorHandling(hook, instance, 9 /* ErrorCodes.TRANSITION_HOOK */, args);\n };\n const callAsyncHook = (hook, args) => {\n const done = args[1];\n callHook(hook, args);\n if (isArray(hook)) {\n if (hook.every(hook => hook.length <= 1))\n done();\n }\n else if (hook.length <= 1) {\n done();\n }\n };\n const hooks = {\n mode,\n persisted,\n beforeEnter(el) {\n let hook = onBeforeEnter;\n if (!state.isMounted) {\n if (appear) {\n hook = onBeforeAppear || onBeforeEnter;\n }\n else {\n return;\n }\n }\n // for same element (v-show)\n if (el._leaveCb) {\n el._leaveCb(true /* cancelled */);\n }\n // for toggled element with same key (v-if)\n const leavingVNode = leavingVNodesCache[key];\n if (leavingVNode &&\n isSameVNodeType(vnode, leavingVNode) &&\n leavingVNode.el._leaveCb) {\n // force early removal (not cancelled)\n leavingVNode.el._leaveCb();\n }\n callHook(hook, [el]);\n },\n enter(el) {\n let hook = onEnter;\n let afterHook = onAfterEnter;\n let cancelHook = onEnterCancelled;\n if (!state.isMounted) {\n if (appear) {\n hook = onAppear || onEnter;\n afterHook = onAfterAppear || onAfterEnter;\n cancelHook = onAppearCancelled || onEnterCancelled;\n }\n else {\n return;\n }\n }\n let called = false;\n const done = (el._enterCb = (cancelled) => {\n if (called)\n return;\n called = true;\n if (cancelled) {\n callHook(cancelHook, [el]);\n }\n else {\n callHook(afterHook, [el]);\n }\n if (hooks.delayedLeave) {\n hooks.delayedLeave();\n }\n el._enterCb = undefined;\n });\n if (hook) {\n callAsyncHook(hook, [el, done]);\n }\n else {\n done();\n }\n },\n leave(el, remove) {\n const key = String(vnode.key);\n if (el._enterCb) {\n el._enterCb(true /* cancelled */);\n }\n if (state.isUnmounting) {\n return remove();\n }\n callHook(onBeforeLeave, [el]);\n let called = false;\n const done = (el._leaveCb = (cancelled) => {\n if (called)\n return;\n called = true;\n remove();\n if (cancelled) {\n callHook(onLeaveCancelled, [el]);\n }\n else {\n callHook(onAfterLeave, [el]);\n }\n el._leaveCb = undefined;\n if (leavingVNodesCache[key] === vnode) {\n delete leavingVNodesCache[key];\n }\n });\n leavingVNodesCache[key] = vnode;\n if (onLeave) {\n callAsyncHook(onLeave, [el, done]);\n }\n else {\n done();\n }\n },\n clone(vnode) {\n return resolveTransitionHooks(vnode, props, state, instance);\n }\n };\n return hooks;\n}\n// the placeholder really only handles one special case: KeepAlive\n// in the case of a KeepAlive in a leave phase we need to return a KeepAlive\n// placeholder with empty content to avoid the KeepAlive instance from being\n// unmounted.\nfunction emptyPlaceholder(vnode) {\n if (isKeepAlive(vnode)) {\n vnode = cloneVNode(vnode);\n vnode.children = null;\n return vnode;\n }\n}\nfunction getKeepAliveChild(vnode) {\n return isKeepAlive(vnode)\n ? vnode.children\n ? vnode.children[0]\n : undefined\n : vnode;\n}\nfunction setTransitionHooks(vnode, hooks) {\n if (vnode.shapeFlag & 6 /* ShapeFlags.COMPONENT */ && vnode.component) {\n setTransitionHooks(vnode.component.subTree, hooks);\n }\n else if (vnode.shapeFlag & 128 /* ShapeFlags.SUSPENSE */) {\n vnode.ssContent.transition = hooks.clone(vnode.ssContent);\n vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);\n }\n else {\n vnode.transition = hooks;\n }\n}\nfunction getTransitionRawChildren(children, keepComment = false, parentKey) {\n let ret = [];\n let keyedFragmentCount = 0;\n for (let i = 0; i < children.length; i++) {\n let child = children[i];\n // #5360 inherit parent key in case of