1 |
- {"version":3,"sources":["webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/wx.js?bc2e","webpack:///./node_modules/@dcloudio/uni-mp-weixin/dist/index.js?543d","webpack:///(webpack)/buildin/global.js?cd00","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js?4ea4","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js?278c","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js?c135","webpack:///./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js?9b42","webpack:///./node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js?6613","webpack:///./node_modules/@babel/runtime/helpers/arrayLikeToArray.js?5a43","webpack:///./node_modules/@babel/runtime/helpers/nonIterableRest.js?c240","webpack:///./node_modules/@babel/runtime/helpers/defineProperty.js?9523","webpack:///./node_modules/@babel/runtime/helpers/toPropertyKey.js?a395","webpack:///./node_modules/@babel/runtime/helpers/typeof.js?7037","webpack:///./node_modules/@babel/runtime/helpers/toPrimitive.js?e50d","webpack:///./node_modules/@babel/runtime/helpers/construct.js?b17c","webpack:///./node_modules/@babel/runtime/helpers/setPrototypeOf.js?4a4b","webpack:///./node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js?6f8f","webpack:///./node_modules/@babel/runtime/helpers/toConsumableArray.js?448a","webpack:///./node_modules/@babel/runtime/helpers/arrayWithoutHoles.js?2236","webpack:///./node_modules/@babel/runtime/helpers/iterableToArray.js?11b0","webpack:///./node_modules/@babel/runtime/helpers/nonIterableSpread.js?0676","webpack:///./node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js?37dc","webpack:///./node_modules/@babel/runtime/helpers/classCallCheck.js?970b","webpack:///./node_modules/@babel/runtime/helpers/createClass.js?5bc3","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js?66fd","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js?f0c5","uni-app:///store/index.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js?26cb","uni-app:///store/modules/data.js","uni-app:///request/index.js","uni-app:///wxcomponents/vant/toast/toast.js","uni-app:///wxcomponents/vant/common/utils.js","uni-app:///api/api.js","webpack:///D:/SWS_New/sws_new/static/images/11.png?68dc","webpack:///D:/SWS_New/sws_new/static/images/11.jpg?b45c","webpack:///D:/SWS_New/sws_new/static/images/head.png?fe76","webpack:///D:/SWS_New/sws_new/static/my/5.png?25e2","webpack:///D:/SWS_New/sws_new/static/images/icon4.png?3972","webpack:///D:/SWS_New/sws_new/static/my/6.png?3216","webpack:///D:/SWS_New/sws_new/static/my/7.png?3d0a","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/@babel/runtime/regenerator/index.js?2eee","webpack:///./node_modules/@babel/runtime/helpers/regeneratorRuntime.js?7ec2","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js?c973","uni-app:///mixins/share.js","webpack:///D:/SWS_New/sws_new/static/urinometer/1.png?37fa","webpack:///D:/SWS_New/sws_new/static/urinometer/3.png?6884","uni-app:///node_modules/moment/moment.js","webpack:///(webpack)/buildin/module.js?ced2","uni-app:///node_modules/moment/locale sync /^/.*$","uni-app:///node_modules/moment/locale/af.js","uni-app:///node_modules/moment/locale/ar.js","uni-app:///node_modules/moment/locale/ar-dz.js","uni-app:///node_modules/moment/locale/ar-kw.js","uni-app:///node_modules/moment/locale/ar-ly.js","uni-app:///node_modules/moment/locale/ar-ma.js","uni-app:///node_modules/moment/locale/ar-sa.js","uni-app:///node_modules/moment/locale/ar-tn.js","uni-app:///node_modules/moment/locale/az.js","uni-app:///node_modules/moment/locale/be.js","uni-app:///node_modules/moment/locale/bg.js","uni-app:///node_modules/moment/locale/bm.js","uni-app:///node_modules/moment/locale/bn.js","uni-app:///node_modules/moment/locale/bn-bd.js","uni-app:///node_modules/moment/locale/bo.js","uni-app:///node_modules/moment/locale/br.js","uni-app:///node_modules/moment/locale/bs.js","uni-app:///node_modules/moment/locale/ca.js","uni-app:///node_modules/moment/locale/cs.js","uni-app:///node_modules/moment/locale/cv.js","uni-app:///node_modules/moment/locale/cy.js","uni-app:///node_modules/moment/locale/da.js","uni-app:///node_modules/moment/locale/de.js","uni-app:///node_modules/moment/locale/de-at.js","uni-app:///node_modules/moment/locale/de-ch.js","uni-app:///node_modules/moment/locale/dv.js","uni-app:///node_modules/moment/locale/el.js","uni-app:///node_modules/moment/locale/en-au.js","uni-app:///node_modules/moment/locale/en-ca.js","uni-app:///node_modules/moment/locale/en-gb.js","uni-app:///node_modules/moment/locale/en-ie.js","uni-app:///node_modules/moment/locale/en-il.js","uni-app:///node_modules/moment/locale/en-in.js","uni-app:///node_modules/moment/locale/en-nz.js","uni-app:///node_modules/moment/locale/en-sg.js","uni-app:///node_modules/moment/locale/eo.js","uni-app:///node_modules/moment/locale/es.js","uni-app:///node_modules/moment/locale/es-do.js","uni-app:///node_modules/moment/locale/es-mx.js","uni-app:///node_modules/moment/locale/es-us.js","uni-app:///node_modules/moment/locale/et.js","uni-app:///node_modules/moment/locale/eu.js","uni-app:///node_modules/moment/locale/fa.js","uni-app:///node_modules/moment/locale/fi.js","uni-app:///node_modules/moment/locale/fil.js","uni-app:///node_modules/moment/locale/fo.js","uni-app:///node_modules/moment/locale/fr.js","uni-app:///node_modules/moment/locale/fr-ca.js","uni-app:///node_modules/moment/locale/fr-ch.js","uni-app:///node_modules/moment/locale/fy.js","uni-app:///node_modules/moment/locale/ga.js","uni-app:///node_modules/moment/locale/gd.js","uni-app:///node_modules/moment/locale/gl.js","uni-app:///node_modules/moment/locale/gom-deva.js","uni-app:///node_modules/moment/locale/gom-latn.js","uni-app:///node_modules/moment/locale/gu.js","uni-app:///node_modules/moment/locale/he.js","uni-app:///node_modules/moment/locale/hi.js","uni-app:///node_modules/moment/locale/hr.js","uni-app:///node_modules/moment/locale/hu.js","uni-app:///node_modules/moment/locale/hy-am.js","uni-app:///node_modules/moment/locale/id.js","uni-app:///node_modules/moment/locale/is.js","uni-app:///node_modules/moment/locale/it.js","uni-app:///node_modules/moment/locale/it-ch.js","uni-app:///node_modules/moment/locale/ja.js","uni-app:///node_modules/moment/locale/jv.js","uni-app:///node_modules/moment/locale/ka.js","uni-app:///node_modules/moment/locale/kk.js","uni-app:///node_modules/moment/locale/km.js","uni-app:///node_modules/moment/locale/kn.js","uni-app:///node_modules/moment/locale/ko.js","uni-app:///node_modules/moment/locale/ku.js","uni-app:///node_modules/moment/locale/ky.js","uni-app:///node_modules/moment/locale/lb.js","uni-app:///node_modules/moment/locale/lo.js","uni-app:///node_modules/moment/locale/lt.js","uni-app:///node_modules/moment/locale/lv.js","uni-app:///node_modules/moment/locale/me.js","uni-app:///node_modules/moment/locale/mi.js","uni-app:///node_modules/moment/locale/mk.js","uni-app:///node_modules/moment/locale/ml.js","uni-app:///node_modules/moment/locale/mn.js","uni-app:///node_modules/moment/locale/mr.js","uni-app:///node_modules/moment/locale/ms.js","uni-app:///node_modules/moment/locale/ms-my.js","uni-app:///node_modules/moment/locale/mt.js","uni-app:///node_modules/moment/locale/my.js","uni-app:///node_modules/moment/locale/nb.js","uni-app:///node_modules/moment/locale/ne.js","uni-app:///node_modules/moment/locale/nl.js","uni-app:///node_modules/moment/locale/nl-be.js","uni-app:///node_modules/moment/locale/nn.js","uni-app:///node_modules/moment/locale/oc-lnc.js","uni-app:///node_modules/moment/locale/pa-in.js","uni-app:///node_modules/moment/locale/pl.js","uni-app:///node_modules/moment/locale/pt.js","uni-app:///node_modules/moment/locale/pt-br.js","uni-app:///node_modules/moment/locale/ro.js","uni-app:///node_modules/moment/locale/ru.js","uni-app:///node_modules/moment/locale/sd.js","uni-app:///node_modules/moment/locale/se.js","uni-app:///node_modules/moment/locale/si.js","uni-app:///node_modules/moment/locale/sk.js","uni-app:///node_modules/moment/locale/sl.js","uni-app:///node_modules/moment/locale/sq.js","uni-app:///node_modules/moment/locale/sr.js","uni-app:///node_modules/moment/locale/sr-cyrl.js","uni-app:///node_modules/moment/locale/ss.js","uni-app:///node_modules/moment/locale/sv.js","uni-app:///node_modules/moment/locale/sw.js","uni-app:///node_modules/moment/locale/ta.js","uni-app:///node_modules/moment/locale/te.js","uni-app:///node_modules/moment/locale/tet.js","uni-app:///node_modules/moment/locale/tg.js","uni-app:///node_modules/moment/locale/th.js","uni-app:///node_modules/moment/locale/tk.js","uni-app:///node_modules/moment/locale/tl-ph.js","uni-app:///node_modules/moment/locale/tlh.js","uni-app:///node_modules/moment/locale/tr.js","uni-app:///node_modules/moment/locale/tzl.js","uni-app:///node_modules/moment/locale/tzm.js","uni-app:///node_modules/moment/locale/tzm-latn.js","uni-app:///node_modules/moment/locale/ug-cn.js","uni-app:///node_modules/moment/locale/uk.js","uni-app:///node_modules/moment/locale/ur.js","uni-app:///node_modules/moment/locale/uz.js","uni-app:///node_modules/moment/locale/uz-latn.js","uni-app:///node_modules/moment/locale/vi.js","uni-app:///node_modules/moment/locale/x-pseudo.js","uni-app:///node_modules/moment/locale/yo.js","uni-app:///node_modules/moment/locale/zh-cn.js","uni-app:///node_modules/moment/locale/zh-hk.js","uni-app:///node_modules/moment/locale/zh-mo.js","uni-app:///node_modules/moment/locale/zh-tw.js","uni-app:///utils/formatDate.js","webpack:///D:/SWS_New/sws_new/static/personage/4.png?6d86","uni-app:///wxcomponents/vant/icon/index.js","uni-app:///wxcomponents/vant/common/component.js","uni-app:///wxcomponents/vant/mixins/basic.js","uni-app:///wxcomponents/vant/mixins/observer/index.js","uni-app:///wxcomponents/vant/mixins/observer/behavior.js","uni-app:///wxcomponents/vant/mixins/observer/props.js","uni-app:///utils/validateIdent.js","uni-app:///mixins/SendVerifyCode.js","webpack:///D:/SWS_New/sws_new/static/images/app1new.png?cb48","webpack:///D:/SWS_New/sws_new/static/images/app3new.png?a063","webpack:///D:/SWS_New/sws_new/static/images/app2new.png?2e22","webpack:///D:/SWS_New/sws_new/static/images/app4new.png?2b0e","webpack:///D:/SWS_New/sws_new/static/images/app5new.png?aed5","uni-app:///static/js/qrcode.js","webpack:///D:/SWS_New/sws_new/static/images/tip.png?f98a","uni-app:///uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js?a9ff","webpack:///./node_modules/@babel/runtime/helpers/assertThisInitialized.js?3c96","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutProperties.js?4082","webpack:///./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js?f0e4","webpack:///./node_modules/@babel/runtime/helpers/inherits.js?ed6d","webpack:///./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js?6b58","webpack:///./node_modules/@babel/runtime/helpers/getPrototypeOf.js?36c6","webpack:///./node_modules/@babel/runtime/helpers/wrapNativeSuper.js?a128","webpack:///./node_modules/@babel/runtime/helpers/isNativeFunction.js?c5f7","uni-app:///pages.json","uni-app:///uni_modules/uni-icons/components/uni-icons/icons.js","uni-app:///uni_modules/uni-datetime-picker/components/uni-datetime-picker/util.js","uni-app:///uni_modules/qiun-data-charts/js_sdk/u-charts/u-charts.js","uni-app:///uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js"],"names":["objectKeys","singlePageDisableKey","target","globalThis","key","join","oldWx","launchOption","getLaunchOptionsSync","isWxKey","scene","includes","indexOf","initWx","newWx","realAtob","b64","b64re","atob","str","String","replace","test","Error","slice","length","bitmap","result","r1","r2","i","charAt","fromCharCode","b64DecodeUnicode","decodeURIComponent","split","map","c","charCodeAt","toString","getCurrentUserInfo","token","wx","getStorageSync","tokenArr","uid","role","permission","tokenExpired","userInfo","JSON","parse","error","message","exp","iat","uniIdMixin","Vue","prototype","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","Date","now","_toString","Object","hasOwnProperty","isFn","fn","isStr","isObject","obj","isPlainObject","call","hasOwn","noop","cached","cache","create","cachedFn","hit","camelizeRE","camelize","_","toUpperCase","sortObject","sortObj","keys","sort","forEach","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","Array","isArray","dedupeHooks","hooks","push","removeHook","hook","index","splice","mergeInterceptorHook","interceptor","option","removeInterceptorHook","addInterceptor","method","removeInterceptor","wrapperHook","params","data","isPromise","then","queue","promise","Promise","resolve","callback","wrapperOptions","options","name","oldCallback","callbackInterceptor","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","scopedInterceptor","invokeApi","api","invoke","promiseInterceptor","reject","SYNC_API_RE","CONTEXT_API_RE","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","isSyncApi","isCallbackApi","handlePromise","catch","err","shouldPromise","finally","constructor","value","reason","promisify","promiseApi","success","fail","complete","assign","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","getSystemInfoSync","platform","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","Number","Math","floor","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","locale","normalizeLocale","language","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","i18n","initVueI18n","t","i18nMixin","mixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$once","methods","$$t","values","setLocale","getLocale","initAppLocale","appVm","state","observable","localeWatchers","$watchLocale","defineProperty","get","set","v","watch","include","parts","find","part","startsWith","trim","toLowerCase","lang","getLocale$1","getApp","app","allowDefault","$vm","$locale","setLocale$1","oldLocale","onLocaleChangeCallbacks","onLocaleChange","global","interceptors","baseApi","freeze","__proto__","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","deviceId","useDeviceId","random","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","screenHeight","populateParameters","brand","model","system","theme","version","fontSizeSetting","SDKVersion","deviceOrientation","extraParam","osName","osVersion","hostVersion","deviceType","getGetDeviceType","deviceBrand","getDeviceBrand","_hostName","getHostName","_deviceOrientation","_devicePixelRatio","_SDKVersion","hostLanguage","parameters","appId","process","appName","appVersion","appVersionCode","appLanguage","getAppLanguage","uniCompileVersion","uniRuntimeVersion","uniPlatform","deviceModel","devicePixelRatio","toLocaleLowerCase","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","undefined","osTheme","ua","hostPackageName","browserName","browserVersion","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","host","env","getSystemInfo","showActionSheet","alertText","title","getAppBaseInfo","getDeviceInfo","getWindowInfo","getAppAuthorizeSetting","locationReducedAccuracy","locationAccuracy","compressImage","compressedHeight","compressHeight","compressedWidth","compressWidth","protocols","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","arg1","arg2","apply","todoApis","TODOS","createTodoApi","todoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","getUniEmitter","ctx","$on","arguments","$off","$emit","eventApi","tryCatch","e","getApiCallbacks","apiCallbacks","param","cid","cidErrMsg","enabled","normalizePushMessage","invokePushCallback","type","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","getPushClientId","hasSuccess","hasFail","hasComplete","onPushMessage","offPushMessage","baseInfo","shareVideoMessage","miniapp","mocks","findVmByVueId","vm","vuePid","$children","childVm","$scope","_$vueId","parentVm","initBehavior","Behavior","isPage","route","initRelation","detail","triggerEvent","selectAllComponents","mpInstance","selector","$refs","components","component","ref","dataset","toSkip","vueGeneric","scopedComponent","syncRefs","refs","newRefs","oldKeys","Set","newKeys","oldValue","newValue","every","delete","initRefs","forComponents","handleLink","event","vueOptions","parent","markMPComponent","IS_MP","configurable","enumerable","OB","SKIP","isExtensible","WORKLET_RE","initWorkletMethods","mpMethods","vueMethods","matches","match","workletName","MPPage","Page","MPComponent","Component","customizeRE","customize","initTriggerEvent","oldTriggerEvent","newTriggerEvent","comType","newEvent","_triggerEvent","initHook","isComponent","oldHook","__$wrappered","after","PAGE_EVENT_HOOKS","initMocks","$mp","mpType","mock","hasHook","default","extendOptions","super","mixins","initHooks","mpOptions","__call_hook","initUnknownHooks","excludes","findHooks","initHook$1","initVueComponent","VueComponent","extend","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","_$vuePid","initData","context","VUE_APP_DEBUG","stringify","__lifecycle_hooks__","PROP_TYPES","Boolean","createObserver","observer","newVal","oldVal","initBehaviors","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","props","behavior","properties","initProperties","vueMixin","parsePropType","defaultValue","file","isBehavior","vueId","virtualHost","virtualHostStyle","virtualHostClass","scopedSlotsCompiler","setData","opts","wrapper$1","mp","stopPropagation","preventDefault","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","propPath","valuePath","vFor","isInteger","substr","__get_value","vForItem","vForKey","processEventExtra","extra","__args__","extraObj","getObjByArray","arr","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","path","is","once","eventChannels","getEventChannel","id","eventChannel","initEventChannel","getOpenerEventChannel","callHook","__id__","__eventChannel__","initScopedSlotsParams","center","parents","currentId","propsData","$hasSSP","slot","$getSSP","needAll","$setSSP","$initSSP","$callSSP","destroyed","parseBaseApp","store","$store","mpHost","$i18n","_i18n","appOptions","onLaunch","canIUse","globalData","_isMounted","parseApp","createApp","App","encodeReserveRE","encodeReserveReplacer","commaRE","encode","encodeURIComponent","stringifyQuery","encodeStr","val","val2","x","parseBaseComponent","vueComponentOptions","needVueOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","copyQuery","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","createPlugin","canIUseApi","apiName","uni","Proxy","uni$1","_interopRequireDefault","__esModule","module","exports","arrayWithHoles","require","iterableToArrayLimit","unsupportedIterableToArray","nonIterableRest","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","arrayLikeToArray","_unsupportedIterableToArray","o","minLen","n","from","_arrayLikeToArray","arr2","_nonIterableRest","TypeError","toPropertyKey","_defineProperty","writable","_typeof","toPrimitive","_toPropertyKey","_toPrimitive","input","hint","prim","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","Class","Reflect","construct","bind","a","Constructor","Function","instance","_setPrototypeOf","p","_isNativeReflectConstruct","sham","valueOf","arrayWithoutHoles","iterableToArray","nonIterableSpread","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","iter","_nonIterableSpread","defaultDelimiters","BaseFormatter","_caches","delimiters","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","format","startDelimiter","endDelimiter","position","text","char","sub","isClosed","compiled","mode","defaultFormatter","I18n","fallbackLocale","watcher","formater","watchers","override","interpolate","watchAppLocale","newLocale","$watch","getDefaultLocale","isWatchedAppLocale","f","add","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","unshift","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","chain","pop","_classCallCheck","_defineProperties","descriptor","_createClass","protoProps","staticProps","use","Vuex","Store","modules","hasLogin","is_bind","configList","filedList","org","getters","getHasLogin","getUserInfo","getBind","getConfigList","mutations","setHasLogin","newState","log","setStorageSync","setIsBand","setLogout","clearStorageSync","setConfigList","setFiledList","setOrg","actions","fetch","loading","showLoading","mask","URL","header","request","code","hideLoading","post","put","defaultOptions","zIndex","duration","forbidClick","loadingType","currentOptions","parseOptions","isObj","getContext","Toast","toastOptions","toast","selectComponent","clear","onClose","clearTimeout","timer","setTimeout","createMethod","setDefaultOptions","resetDefaultOptions","isDef","isNumber","range","num","min","max","nextTick","systemInfo","requestAnimationFrame","cb","createSelectorQuery","selectViewport","boundingClientRect","exec","getKey","boolean","getCode","login","sendCode","getMobile","bindMobile","getSchedule","getRecord","getOrg","getDialysisRecord","getAdvice","getEducation","getDoctor","getFieldConfig","getDataConfig","getInspection","getInspectioninfo","getStoryScore","getArticList","getArticListDetail","getweight","start","end","patient_id","org_id","getbloods","getgetbalance","getgetbalanceinfo","runtime","_regeneratorRuntime","Op","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","Context","makeInvokeMethod","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","info","resultName","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iterable","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","object","reverse","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","shareMixins","shareData","imageUrl","content","onShareAppMessage","factory","hookCallback","setHookCallback","hasOwnProp","b","isObjectEmpty","getOwnPropertyNames","k","isUndefined","isDate","createUTC","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","meridiem","rfc2822","weekdayMismatch","getParsingFlags","m","_pf","some","fun","isValid","_isValid","flags","parsedParts","isNowValid","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","momentProperties","updateInProgress","copyConfig","to","prop","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","stack","deprecations","deprecateSimple","isFunction","_config","_dayOfMonthOrdinalParseLenient","RegExp","_dayOfMonthOrdinalParse","source","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","calendar","mom","output","_calendar","zeroFill","targetLength","forceSign","absNumber","abs","zerosToFill","sign","pow","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","ordinal","func","localeData","removeFormattingTokens","makeFormatFunction","array","formatMoment","invalidDate","expandFormat","replaceLongDateFormatTokens","longDateFormat","lastIndex","defaultLongDateFormat","LTS","LT","L","LL","LLL","LLLL","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","future","past","s","ss","mm","h","hh","d","dd","w","ww","M","MM","y","yy","relativeTime","withoutSuffix","string","isFuture","_relativeTime","pastFuture","diff","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedInput","normalizedProp","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","u","isLeapYear","year","absFloor","ceil","toInt","argumentForCoercion","coercedNumber","isFinite","makeGetSet","keepTime","set$1","month","date","daysInMonth","stringGet","stringSet","prioritized","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","mod","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","isFormat","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","parseTwoDigitYear","daysInYear","getSetYear","getIsLeapYear","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","fwdlw","getUTCDay","dayOfYearFromWeeks","week","weekday","localWeekday","weekOffset","dayOfYear","resYear","resDayOfYear","weekOfYear","resWeek","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","day","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minPieces","minp","shortp","longp","hFormat","hours","kFormat","minutes","seconds","lowercase","matchMeridiem","_meridiemParse","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","localeIsPM","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","isLower","baseConfig","dayOfMonthOrdinalParse","meridiemParse","localeFamilies","globalLocale","commonPrefix","arr1","minl","chooseLocale","names","j","loadLocale","aliasedRequire","_abbr","getSetGlobalLocale","defineLocale","abbr","parentLocale","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","l","allowTime","dateFormat","timeFormat","tzFormat","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","weekdayProvided","weekdayActual","calculateOffset","obsOffset","militaryOffset","numOffset","hm","configFromRFC2822","parsedArray","setUTCMinutes","getUTCMinutes","configFromString","createFromInputFallback","_useUTC","defaults","currentDateArray","nowValue","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekYear","temp","weekdayOverflow","curWeek","GG","W","E","createLocal","gg","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","hour","isPm","meridiemHour","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","score","configFromObject","dayOrDate","minute","second","millisecond","createFromConfig","prepareConfig","preparse","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","parseFloat","isValid$1","createInvalid$1","createDuration","Duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","offset","separator","utcOffset","offsetFromString","chunkOffset","matcher","chunk","cloneWithOffset","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","invalid","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","period","dur","tmp","isAdding","isMomentInput","isNumberOrStringArray","isMomentInputObject","objectTest","propertyTest","property","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","time","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor","anchor2","adjust","defaultFormat","defaultFormatUtc","toISOString","keepOffset","toDate","inspect","zone","prefix","datetime","suffix","inputString","postformat","humanize","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","matchEraAbbr","matchEraName","matchEraNarrow","erasParse","matchEraYearOrdinal","_eraYearOrdinalRegex","eraYearOrdinalParse","localeEras","eras","_eras","since","until","Infinity","localeErasParse","eraName","narrow","localeErasConvertYear","dir","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","abbrPieces","namePieces","narrowPieces","isoWeekYear","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetSecond","getSetMillisecond","parseMs","getZoneAbbr","getZoneName","proto","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","parseZone","isDST","zoneAbbr","zoneName","dates","isDSTShifted","createUnix","createInZone","preParsePostFormat","proto$1","firstDayOfYear","firstDayOfWeek","get$1","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","th","abs$1","toISOString$1","total","totalSign","ymSign","daysSign","hmsSign","toFixed","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","moment","af","symbolMap","numberMap","pluralForm","plurals","pluralize","ar","weekdaysParseExact","arDz","arKw","arLy","arMa","arSa","arTn","suffixes","az","plural","word","forms","relativeTimeWithPlural","be","standalone","bg","lastDigit","last2Digits","bm","bn","bnBd","bo","monthsParseExact","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","substring","monthsStrictRegex","monthsShortStrictRegex","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","br","longMonthsParse","shortMonthsParse","translate","bs","ca","ll","lll","llll","cs","cv","affix","cy","lookup","da","processRelativeTime","de","deAt","deCh","dv","el","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsNominativeEl","_monthsGenitiveEl","calendarEl","_calendarEl","enAu","enCa","enGb","enIe","enIl","enIn","enNz","enSg","eo","monthsShortDot","es","esDo","esMx","esUs","et","eu","fa","numbersPast","numbersFuture","verbalNumber","fi","fil","fo","fr","frCa","frCh","monthsShortWithDots","monthsShortWithoutDots","fy","ga","gd","gl","gomDeva","gomLatn","gu","he","hi","hr","weekEndings","hu","hyAm","it","itCh","ja","eraYearOrdinalRegex","jv","ka","$0","$1","$2","kk","km","kn","ko","isUpper","ku","ky","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","firstDigit","lb","lo","translateSeconds","translateSingular","special","lt","relativeTimeWithSingular","relativeSeconds","lv","translator","words","correctGrammaticalCase","wordKey","me","lastWeekDays","mi","mk","ml","mn","relativeTimeMr","mr","msMy","mt","my","nb","ne","nl","nlBe","nn","ocLnc","paIn","monthsNominative","monthsSubjective","pl","pt","ptBr","ro","ru","sd","se","si","sk","sl","sq","sr","srCyrl","sv","sw","ta","te","tet","tg","tk","tlPh","numbersNouns","translateFuture","translatePast","numberNoun","numberAsNoun","hundred","ten","one","tlh","tr","tzl","tzm","tzmLatn","ugCn","weekdaysCaseReplace","nominative","accusative","genitive","nounCase","processHoursFunction","uk","ur","uz","uzLatn","vi","xPseudo","yo","zhCn","zhHk","zhMo","zhTw","formatDate","fmt","getHours","getMinutes","getSeconds","padLeftZero","VantComponent","color","customStyle","classPrefix","onClick","mapKeys","vantOptions","created","mounted","relations","classes","relation","basic","observe","getRect","all","in","rect","computed","observeProps","setAsync","calcComputed","needUpdate","validateIdent","aIdentityCode_City","IdentityCode_isCardNo","card","reg","IdentityCode_checkProvince","province","IdentityCode_checkBirthday","re_fifteen","arr_data","birthday","IdentityCode_verifyBirthday","re_eighteen","now_year","IdentityCode_checkParity","IdentityCode_changeFivteenToEighteen","arrInt","arrCh","cardTemp","valnum","IdentityCodeValid","pass","sex","iCard","disabled","run","setInterval","clearInterval","QRCode","_getTypeNumber","sText","nCorrectLevel","nType","_getUTF8Length","QRCodeLimitLength","nLimit","QRErrorCorrectLevel","Q","H","replacedText","encodeURI","QR8bitByte","QRMode","MODE_8BIT_BYTE","parsedData","byteArray","getLength","buffer","write","QRCodeModel","typeNumber","errorCorrectLevel","moduleCount","dataCache","dataList","addData","newData","isDark","row","col","getModuleCount","make","makeImpl","getBestMaskPattern","maskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","r","minLostPoint","pattern","lostPoint","QRUtil","getLostPoint","createMovieClip","target_mc","instance_name","depth","qr_mc","createEmptyMovieClip","dark","beginFill","moveTo","lineTo","endFill","getPatternPosition","bits","getBCHTypeNumber","getBCHTypeInfo","inc","bitIndex","byteIndex","getMask","PAD0","PAD1","rsBlocks","QRRSBlock","getRSBlocks","QRBitBuffer","getLengthInBits","totalDataCount","dataCount","putBit","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","totalCount","rsPoly","getErrorCorrectPolynomial","rawPoly","QRPolynomial","modPoly","modIndex","totalCodeCount","MODE_NUMBER","MODE_ALPHA_NUM","MODE_KANJI","QRMaskPattern","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHDigit","digit","errorCorrectLength","multiply","QRMath","gexp","qrCode","sameCount","count","darkCount","ratio","glog","LOG_TABLE","EXP_TABLE","RS_BLOCK_TABLE","rsBlock","getRsBlockTable","list","bufIndex","bit","canvasId","vOption","_htOption","width","height","colorDark","colorLight","correctLevel","_oQRCode","makeCode","makeImage","_oContext","usingIn","createCanvasContext","oQRCode","nCount","nWidth","nHeight","nRoundedWidth","nRoundedHeight","image","drawImage","bIsDark","nLeft","nTop","setStrokeStyle","setLineWidth","setFillStyle","fillRect","strokeRect","draw","exportImage","canvasToTempFilePath","destWidth","destHeight","tempFilePath","CorrectLevel","en","zhHans","zhHant","window","lib","Base","mixIn","init","$super","WordArray","sigBytes","clamp","enc","Hex","Latin1","Utf8","escape","unescape","BufferedBlockAlgorithm","_nDataBytes","_append","_process","blockSize","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","sin","MD5","_hash","g","I","S","A","P","T","C","O","HmacMD5","_hasher","_oKey","_iKey","Base64","_map","_reverseMap","createPromise","retryRule","status","needRetry","appid","_globalUniCloudObj","R","U","N","D","reduce","q","F","K","B","$","z","J","V","G","Y","X","Z","ee","errCode","errSubject","subject","cause","requestId","toJson","uploadFile","removeStorageSync","re","ie","oe","ae","ce","channel","ue","LOCALE","PLATFORM","OS","APPID","DEVICEID","le","wrappedRequest","statusCode","toBase64","endpoint","spaceId","requestUrl","envType","accessTokenKey","adapter","_getAccessTokenPromiseHub","requestAuth","setupRequest","accessToken","setAccessToken","requestWrapped","hasAccessToken","getAccessToken","rebuildRequest","clientSecret","timestamp","dataType","functionTarget","functionArgs","formData","filePath","fileType","onUploadProgress","onProgressUpdate","loaded","totalBytesSent","totalBytesExpectedToSend","cloudPath","cloudPathAsRealPath","getOSSUploadOptionsFromPath","filename","fileId","cdnDomain","ossPath","securityToken","accessKeyId","signature","policy","ossCallbackUrl","OSSAccessKeyId","Signature","success_action_status","callbackUrl","callbackBody","callbackBodyType","fileName","uploadFileToOSS","fileID","reportOSSUpload","fileList","tempFileURL","signInAnonymously","authorize","getLoginState","auth","customAuth","pe","location","fe","none","session","ge","sqrt","SHA256","HmacSHA256","ye","we","ve","Ie","Se","isMatch","genAdapter","WEB","WX_MP","ke","Ae","Pe","root","tcbObject","Te","localStorage","sessionStorage","Ce","_storage","_persistence","primaryStorage","persistence","accessTokenExpireKey","refreshTokenKey","anonymousUuidKey","loginTypeKey","userInfoKey","getItem","setItem","removeItem","xe","Oe","Ee","Le","Re","Ue","_listeners","_listens","Ne","on","De","fire","Me","off","qe","Fe","Ke","je","Be","$e","ANONYMOUS","WECHAT","WECHAT_PUBLIC","WECHAT_OPEN","EMAIL","USERNAME","NULL","We","He","ze","headers","append","Je","seqId","Ve","_reqClass","reqClass","timeout","timeoutMsg","restrictedMethods","_cache","_localCache","upload","download","_refreshAccessTokenPromise","_refreshAccessToken","_shouldRefreshAccessTokenHook","removeStore","getStore","refresh_token","send","anonymous_uuid","setRefreshToken","access_token","setStore","access_token_expire","accessTokenExpire","refreshAccessToken","action","dataVersion","FormData","inQuery","search","Ge","Ye","Qe","_request","setLocalUserInfo","Xe","_envId","setUserInfo","ticket","signInWithRedirect","oldPassword","newPassword","newEmail","username","users","wxOpenId","wxPublicId","hasPrimaryUid","nickName","gender","avatarUrl","country","city","Ze","credential","refreshToken","user","loginType","updatePersistence","uuid","_setAnonymousUUID","refresh","_clearAnonymousUUID","tt","refreshUserInfo","nt","email","password","st","rt","_onAnonymousConverted","_onLoginTypeChanged","hasLoginState","signIn","_anonymousAuthProvider","linkAndRetrieveDataWithTicket","isRegistered","authorization","cosFileId","ot","at","fileid_list","delete_list","ct","fileid","max_age","maxAge","file_list","download_list","ut","download_url","function_name","request_data","response_data","ht","dt","authObj","requestClient","ft","gt","yt","_t","useAdapters","wt","vt","It","St","fileUrl","bt","kt","At","functionName","signHeaderKeys","envId","signedHeaders","body","secretKey","secretId","Authorization","Pt","Tt","trace_id","Ct","xt","spaceAppId","accessKey","requestID","file_id","upload_url","form_data","expire","Ot","Et","clientInfo","uniIdToken","Lt","__dev__","initLocalNetwork","localAddress","localPort","aliyun","tencent","alipay","_callCloudFunction","Rt","rule","Ut","Nt","Dt","Mt","qt","Ft","Kt","jt","secretType","uniCloudIns","clientType","scopedGlobalCache","_systemInfo","platformEncryptData","platformDecryptResult","prepare","platformGetSignOption","_uniCloudOptions","isClientKeyNotFound","forceUpdate","encryptData","decryptResult","Bt","$t","Wt","Uint8Array","Ht","zt","Jt","Vt","toBytes","fromBytes","Gt","Yt","Qt","Xt","Zt","tn","sn","rn","an","cn","un","ln","hn","dn","pn","_prepare","_Ke","_Kd","gn","description","_aes","encrypt","decrypt","_lastCipherblock","yn","segmentSize","_shiftRegister","_lastPrecipher","_lastPrecipherIndex","wn","_counter","setValue","setBytes","MAX_SAFE_INTEGER","vn","_remainingCounter","_remainingCounterIndex","increment","In","AES","Counter","ModeOfOperation","ecb","cbc","cfb","ofb","ctr","utils","hex","utf8","padding","pkcs7","pad","strip","_arrayTest","coerceArray","createArray","copyArray","Sn","base64ToArrayBuffer","arrayBufferToBase64","An","Pn","Tn","Cn","xn","On","En","userEncryptKey","mpWeixinCode","mpWeixinOpenid","isLogin","initPromise","expireTime","getUserCryptoManager","getLatestUserKey","getAccountInfoSync","miniProgram","getUserEncryptKey","encryptKey","iv","verifyClientSign","wxAppId","getWxAppId","simulator","encryptKeyId","Ln","Rn","appUtils","requireNativePlugin","hasClientKey","_hasClientKey","encryptGetClientKeyPayload","callFunction","clientKey","setClientKey","initStatus","getAppClientKey","ensureClientKey","Un","Nn","Dn","accessControl","enable","function","Mn","logPvd","debugLog","qn","tcb","extraInfo","formatter","debugInfo","forceRemote","_callLocalFunction","wrapEncryptDataCallFunction","wrapVerifyClientCallFunction","Fn","Kn","_internalType","__ob__","jn","Bn","$n","Wn","$regexp","$date","Hn","$method","zn","prevStage","udb","_database","$db","$param","Jn","isAggregate","getNextStageFn","_send","isCommand","getAction","getCommand","command","Vn","$newDb","Gn","Yn","_isJQL","multiCommand","queryList","setResult","_callback","_uniClient","level","_callbackAuth","tips","_parseResult","uniClient","isJQL","_authCallBacks","_dbCallBacks","_isDefault","$env","Geo","serverDate","Qn","Xn","Zn","TOKEN_INVALID_TOKEN_EXPIRED","TOKEN_INVALID_INVALID_CLIENTID","TOKEN_INVALID","TOKEN_INVALID_WRONG_TOKEN","TOKEN_INVALID_ANONYMOUS_USER","ts","ns","needLogin","needLoginPage","notNeedLoginPage","rs","os","pagePath","uniIdRouter","subPackages","tabBar","loginPage","resToLogin","routerNeedLogin","loginPageInTabBar","us","ls","hs","ds","ps","fs","gs","redirect","ys","navigateTo","switchTab","reLaunch","abortLoginPageJump","autoToLoginPage","uniIdRedirectUrl","vs","onResponse","Is","offResponse","onNeedLogin","offNeedLogin","needLoginInit","onRefreshToken","offRefreshToken","Ss","ks","As","Ps","tempFiles","lastIndexOf","tempFilePaths","onChooseFile","tempFile","initChooseAndUploadFile","sizeType","sourceType","extension","chooseImage","camera","compressed","maxDuration","chooseVideo","chooseFile","chooseMessageFile","Ts","Cs","xs","localdata","spaceInfo","collection","orderby","where","pageData","pageCurrent","pageSize","getcount","gettree","gettreepath","startwith","limitlevel","groupby","groupField","distinct","foreignKey","loadtime","manual","mixinDatacomLoading","mixinDatacomHasMore","mixinDatacomResData","mixinDatacomErrorMessage","mixinDatacomPage","onMixinDatacomPropsChange","mixinDatacomEasyGet","getone","mixinDatacomGet","database","groupBy","orderBy","getCount","limitLevel","startWith","getTree","getTreePath","skip","Os","customUI","parseSystemError","loadingOptions","errorOptions","secretMethods","retry","interceptorName","getCallbackArgs","newToken","objectName","showToast","icon","showCancel","cancelText","confirmText","showModal","confirm","cancel","Es","Ls","openid","callLoginByWeixin","importObject","secureNetworkHandshakeByWeixin","Rs","Us","Ns","Ds","_uniPushMessageCallback","_receivePushMessage","_currentMessageId","_payloadQueue","_appId","_pushClientId","_seqId","emit","_initMessageListener","close","payload","_isUniCloudSSE","messageId","_consumMessage","_parseMessagePayload","_end","_appendMessage","pushClientId","_destroy","addListener","removeListener","Ms","qs","address","servePort","port","initialLaunchType","Fs","_initPromiseHub","Ks","private","js","navigator","userAgent","databaseForJQL","_databaseForJQL","chooseAndUploadFile","mixinDatacom","SSEChannel","initSecureNetworkByWeixin","interceptObject","uniCloud","Bs","_assertThisInitialized","ReferenceError","objectWithoutPropertiesLoose","_objectWithoutProperties","excluded","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_objectWithoutPropertiesLoose","sourceKeys","_inherits","subClass","superClass","assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","isNativeFunction","_wrapNativeSuper","Map","has","Wrapper","_isNativeFunction","Calendar","selected","startDate","endDate","cleanMultipleStatus","lastHover","selectDate","_getWeek","fullDate","multipleStatus","before","AddDayCount","setDate","firstDay","full","dateArr","beforeDate","disable","dateData","isinfo","nowDate","isDay","dateEqual","disableBefore","disableAfter","dateCompare","multiples","checked","multiplesStatus","findIndex","multiple","beforeMultiple","isLogicBefore","afterMultiple","isLogicAfter","userChecked","surplus","dateInfo","canlender","currentDay","logicBefore","logicAfter","begin","ab","db","unixDb","unixDe","fulldate","geDateAll","lastMonthDays","_getLastMonthDays","currentMonthDys","_currentMonthDys","nextMonthDays","_getNextMonthDays","yAxisWidth","xAxisHeight","xAxisTextPadding","rotate","fontSize","fontColor","dataPointShape","linearColor","pieChartLinePadding","pieChartTextPadding","titleFontSize","subtitleFontSize","toolTipPadding","toolTipBackground","toolTipOpacity","toolTipLineHeight","radarLabelTextMargin","varArgs","deepAssign","obj1","obj2","util","isFloat","approximatelyEqual","num1","num2","isSameSign","isSameXCoordinateArea","isCollision","flag","getH5Offset","changedTouches","offsetX","offsetY","hexToRgb","hexValue","opc","rgx","rgb","findRange","calCandleMA","dayArr","nameArr","colorArr","kdata","seriesTemp","seriesItem","sum","calValidDistance","distance","chartData","dataChartAreaWidth","area","dataChartWidth","eachSpacing","xAxisData","xAxisPoints","mount","widthRatio","validDistance","uevent","trigger","scrollOption","xAxis","scrollPosition","isInAngleRange","angle","startAngle","endAngle","PI","createCurveControlPoints","points","isNotMiddlePoint","isNotMiddlePointX","pAx","pAy","pBx","pBy","last","ctrA","ctrB","convertCoordinateOrigin","avoidCollision","fixPieSeries","series","pieSeriesArr","_pieSeries_","oldseries","fillSeries","linearIndex","pointShape","legendShape","fillCustomColor","linearType","customColor","newcolor","chazhi","getDataRange","minData","maxData","minRange","maxRange","measureText","setFontSize","dataCombine","dataCombineStack","getTouches","touches","clientX","pix","pageY","offsetTop","getSeriesDataItem","group","newSeries","indexIsArr","tempSeries","filterSeries","tmpindex","style","disableLegend","getMaxTextListLength","lengthList","getRadarCoordinateSeries","eachAngle","CoordinateSeries","getToolTipData","seriesData","categories","calPoints","filterPoints","textList","titleText","getMixToolTipData","getCandleToolTipData","upColor","upFill","downColor","downFill","text1","text2","text3","text4","validCalPoints","findCurrentIndex","currentPoints","spacing","boundaryGap","isInExactChartArea","timePoints","pointValue","pointIndex","minValue","findBarChartCurrentIndex","yAxisPoints","findLegendIndex","legendData","gap","isInExactLegendArea","findRadarChartCurrentIndex","radarData","eachAngleArea","isInExactPieChartArea","radius","fixAngle","atan2","angleList","rangeStart","rangeEnd","findFunnelChartCurrentIndex","funnelData","funnelArea","findWordChartCurrentIndex","wordData","findMapChartCurrentIndex","cData","pointToCoordinate","bounds","scale","xoffset","yoffset","poi","geometry","coordinates","isPoiWithinPoly","mercator","findRoseChartCurrentIndex","pieData","getRoseDataPoints","_series_","rose","offsetAngle","_start_","_rose_proportion_","findPieChartCurrentIndex","getPieDataPoints","pie","ring","_proportion_","splitPoints","eachSeries","newPoints","items","connectNulls","calLegendData","wholeWidth","wholeHeight","widthArr","heightArr","legend","margin","shapeWidth","shapeRight","lineHeight","legendList","widthCount","widthCountArr","currentRow","legendText","itemWidth","itemGap","legendWidth","float","maxHeight","maxLength","lineNum","maxWidth","calCategoriesData","categoriesTextLenth","xitem","maxTextLength","rotateLabel","rotateAngle","tempHeight","enableScroll","scrollShow","getXAxisTextList","sorted","subitem","rangeSpan","eachRange","splitNumber","calXAxisData","columnstyle","bar","ranges","rangesFormat","xAxisScaleValues","getXAxisPoints","textLength","getRadarDataPoints","radarOption","radar","each","listItem","proportion","cos","_radius_","getFunnelDataPoints","minRadius","dataArr","radiusLength","getArcbarDataPoints","arcbarOption","totalAngle","getGaugeArcbarDataPoints","getGaugeAxisPoints","tempStartAngle","_startAngle_","_endAngle_","getGaugeDataPoints","gaugeOption","pointer","_oldAngle_","oldAngle","oldData","getPieTextMaxLength","textSize","fixColumeData","columnLen","seriesGap","categoryGap","mix","column","fixBarData","fixColumeMeterData","border","fixColumeStackData","indexn","fixBarStackData","spacingValid","itemCount","startX","endX","getCandleDataPoints","validHeight","cPoints","indexs","point","getDataPoints","validWidth","xranges","xminRange","xmaxRange","getMountDataPoints","mountOption","mountWidth","getBarDataPoints","getStackDataPoints","seriesIndex","stackSeries","value0","height0","heightc","y0","getBarStackDataPoints","x0","getYAxisTextList","yData","dataRange","yAxis","calYAxisData","YLength","rangesArr","rangesFormatArr","yAxisWidthArr","tofix","yAxisFontSizes","calibration","yAxisFontSize","calTooltipYAxisData","yAxisData","minAxis","maxVal","minVal","calMarkLineData","yAxisIndex","contextRotate","rotateLock","_rotate_","drawPointShape","shape","beginPath","dataPointShapeType","background","arc","closePath","fill","stroke","drawRingTitle","titlefontSize","subtitlefontSize","subtitle","titleFontColor","subtitleFontColor","titleHeight","subtitleHeight","textWidth","startY","fillText","_textWidth","_startX","_startY","drawPointText","textOffset","textColor","formatVal","setTextAlign","drawMountPointText","drawBarPointText","drawGaugeLabel","centerPosition","labelOffset","splitAngle","splitLine","totalNumber","endNumber","startNumber","nowAngle","nowNumber","labelText","labelColor","drawRadarLabel","labelPointShow","posPoint","posPointAxis","labelPointColor","labelPointRadius","posRelativeCanvas","drawPieText","lineRadius","textObjectCollection","lastTextObject","seriesConvert","labelShow","orginX1","orginY1","orginX2","orginY2","orginX3","orginY3","textObject","lineStart","lineEnd","lineStartPoistion","lineEndPoistion","textPosition","curveStartX","textStartX","quadraticCurveTo","drawToolTipSplitLine","toolTipOption","tooltip","gridType","dashLength","endY","setLineDash","gridColor","xAxisLabel","textX","textY","labelBgColor","labelBgOpacity","labelFontColor","drawMarkLine","markLineOption","markLine","lineColor","showLabel","labelAlign","labelOffsetX","labelOffsetY","bgWidth","bgStartX","bgStartY","drawToolTipHorizentalLine","yAxisLabel","tStartLeft","tStartRight","bgEndX","drawToolTipSplitArea","activeBgColor","activeBgOpacity","activeWidth","drawBarToolTipSplitArea","drawToolTip","showBox","showArrow","showCategory","bgColor","bgOpacity","borderColor","borderWidth","borderRadius","borderOpacity","legendMarginRight","arrowWidth","isOverRightBorder","toolTipWidth","toolTipHeight","_scrollDistance_","drawColumnDataPoints","columnOption","meterBorder","meterFillColor","barBorderCircle","barBorderRadius","linearOpacity","colorStop","save","leftNum","rightNum","tooltipPoints","fillColor","strokeColor","grd","createLinearGradient","addColorStop","r0","r3","dataLabel","restore","drawMountDataPoints","bezierCurveTo","drawBarDataPoints","drawCandleDataPoints","seriesMA","candleOption","average","candle","upLine","downLine","leftSpace","rightSpace","splitPointList","startPoint","ctrlPoint","drawAreaDataPoints","areaOption","opacity","addLine","gradient","firstPoint","lastPoint","lineType","drawScatterDataPoints","scatterOption","scatter","drawBubbleDataPoints","bubbleOption","drawLineDataPoints","lineOption","line","drawMixDataPoints","columnIndex","columnLength","addPoint","drawToolTipBridge","horizentalLine","drawXAxis","scrollY","scrollScreenWidth","scrollTotalWidth","scrollWidth","scrollLeft","setLineCap","scrollBackgroundColor","scrollColor","disableGrid","gridEval","maxXAxisListLength","labelCount","newCategories","cgLength","xAxisFontSize","_xAxisTextAngle_","scrollHeight","truePoints","axisLine","axisLineColor","drawYAxisGrid","xAxiseachSpacing","TotalWidth","drawYAxis","tStartCenter","textAlign","tmpstrat","gapwidth","showTitle","titleOffsetX","titleOffsetY","drawLegend","legendArea","backgroundColor","itemList","listIndex","hiddenColor","fontTrans","drawPieDataPoints","pieOption","activeOpacity","activeRadius","labelWidth","ringWidth","customRadius","centerColor","_pieTextMaxLength_","lineJoin","fillcolor","createCircularGradient","createRadialGradient","innerPieWidth","drawRoseDataPoints","roseOption","drawArcbarDataPoints","lineCap","arcbar","centerX","centerY","drawGaugeDataPoints","fixRadius","childNumber","childWidth","gauge","innerRadius","pieRadius","childAngle","proc","pointerRadius","gradient3","eachCategories","childendX","drawRadarDataPoints","axisLabel","axisLabelTofix","gridCount","coordinateAngle","xr","yr","_loop","startPos","radarDataPoints","stepLength","label","lonlat2mercator","longitude","latitude","tan","mercator2lonlat","lonlat","atan","getBoundingBox","coords","xMin","xMax","yMin","yMax","coorda","coordinateToPoint","pointY","pointX","isRayIntersectsSegment","s_poi","e_poi","xseg","poly","sinsc","epoly","drawMapDataPoints","mapOption","active","fillOpacity","activeBorderColor","activeFillColor","activeFillOpacity","xScale","yScale","gaosi","centerPoint","centroid","activeTextColor","normalInt","collisionNew","isIn","getWordCloudPoint","tHeight","tWidth","breaknum","Spin","isSpin","areav","drawWordCloudDataPoints","wordOption","autoColors","wordCloudData","strokeText","drawFunnelDataPoints","funnelOption","minSize","funnel","seriesNew","drawFunnelText","drawFunnelCenterText","centerText","centerTextSize","centerTextColor","drawCanvas","Timing","easeIn","easeOut","easeInOut","linear","Animation","isStop","timing","delay","createAnimationFrame","step","timeStamp","animationFrame","startTimeStamp","_step","onProcess","onAnimationFinish","timingFunction","drawCharts","_this","animation","animationInstance","_calLegendData","legendHeight","_calYAxisData","maxTitleHeight","rightIndex","leftIndex","_calCategoriesData","categoriesData","scrollAlign","offsetLeft","totalWidth","screenWidth","currentOffset","startTouchX","lastMoveTime","clearRect","_drawLineDataPoints","enableMarkLine","_drawScatterDataPoints","_drawBubbleDataPoints","_drawMixDataPoints","_drawColumnDataPoints","_drawMountDataPoints","_drawBarDataPoints","_drawAreaDataPoints","arcbarData","gaugeData","_drawCandleDataPoints","uChartsEvent","events","addEventListener","listener","delEventListener","_len","_key","uCharts","gridSet","canvas2d","config$$1","tempWidth","strokeStyle","lineWidth","font","fillStyle","updateData","_getXAxisPoints0","zoom","centerLeft","MaxLeft","dobuleZoom","tcs","clientY","ntcs","xlength","moveCount","cts0","cts1","moveCurrent1","getCurrentDataIndex","moveCurrent2","currentEachSpacing","currentLeft","stopAnimation","_touches$","getLegendDataIndex","touchLegend","showToolTip","_getToolTipData","_getMixToolTipData","scrollStart","scroll","Limit","touchMoveLimit","currMoveTime","_distance","scrollEnd","_scrollOption","formatDateTime","returnType","cfu","category"],"mappings":"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OAAO,CAAC,SAAS,CAAC,GAAGD,MAAM,CAACC,OAAO,C;;;;;;;;;;;AClB3G;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,kCAAkC;;AAElC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA,sBAAsB,+BAA+B;AACrD,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,kDAAkD,iCAAiC,EAAE;AACrF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6BAA6B,cAAc;;AAE3C;;AAEA;AACA;AACA;AACA,6BAA6B,UAAU;;AAEvC;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,gBAAgB;AACjC,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB,aAAoB;;AAErC;AACA;AACA;AACA,YAAY,aAAoB;;AAEhC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA,iCAAiC;AACjC,uCAAuC,wBAAwB,EAAE;AACjE,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wBAAwB,YAAY;AACpC,kBAAkB,YAAY;AAC9B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B;AAC/B;AACA,wCAAwC,EAAE;AAC1C;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,+BAA+B,oBAAoB,EAAE;AACrD;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B,SAAS,qBAAqB;;AAExD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA,GAAG;AACH,CAAC;;AAED;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iDAAiD,OAAO;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;;AAEA,iBAAiB,iBAAiB;AAClC;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,uBAAuB;AACzD,iCAAiC,sBAAsB;AACvD;AACA,kBAAkB;AAClB,MAAM,IAAqC;AAC3C;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,aAAoB;AACtC;AACA;AACA,mBAAmB;AACnB;AACA;AACA,iBAAiB,uBAAuB;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,OAAO,UAAU,IAAqC;AACtD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,mBAAmB,mBAAmB;AACtC,+BAA+B;AAC/B;AACA,GAAG;AACH;AACA;AACA;AACA,kBAAkB,YAAY;AAC9B,WAAW;AACX;AACA,GAAG,UAAU,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA,oCAAoC;AACpC;AACA,qCAAqC;AACrC;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,IAEQ;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6CAA6C,SAAS;AACtD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,qCAAqC,EAAE;AACpF;;AAEA;AACA;AACA;;AAEA,oCAAoC,yCAAyC,EAAE;AAC/E;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,kBAAkB;AAC3C;AACA;AACA,4BAA4B;AAC5B,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,sDAAsD,EAAE;AACtF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB,kBAAkB;AAClC;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC,iCAAiC;AACnE,cAAc,6BAA6B;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,yBAAyB;AAC1C,GAAG;AACH;AACA;AACA,iBAAiB,+BAA+B;AAChD;AACA;;AAEA;AACA;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,uBAAuB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB,mBAAmB;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,qBAAqB;AACtC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa,qBAAqB;AAClC;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO,MAAM,EAEN;AACP,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mBAAmB,iBAAiB;AACpC;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,IAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,OAAO;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,sBAAsB,mBAAmB;AACzC;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC,uCAAuC;AACvC;AACA,GAAG;AACH;AACA,eAAe,SAAS;AACxB,sCAAsC;AACtC;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,4CAA4C,eAAe;AAC3D,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,kDAAkD;AAClD,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,iBAAiB;AACpC;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA,KAAK;AACL,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB,mBAAmB;AACpC;AACA;AACA;AACA,KAAK,UAAU,KAAqC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,qCAAqC,gEAAgE;AACrG;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,4BAA4B,+BAA+B;AAC3D,4BAA4B,+BAA+B;AAC3D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA,mBAAmB,mBAAmB;AACtC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C,kDAAkD;AAClD;AACA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sEAAsE;;AAEtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,uFAAuF;AAC5F;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0CAA0C;AAC1C,iBAAiB,yBAAyB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG,+BAA+B;AAClC,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,oBAAoB,oBAAoB;AACxC,sBAAsB,4BAA4B;AAClD;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,OAAO;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB;AACnB,yBAAyB;AACzB;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,6CAA6C;AAC9E;AACA;AACA,6CAA6C,4CAA4C;;AAEzF;AACA;AACA;;AAEA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL,GAAG,MAAM,EAGN;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,KAAK,2CAA2C,8BAA8B,EAAE;;AAEhF;AACA,wCAAwC,OAAO;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;;AAEL;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,KAAqC;AACrD;AACA,oBAAoB,SAAI;AACxB;AACA;AACA,WAAW;AACX;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,OAAO;AAC9C;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,SAAS;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,OAAO;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;;AAE1B,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB,qBAAqB;AACxC;AACA,0CAA0C;AAC1C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;AACA;AACA,uBAAuB;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,yBAAyB;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,OAAO;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,0BAA0B;AACpD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,oBAAoB,EAAE;;AAEpD;AACA;AACA,iBAAiB,sBAAsB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB,kBAAkB;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,KAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oBAAoB;AACpB;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,oBAAoB,KAAqC;AACzD;AACA,MAAM,SAAE;AACR;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,2BAA2B;AAC9C,qBAAqB,+BAA+B;AACpD;AACA;AACA,GAAG;AACH,yBAAyB;AACzB;AACA,sBAAsB,iCAAiC;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kGAAkG;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,KAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,UAAU,IAAqC;AACpD;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB,oBAAoB;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA,8BAA8B;AAC9B,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA,KAAK,MAAM,EAEN;AACL;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA,sCAAsC;AACtC,8C;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,eAAe;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAM,KAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA;AACA;;AAEA;AACA,QAAQ,KAAqC;AAC7C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC;;AAEjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,YAAY,KAAqC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA,0CAA0C,2BAA2B,EAAE;AACvE,KAAK;AACL;AACA,0CAA0C,4BAA4B,EAAE;AACxE,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,+BAA+B,eAAe;AAC9C,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,YAAY,iIAAW;AACvB;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA;;AAEA;AACA,0CAA0C,gCAAgC,EAAE;AAC5E;;AAEA;AACA;AACA;AACA;AACA,WAAW,iIAAW;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,iIAAW;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B,0CAA0C;;AAE1C;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,sCAAsC;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,uBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA,KAAK;AACL;AACA;AACA,UAAU,iIAAW;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,gBAAgB,YAAY;AAC5B;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,wBAAwB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,sDAAsD,qDAAqD,EAAE,SAAS;AACtH;;AAEA;AACA;AACA;AACA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,OAAO;AACzC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,0BAA0B,OAAO;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEe,kEAAG,EAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC97LnB;AAAA;AAAA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;ACrHA;AACA;AACA;AAEAvoB,YAAG,CAACowB,GAAG,CAACC,aAAI,CAAC;AAAA,eAEE,IAAIA,aAAI,CAACC,KAAK,CAAC;EAAE;EAC5BC,OAAO,EAAE;IACL1sB,IAAI,EAAJA;EACJ;AACJ,CAAC,CAAC;AAAA,2B;;;;;;;;;;;ACVF;AACA;AACA;AACA;AACA;AACa;;AAEb;AACA;;AAEA;AACA,eAAe,yBAAyB;AACxC,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAqB;;AAErB;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG,GAAG,gBAAgB;;AAEtB;AACA;AACA,GAAG,GAAG,gBAAgB;AACtB;;AAEA;AACA;AACA;AACA;AACA,WAAW,MAAM;AACjB,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,WAAW,cAAc;AACzB,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC,2BAA2B,EAAE;AACnE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,2CAA2C,0BAA0B,EAAE;AACvE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0BAA0B,cAAc,qBAAqB;;AAE7D;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,oCAAoC,EAAE;AAClE;AACA;;AAEA;AACA,4BAA4B;AAC5B,uEAAuE,EAAE;AACzE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B;;AAE1B;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ;;AAER;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;AACA;AACA;;AAEA,gCAAgC;AAChC,8BAA8B;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,qCAAqC,uBAAuB,EAAE;;AAE9D;AACA;AACA;AACA;AACA;;AAEA,4BAA4B,SAAS,qBAAqB;;AAE1D;AACA;AACA;;AAEA;AACA,OAAO,IAAqC;AAC5C;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,kBAAkB;AAClB;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,6BAA6B,oCAAoC,EAAE;;AAEnE;AACA,KAAK,KAAqC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gBAAgB;AAChB;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,mBAAmB,EAAE;AACnD,+BAA+B,yCAAyC,EAAE;AAC1E,GAAG;AACH,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;;AAEA;AACA,gDAAgD,yBAAyB,EAAE;AAC3E;;AAEA;AACA;AACA;AACA;AACA,kCAAkC,kBAAkB,EAAE;AACtD,mCAAmC,wCAAwC,EAAE;AAC7E,OAAO;AACP,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC,kBAAkB,EAAE;AACtD,mCAAmC,+CAA+C,EAAE;AACpF,OAAO;AACP,aAAa,IAAqC;AAClD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;AACA,yCAAyC,aAAa;AACtD;AACA;;AAEA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;AACA,6CAA6C,6CAA6C,EAAE;AAC5F;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,iCAAiC,eAAe;;AAEhD,OAAO,IAAqC;AAC5C;AACA;;AAEA;AACA;;AAEA,yEAAyE,iCAAiC;AAC1G;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,uBAAuB,EAAE;AACjD;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,8BAA8B,yBAAyB,EAAE;AACzD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,kDAAkD,aAAoB;AACtE;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW,IAAqC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,KAAqC;AAClD;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa,KAAqC;AAClD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C,uBAAuB,2CAA2C;AAClE,KAAK;AACL;AACA,wBAAwB,0CAA0C;AAClE;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,4BAA4B,EAAE;AACxD;AACA,OAAO;AACP,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;AACL;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC,4BAA4B;AAC5D,SAAS,IAAqC;AAC9C;AACA;AACA,GAAG,GAAG,yBAAyB;AAC/B;;AAEA;AACA,4CAA4C,mBAAmB,EAAE;AACjE;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAqC;AAC5C;AACA;;AAEA,UAAU;AACV;;AAEA;AACA;AACA,SAAS,IAAqC;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,WAAW;AACX;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,KAAqC;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA,WAAW,OAAO;AAClB,YAAY;AACZ;AACA,oDAAoD;AACpD;AACA;AACA;AACA;AACA,CAAC,EAAE;;AAEH;AACA;AACA,iCAAiC,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB;AAC1F,iBAAiB,iBAAiB,QAAQ,mBAAmB,GAAG,mBAAmB,GAAG,mBAAmB;AACzG,WAAW,aAAa;AACxB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B,UAAU,qBAAqB,EAAE,EAAE;AACjE,2CAA2C,UAAU,0BAA0B,EAAE,EAAE;AACnF;;AAEA;AACA;AACA,WAAW,EAAE;AACb,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,SAAS;AACpB,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,WAAW,OAAO;AAClB,YAAY;AACZ;AACA;AACA;AACA,OAAO,KAAqC;AAC5C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC;AAChC,0BAA0B,iFAAiF,aAAa;AACxH,oCAAoC,+DAA+D,cAAc;AACjH,oDAAoD,6EAA6E,YAAY;AAC7I,sCAAsC,yEAAyE,aAAa;AAC5H,gDAAgD,yEAAyE,YAAY;AACrI,sCAAsC;AACtC,kCAAkC;AAClC,0BAA0B;;AAE1B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD;AACtD,oDAAoD;AACpD,sDAAsD;AACtD;AACA;;AAEA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kDAAkD;AAClD;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;;;;;;;;;;;AC3tCA,IAAMA,IAAI,GAAG;EACT8F,KAAK,EAAE;IACH6mB,QAAQ,EAAE,KAAK;IACrBhxB,QAAQ,EAAC,CAAC,CAAC;IACXixB,OAAO,EAAC,KAAK;IACbC,UAAU,EAAC,EAAE;IACbC,SAAS,EAAC,EAAE;IACZC,GAAG,EAAC,CAAC;EACH,CAAC;EACJC,OAAO,EAAC;IACPC,WAAW,uBAACnnB,KAAK,EAACknB,OAAO,EAAC;MACzB,OAAO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BN,KAAK,EAAE,SAAS,CAAE;EACtB,CAAC;;EAED,OAAOhoC,KAAK;AAEhB,CAAC,CAAE,C;;;;;;;;;;;ACriLH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAAEC,GAAG,EAAG,CAAC,IAAI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G,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAA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E,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAA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GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,CAAC;EAACC,EAAE,GAAC,CAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,CAAC,EAAC,CAAC,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,CAAC,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,GAAG,EAAC,GAAG,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,EAAE,EAAC,GAAG,CAAC;EAAC5Z,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAAC6Z,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAACtrB,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAACurB,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACjN,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACkN,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,CAAC,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,CAAC,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,CAAC;EAACC,EAAE,GAAC,CAAC,CAAC,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,QAAQ,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,SAAS,EAAC,UAAU,EAAC,UAAU,EAAC,UAAU,EAAC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","file":"common/vendor.js","sourcesContent":["const objectKeys = [\r\n 'qy',\r\n 'env',\r\n 'error',\r\n 'version',\r\n 'lanDebug',\r\n 'cloud',\r\n 'serviceMarket',\r\n 'router',\r\n 'worklet',\r\n '__webpack_require_UNI_MP_PLUGIN__'\r\n]\r\nconst singlePageDisableKey = [\r\n 'lanDebug',\r\n 'router',\r\n 'worklet'\r\n]\r\nconst target = typeof globalThis !== 'undefined' ? globalThis : (function () {\r\n return this\r\n})()\r\n\r\nconst key = ['w', 'x'].join('')\r\nconst oldWx = target[key]\r\nconst launchOption = oldWx.getLaunchOptionsSync ? oldWx.getLaunchOptionsSync() : null\r\n\r\nfunction isWxKey (key) {\r\n if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) {\r\n return false\r\n }\r\n return objectKeys.indexOf(key) > -1 || typeof oldWx[key] === 'function'\r\n}\r\n\r\nfunction initWx () {\r\n const newWx = {}\r\n for (const key in oldWx) {\r\n if (isWxKey(key)) {\r\n // TODO wrapper function\r\n newWx[key] = oldWx[key]\r\n }\r\n }\r\n return newWx\r\n}\r\ntarget[key] = initWx()\r\nexport default target[key]\r\n","import { initVueI18n } from '@dcloudio/uni-i18n';\r\nimport Vue from 'vue';\r\n\r\nlet realAtob;\r\n\r\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\r\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\r\n\r\nif (typeof atob !== 'function') {\r\n realAtob = function (str) {\r\n str = String(str).replace(/[\\t\\n\\f\\r ]+/g, '');\r\n if (!b64re.test(str)) { throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\") }\r\n\r\n // Adding the padding if missing, for semplicity\r\n str += '=='.slice(2 - (str.length & 3));\r\n var bitmap; var result = ''; var r1; var r2; var i = 0;\r\n for (; i < str.length;) {\r\n bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |\r\n (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));\r\n\r\n result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255)\r\n : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255)\r\n : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);\r\n }\r\n return result\r\n };\r\n} else {\r\n // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\r\n realAtob = atob;\r\n}\r\n\r\nfunction b64DecodeUnicode (str) {\r\n return decodeURIComponent(realAtob(str).split('').map(function (c) {\r\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\r\n }).join(''))\r\n}\r\n\r\nfunction getCurrentUserInfo () {\r\n const token = ( wx).getStorageSync('uni_id_token') || '';\r\n const tokenArr = token.split('.');\r\n if (!token || tokenArr.length !== 3) {\r\n return {\r\n uid: null,\r\n role: [],\r\n permission: [],\r\n tokenExpired: 0\r\n }\r\n }\r\n let userInfo;\r\n try {\r\n userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));\r\n } catch (error) {\r\n throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message)\r\n }\r\n userInfo.tokenExpired = userInfo.exp * 1000;\r\n delete userInfo.exp;\r\n delete userInfo.iat;\r\n return userInfo\r\n}\r\n\r\nfunction uniIdMixin (Vue) {\r\n Vue.prototype.uniIDHasRole = function (roleId) {\r\n const {\r\n role\r\n } = getCurrentUserInfo();\r\n return role.indexOf(roleId) > -1\r\n };\r\n Vue.prototype.uniIDHasPermission = function (permissionId) {\r\n const {\r\n permission\r\n } = getCurrentUserInfo();\r\n return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1\r\n };\r\n Vue.prototype.uniIDTokenValid = function () {\r\n const {\r\n tokenExpired\r\n } = getCurrentUserInfo();\r\n return tokenExpired > Date.now()\r\n };\r\n}\r\n\r\nconst _toString = Object.prototype.toString;\r\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\r\n\r\nfunction isFn (fn) {\r\n return typeof fn === 'function'\r\n}\r\n\r\nfunction isStr (str) {\r\n return typeof str === 'string'\r\n}\r\n\r\nfunction isObject (obj) {\r\n return obj !== null && typeof obj === 'object'\r\n}\r\n\r\nfunction isPlainObject (obj) {\r\n return _toString.call(obj) === '[object Object]'\r\n}\r\n\r\nfunction hasOwn (obj, key) {\r\n return hasOwnProperty.call(obj, key)\r\n}\r\n\r\nfunction noop () {}\r\n\r\n/**\r\n * Create a cached version of a pure function.\r\n */\r\nfunction cached (fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn (str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str))\r\n }\r\n}\r\n\r\n/**\r\n * Camelize a hyphen-delimited string.\r\n */\r\nconst camelizeRE = /-(\\w)/g;\r\nconst camelize = cached((str) => {\r\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\r\n});\r\n\r\nfunction sortObject (obj) {\r\n const sortObj = {};\r\n if (isPlainObject(obj)) {\r\n Object.keys(obj).sort().forEach(key => {\r\n sortObj[key] = obj[key];\r\n });\r\n }\r\n return !Object.keys(sortObj) ? obj : sortObj\r\n}\r\n\r\nconst HOOKS = [\r\n 'invoke',\r\n 'success',\r\n 'fail',\r\n 'complete',\r\n 'returnValue'\r\n];\r\n\r\nconst globalInterceptors = {};\r\nconst scopedInterceptors = {};\r\n\r\nfunction mergeHook (parentVal, childVal) {\r\n const res = childVal\r\n ? parentVal\r\n ? parentVal.concat(childVal)\r\n : Array.isArray(childVal)\r\n ? childVal : [childVal]\r\n : parentVal;\r\n return res\r\n ? dedupeHooks(res)\r\n : res\r\n}\r\n\r\nfunction dedupeHooks (hooks) {\r\n const res = [];\r\n for (let i = 0; i < hooks.length; i++) {\r\n if (res.indexOf(hooks[i]) === -1) {\r\n res.push(hooks[i]);\r\n }\r\n }\r\n return res\r\n}\r\n\r\nfunction removeHook (hooks, hook) {\r\n const index = hooks.indexOf(hook);\r\n if (index !== -1) {\r\n hooks.splice(index, 1);\r\n }\r\n}\r\n\r\nfunction mergeInterceptorHook (interceptor, option) {\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction removeInterceptorHook (interceptor, option) {\r\n if (!interceptor || !option) {\r\n return\r\n }\r\n Object.keys(option).forEach(hook => {\r\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\r\n removeHook(interceptor[hook], option[hook]);\r\n }\r\n });\r\n}\r\n\r\nfunction addInterceptor (method, option) {\r\n if (typeof method === 'string' && isPlainObject(option)) {\r\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\r\n } else if (isPlainObject(method)) {\r\n mergeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction removeInterceptor (method, option) {\r\n if (typeof method === 'string') {\r\n if (isPlainObject(option)) {\r\n removeInterceptorHook(scopedInterceptors[method], option);\r\n } else {\r\n delete scopedInterceptors[method];\r\n }\r\n } else if (isPlainObject(method)) {\r\n removeInterceptorHook(globalInterceptors, method);\r\n }\r\n}\r\n\r\nfunction wrapperHook (hook, params) {\r\n return function (data) {\r\n return hook(data, params) || data\r\n }\r\n}\r\n\r\nfunction isPromise (obj) {\r\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\r\n}\r\n\r\nfunction queue (hooks, data, params) {\r\n let promise = false;\r\n for (let i = 0; i < hooks.length; i++) {\r\n const hook = hooks[i];\r\n if (promise) {\r\n promise = Promise.resolve(wrapperHook(hook, params));\r\n } else {\r\n const res = hook(data, params);\r\n if (isPromise(res)) {\r\n promise = Promise.resolve(res);\r\n }\r\n if (res === false) {\r\n return {\r\n then () { }\r\n }\r\n }\r\n }\r\n }\r\n return promise || {\r\n then (callback) {\r\n return callback(data)\r\n }\r\n }\r\n}\r\n\r\nfunction wrapperOptions (interceptor, options = {}) {\r\n ['success', 'fail', 'complete'].forEach(name => {\r\n if (Array.isArray(interceptor[name])) {\r\n const oldCallback = options[name];\r\n options[name] = function callbackInterceptor (res) {\r\n queue(interceptor[name], res, options).then((res) => {\r\n /* eslint-disable no-mixed-operators */\r\n return isFn(oldCallback) && oldCallback(res) || res\r\n });\r\n };\r\n }\r\n });\r\n return options\r\n}\r\n\r\nfunction wrapperReturnValue (method, returnValue) {\r\n const returnValueHooks = [];\r\n if (Array.isArray(globalInterceptors.returnValue)) {\r\n returnValueHooks.push(...globalInterceptors.returnValue);\r\n }\r\n const interceptor = scopedInterceptors[method];\r\n if (interceptor && Array.isArray(interceptor.returnValue)) {\r\n returnValueHooks.push(...interceptor.returnValue);\r\n }\r\n returnValueHooks.forEach(hook => {\r\n returnValue = hook(returnValue) || returnValue;\r\n });\r\n return returnValue\r\n}\r\n\r\nfunction getApiInterceptorHooks (method) {\r\n const interceptor = Object.create(null);\r\n Object.keys(globalInterceptors).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = globalInterceptors[hook].slice();\r\n }\r\n });\r\n const scopedInterceptor = scopedInterceptors[method];\r\n if (scopedInterceptor) {\r\n Object.keys(scopedInterceptor).forEach(hook => {\r\n if (hook !== 'returnValue') {\r\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\r\n }\r\n });\r\n }\r\n return interceptor\r\n}\r\n\r\nfunction invokeApi (method, api, options, ...params) {\r\n const interceptor = getApiInterceptorHooks(method);\r\n if (interceptor && Object.keys(interceptor).length) {\r\n if (Array.isArray(interceptor.invoke)) {\r\n const res = queue(interceptor.invoke, options);\r\n return res.then((options) => {\r\n // 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor\r\n return api(\r\n wrapperOptions(getApiInterceptorHooks(method), options),\r\n ...params\r\n )\r\n })\r\n } else {\r\n return api(wrapperOptions(interceptor, options), ...params)\r\n }\r\n }\r\n return api(options, ...params)\r\n}\r\n\r\nconst promiseInterceptor = {\r\n returnValue (res) {\r\n if (!isPromise(res)) {\r\n return res\r\n }\r\n return new Promise((resolve, reject) => {\r\n res.then(res => {\r\n if (res[0]) {\r\n reject(res[0]);\r\n } else {\r\n resolve(res[1]);\r\n }\r\n });\r\n })\r\n }\r\n};\r\n\r\nconst SYNC_API_RE =\r\n /^\\$|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/;\r\n\r\nconst CONTEXT_API_RE = /^create|Manager$/;\r\n\r\n// Context例外情况\r\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\r\n\r\n// 同步例外情况\r\nconst ASYNC_API = ['createBLEConnection', 'createPushMessage'];\r\n\r\nconst CALLBACK_API_RE = /^on|^off/;\r\n\r\nfunction isContextApi (name) {\r\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\r\n}\r\nfunction isSyncApi (name) {\r\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\r\n}\r\n\r\nfunction isCallbackApi (name) {\r\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\r\n}\r\n\r\nfunction handlePromise (promise) {\r\n return promise.then(data => {\r\n return [null, data]\r\n })\r\n .catch(err => [err])\r\n}\r\n\r\nfunction shouldPromise (name) {\r\n if (\r\n isContextApi(name) ||\r\n isSyncApi(name) ||\r\n isCallbackApi(name)\r\n ) {\r\n return false\r\n }\r\n return true\r\n}\r\n\r\n/* eslint-disable no-extend-native */\r\nif (!Promise.prototype.finally) {\r\n Promise.prototype.finally = function (callback) {\r\n const promise = this.constructor;\r\n return this.then(\r\n value => promise.resolve(callback()).then(() => value),\r\n reason => promise.resolve(callback()).then(() => {\r\n throw reason\r\n })\r\n )\r\n };\r\n}\r\n\r\nfunction promisify (name, api) {\r\n if (!shouldPromise(name) || !isFn(api)) {\r\n return api\r\n }\r\n return function promiseApi (options = {}, ...params) {\r\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\r\n return wrapperReturnValue(name, invokeApi(name, api, options, ...params))\r\n }\r\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\r\n invokeApi(name, api, Object.assign({}, options, {\r\n success: resolve,\r\n fail: reject\r\n }), ...params);\r\n })))\r\n }\r\n}\r\n\r\nconst EPS = 1e-4;\r\nconst BASE_DEVICE_WIDTH = 750;\r\nlet isIOS = false;\r\nlet deviceWidth = 0;\r\nlet deviceDPR = 0;\r\n\r\nfunction checkDeviceWidth () {\r\n const {\r\n platform,\r\n pixelRatio,\r\n windowWidth\r\n } = wx.getSystemInfoSync(); // uni=>wx runtime 编译目标是 uni 对象,内部不允许直接使用 uni\r\n\r\n deviceWidth = windowWidth;\r\n deviceDPR = pixelRatio;\r\n isIOS = platform === 'ios';\r\n}\r\n\r\nfunction upx2px (number, newDeviceWidth) {\r\n if (deviceWidth === 0) {\r\n checkDeviceWidth();\r\n }\r\n\r\n number = Number(number);\r\n if (number === 0) {\r\n return 0\r\n }\r\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\r\n if (result < 0) {\r\n result = -result;\r\n }\r\n result = Math.floor(result + EPS);\r\n if (result === 0) {\r\n if (deviceDPR === 1 || !isIOS) {\r\n result = 1;\r\n } else {\r\n result = 0.5;\r\n }\r\n }\r\n return number < 0 ? -result : result\r\n}\r\n\r\nconst LOCALE_ZH_HANS = 'zh-Hans';\r\nconst LOCALE_ZH_HANT = 'zh-Hant';\r\nconst LOCALE_EN = 'en';\r\nconst LOCALE_FR = 'fr';\r\nconst LOCALE_ES = 'es';\r\n\r\nconst messages = {};\r\n\r\nlet locale;\r\n\r\n{\r\n locale = normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN;\r\n}\r\n\r\nfunction initI18nMessages () {\r\n if (!isEnableLocale()) {\r\n return\r\n }\r\n const localeKeys = Object.keys(__uniConfig.locales);\r\n if (localeKeys.length) {\r\n localeKeys.forEach((locale) => {\r\n const curMessages = messages[locale];\r\n const userMessages = __uniConfig.locales[locale];\r\n if (curMessages) {\r\n Object.assign(curMessages, userMessages);\r\n } else {\r\n messages[locale] = userMessages;\r\n }\r\n });\r\n }\r\n}\r\n\r\ninitI18nMessages();\r\n\r\nconst i18n = initVueI18n(\r\n locale,\r\n {}\r\n);\r\nconst t = i18n.t;\r\nconst i18nMixin = (i18n.mixin = {\r\n beforeCreate () {\r\n const unwatch = i18n.i18n.watchLocale(() => {\r\n this.$forceUpdate();\r\n });\r\n this.$once('hook:beforeDestroy', function () {\r\n unwatch();\r\n });\r\n },\r\n methods: {\r\n $$t (key, values) {\r\n return t(key, values)\r\n }\r\n }\r\n});\r\nconst setLocale = i18n.setLocale;\r\nconst getLocale = i18n.getLocale;\r\n\r\nfunction initAppLocale (Vue, appVm, locale) {\r\n const state = Vue.observable({\r\n locale: locale || i18n.getLocale()\r\n });\r\n const localeWatchers = [];\r\n appVm.$watchLocale = fn => {\r\n localeWatchers.push(fn);\r\n };\r\n Object.defineProperty(appVm, '$locale', {\r\n get () {\r\n return state.locale\r\n },\r\n set (v) {\r\n state.locale = v;\r\n localeWatchers.forEach(watch => watch(v));\r\n }\r\n });\r\n}\r\n\r\nfunction isEnableLocale () {\r\n return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length\r\n}\r\n\r\nfunction include (str, parts) {\r\n return !!parts.find((part) => str.indexOf(part) !== -1)\r\n}\r\n\r\nfunction startsWith (str, parts) {\r\n return parts.find((part) => str.indexOf(part) === 0)\r\n}\r\n\r\nfunction normalizeLocale (locale, messages) {\r\n if (!locale) {\r\n return\r\n }\r\n locale = locale.trim().replace(/_/g, '-');\r\n if (messages && messages[locale]) {\r\n return locale\r\n }\r\n locale = locale.toLowerCase();\r\n if (locale === 'chinese') {\r\n // 支付宝\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('zh') === 0) {\r\n if (locale.indexOf('-hans') > -1) {\r\n return LOCALE_ZH_HANS\r\n }\r\n if (locale.indexOf('-hant') > -1) {\r\n return LOCALE_ZH_HANT\r\n }\r\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\r\n return LOCALE_ZH_HANT\r\n }\r\n return LOCALE_ZH_HANS\r\n }\r\n const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);\r\n if (lang) {\r\n return lang\r\n }\r\n}\r\n// export function initI18n() {\r\n// const localeKeys = Object.keys(__uniConfig.locales || {})\r\n// if (localeKeys.length) {\r\n// localeKeys.forEach((locale) =>\r\n// i18n.add(locale, __uniConfig.locales[locale])\r\n// )\r\n// }\r\n// }\r\n\r\nfunction getLocale$1 () {\r\n // 优先使用 $locale\r\n if (isFn(getApp)) {\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n if (app && app.$vm) {\r\n return app.$vm.$locale\r\n }\r\n }\r\n return normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN\r\n}\r\n\r\nfunction setLocale$1 (locale) {\r\n const app = isFn(getApp) ? getApp() : false;\r\n if (!app) {\r\n return false\r\n }\r\n const oldLocale = app.$vm.$locale;\r\n if (oldLocale !== locale) {\r\n app.$vm.$locale = locale;\r\n onLocaleChangeCallbacks.forEach((fn) => fn({\r\n locale\r\n }));\r\n return true\r\n }\r\n return false\r\n}\r\n\r\nconst onLocaleChangeCallbacks = [];\r\nfunction onLocaleChange (fn) {\r\n if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\r\n onLocaleChangeCallbacks.push(fn);\r\n }\r\n}\r\n\r\nif (typeof global !== 'undefined') {\r\n global.getLocale = getLocale$1;\r\n}\r\n\r\nconst interceptors = {\r\n promiseInterceptor\r\n};\r\n\r\nvar baseApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n upx2px: upx2px,\r\n getLocale: getLocale$1,\r\n setLocale: setLocale$1,\r\n onLocaleChange: onLocaleChange,\r\n addInterceptor: addInterceptor,\r\n removeInterceptor: removeInterceptor,\r\n interceptors: interceptors\r\n});\r\n\r\nfunction findExistsPageIndex (url) {\r\n const pages = getCurrentPages();\r\n let len = pages.length;\r\n while (len--) {\r\n const page = pages[len];\r\n if (page.$page && page.$page.fullPath === url) {\r\n return len\r\n }\r\n }\r\n return -1\r\n}\r\n\r\nvar redirectTo = {\r\n name (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.delta) {\r\n return 'navigateBack'\r\n }\r\n return 'redirectTo'\r\n },\r\n args (fromArgs) {\r\n if (fromArgs.exists === 'back' && fromArgs.url) {\r\n const existsPageIndex = findExistsPageIndex(fromArgs.url);\r\n if (existsPageIndex !== -1) {\r\n const delta = getCurrentPages().length - 1 - existsPageIndex;\r\n if (delta > 0) {\r\n fromArgs.delta = delta;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nvar previewImage = {\r\n args (fromArgs) {\r\n let currentIndex = parseInt(fromArgs.current);\r\n if (isNaN(currentIndex)) {\r\n return\r\n }\r\n const urls = fromArgs.urls;\r\n if (!Array.isArray(urls)) {\r\n return\r\n }\r\n const len = urls.length;\r\n if (!len) {\r\n return\r\n }\r\n if (currentIndex < 0) {\r\n currentIndex = 0;\r\n } else if (currentIndex >= len) {\r\n currentIndex = len - 1;\r\n }\r\n if (currentIndex > 0) {\r\n fromArgs.current = urls[currentIndex];\r\n fromArgs.urls = urls.filter(\r\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\r\n );\r\n } else {\r\n fromArgs.current = urls[0];\r\n }\r\n return {\r\n indicator: false,\r\n loop: false\r\n }\r\n }\r\n};\r\n\r\nconst UUID_KEY = '__DC_STAT_UUID';\r\nlet deviceId;\r\nfunction useDeviceId (result) {\r\n deviceId = deviceId || wx.getStorageSync(UUID_KEY);\r\n if (!deviceId) {\r\n deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);\r\n wx.setStorage({\r\n key: UUID_KEY,\r\n data: deviceId\r\n });\r\n }\r\n result.deviceId = deviceId;\r\n}\r\n\r\nfunction addSafeAreaInsets (result) {\r\n if (result.safeArea) {\r\n const safeArea = result.safeArea;\r\n result.safeAreaInsets = {\r\n top: safeArea.top,\r\n left: safeArea.left,\r\n right: result.windowWidth - safeArea.right,\r\n bottom: result.screenHeight - safeArea.bottom\r\n };\r\n }\r\n}\r\n\r\nfunction populateParameters (result) {\r\n const {\r\n brand = '', model = '', system = '',\r\n language = '', theme, version,\r\n platform, fontSizeSetting,\r\n SDKVersion, pixelRatio, deviceOrientation\r\n } = result;\r\n // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\r\n\r\n const extraParam = {};\r\n\r\n // osName osVersion\r\n let osName = '';\r\n let osVersion = '';\r\n {\r\n osName = system.split(' ')[0] || '';\r\n osVersion = system.split(' ')[1] || '';\r\n }\r\n let hostVersion = version;\r\n\r\n // deviceType\r\n const deviceType = getGetDeviceType(result, model);\r\n\r\n // deviceModel\r\n const deviceBrand = getDeviceBrand(brand);\r\n\r\n // hostName\r\n const _hostName = getHostName(result);\r\n\r\n // deviceOrientation\r\n let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\r\n\r\n // devicePixelRatio\r\n let _devicePixelRatio = pixelRatio;\r\n\r\n // SDKVersion\r\n let _SDKVersion = SDKVersion;\r\n\r\n // hostLanguage\r\n const hostLanguage = language.replace(/_/g, '-');\r\n\r\n // wx.getAccountInfoSync\r\n\r\n const parameters = {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\r\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\r\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\r\n deviceBrand,\r\n deviceModel: model,\r\n deviceType,\r\n devicePixelRatio: _devicePixelRatio,\r\n deviceOrientation: _deviceOrientation,\r\n osName: osName.toLocaleLowerCase(),\r\n osVersion,\r\n hostTheme: theme,\r\n hostVersion,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: _SDKVersion,\r\n hostFontSizeSetting: fontSizeSetting,\r\n windowTop: 0,\r\n windowBottom: 0,\r\n // TODO\r\n osLanguage: undefined,\r\n osTheme: undefined,\r\n ua: undefined,\r\n hostPackageName: undefined,\r\n browserName: undefined,\r\n browserVersion: undefined\r\n };\r\n\r\n Object.assign(result, parameters, extraParam);\r\n}\r\n\r\nfunction getGetDeviceType (result, model) {\r\n let deviceType = result.deviceType || 'phone';\r\n {\r\n const deviceTypeMaps = {\r\n ipad: 'pad',\r\n windows: 'pc',\r\n mac: 'pc'\r\n };\r\n const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);\r\n const _model = model.toLocaleLowerCase();\r\n for (let index = 0; index < deviceTypeMapsKeys.length; index++) {\r\n const _m = deviceTypeMapsKeys[index];\r\n if (_model.indexOf(_m) !== -1) {\r\n deviceType = deviceTypeMaps[_m];\r\n break\r\n }\r\n }\r\n }\r\n return deviceType\r\n}\r\n\r\nfunction getDeviceBrand (brand) {\r\n let deviceBrand = brand;\r\n if (deviceBrand) {\r\n deviceBrand = brand.toLocaleLowerCase();\r\n }\r\n return deviceBrand\r\n}\r\n\r\nfunction getAppLanguage (defaultLanguage) {\r\n return getLocale$1\r\n ? getLocale$1()\r\n : defaultLanguage\r\n}\r\n\r\nfunction getHostName (result) {\r\n const _platform = 'WeChat' ;\r\n let _hostName = result.hostName || _platform; // mp-jd\r\n {\r\n if (result.environment) {\r\n _hostName = result.environment;\r\n } else if (result.host && result.host.env) {\r\n _hostName = result.host.env;\r\n }\r\n }\r\n\r\n return _hostName\r\n}\r\n\r\nvar getSystemInfo = {\r\n returnValue: function (result) {\r\n useDeviceId(result);\r\n addSafeAreaInsets(result);\r\n populateParameters(result);\r\n }\r\n};\r\n\r\nvar showActionSheet = {\r\n args (fromArgs) {\r\n if (typeof fromArgs === 'object') {\r\n fromArgs.alertText = fromArgs.title;\r\n }\r\n }\r\n};\r\n\r\nvar getAppBaseInfo = {\r\n returnValue: function (result) {\r\n const { version, language, SDKVersion, theme } = result;\r\n\r\n const _hostName = getHostName(result);\r\n\r\n const hostLanguage = language.replace('_', '-');\r\n\r\n result = sortObject(Object.assign(result, {\r\n appId: process.env.UNI_APP_ID,\r\n appName: process.env.UNI_APP_NAME,\r\n appVersion: process.env.UNI_APP_VERSION_NAME,\r\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\r\n appLanguage: getAppLanguage(hostLanguage),\r\n hostVersion: version,\r\n hostLanguage,\r\n hostName: _hostName,\r\n hostSDKVersion: SDKVersion,\r\n hostTheme: theme\r\n }));\r\n }\r\n};\r\n\r\nvar getDeviceInfo = {\r\n returnValue: function (result) {\r\n const { brand, model } = result;\r\n const deviceType = getGetDeviceType(result, model);\r\n const deviceBrand = getDeviceBrand(brand);\r\n useDeviceId(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n deviceType,\r\n deviceBrand,\r\n deviceModel: model\r\n }));\r\n }\r\n};\r\n\r\nvar getWindowInfo = {\r\n returnValue: function (result) {\r\n addSafeAreaInsets(result);\r\n\r\n result = sortObject(Object.assign(result, {\r\n windowTop: 0,\r\n windowBottom: 0\r\n }));\r\n }\r\n};\r\n\r\nvar getAppAuthorizeSetting = {\r\n returnValue: function (result) {\r\n const { locationReducedAccuracy } = result;\r\n\r\n result.locationAccuracy = 'unsupported';\r\n if (locationReducedAccuracy === true) {\r\n result.locationAccuracy = 'reduced';\r\n } else if (locationReducedAccuracy === false) {\r\n result.locationAccuracy = 'full';\r\n }\r\n }\r\n};\r\n\r\n// import navigateTo from 'uni-helpers/navigate-to'\r\n\r\nconst compressImage = {\r\n args (fromArgs) {\r\n // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight\r\n if (fromArgs.compressedHeight && !fromArgs.compressHeight) {\r\n fromArgs.compressHeight = fromArgs.compressedHeight;\r\n }\r\n if (fromArgs.compressedWidth && !fromArgs.compressWidth) {\r\n fromArgs.compressWidth = fromArgs.compressedWidth;\r\n }\r\n }\r\n};\r\n\r\nconst protocols = {\r\n redirectTo,\r\n // navigateTo, // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP\r\n previewImage,\r\n getSystemInfo,\r\n getSystemInfoSync: getSystemInfo,\r\n showActionSheet,\r\n getAppBaseInfo,\r\n getDeviceInfo,\r\n getWindowInfo,\r\n getAppAuthorizeSetting,\r\n compressImage\r\n};\r\nconst todos = [\r\n 'vibrate',\r\n 'preloadPage',\r\n 'unPreloadPage',\r\n 'loadSubPackage'\r\n];\r\nconst canIUses = [];\r\n\r\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\r\n\r\nfunction processCallback (methodName, method, returnValue) {\r\n return function (res) {\r\n return method(processReturnValue(methodName, res, returnValue))\r\n }\r\n}\r\n\r\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\r\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\r\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\r\n if (isFn(argsOption)) {\r\n argsOption = argsOption(fromArgs, toArgs) || {};\r\n }\r\n for (const key in fromArgs) {\r\n if (hasOwn(argsOption, key)) {\r\n let keyOption = argsOption[key];\r\n if (isFn(keyOption)) {\r\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\r\n }\r\n if (!keyOption) { // 不支持的参数\r\n console.warn(`The '${methodName}' method of platform '微信小程序' does not support option '${key}'`);\r\n } else if (isStr(keyOption)) { // 重写参数 key\r\n toArgs[keyOption] = fromArgs[key];\r\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\r\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\r\n }\r\n } else if (CALLBACKS.indexOf(key) !== -1) {\r\n if (isFn(fromArgs[key])) {\r\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\r\n }\r\n } else {\r\n if (!keepFromArgs) {\r\n toArgs[key] = fromArgs[key];\r\n }\r\n }\r\n }\r\n return toArgs\r\n } else if (isFn(fromArgs)) {\r\n fromArgs = processCallback(methodName, fromArgs, returnValue);\r\n }\r\n return fromArgs\r\n}\r\n\r\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\r\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\r\n res = protocols.returnValue(methodName, res);\r\n }\r\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\r\n}\r\n\r\nfunction wrapper (methodName, method) {\r\n if (hasOwn(protocols, methodName)) {\r\n const protocol = protocols[methodName];\r\n if (!protocol) { // 暂不支持的 api\r\n return function () {\r\n console.error(`Platform '微信小程序' does not support '${methodName}'.`);\r\n }\r\n }\r\n return function (arg1, arg2) { // 目前 api 最多两个参数\r\n let options = protocol;\r\n if (isFn(protocol)) {\r\n options = protocol(arg1);\r\n }\r\n\r\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\r\n\r\n const args = [arg1];\r\n if (typeof arg2 !== 'undefined') {\r\n args.push(arg2);\r\n }\r\n if (isFn(options.name)) {\r\n methodName = options.name(arg1);\r\n } else if (isStr(options.name)) {\r\n methodName = options.name;\r\n }\r\n const returnValue = wx[methodName].apply(wx, args);\r\n if (isSyncApi(methodName)) { // 同步 api\r\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\r\n }\r\n return returnValue\r\n }\r\n }\r\n return method\r\n}\r\n\r\nconst todoApis = Object.create(null);\r\n\r\nconst TODOS = [\r\n 'onTabBarMidButtonTap',\r\n 'subscribePush',\r\n 'unsubscribePush',\r\n 'onPush',\r\n 'offPush',\r\n 'share'\r\n];\r\n\r\nfunction createTodoApi (name) {\r\n return function todoApi ({\r\n fail,\r\n complete\r\n }) {\r\n const res = {\r\n errMsg: `${name}:fail method '${name}' not supported`\r\n };\r\n isFn(fail) && fail(res);\r\n isFn(complete) && complete(res);\r\n }\r\n}\r\n\r\nTODOS.forEach(function (name) {\r\n todoApis[name] = createTodoApi(name);\r\n});\r\n\r\nvar providers = {\r\n oauth: ['weixin'],\r\n share: ['weixin'],\r\n payment: ['wxpay'],\r\n push: ['weixin']\r\n};\r\n\r\nfunction getProvider ({\r\n service,\r\n success,\r\n fail,\r\n complete\r\n}) {\r\n let res = false;\r\n if (providers[service]) {\r\n res = {\r\n errMsg: 'getProvider:ok',\r\n service,\r\n provider: providers[service]\r\n };\r\n isFn(success) && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getProvider:fail service not found'\r\n };\r\n isFn(fail) && fail(res);\r\n }\r\n isFn(complete) && complete(res);\r\n}\r\n\r\nvar extraApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n getProvider: getProvider\r\n});\r\n\r\nconst getEmitter = (function () {\r\n let Emitter;\r\n return function getUniEmitter () {\r\n if (!Emitter) {\r\n Emitter = new Vue();\r\n }\r\n return Emitter\r\n }\r\n})();\r\n\r\nfunction apply (ctx, method, args) {\r\n return ctx[method].apply(ctx, args)\r\n}\r\n\r\nfunction $on () {\r\n return apply(getEmitter(), '$on', [...arguments])\r\n}\r\nfunction $off () {\r\n return apply(getEmitter(), '$off', [...arguments])\r\n}\r\nfunction $once () {\r\n return apply(getEmitter(), '$once', [...arguments])\r\n}\r\nfunction $emit () {\r\n return apply(getEmitter(), '$emit', [...arguments])\r\n}\r\n\r\nvar eventApi = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n $on: $on,\r\n $off: $off,\r\n $once: $once,\r\n $emit: $emit\r\n});\r\n\r\n/**\r\n * 框架内 try-catch\r\n */\r\n/**\r\n * 开发者 try-catch\r\n */\r\nfunction tryCatch (fn) {\r\n return function () {\r\n try {\r\n return fn.apply(fn, arguments)\r\n } catch (e) {\r\n // TODO\r\n console.error(e);\r\n }\r\n }\r\n}\r\n\r\nfunction getApiCallbacks (params) {\r\n const apiCallbacks = {};\r\n for (const name in params) {\r\n const param = params[name];\r\n if (isFn(param)) {\r\n apiCallbacks[name] = tryCatch(param);\r\n delete params[name];\r\n }\r\n }\r\n return apiCallbacks\r\n}\r\n\r\nlet cid;\r\nlet cidErrMsg;\r\nlet enabled;\r\n\r\nfunction normalizePushMessage (message) {\r\n try {\r\n return JSON.parse(message)\r\n } catch (e) {}\r\n return message\r\n}\r\n\r\nfunction invokePushCallback (\r\n args\r\n) {\r\n if (args.type === 'enabled') {\r\n enabled = true;\r\n } else if (args.type === 'clientId') {\r\n cid = args.cid;\r\n cidErrMsg = args.errMsg;\r\n invokeGetPushCidCallbacks(cid, args.errMsg);\r\n } else if (args.type === 'pushMsg') {\r\n const message = {\r\n type: 'receive',\r\n data: normalizePushMessage(args.message)\r\n };\r\n for (let i = 0; i < onPushMessageCallbacks.length; i++) {\r\n const callback = onPushMessageCallbacks[i];\r\n callback(message);\r\n // 该消息已被阻止\r\n if (message.stopped) {\r\n break\r\n }\r\n }\r\n } else if (args.type === 'click') {\r\n onPushMessageCallbacks.forEach((callback) => {\r\n callback({\r\n type: 'click',\r\n data: normalizePushMessage(args.message)\r\n });\r\n });\r\n }\r\n}\r\n\r\nconst getPushCidCallbacks = [];\r\n\r\nfunction invokeGetPushCidCallbacks (cid, errMsg) {\r\n getPushCidCallbacks.forEach((callback) => {\r\n callback(cid, errMsg);\r\n });\r\n getPushCidCallbacks.length = 0;\r\n}\r\n\r\nfunction getPushClientId (args) {\r\n if (!isPlainObject(args)) {\r\n args = {};\r\n }\r\n const {\r\n success,\r\n fail,\r\n complete\r\n } = getApiCallbacks(args);\r\n const hasSuccess = isFn(success);\r\n const hasFail = isFn(fail);\r\n const hasComplete = isFn(complete);\r\n\r\n Promise.resolve().then(() => {\r\n if (typeof enabled === 'undefined') {\r\n enabled = false;\r\n cid = '';\r\n cidErrMsg = 'uniPush is not enabled';\r\n }\r\n getPushCidCallbacks.push((cid, errMsg) => {\r\n let res;\r\n if (cid) {\r\n res = {\r\n errMsg: 'getPushClientId:ok',\r\n cid\r\n };\r\n hasSuccess && success(res);\r\n } else {\r\n res = {\r\n errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '')\r\n };\r\n hasFail && fail(res);\r\n }\r\n hasComplete && complete(res);\r\n });\r\n if (typeof cid !== 'undefined') {\r\n invokeGetPushCidCallbacks(cid, cidErrMsg);\r\n }\r\n });\r\n}\r\n\r\nconst onPushMessageCallbacks = [];\r\n// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现\r\nconst onPushMessage = (fn) => {\r\n if (onPushMessageCallbacks.indexOf(fn) === -1) {\r\n onPushMessageCallbacks.push(fn);\r\n }\r\n};\r\n\r\nconst offPushMessage = (fn) => {\r\n if (!fn) {\r\n onPushMessageCallbacks.length = 0;\r\n } else {\r\n const index = onPushMessageCallbacks.indexOf(fn);\r\n if (index > -1) {\r\n onPushMessageCallbacks.splice(index, 1);\r\n }\r\n }\r\n};\r\n\r\nlet baseInfo = wx.getAppBaseInfo && wx.getAppBaseInfo();\r\nif (!baseInfo) {\r\n baseInfo = wx.getSystemInfoSync();\r\n}\r\nconst host = baseInfo ? baseInfo.host : null;\r\nconst shareVideoMessage =\r\n host && host.env === 'SAAASDK' ? wx.miniapp.shareVideoMessage : wx.shareVideoMessage;\r\n\r\nvar api = /*#__PURE__*/Object.freeze({\r\n __proto__: null,\r\n shareVideoMessage: shareVideoMessage,\r\n getPushClientId: getPushClientId,\r\n onPushMessage: onPushMessage,\r\n offPushMessage: offPushMessage,\r\n invokePushCallback: invokePushCallback\r\n});\r\n\r\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\r\n\r\nfunction findVmByVueId (vm, vuePid) {\r\n const $children = vm.$children;\r\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n const childVm = $children[i];\r\n if (childVm.$scope._$vueId === vuePid) {\r\n return childVm\r\n }\r\n }\r\n // 反向递归查找\r\n let parentVm;\r\n for (let i = $children.length - 1; i >= 0; i--) {\r\n parentVm = findVmByVueId($children[i], vuePid);\r\n if (parentVm) {\r\n return parentVm\r\n }\r\n }\r\n}\r\n\r\nfunction initBehavior (options) {\r\n return Behavior(options)\r\n}\r\n\r\nfunction isPage () {\r\n return !!this.route\r\n}\r\n\r\nfunction initRelation (detail) {\r\n this.triggerEvent('__l', detail);\r\n}\r\n\r\nfunction selectAllComponents (mpInstance, selector, $refs) {\r\n const components = mpInstance.selectAllComponents(selector) || [];\r\n components.forEach(component => {\r\n const ref = component.dataset.ref;\r\n $refs[ref] = component.$vm || toSkip(component);\r\n {\r\n if (component.dataset.vueGeneric === 'scoped') {\r\n component.selectAllComponents('.scoped-ref').forEach(scopedComponent => {\r\n selectAllComponents(scopedComponent, selector, $refs);\r\n });\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction syncRefs (refs, newRefs) {\r\n const oldKeys = new Set(...Object.keys(refs));\r\n const newKeys = Object.keys(newRefs);\r\n newKeys.forEach(key => {\r\n const oldValue = refs[key];\r\n const newValue = newRefs[key];\r\n if (Array.isArray(oldValue) && Array.isArray(newValue) && oldValue.length === newValue.length && newValue.every(value => oldValue.includes(value))) {\r\n return\r\n }\r\n refs[key] = newValue;\r\n oldKeys.delete(key);\r\n });\r\n oldKeys.forEach(key => {\r\n delete refs[key];\r\n });\r\n return refs\r\n}\r\n\r\nfunction initRefs (vm) {\r\n const mpInstance = vm.$scope;\r\n const refs = {};\r\n Object.defineProperty(vm, '$refs', {\r\n get () {\r\n const $refs = {};\r\n selectAllComponents(mpInstance, '.vue-ref', $refs);\r\n // TODO 暂不考虑 for 中的 scoped\r\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') || [];\r\n forComponents.forEach(component => {\r\n const ref = component.dataset.ref;\r\n if (!$refs[ref]) {\r\n $refs[ref] = [];\r\n }\r\n $refs[ref].push(component.$vm || toSkip(component));\r\n });\r\n return syncRefs(refs, $refs)\r\n }\r\n });\r\n}\r\n\r\nfunction handleLink (event) {\r\n const {\r\n vuePid,\r\n vueOptions\r\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\r\n\r\n let parentVm;\r\n\r\n if (vuePid) {\r\n parentVm = findVmByVueId(this.$vm, vuePid);\r\n }\r\n\r\n if (!parentVm) {\r\n parentVm = this.$vm;\r\n }\r\n\r\n vueOptions.parent = parentVm;\r\n}\r\n\r\nfunction markMPComponent (component) {\r\n // 在 Vue 中标记为小程序组件\r\n const IS_MP = '__v_isMPComponent';\r\n Object.defineProperty(component, IS_MP, {\r\n configurable: true,\r\n enumerable: false,\r\n value: true\r\n });\r\n return component\r\n}\r\n\r\nfunction toSkip (obj) {\r\n const OB = '__ob__';\r\n const SKIP = '__v_skip';\r\n if (isObject(obj) && Object.isExtensible(obj)) {\r\n // 避免被 @vue/composition-api 观测\r\n Object.defineProperty(obj, OB, {\r\n configurable: true,\r\n enumerable: false,\r\n value: {\r\n [SKIP]: true\r\n }\r\n });\r\n }\r\n return obj\r\n}\r\n\r\nconst WORKLET_RE = /_(.*)_worklet_factory_/;\r\nfunction initWorkletMethods (mpMethods, vueMethods) {\r\n if (vueMethods) {\r\n Object.keys(vueMethods).forEach((name) => {\r\n const matches = name.match(WORKLET_RE);\r\n if (matches) {\r\n const workletName = matches[1];\r\n mpMethods[name] = vueMethods[name];\r\n mpMethods[workletName] = vueMethods[workletName];\r\n }\r\n });\r\n }\r\n}\r\n\r\nconst MPPage = Page;\r\nconst MPComponent = Component;\r\n\r\nconst customizeRE = /:/g;\r\n\r\nconst customize = cached((str) => {\r\n return camelize(str.replace(customizeRE, '-'))\r\n});\r\n\r\nfunction initTriggerEvent (mpInstance) {\r\n const oldTriggerEvent = mpInstance.triggerEvent;\r\n const newTriggerEvent = function (event, ...args) {\r\n // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件\r\n if (this.$vm || (this.dataset && this.dataset.comType)) {\r\n event = customize(event);\r\n } else {\r\n // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目\r\n const newEvent = customize(event);\r\n if (newEvent !== event) {\r\n oldTriggerEvent.apply(this, [newEvent, ...args]);\r\n }\r\n }\r\n return oldTriggerEvent.apply(this, [event, ...args])\r\n };\r\n try {\r\n // 京东小程序 triggerEvent 为只读\r\n mpInstance.triggerEvent = newTriggerEvent;\r\n } catch (error) {\r\n mpInstance._triggerEvent = newTriggerEvent;\r\n }\r\n}\r\n\r\nfunction initHook (name, options, isComponent) {\r\n const oldHook = options[name];\r\n options[name] = function (...args) {\r\n markMPComponent(this);\r\n initTriggerEvent(this);\r\n if (oldHook) {\r\n return oldHook.apply(this, args)\r\n }\r\n };\r\n}\r\nif (!MPPage.__$wrappered) {\r\n MPPage.__$wrappered = true;\r\n Page = function (options = {}) {\r\n initHook('onLoad', options);\r\n return MPPage(options)\r\n };\r\n Page.after = MPPage.after;\r\n\r\n Component = function (options = {}) {\r\n initHook('created', options);\r\n return MPComponent(options)\r\n };\r\n}\r\n\r\nconst PAGE_EVENT_HOOKS = [\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onPageScroll',\r\n 'onResize',\r\n 'onTabItemTap'\r\n];\r\n\r\nfunction initMocks (vm, mocks) {\r\n const mpInstance = vm.$mp[vm.mpType];\r\n mocks.forEach(mock => {\r\n if (hasOwn(mpInstance, mock)) {\r\n vm[mock] = mpInstance[mock];\r\n }\r\n });\r\n}\r\n\r\nfunction hasHook (hook, vueOptions) {\r\n if (!vueOptions) {\r\n return true\r\n }\r\n\r\n if (Vue.options && Array.isArray(Vue.options[hook])) {\r\n return true\r\n }\r\n\r\n vueOptions = vueOptions.default || vueOptions;\r\n\r\n if (isFn(vueOptions)) {\r\n if (isFn(vueOptions.extendOptions[hook])) {\r\n return true\r\n }\r\n if (vueOptions.super &&\r\n vueOptions.super.options &&\r\n Array.isArray(vueOptions.super.options[hook])) {\r\n return true\r\n }\r\n return false\r\n }\r\n\r\n if (isFn(vueOptions[hook]) || Array.isArray(vueOptions[hook])) {\r\n return true\r\n }\r\n const mixins = vueOptions.mixins;\r\n if (Array.isArray(mixins)) {\r\n return !!mixins.find(mixin => hasHook(hook, mixin))\r\n }\r\n}\r\n\r\nfunction initHooks (mpOptions, hooks, vueOptions) {\r\n hooks.forEach(hook => {\r\n if (hasHook(hook, vueOptions)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n });\r\n}\r\n\r\nfunction initUnknownHooks (mpOptions, vueOptions, excludes = []) {\r\n findHooks(vueOptions).forEach((hook) => initHook$1(mpOptions, hook, excludes));\r\n}\r\n\r\nfunction findHooks (vueOptions, hooks = []) {\r\n if (vueOptions) {\r\n Object.keys(vueOptions).forEach((name) => {\r\n if (name.indexOf('on') === 0 && isFn(vueOptions[name])) {\r\n hooks.push(name);\r\n }\r\n });\r\n }\r\n return hooks\r\n}\r\n\r\nfunction initHook$1 (mpOptions, hook, excludes) {\r\n if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {\r\n mpOptions[hook] = function (args) {\r\n return this.$vm && this.$vm.__call_hook(hook, args)\r\n };\r\n }\r\n}\r\n\r\nfunction initVueComponent (Vue, vueOptions) {\r\n vueOptions = vueOptions.default || vueOptions;\r\n let VueComponent;\r\n if (isFn(vueOptions)) {\r\n VueComponent = vueOptions;\r\n } else {\r\n VueComponent = Vue.extend(vueOptions);\r\n }\r\n vueOptions = VueComponent.options;\r\n return [VueComponent, vueOptions]\r\n}\r\n\r\nfunction initSlots (vm, vueSlots) {\r\n if (Array.isArray(vueSlots) && vueSlots.length) {\r\n const $slots = Object.create(null);\r\n vueSlots.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n vm.$scopedSlots = vm.$slots = $slots;\r\n }\r\n}\r\n\r\nfunction initVueIds (vueIds, mpInstance) {\r\n vueIds = (vueIds || '').split(',');\r\n const len = vueIds.length;\r\n\r\n if (len === 1) {\r\n mpInstance._$vueId = vueIds[0];\r\n } else if (len === 2) {\r\n mpInstance._$vueId = vueIds[0];\r\n mpInstance._$vuePid = vueIds[1];\r\n }\r\n}\r\n\r\nfunction initData (vueOptions, context) {\r\n let data = vueOptions.data || {};\r\n const methods = vueOptions.methods || {};\r\n\r\n if (typeof data === 'function') {\r\n try {\r\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\r\n } catch (e) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\r\n }\r\n }\r\n } else {\r\n try {\r\n // 对 data 格式化\r\n data = JSON.parse(JSON.stringify(data));\r\n } catch (e) { }\r\n }\r\n\r\n if (!isPlainObject(data)) {\r\n data = {};\r\n }\r\n\r\n Object.keys(methods).forEach(methodName => {\r\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\r\n data[methodName] = methods[methodName];\r\n }\r\n });\r\n\r\n return data\r\n}\r\n\r\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\r\n\r\nfunction createObserver (name) {\r\n return function observer (newVal, oldVal) {\r\n if (this.$vm) {\r\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\r\n }\r\n }\r\n}\r\n\r\nfunction initBehaviors (vueOptions, initBehavior) {\r\n const vueBehaviors = vueOptions.behaviors;\r\n const vueExtends = vueOptions.extends;\r\n const vueMixins = vueOptions.mixins;\r\n\r\n let vueProps = vueOptions.props;\r\n\r\n if (!vueProps) {\r\n vueOptions.props = vueProps = [];\r\n }\r\n\r\n const behaviors = [];\r\n if (Array.isArray(vueBehaviors)) {\r\n vueBehaviors.forEach(behavior => {\r\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\r\n if (behavior === 'uni://form-field') {\r\n if (Array.isArray(vueProps)) {\r\n vueProps.push('name');\r\n vueProps.push('value');\r\n } else {\r\n vueProps.name = {\r\n type: String,\r\n default: ''\r\n };\r\n vueProps.value = {\r\n type: [String, Number, Boolean, Array, Object, Date],\r\n default: ''\r\n };\r\n }\r\n }\r\n });\r\n }\r\n if (isPlainObject(vueExtends) && vueExtends.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueExtends.props, true)\r\n })\r\n );\r\n }\r\n if (Array.isArray(vueMixins)) {\r\n vueMixins.forEach(vueMixin => {\r\n if (isPlainObject(vueMixin) && vueMixin.props) {\r\n behaviors.push(\r\n initBehavior({\r\n properties: initProperties(vueMixin.props, true)\r\n })\r\n );\r\n }\r\n });\r\n }\r\n return behaviors\r\n}\r\n\r\nfunction parsePropType (key, type, defaultValue, file) {\r\n // [String]=>String\r\n if (Array.isArray(type) && type.length === 1) {\r\n return type[0]\r\n }\r\n return type\r\n}\r\n\r\nfunction initProperties (props, isBehavior = false, file = '', options) {\r\n const properties = {};\r\n if (!isBehavior) {\r\n properties.vueId = {\r\n type: String,\r\n value: ''\r\n };\r\n {\r\n if ( options.virtualHost) {\r\n properties.virtualHostStyle = {\r\n type: null,\r\n value: ''\r\n };\r\n properties.virtualHostClass = {\r\n type: null,\r\n value: ''\r\n };\r\n }\r\n }\r\n // scopedSlotsCompiler auto\r\n properties.scopedSlotsCompiler = {\r\n type: String,\r\n value: ''\r\n };\r\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\r\n type: null,\r\n value: [],\r\n observer: function (newVal, oldVal) {\r\n const $slots = Object.create(null);\r\n newVal.forEach(slotName => {\r\n $slots[slotName] = true;\r\n });\r\n this.setData({\r\n $slots\r\n });\r\n }\r\n };\r\n }\r\n if (Array.isArray(props)) { // ['title']\r\n props.forEach(key => {\r\n properties[key] = {\r\n type: null,\r\n observer: createObserver(key)\r\n };\r\n });\r\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\r\n Object.keys(props).forEach(key => {\r\n const opts = props[key];\r\n if (isPlainObject(opts)) { // title:{type:String,default:''}\r\n let value = opts.default;\r\n if (isFn(value)) {\r\n value = value();\r\n }\r\n\r\n opts.type = parsePropType(key, opts.type);\r\n\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\r\n value,\r\n observer: createObserver(key)\r\n };\r\n } else { // content:String\r\n const type = parsePropType(key, opts);\r\n properties[key] = {\r\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\r\n observer: createObserver(key)\r\n };\r\n }\r\n });\r\n }\r\n return properties\r\n}\r\n\r\nfunction wrapper$1 (event) {\r\n // TODO 又得兼容 mpvue 的 mp 对象\r\n try {\r\n event.mp = JSON.parse(JSON.stringify(event));\r\n } catch (e) { }\r\n\r\n event.stopPropagation = noop;\r\n event.preventDefault = noop;\r\n\r\n event.target = event.target || {};\r\n\r\n if (!hasOwn(event, 'detail')) {\r\n event.detail = {};\r\n }\r\n\r\n if (hasOwn(event, 'markerId')) {\r\n event.detail = typeof event.detail === 'object' ? event.detail : {};\r\n event.detail.markerId = event.markerId;\r\n }\r\n\r\n if (isPlainObject(event.detail)) {\r\n event.target = Object.assign({}, event.target, event.detail);\r\n }\r\n\r\n return event\r\n}\r\n\r\nfunction getExtraValue (vm, dataPathsArray) {\r\n let context = vm;\r\n dataPathsArray.forEach(dataPathArray => {\r\n const dataPath = dataPathArray[0];\r\n const value = dataPathArray[2];\r\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\r\n const propPath = dataPathArray[1];\r\n const valuePath = dataPathArray[3];\r\n\r\n let vFor;\r\n if (Number.isInteger(dataPath)) {\r\n vFor = dataPath;\r\n } else if (!dataPath) {\r\n vFor = context;\r\n } else if (typeof dataPath === 'string' && dataPath) {\r\n if (dataPath.indexOf('#s#') === 0) {\r\n vFor = dataPath.substr(3);\r\n } else {\r\n vFor = vm.__get_value(dataPath, context);\r\n }\r\n }\r\n\r\n if (Number.isInteger(vFor)) {\r\n context = value;\r\n } else if (!propPath) {\r\n context = vFor[value];\r\n } else {\r\n if (Array.isArray(vFor)) {\r\n context = vFor.find(vForItem => {\r\n return vm.__get_value(propPath, vForItem) === value\r\n });\r\n } else if (isPlainObject(vFor)) {\r\n context = Object.keys(vFor).find(vForKey => {\r\n return vm.__get_value(propPath, vFor[vForKey]) === value\r\n });\r\n } else {\r\n console.error('v-for 暂不支持循环数据:', vFor);\r\n }\r\n }\r\n\r\n if (valuePath) {\r\n context = vm.__get_value(valuePath, context);\r\n }\r\n }\r\n });\r\n return context\r\n}\r\n\r\nfunction processEventExtra (vm, extra, event, __args__) {\r\n const extraObj = {};\r\n\r\n if (Array.isArray(extra) && extra.length) {\r\n /**\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *[\r\n * ['data.items', 'data.id', item.data.id],\r\n * ['metas', 'id', meta.id]\r\n *],\r\n *'test'\r\n */\r\n extra.forEach((dataPath, index) => {\r\n if (typeof dataPath === 'string') {\r\n if (!dataPath) { // model,prop.sync\r\n extraObj['$' + index] = vm;\r\n } else {\r\n if (dataPath === '$event') { // $event\r\n extraObj['$' + index] = event;\r\n } else if (dataPath === 'arguments') {\r\n extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__;\r\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\r\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\r\n } else {\r\n extraObj['$' + index] = vm.__get_value(dataPath);\r\n }\r\n }\r\n } else {\r\n extraObj['$' + index] = getExtraValue(vm, dataPath);\r\n }\r\n });\r\n }\r\n\r\n return extraObj\r\n}\r\n\r\nfunction getObjByArray (arr) {\r\n const obj = {};\r\n for (let i = 1; i < arr.length; i++) {\r\n const element = arr[i];\r\n obj[element[0]] = element[1];\r\n }\r\n return obj\r\n}\r\n\r\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\r\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\r\n\r\n // fixed 用户直接触发 mpInstance.triggerEvent\r\n const __args__ = isPlainObject(event.detail)\r\n ? event.detail.__args__ || [event.detail]\r\n : [event.detail];\r\n\r\n if (isCustom) { // 自定义事件\r\n isCustomMPEvent = event.currentTarget &&\r\n event.currentTarget.dataset &&\r\n event.currentTarget.dataset.comType === 'wx';\r\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\r\n if (isCustomMPEvent) {\r\n return [event]\r\n }\r\n return __args__\r\n }\r\n }\r\n\r\n const extraObj = processEventExtra(vm, extra, event, __args__);\r\n\r\n const ret = [];\r\n args.forEach(arg => {\r\n if (arg === '$event') {\r\n if (methodName === '__set_model' && !isCustom) { // input v-model value\r\n ret.push(event.target.value);\r\n } else {\r\n if (isCustom && !isCustomMPEvent) {\r\n ret.push(__args__[0]);\r\n } else { // wxcomponent 组件或内置组件\r\n ret.push(event);\r\n }\r\n }\r\n } else {\r\n if (Array.isArray(arg) && arg[0] === 'o') {\r\n ret.push(getObjByArray(arg));\r\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\r\n ret.push(extraObj[arg]);\r\n } else {\r\n ret.push(arg);\r\n }\r\n }\r\n });\r\n\r\n return ret\r\n}\r\n\r\nconst ONCE = '~';\r\nconst CUSTOM = '^';\r\n\r\nfunction isMatchEventType (eventType, optType) {\r\n return (eventType === optType) ||\r\n (\r\n optType === 'regionchange' &&\r\n (\r\n eventType === 'begin' ||\r\n eventType === 'end'\r\n )\r\n )\r\n}\r\n\r\nfunction getContextVm (vm) {\r\n let $parent = vm.$parent;\r\n // 父组件是 scoped slots 或者其他自定义组件时继续查找\r\n while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {\r\n $parent = $parent.$parent;\r\n }\r\n return $parent && $parent.$parent\r\n}\r\n\r\nfunction handleEvent (event) {\r\n event = wrapper$1(event);\r\n\r\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\r\n const dataset = (event.currentTarget || event.target).dataset;\r\n if (!dataset) {\r\n return console.warn('事件信息不存在')\r\n }\r\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\r\n if (!eventOpts) {\r\n return console.warn('事件信息不存在')\r\n }\r\n\r\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\r\n const eventType = event.type;\r\n\r\n const ret = [];\r\n\r\n eventOpts.forEach(eventOpt => {\r\n let type = eventOpt[0];\r\n const eventsArray = eventOpt[1];\r\n\r\n const isCustom = type.charAt(0) === CUSTOM;\r\n type = isCustom ? type.slice(1) : type;\r\n const isOnce = type.charAt(0) === ONCE;\r\n type = isOnce ? type.slice(1) : type;\r\n\r\n if (eventsArray && isMatchEventType(eventType, type)) {\r\n eventsArray.forEach(eventArray => {\r\n const methodName = eventArray[0];\r\n if (methodName) {\r\n let handlerCtx = this.$vm;\r\n if (handlerCtx.$options.generic) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\r\n handlerCtx = getContextVm(handlerCtx) || handlerCtx;\r\n }\r\n if (methodName === '$emit') {\r\n handlerCtx.$emit.apply(handlerCtx,\r\n processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n ));\r\n return\r\n }\r\n const handler = handlerCtx[methodName];\r\n if (!isFn(handler)) {\r\n const type = this.$vm.mpType === 'page' ? 'Page' : 'Component';\r\n const path = this.route || this.is;\r\n throw new Error(`${type} \"${path}\" does not have a method \"${methodName}\"`)\r\n }\r\n if (isOnce) {\r\n if (handler.once) {\r\n return\r\n }\r\n handler.once = true;\r\n }\r\n let params = processEventArgs(\r\n this.$vm,\r\n event,\r\n eventArray[1],\r\n eventArray[2],\r\n isCustom,\r\n methodName\r\n );\r\n params = Array.isArray(params) ? params : [];\r\n // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据\r\n if (/=\\s*\\S+\\.eventParams\\s*\\|\\|\\s*\\S+\\[['\"]event-params['\"]\\]/.test(handler.toString())) {\r\n // eslint-disable-next-line no-sparse-arrays\r\n params = params.concat([, , , , , , , , , , event]);\r\n }\r\n ret.push(handler.apply(handlerCtx, params));\r\n }\r\n });\r\n }\r\n });\r\n\r\n if (\r\n eventType === 'input' &&\r\n ret.length === 1 &&\r\n typeof ret[0] !== 'undefined'\r\n ) {\r\n return ret[0]\r\n }\r\n}\r\n\r\nconst eventChannels = {};\r\n\r\nfunction getEventChannel (id) {\r\n const eventChannel = eventChannels[id];\r\n delete eventChannels[id];\r\n return eventChannel\r\n}\r\n\r\nconst hooks = [\r\n 'onShow',\r\n 'onHide',\r\n 'onError',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onUnhandledRejection'\r\n];\r\n\r\nfunction initEventChannel () {\r\n Vue.prototype.getOpenerEventChannel = function () {\r\n // 微信小程序使用自身getOpenerEventChannel\r\n {\r\n return this.$scope.getOpenerEventChannel()\r\n }\r\n };\r\n const callHook = Vue.prototype.__call_hook;\r\n Vue.prototype.__call_hook = function (hook, args) {\r\n if (hook === 'onLoad' && args && args.__id__) {\r\n this.__eventChannel__ = getEventChannel(args.__id__);\r\n delete args.__id__;\r\n }\r\n return callHook.call(this, hook, args)\r\n };\r\n}\r\n\r\nfunction initScopedSlotsParams () {\r\n const center = {};\r\n const parents = {};\r\n\r\n function currentId (fn) {\r\n const vueIds = this.$options.propsData.vueId;\r\n if (vueIds) {\r\n const vueId = vueIds.split(',')[0];\r\n fn(vueId);\r\n }\r\n }\r\n\r\n Vue.prototype.$hasSSP = function (vueId) {\r\n const slot = center[vueId];\r\n if (!slot) {\r\n parents[vueId] = this;\r\n this.$on('hook:destroyed', () => {\r\n delete parents[vueId];\r\n });\r\n }\r\n return slot\r\n };\r\n\r\n Vue.prototype.$getSSP = function (vueId, name, needAll) {\r\n const slot = center[vueId];\r\n if (slot) {\r\n const params = slot[name] || [];\r\n if (needAll) {\r\n return params\r\n }\r\n return params[0]\r\n }\r\n };\r\n\r\n Vue.prototype.$setSSP = function (name, value) {\r\n let index = 0;\r\n currentId.call(this, vueId => {\r\n const slot = center[vueId];\r\n const params = slot[name] = slot[name] || [];\r\n params.push(value);\r\n index = params.length - 1;\r\n });\r\n return index\r\n };\r\n\r\n Vue.prototype.$initSSP = function () {\r\n currentId.call(this, vueId => {\r\n center[vueId] = {};\r\n });\r\n };\r\n\r\n Vue.prototype.$callSSP = function () {\r\n currentId.call(this, vueId => {\r\n if (parents[vueId]) {\r\n parents[vueId].$forceUpdate();\r\n }\r\n });\r\n };\r\n\r\n Vue.mixin({\r\n destroyed () {\r\n const propsData = this.$options.propsData;\r\n const vueId = propsData && propsData.vueId;\r\n if (vueId) {\r\n delete center[vueId];\r\n delete parents[vueId];\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction parseBaseApp (vm, {\r\n mocks,\r\n initRefs\r\n}) {\r\n initEventChannel();\r\n {\r\n initScopedSlotsParams();\r\n }\r\n if (vm.$options.store) {\r\n Vue.prototype.$store = vm.$options.store;\r\n }\r\n uniIdMixin(Vue);\r\n\r\n Vue.prototype.mpHost = \"mp-weixin\";\r\n\r\n Vue.mixin({\r\n beforeCreate () {\r\n if (!this.$options.mpType) {\r\n return\r\n }\r\n\r\n this.mpType = this.$options.mpType;\r\n\r\n this.$mp = {\r\n data: {},\r\n [this.mpType]: this.$options.mpInstance\r\n };\r\n\r\n this.$scope = this.$options.mpInstance;\r\n\r\n delete this.$options.mpType;\r\n delete this.$options.mpInstance;\r\n if (this.mpType === 'page' && typeof getApp === 'function') { // hack vue-i18n\r\n const app = getApp();\r\n if (app.$vm && app.$vm.$i18n) {\r\n this._i18n = app.$vm.$i18n;\r\n }\r\n }\r\n if (this.mpType !== 'app') {\r\n initRefs(this);\r\n initMocks(this, mocks);\r\n }\r\n }\r\n });\r\n\r\n const appOptions = {\r\n onLaunch (args) {\r\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\r\n return\r\n }\r\n {\r\n if (wx.canIUse && !wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\r\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\r\n }\r\n }\r\n\r\n this.$vm = vm;\r\n\r\n this.$vm.$mp = {\r\n app: this\r\n };\r\n\r\n this.$vm.$scope = this;\r\n // vm 上也挂载 globalData\r\n this.$vm.globalData = this.globalData;\r\n\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted', args);\r\n\r\n this.$vm.__call_hook('onLaunch', args);\r\n }\r\n };\r\n\r\n // 兼容旧版本 globalData\r\n appOptions.globalData = vm.$options.globalData || {};\r\n // 将 methods 中的方法挂在 getApp() 中\r\n const methods = vm.$options.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(name => {\r\n appOptions[name] = methods[name];\r\n });\r\n }\r\n\r\n initAppLocale(Vue, vm, normalizeLocale(wx.getSystemInfoSync().language) || LOCALE_EN);\r\n\r\n initHooks(appOptions, hooks);\r\n initUnknownHooks(appOptions, vm.$options);\r\n\r\n return appOptions\r\n}\r\n\r\nfunction parseApp (vm) {\r\n return parseBaseApp(vm, {\r\n mocks,\r\n initRefs\r\n })\r\n}\r\n\r\nfunction createApp (vm) {\r\n App(parseApp(vm));\r\n return vm\r\n}\r\n\r\nconst encodeReserveRE = /[!'()*]/g;\r\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16);\r\nconst commaRE = /%2C/g;\r\n\r\n// fixed encodeURIComponent which is more conformant to RFC3986:\r\n// - escapes [!'()*]\r\n// - preserve commas\r\nconst encode = str => encodeURIComponent(str)\r\n .replace(encodeReserveRE, encodeReserveReplacer)\r\n .replace(commaRE, ',');\r\n\r\nfunction stringifyQuery (obj, encodeStr = encode) {\r\n const res = obj ? Object.keys(obj).map(key => {\r\n const val = obj[key];\r\n\r\n if (val === undefined) {\r\n return ''\r\n }\r\n\r\n if (val === null) {\r\n return encodeStr(key)\r\n }\r\n\r\n if (Array.isArray(val)) {\r\n const result = [];\r\n val.forEach(val2 => {\r\n if (val2 === undefined) {\r\n return\r\n }\r\n if (val2 === null) {\r\n result.push(encodeStr(key));\r\n } else {\r\n result.push(encodeStr(key) + '=' + encodeStr(val2));\r\n }\r\n });\r\n return result.join('&')\r\n }\r\n\r\n return encodeStr(key) + '=' + encodeStr(val)\r\n }).filter(x => x.length > 0).join('&') : null;\r\n return res ? `?${res}` : ''\r\n}\r\n\r\nfunction parseBaseComponent (vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n} = {}, needVueOptions) {\r\n const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\r\n\r\n const options = {\r\n multipleSlots: true,\r\n // styleIsolation: 'apply-shared',\r\n addGlobalClass: true,\r\n ...(vueOptions.options || {})\r\n };\r\n\r\n {\r\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\r\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {\r\n Object.assign(options, vueOptions['mp-weixin'].options);\r\n }\r\n }\r\n\r\n const componentOptions = {\r\n options,\r\n data: initData(vueOptions, Vue.prototype),\r\n behaviors: initBehaviors(vueOptions, initBehavior),\r\n properties: initProperties(vueOptions.props, false, vueOptions.__file, options),\r\n lifetimes: {\r\n attached () {\r\n const properties = this.properties;\r\n\r\n const options = {\r\n mpType: isPage.call(this) ? 'page' : 'component',\r\n mpInstance: this,\r\n propsData: properties\r\n };\r\n\r\n initVueIds(properties.vueId, this);\r\n\r\n // 处理父子关系\r\n initRelation.call(this, {\r\n vuePid: this._$vuePid,\r\n vueOptions: options\r\n });\r\n\r\n // 初始化 vue 实例\r\n this.$vm = new VueComponent(options);\r\n\r\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\r\n initSlots(this.$vm, properties.vueSlots);\r\n\r\n // 触发首次 setData\r\n this.$vm.$mount();\r\n },\r\n ready () {\r\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\r\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\r\n if (this.$vm) {\r\n this.$vm._isMounted = true;\r\n this.$vm.__call_hook('mounted');\r\n this.$vm.__call_hook('onReady');\r\n }\r\n },\r\n detached () {\r\n this.$vm && this.$vm.$destroy();\r\n }\r\n },\r\n pageLifetimes: {\r\n show (args) {\r\n this.$vm && this.$vm.__call_hook('onPageShow', args);\r\n },\r\n hide () {\r\n this.$vm && this.$vm.__call_hook('onPageHide');\r\n },\r\n resize (size) {\r\n this.$vm && this.$vm.__call_hook('onPageResize', size);\r\n }\r\n },\r\n methods: {\r\n __l: handleLink,\r\n __e: handleEvent\r\n }\r\n };\r\n // externalClasses\r\n if (vueOptions.externalClasses) {\r\n componentOptions.externalClasses = vueOptions.externalClasses;\r\n }\r\n\r\n if (Array.isArray(vueOptions.wxsCallMethods)) {\r\n vueOptions.wxsCallMethods.forEach(callMethod => {\r\n componentOptions.methods[callMethod] = function (args) {\r\n return this.$vm[callMethod](args)\r\n };\r\n });\r\n }\r\n\r\n if (needVueOptions) {\r\n return [componentOptions, vueOptions, VueComponent]\r\n }\r\n if (isPage) {\r\n return componentOptions\r\n }\r\n return [componentOptions, VueComponent]\r\n}\r\n\r\nfunction parseComponent (vueComponentOptions, needVueOptions) {\r\n return parseBaseComponent(vueComponentOptions, {\r\n isPage,\r\n initRelation\r\n }, needVueOptions)\r\n}\r\n\r\nconst hooks$1 = [\r\n 'onShow',\r\n 'onHide',\r\n 'onUnload'\r\n];\r\n\r\nhooks$1.push(...PAGE_EVENT_HOOKS);\r\n\r\nfunction parseBasePage (vuePageOptions) {\r\n const [pageOptions, vueOptions] = parseComponent(vuePageOptions, true);\r\n\r\n initHooks(pageOptions.methods, hooks$1, vueOptions);\r\n\r\n pageOptions.methods.onLoad = function (query) {\r\n this.options = query;\r\n const copyQuery = Object.assign({}, query);\r\n delete copyQuery.__id__;\r\n this.$page = {\r\n fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery)\r\n };\r\n this.$vm.$mp.query = query; // 兼容 mpvue\r\n this.$vm.__call_hook('onLoad', query);\r\n };\r\n {\r\n initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']);\r\n }\r\n {\r\n initWorkletMethods(pageOptions.methods, vueOptions.methods);\r\n }\r\n\r\n return pageOptions\r\n}\r\n\r\nfunction parsePage (vuePageOptions) {\r\n return parseBasePage(vuePageOptions)\r\n}\r\n\r\nfunction createPage (vuePageOptions) {\r\n {\r\n return Component(parsePage(vuePageOptions))\r\n }\r\n}\r\n\r\nfunction createComponent (vueOptions) {\r\n {\r\n return Component(parseComponent(vueOptions))\r\n }\r\n}\r\n\r\nfunction createSubpackageApp (vm) {\r\n const appOptions = parseApp(vm);\r\n const app = getApp({\r\n allowDefault: true\r\n });\r\n vm.$scope = app;\r\n const globalData = app.globalData;\r\n if (globalData) {\r\n Object.keys(appOptions.globalData).forEach(name => {\r\n if (!hasOwn(globalData, name)) {\r\n globalData[name] = appOptions.globalData[name];\r\n }\r\n });\r\n }\r\n Object.keys(appOptions).forEach(name => {\r\n if (!hasOwn(app, name)) {\r\n app[name] = appOptions[name];\r\n }\r\n });\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\nfunction createPlugin (vm) {\r\n const appOptions = parseApp(vm);\r\n if (isFn(appOptions.onShow) && wx.onAppShow) {\r\n wx.onAppShow((...args) => {\r\n vm.__call_hook('onShow', args);\r\n });\r\n }\r\n if (isFn(appOptions.onHide) && wx.onAppHide) {\r\n wx.onAppHide((...args) => {\r\n vm.__call_hook('onHide', args);\r\n });\r\n }\r\n if (isFn(appOptions.onLaunch)) {\r\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\r\n vm.__call_hook('onLaunch', args);\r\n }\r\n return vm\r\n}\r\n\r\ntodos.forEach(todoApi => {\r\n protocols[todoApi] = false;\r\n});\r\n\r\ncanIUses.forEach(canIUseApi => {\r\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\r\n : canIUseApi;\r\n if (!wx.canIUse(apiName)) {\r\n protocols[canIUseApi] = false;\r\n }\r\n});\r\n\r\nlet uni = {};\r\n\r\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\r\n uni = new Proxy({}, {\r\n get (target, name) {\r\n if (hasOwn(target, name)) {\r\n return target[name]\r\n }\r\n if (baseApi[name]) {\r\n return baseApi[name]\r\n }\r\n if (api[name]) {\r\n return promisify(name, api[name])\r\n }\r\n {\r\n if (extraApi[name]) {\r\n return promisify(name, extraApi[name])\r\n }\r\n if (todoApis[name]) {\r\n return promisify(name, todoApis[name])\r\n }\r\n }\r\n if (eventApi[name]) {\r\n return eventApi[name]\r\n }\r\n return promisify(name, wrapper(name, wx[name]))\r\n },\r\n set (target, name, value) {\r\n target[name] = value;\r\n return true\r\n }\r\n });\r\n} else {\r\n Object.keys(baseApi).forEach(name => {\r\n uni[name] = baseApi[name];\r\n });\r\n\r\n {\r\n Object.keys(todoApis).forEach(name => {\r\n uni[name] = promisify(name, todoApis[name]);\r\n });\r\n Object.keys(extraApi).forEach(name => {\r\n uni[name] = promisify(name, extraApi[name]);\r\n });\r\n }\r\n\r\n Object.keys(eventApi).forEach(name => {\r\n uni[name] = eventApi[name];\r\n });\r\n\r\n Object.keys(api).forEach(name => {\r\n uni[name] = promisify(name, api[name]);\r\n });\r\n\r\n Object.keys(wx).forEach(name => {\r\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\r\n uni[name] = promisify(name, wrapper(name, wx[name]));\r\n }\r\n });\r\n}\r\n\r\nwx.createApp = createApp;\r\nwx.createPage = createPage;\r\nwx.createComponent = createComponent;\r\nwx.createSubpackageApp = createSubpackageApp;\r\nwx.createPlugin = createPlugin;\r\n\r\nvar uni$1 = uni;\r\n\r\nexport default uni$1;\r\nexport { createApp, createComponent, createPage, createPlugin, createSubpackageApp };\r\n","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {\n ;\n }\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) 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}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _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}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}\nmodule.exports = _toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return (module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports), _typeof(obj);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nmodule.exports = _toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nfunction _construct(Parent, args, Class) {\n if (isNativeReflectConstruct()) {\n module.exports = _construct = Reflect.construct.bind(), module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n } else {\n module.exports = _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 }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n }\n return _construct.apply(null, arguments);\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _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 try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n [locale, messages] = [\n messages,\n locale,\n ];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\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) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*!\n * Vue.js v2.6.11\n * (c) 2014-2023 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n return ('') + vm.$options.__file\n }\n return '<Root>'\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"<Anonymous>\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm && vm.$options.name !== 'PageBody') {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n !vm.$options.isReserved && tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n Dep.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n Dep.target = Dep.SharedObject.target;\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue &&\n !value.__v_isMPComponent\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n if (isUndef(propOptions)) {\r\n return res\r\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n var attrs = data.attrs;\n var props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\r\n }\r\n }\r\n return res\r\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array<VNode>. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. <template>, <slot>, v-for, or when the children is provided by user\n// with hand-written render functions / JSX. In such cases a full normalization\n// is needed to cater to all possible types of children values.\nfunction normalizeChildren (children) {\n return isPrimitive(children)\n ? [createTextVNode(children)]\n : Array.isArray(children)\n ? normalizeArrayChildren(children)\n : undefined\n}\n\nfunction isTextNode (node) {\n return isDef(node) && isDef(node.text) && isFalse(node.isComment)\n}\n\nfunction normalizeArrayChildren (children, nestedIndex) {\n var res = [];\n var i, c, lastIndex, last;\n for (i = 0; i < children.length; i++) {\n c = children[i];\n if (isUndef(c) || typeof c === 'boolean') { continue }\n lastIndex = res.length - 1;\n last = res[lastIndex];\n // nested\n if (Array.isArray(c)) {\n if (c.length > 0) {\n c = normalizeArrayChildren(c, ((nestedIndex || '') + \"_\" + i));\n // merge adjacent text nodes\n if (isTextNode(c[0]) && isTextNode(last)) {\n res[lastIndex] = createTextVNode(last.text + (c[0]).text);\n c.shift();\n }\n res.push.apply(res, c);\n }\n } else if (isPrimitive(c)) {\n if (isTextNode(last)) {\n // merge adjacent text nodes\n // this is necessary for SSR hydration because text nodes are\n // essentially merged when rendered to HTML strings\n res[lastIndex] = createTextVNode(last.text + c);\n } else if (c !== '') {\n // convert primitive to vnode\n res.push(createTextVNode(c));\n }\n } else {\n if (isTextNode(c) && isTextNode(last)) {\n // merge adjacent text nodes\n res[lastIndex] = createTextVNode(last.text + c.text);\n } else {\n // default key for nested array children (likely generated by v-for)\n if (isTrue(children._isVList) &&\n isDef(c.tag) &&\n isUndef(c.key) &&\n isDef(nestedIndex)) {\n c.key = \"__vlist\" + nestedIndex + \"_\" + i + \"__\";\n }\n res.push(c);\n }\n }\n }\n return res\n}\n\n/* */\n\nfunction initProvide (vm) {\n var provide = vm.$options.provide;\n if (provide) {\n vm._provided = typeof provide === 'function'\n ? provide.call(vm)\n : provide;\n }\n}\n\nfunction initInjections (vm) {\n var result = resolveInject(vm.$options.inject, vm);\n if (result) {\n toggleObserving(false);\n Object.keys(result).forEach(function (key) {\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, key, result[key], function () {\n warn(\n \"Avoid mutating an injected value directly since the changes will be \" +\n \"overwritten whenever the provided component re-renders. \" +\n \"injection being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n });\n } else {\n defineReactive$$1(vm, key, result[key]);\n }\n });\n toggleObserving(true);\n }\n}\n\nfunction resolveInject (inject, vm) {\n if (inject) {\n // inject is :any because flow is not smart enough to figure out cached\n var result = Object.create(null);\n var keys = hasSymbol\n ? Reflect.ownKeys(inject)\n : Object.keys(inject);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n // #6574 in case the inject object is observed...\n if (key === '__ob__') { continue }\n var provideKey = inject[key].from;\n var source = vm;\n while (source) {\n if (source._provided && hasOwn(source._provided, provideKey)) {\n result[key] = source._provided[provideKey];\n break\n }\n source = source.$parent;\n }\n if (!source) {\n if ('default' in inject[key]) {\n var provideDefault = inject[key].default;\n result[key] = typeof provideDefault === 'function'\n ? provideDefault.call(vm)\n : provideDefault;\n } else if (process.env.NODE_ENV !== 'production') {\n warn((\"Injection \\\"\" + key + \"\\\" not found\"), vm);\n }\n }\n }\n return result\n }\n}\n\n/* */\n\n\n\n/**\n * Runtime helper for resolving raw children VNodes into a slot object.\n */\nfunction resolveSlots (\n children,\n context\n) {\n if (!children || !children.length) {\n return {}\n }\n var slots = {};\n for (var i = 0, l = children.length; i < l; i++) {\n var child = children[i];\n var data = child.data;\n // remove slot attribute if the node is resolved as a Vue slot node\n if (data && data.attrs && data.attrs.slot) {\n delete data.attrs.slot;\n }\n // named slots should only be respected if the vnode was rendered in the\n // same context.\n if ((child.context === context || child.fnContext === context) &&\n data && data.slot != null\n ) {\n var name = data.slot;\n var slot = (slots[name] || (slots[name] = []));\n if (child.tag === 'template') {\n slot.push.apply(slot, child.children || []);\n } else {\n slot.push(child);\n }\n } else {\n // fixed by xxxxxx 临时 hack 掉 uni-app 中的异步 name slot page\n if(child.asyncMeta && child.asyncMeta.data && child.asyncMeta.data.slot === 'page'){\n (slots['page'] || (slots['page'] = [])).push(child);\n }else{\n (slots.default || (slots.default = [])).push(child);\n }\n }\n }\n // ignore slots that contains only whitespace\n for (var name$1 in slots) {\n if (slots[name$1].every(isWhitespace)) {\n delete slots[name$1];\n }\n }\n return slots\n}\n\nfunction isWhitespace (node) {\n return (node.isComment && !node.asyncFactory) || node.text === ' '\n}\n\n/* */\n\nfunction normalizeScopedSlots (\n slots,\n normalSlots,\n prevSlots\n) {\n var res;\n var hasNormalSlots = Object.keys(normalSlots).length > 0;\n var isStable = slots ? !!slots.$stable : !hasNormalSlots;\n var key = slots && slots.$key;\n if (!slots) {\n res = {};\n } else if (slots._normalized) {\n // fast path 1: child component re-render only, parent did not change\n return slots._normalized\n } else if (\n isStable &&\n prevSlots &&\n prevSlots !== emptyObject &&\n key === prevSlots.$key &&\n !hasNormalSlots &&\n !prevSlots.$hasNormal\n ) {\n // fast path 2: stable scoped slots w/ no normal slots to proxy,\n // only need to normalize once\n return prevSlots\n } else {\n res = {};\n for (var key$1 in slots) {\n if (slots[key$1] && key$1[0] !== '$') {\n res[key$1] = normalizeScopedSlot(normalSlots, key$1, slots[key$1]);\n }\n }\n }\n // expose normal slots on scopedSlots\n for (var key$2 in normalSlots) {\n if (!(key$2 in res)) {\n res[key$2] = proxyNormalSlot(normalSlots, key$2);\n }\n }\n // avoriaz seems to mock a non-extensible $scopedSlots object\n // and when that is passed down this would cause an error\n if (slots && Object.isExtensible(slots)) {\n (slots)._normalized = res;\n }\n def(res, '$stable', isStable);\n def(res, '$key', key);\n def(res, '$hasNormal', hasNormalSlots);\n return res\n}\n\nfunction normalizeScopedSlot(normalSlots, key, fn) {\n var normalized = function () {\n var res = arguments.length ? fn.apply(null, arguments) : fn({});\n res = res && typeof res === 'object' && !Array.isArray(res)\n ? [res] // single vnode\n : normalizeChildren(res);\n return res && (\n res.length === 0 ||\n (res.length === 1 && res[0].isComment) // #9658\n ) ? undefined\n : res\n };\n // this is a slot using the new v-slot syntax without scope. although it is\n // compiled as a scoped slot, render fn users would expect it to be present\n // on this.$slots because the usage is semantically a normal slot.\n if (fn.proxy) {\n Object.defineProperty(normalSlots, key, {\n get: normalized,\n enumerable: true,\n configurable: true\n });\n }\n return normalized\n}\n\nfunction proxyNormalSlot(slots, key) {\n return function () { return slots[key]; }\n}\n\n/* */\n\n/**\n * Runtime helper for rendering v-for lists.\n */\nfunction renderList (\n val,\n render\n) {\n var ret, i, l, keys, key;\n if (Array.isArray(val) || typeof val === 'string') {\n ret = new Array(val.length);\n for (i = 0, l = val.length; i < l; i++) {\n ret[i] = render(val[i], i, i, i); // fixed by xxxxxx\n }\n } else if (typeof val === 'number') {\n ret = new Array(val);\n for (i = 0; i < val; i++) {\n ret[i] = render(i + 1, i, i, i); // fixed by xxxxxx\n }\n } else if (isObject(val)) {\n if (hasSymbol && val[Symbol.iterator]) {\n ret = [];\n var iterator = val[Symbol.iterator]();\n var result = iterator.next();\n while (!result.done) {\n ret.push(render(result.value, ret.length, i, i++)); // fixed by xxxxxx\n result = iterator.next();\n }\n } else {\n keys = Object.keys(val);\n ret = new Array(keys.length);\n for (i = 0, l = keys.length; i < l; i++) {\n key = keys[i];\n ret[i] = render(val[key], key, i, i); // fixed by xxxxxx\n }\n }\n }\n if (!isDef(ret)) {\n ret = [];\n }\n (ret)._isVList = true;\n return ret\n}\n\n/* */\n\n/**\n * Runtime helper for rendering <slot>\n */\nfunction renderSlot (\n name,\n fallback,\n props,\n bindObject\n) {\n var scopedSlotFn = this.$scopedSlots[name];\n var nodes;\n if (scopedSlotFn) { // scoped slot\n props = props || {};\n if (bindObject) {\n if (process.env.NODE_ENV !== 'production' && !isObject(bindObject)) {\n warn(\n 'slot v-bind without argument expects an Object',\n this\n );\n }\n props = extend(extend({}, bindObject), props);\n }\n // fixed by xxxxxx app-plus scopedSlot\n nodes = scopedSlotFn(props, this, props._i) || fallback;\n } else {\n nodes = this.$slots[name] || fallback;\n }\n\n var target = props && props.slot;\n if (target) {\n return this.$createElement('template', { slot: target }, nodes)\n } else {\n return nodes\n }\n}\n\n/* */\n\n/**\n * Runtime helper for resolving filters\n */\nfunction resolveFilter (id) {\n return resolveAsset(this.$options, 'filters', id, true) || identity\n}\n\n/* */\n\nfunction isKeyNotMatch (expect, actual) {\n if (Array.isArray(expect)) {\n return expect.indexOf(actual) === -1\n } else {\n return expect !== actual\n }\n}\n\n/**\n * Runtime helper for checking keyCodes from config.\n * exposed as Vue.prototype._k\n * passing in eventKeyName as last argument separately for backwards compat\n */\nfunction checkKeyCodes (\n eventKeyCode,\n key,\n builtInKeyCode,\n eventKeyName,\n builtInKeyName\n) {\n var mappedKeyCode = config.keyCodes[key] || builtInKeyCode;\n if (builtInKeyName && eventKeyName && !config.keyCodes[key]) {\n return isKeyNotMatch(builtInKeyName, eventKeyName)\n } else if (mappedKeyCode) {\n return isKeyNotMatch(mappedKeyCode, eventKeyCode)\n } else if (eventKeyName) {\n return hyphenate(eventKeyName) !== key\n }\n}\n\n/* */\n\n/**\n * Runtime helper for merging v-bind=\"object\" into a VNode's data.\n */\nfunction bindObjectProps (\n data,\n tag,\n value,\n asProp,\n isSync\n) {\n if (value) {\n if (!isObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-bind without argument expects an Object or Array value',\n this\n );\n } else {\n if (Array.isArray(value)) {\n value = toObject(value);\n }\n var hash;\n var loop = function ( key ) {\n if (\n key === 'class' ||\n key === 'style' ||\n isReservedAttribute(key)\n ) {\n hash = data;\n } else {\n var type = data.attrs && data.attrs.type;\n hash = asProp || config.mustUseProp(tag, type, key)\n ? data.domProps || (data.domProps = {})\n : data.attrs || (data.attrs = {});\n }\n var camelizedKey = camelize(key);\n var hyphenatedKey = hyphenate(key);\n if (!(camelizedKey in hash) && !(hyphenatedKey in hash)) {\n hash[key] = value[key];\n\n if (isSync) {\n var on = data.on || (data.on = {});\n on[(\"update:\" + key)] = function ($event) {\n value[key] = $event;\n };\n }\n }\n };\n\n for (var key in value) loop( key );\n }\n }\n return data\n}\n\n/* */\n\n/**\n * Runtime helper for rendering static trees.\n */\nfunction renderStatic (\n index,\n isInFor\n) {\n var cached = this._staticTrees || (this._staticTrees = []);\n var tree = cached[index];\n // if has already-rendered static tree and not inside v-for,\n // we can reuse the same tree.\n if (tree && !isInFor) {\n return tree\n }\n // otherwise, render a fresh tree.\n tree = cached[index] = this.$options.staticRenderFns[index].call(\n this._renderProxy,\n null,\n this // for render fns generated for functional component templates\n );\n markStatic(tree, (\"__static__\" + index), false);\n return tree\n}\n\n/**\n * Runtime helper for v-once.\n * Effectively it means marking the node as static with a unique key.\n */\nfunction markOnce (\n tree,\n index,\n key\n) {\n markStatic(tree, (\"__once__\" + index + (key ? (\"_\" + key) : \"\")), true);\n return tree\n}\n\nfunction markStatic (\n tree,\n key,\n isOnce\n) {\n if (Array.isArray(tree)) {\n for (var i = 0; i < tree.length; i++) {\n if (tree[i] && typeof tree[i] !== 'string') {\n markStaticNode(tree[i], (key + \"_\" + i), isOnce);\n }\n }\n } else {\n markStaticNode(tree, key, isOnce);\n }\n}\n\nfunction markStaticNode (node, key, isOnce) {\n node.isStatic = true;\n node.key = key;\n node.isOnce = isOnce;\n}\n\n/* */\n\nfunction bindObjectListeners (data, value) {\n if (value) {\n if (!isPlainObject(value)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'v-on without argument expects an Object value',\n this\n );\n } else {\n var on = data.on = data.on ? extend({}, data.on) : {};\n for (var key in value) {\n var existing = on[key];\n var ours = value[key];\n on[key] = existing ? [].concat(existing, ours) : ours;\n }\n }\n }\n return data\n}\n\n/* */\n\nfunction resolveScopedSlots (\n fns, // see flow/vnode\n res,\n // the following are added in 2.6\n hasDynamicKeys,\n contentHashKey\n) {\n res = res || { $stable: !hasDynamicKeys };\n for (var i = 0; i < fns.length; i++) {\n var slot = fns[i];\n if (Array.isArray(slot)) {\n resolveScopedSlots(slot, res, hasDynamicKeys);\n } else if (slot) {\n // marker for reverse proxying v-slot without scope on this.$slots\n if (slot.proxy) {\n slot.fn.proxy = true;\n }\n res[slot.key] = slot.fn;\n }\n }\n if (contentHashKey) {\n (res).$key = contentHashKey;\n }\n return res\n}\n\n/* */\n\nfunction bindDynamicKeys (baseObj, values) {\n for (var i = 0; i < values.length; i += 2) {\n var key = values[i];\n if (typeof key === 'string' && key) {\n baseObj[values[i]] = values[i + 1];\n } else if (process.env.NODE_ENV !== 'production' && key !== '' && key !== null) {\n // null is a special value for explicitly removing a binding\n warn(\n (\"Invalid value for dynamic directive argument (expected string or null): \" + key),\n this\n );\n }\n }\n return baseObj\n}\n\n// helper to dynamically append modifier runtime markers to event names.\n// ensure only append when value is already string, otherwise it will be cast\n// to string and cause the type check to miss.\nfunction prependModifier (value, symbol) {\n return typeof value === 'string' ? symbol + value : value\n}\n\n/* */\n\nfunction installRenderHelpers (target) {\n target._o = markOnce;\n target._n = toNumber;\n target._s = toString;\n target._l = renderList;\n target._t = renderSlot;\n target._q = looseEqual;\n target._i = looseIndexOf;\n target._m = renderStatic;\n target._f = resolveFilter;\n target._k = checkKeyCodes;\n target._b = bindObjectProps;\n target._v = createTextVNode;\n target._e = createEmptyVNode;\n target._u = resolveScopedSlots;\n target._g = bindObjectListeners;\n target._d = bindDynamicKeys;\n target._p = prependModifier;\n}\n\n/* */\n\nfunction FunctionalRenderContext (\n data,\n props,\n children,\n parent,\n Ctor\n) {\n var this$1 = this;\n\n var options = Ctor.options;\n // ensure the createElement function in functional components\n // gets a unique context - this is necessary for correct named slot check\n var contextVm;\n if (hasOwn(parent, '_uid')) {\n contextVm = Object.create(parent);\n // $flow-disable-line\n contextVm._original = parent;\n } else {\n // the context vm passed in is a functional context as well.\n // in this case we want to make sure we are able to get a hold to the\n // real context instance.\n contextVm = parent;\n // $flow-disable-line\n parent = parent._original;\n }\n var isCompiled = isTrue(options._compiled);\n var needNormalization = !isCompiled;\n\n this.data = data;\n this.props = props;\n this.children = children;\n this.parent = parent;\n this.listeners = data.on || emptyObject;\n this.injections = resolveInject(options.inject, parent);\n this.slots = function () {\n if (!this$1.$slots) {\n normalizeScopedSlots(\n data.scopedSlots,\n this$1.$slots = resolveSlots(children, parent)\n );\n }\n return this$1.$slots\n };\n\n Object.defineProperty(this, 'scopedSlots', ({\n enumerable: true,\n get: function get () {\n return normalizeScopedSlots(data.scopedSlots, this.slots())\n }\n }));\n\n // support for compiled functional template\n if (isCompiled) {\n // exposing $options for renderStatic()\n this.$options = options;\n // pre-resolve slots for renderSlot()\n this.$slots = this.slots();\n this.$scopedSlots = normalizeScopedSlots(data.scopedSlots, this.$slots);\n }\n\n if (options._scopeId) {\n this._c = function (a, b, c, d) {\n var vnode = createElement(contextVm, a, b, c, d, needNormalization);\n if (vnode && !Array.isArray(vnode)) {\n vnode.fnScopeId = options._scopeId;\n vnode.fnContext = parent;\n }\n return vnode\n };\n } else {\n this._c = function (a, b, c, d) { return createElement(contextVm, a, b, c, d, needNormalization); };\n }\n}\n\ninstallRenderHelpers(FunctionalRenderContext.prototype);\n\nfunction createFunctionalComponent (\n Ctor,\n propsData,\n data,\n contextVm,\n children\n) {\n var options = Ctor.options;\n var props = {};\n var propOptions = options.props;\n if (isDef(propOptions)) {\n for (var key in propOptions) {\n props[key] = validateProp(key, propOptions, propsData || emptyObject);\n }\n } else {\n if (isDef(data.attrs)) { mergeProps(props, data.attrs); }\n if (isDef(data.props)) { mergeProps(props, data.props); }\n }\n\n var renderContext = new FunctionalRenderContext(\n data,\n props,\n children,\n contextVm,\n Ctor\n );\n\n var vnode = options.render.call(null, renderContext._c, renderContext);\n\n if (vnode instanceof VNode) {\n return cloneAndMarkFunctionalResult(vnode, data, renderContext.parent, options, renderContext)\n } else if (Array.isArray(vnode)) {\n var vnodes = normalizeChildren(vnode) || [];\n var res = new Array(vnodes.length);\n for (var i = 0; i < vnodes.length; i++) {\n res[i] = cloneAndMarkFunctionalResult(vnodes[i], data, renderContext.parent, options, renderContext);\n }\n return res\n }\n}\n\nfunction cloneAndMarkFunctionalResult (vnode, data, contextVm, options, renderContext) {\n // #7817 clone node before setting fnContext, otherwise if the node is reused\n // (e.g. it was from a cached normal slot) the fnContext causes named slots\n // that should not be matched to match.\n var clone = cloneVNode(vnode);\n clone.fnContext = contextVm;\n clone.fnOptions = options;\n if (process.env.NODE_ENV !== 'production') {\n (clone.devtoolsMeta = clone.devtoolsMeta || {}).renderContext = renderContext;\n }\n if (data.slot) {\n (clone.data || (clone.data = {})).slot = data.slot;\n }\n return clone\n}\n\nfunction mergeProps (to, from) {\n for (var key in from) {\n to[camelize(key)] = from[key];\n }\n}\n\n/* */\n\n/* */\n\n/* */\n\n/* */\n\n// inline hooks to be invoked on component VNodes during patch\nvar componentVNodeHooks = {\n init: function init (vnode, hydrating) {\n if (\n vnode.componentInstance &&\n !vnode.componentInstance._isDestroyed &&\n vnode.data.keepAlive\n ) {\n // kept-alive components, treat as a patch\n var mountedNode = vnode; // work around flow\n componentVNodeHooks.prepatch(mountedNode, mountedNode);\n } else {\n var child = vnode.componentInstance = createComponentInstanceForVnode(\n vnode,\n activeInstance\n );\n child.$mount(hydrating ? vnode.elm : undefined, hydrating);\n }\n },\n\n prepatch: function prepatch (oldVnode, vnode) {\n var options = vnode.componentOptions;\n var child = vnode.componentInstance = oldVnode.componentInstance;\n updateChildComponent(\n child,\n options.propsData, // updated props\n options.listeners, // updated listeners\n vnode, // new parent vnode\n options.children // new children\n );\n },\n\n insert: function insert (vnode) {\n var context = vnode.context;\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isMounted) {\n callHook(componentInstance, 'onServiceCreated');\n callHook(componentInstance, 'onServiceAttached');\n componentInstance._isMounted = true;\n callHook(componentInstance, 'mounted');\n }\n if (vnode.data.keepAlive) {\n if (context._isMounted) {\n // vue-router#1212\n // During updates, a kept-alive component's child components may\n // change, so directly walking the tree here may call activated hooks\n // on incorrect children. Instead we push them into a queue which will\n // be processed after the whole patch process ended.\n queueActivatedComponent(componentInstance);\n } else {\n activateChildComponent(componentInstance, true /* direct */);\n }\n }\n },\n\n destroy: function destroy (vnode) {\n var componentInstance = vnode.componentInstance;\n if (!componentInstance._isDestroyed) {\n if (!vnode.data.keepAlive) {\n componentInstance.$destroy();\n } else {\n deactivateChildComponent(componentInstance, true /* direct */);\n }\n }\n }\n};\n\nvar hooksToMerge = Object.keys(componentVNodeHooks);\n\nfunction createComponent (\n Ctor,\n data,\n context,\n children,\n tag\n) {\n if (isUndef(Ctor)) {\n return\n }\n\n var baseCtor = context.$options._base;\n\n // plain options object: turn it into a constructor\n if (isObject(Ctor)) {\n Ctor = baseCtor.extend(Ctor);\n }\n\n // if at this stage it's not a constructor or an async component factory,\n // reject.\n if (typeof Ctor !== 'function') {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Invalid Component definition: \" + (String(Ctor))), context);\n }\n return\n }\n\n // async component\n var asyncFactory;\n if (isUndef(Ctor.cid)) {\n asyncFactory = Ctor;\n Ctor = resolveAsyncComponent(asyncFactory, baseCtor);\n if (Ctor === undefined) {\n // return a placeholder node for async component, which is rendered\n // as a comment node but preserves all the raw information for the node.\n // the information will be used for async server-rendering and hydration.\n return createAsyncPlaceholder(\n asyncFactory,\n data,\n context,\n children,\n tag\n )\n }\n }\n\n data = data || {};\n\n // resolve constructor options in case global mixins are applied after\n // component constructor creation\n resolveConstructorOptions(Ctor);\n\n // transform component v-model data into props & events\n if (isDef(data.model)) {\n transformModel(Ctor.options, data);\n }\n\n // extract props\n var propsData = extractPropsFromVNodeData(data, Ctor, tag, context); // fixed by xxxxxx\n\n // functional component\n if (isTrue(Ctor.options.functional)) {\n return createFunctionalComponent(Ctor, propsData, data, context, children)\n }\n\n // extract listeners, since these needs to be treated as\n // child component listeners instead of DOM listeners\n var listeners = data.on;\n // replace with listeners with .native modifier\n // so it gets processed during parent component patch.\n data.on = data.nativeOn;\n\n if (isTrue(Ctor.options.abstract)) {\n // abstract components do not keep anything\n // other than props & listeners & slot\n\n // work around flow\n var slot = data.slot;\n data = {};\n if (slot) {\n data.slot = slot;\n }\n }\n\n // install component management hooks onto the placeholder node\n installComponentHooks(data);\n\n // return a placeholder vnode\n var name = Ctor.options.name || tag;\n var vnode = new VNode(\n (\"vue-component-\" + (Ctor.cid) + (name ? (\"-\" + name) : '')),\n data, undefined, undefined, undefined, context,\n { Ctor: Ctor, propsData: propsData, listeners: listeners, tag: tag, children: children },\n asyncFactory\n );\n\n return vnode\n}\n\nfunction createComponentInstanceForVnode (\n vnode, // we know it's MountedComponentVNode but flow doesn't\n parent // activeInstance in lifecycle state\n) {\n var options = {\n _isComponent: true,\n _parentVnode: vnode,\n parent: parent\n };\n // check inline-template render functions\n var inlineTemplate = vnode.data.inlineTemplate;\n if (isDef(inlineTemplate)) {\n options.render = inlineTemplate.render;\n options.staticRenderFns = inlineTemplate.staticRenderFns;\n }\n return new vnode.componentOptions.Ctor(options)\n}\n\nfunction installComponentHooks (data) {\n var hooks = data.hook || (data.hook = {});\n for (var i = 0; i < hooksToMerge.length; i++) {\n var key = hooksToMerge[i];\n var existing = hooks[key];\n var toMerge = componentVNodeHooks[key];\n if (existing !== toMerge && !(existing && existing._merged)) {\n hooks[key] = existing ? mergeHook$1(toMerge, existing) : toMerge;\n }\n }\n}\n\nfunction mergeHook$1 (f1, f2) {\n var merged = function (a, b) {\n // flow complains about extra args which is why we use any\n f1(a, b);\n f2(a, b);\n };\n merged._merged = true;\n return merged\n}\n\n// transform component v-model info (value and callback) into\n// prop and event handler respectively.\nfunction transformModel (options, data) {\n var prop = (options.model && options.model.prop) || 'value';\n var event = (options.model && options.model.event) || 'input'\n ;(data.attrs || (data.attrs = {}))[prop] = data.model.value;\n var on = data.on || (data.on = {});\n var existing = on[event];\n var callback = data.model.callback;\n if (isDef(existing)) {\n if (\n Array.isArray(existing)\n ? existing.indexOf(callback) === -1\n : existing !== callback\n ) {\n on[event] = [callback].concat(existing);\n }\n } else {\n on[event] = callback;\n }\n}\n\n/* */\n\nvar SIMPLE_NORMALIZE = 1;\nvar ALWAYS_NORMALIZE = 2;\n\n// wrapper function for providing a more flexible interface\n// without getting yelled at by flow\nfunction createElement (\n context,\n tag,\n data,\n children,\n normalizationType,\n alwaysNormalize\n) {\n if (Array.isArray(data) || isPrimitive(data)) {\n normalizationType = children;\n children = data;\n data = undefined;\n }\n if (isTrue(alwaysNormalize)) {\n normalizationType = ALWAYS_NORMALIZE;\n }\n return _createElement(context, tag, data, children, normalizationType)\n}\n\nfunction _createElement (\n context,\n tag,\n data,\n children,\n normalizationType\n) {\n if (isDef(data) && isDef((data).__ob__)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Avoid using observed data object as vnode data: \" + (JSON.stringify(data)) + \"\\n\" +\n 'Always create fresh vnode data objects in each render!',\n context\n );\n return createEmptyVNode()\n }\n // object syntax in v-bind\n if (isDef(data) && isDef(data.is)) {\n tag = data.is;\n }\n if (!tag) {\n // in case of component :is set to falsy value\n return createEmptyVNode()\n }\n // warn against non-primitive key\n if (process.env.NODE_ENV !== 'production' &&\n isDef(data) && isDef(data.key) && !isPrimitive(data.key)\n ) {\n {\n warn(\n 'Avoid using non-primitive value as key, ' +\n 'use string/number value instead.',\n context\n );\n }\n }\n // support single function children as default scoped slot\n if (Array.isArray(children) &&\n typeof children[0] === 'function'\n ) {\n data = data || {};\n data.scopedSlots = { default: children[0] };\n children.length = 0;\n }\n if (normalizationType === ALWAYS_NORMALIZE) {\n children = normalizeChildren(children);\n } else if (normalizationType === SIMPLE_NORMALIZE) {\n children = simpleNormalizeChildren(children);\n }\n var vnode, ns;\n if (typeof tag === 'string') {\n var Ctor;\n ns = (context.$vnode && context.$vnode.ns) || config.getTagNamespace(tag);\n if (config.isReservedTag(tag)) {\n // platform built-in elements\n if (process.env.NODE_ENV !== 'production' && isDef(data) && isDef(data.nativeOn)) {\n warn(\n (\"The .native modifier for v-on is only valid on components but it was used on <\" + tag + \">.\"),\n context\n );\n }\n vnode = new VNode(\n config.parsePlatformTagName(tag), data, children,\n undefined, undefined, context\n );\n } else if ((!data || !data.pre) && isDef(Ctor = resolveAsset(context.$options, 'components', tag))) {\n // component\n vnode = createComponent(Ctor, data, context, children, tag);\n } else {\n // unknown or unlisted namespaced elements\n // check at runtime because it may get assigned a namespace when its\n // parent normalizes children\n vnode = new VNode(\n tag, data, children,\n undefined, undefined, context\n );\n }\n } else {\n // direct component options / constructor\n vnode = createComponent(tag, data, context, children);\n }\n if (Array.isArray(vnode)) {\n return vnode\n } else if (isDef(vnode)) {\n if (isDef(ns)) { applyNS(vnode, ns); }\n if (isDef(data)) { registerDeepBindings(data); }\n return vnode\n } else {\n return createEmptyVNode()\n }\n}\n\nfunction applyNS (vnode, ns, force) {\n vnode.ns = ns;\n if (vnode.tag === 'foreignObject') {\n // use default namespace inside foreignObject\n ns = undefined;\n force = true;\n }\n if (isDef(vnode.children)) {\n for (var i = 0, l = vnode.children.length; i < l; i++) {\n var child = vnode.children[i];\n if (isDef(child.tag) && (\n isUndef(child.ns) || (isTrue(force) && child.tag !== 'svg'))) {\n applyNS(child, ns, force);\n }\n }\n }\n}\n\n// ref #5318\n// necessary to ensure parent re-render when deep bindings like :style and\n// :class are used on slot nodes\nfunction registerDeepBindings (data) {\n if (isObject(data.style)) {\n traverse(data.style);\n }\n if (isObject(data.class)) {\n traverse(data.class);\n }\n}\n\n/* */\n\nfunction initRender (vm) {\n vm._vnode = null; // the root of the child tree\n vm._staticTrees = null; // v-once cached trees\n var options = vm.$options;\n var parentVnode = vm.$vnode = options._parentVnode; // the placeholder node in parent tree\n var renderContext = parentVnode && parentVnode.context;\n vm.$slots = resolveSlots(options._renderChildren, renderContext);\n vm.$scopedSlots = emptyObject;\n // bind the createElement fn to this instance\n // so that we get proper render context inside it.\n // args order: tag, data, children, normalizationType, alwaysNormalize\n // internal version is used by render functions compiled from templates\n vm._c = function (a, b, c, d) { return createElement(vm, a, b, c, d, false); };\n // normalization is always applied for the public version, used in\n // user-written render functions.\n vm.$createElement = function (a, b, c, d) { return createElement(vm, a, b, c, d, true); };\n\n // $attrs & $listeners are exposed for easier HOC creation.\n // they need to be reactive so that HOCs using them are always updated\n var parentData = parentVnode && parentVnode.data;\n\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$attrs is readonly.\", vm);\n }, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, function () {\n !isUpdatingChildComponent && warn(\"$listeners is readonly.\", vm);\n }, true);\n } else {\n defineReactive$$1(vm, '$attrs', parentData && parentData.attrs || emptyObject, null, true);\n defineReactive$$1(vm, '$listeners', options._parentListeners || emptyObject, null, true);\n }\n}\n\nvar currentRenderingInstance = null;\n\nfunction renderMixin (Vue) {\n // install runtime convenience helpers\n installRenderHelpers(Vue.prototype);\n\n Vue.prototype.$nextTick = function (fn) {\n return nextTick(fn, this)\n };\n\n Vue.prototype._render = function () {\n var vm = this;\n var ref = vm.$options;\n var render = ref.render;\n var _parentVnode = ref._parentVnode;\n\n if (_parentVnode) {\n vm.$scopedSlots = normalizeScopedSlots(\n _parentVnode.data.scopedSlots,\n vm.$slots,\n vm.$scopedSlots\n );\n }\n\n // set parent vnode. this allows render functions to have access\n // to the data on the placeholder node.\n vm.$vnode = _parentVnode;\n // render self\n var vnode;\n try {\n // There's no need to maintain a stack because all render fns are called\n // separately from one another. Nested component's render fns are called\n // when parent component is patched.\n currentRenderingInstance = vm;\n vnode = render.call(vm._renderProxy, vm.$createElement);\n } catch (e) {\n handleError(e, vm, \"render\");\n // return error render result,\n // or previous vnode to prevent render error causing blank component\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production' && vm.$options.renderError) {\n try {\n vnode = vm.$options.renderError.call(vm._renderProxy, vm.$createElement, e);\n } catch (e) {\n handleError(e, vm, \"renderError\");\n vnode = vm._vnode;\n }\n } else {\n vnode = vm._vnode;\n }\n } finally {\n currentRenderingInstance = null;\n }\n // if the returned array contains only a single node, allow it\n if (Array.isArray(vnode) && vnode.length === 1) {\n vnode = vnode[0];\n }\n // return empty vnode in case the render function errored out\n if (!(vnode instanceof VNode)) {\n if (process.env.NODE_ENV !== 'production' && Array.isArray(vnode)) {\n warn(\n 'Multiple root nodes returned from render function. Render function ' +\n 'should return a single root node.',\n vm\n );\n }\n vnode = createEmptyVNode();\n }\n // set parent\n vnode.parent = _parentVnode;\n return vnode\n };\n}\n\n/* */\n\nfunction ensureCtor (comp, base) {\n if (\n comp.__esModule ||\n (hasSymbol && comp[Symbol.toStringTag] === 'Module')\n ) {\n comp = comp.default;\n }\n return isObject(comp)\n ? base.extend(comp)\n : comp\n}\n\nfunction createAsyncPlaceholder (\n factory,\n data,\n context,\n children,\n tag\n) {\n var node = createEmptyVNode();\n node.asyncFactory = factory;\n node.asyncMeta = { data: data, context: context, children: children, tag: tag };\n return node\n}\n\nfunction resolveAsyncComponent (\n factory,\n baseCtor\n) {\n if (isTrue(factory.error) && isDef(factory.errorComp)) {\n return factory.errorComp\n }\n\n if (isDef(factory.resolved)) {\n return factory.resolved\n }\n\n var owner = currentRenderingInstance;\n if (owner && isDef(factory.owners) && factory.owners.indexOf(owner) === -1) {\n // already pending\n factory.owners.push(owner);\n }\n\n if (isTrue(factory.loading) && isDef(factory.loadingComp)) {\n return factory.loadingComp\n }\n\n if (owner && !isDef(factory.owners)) {\n var owners = factory.owners = [owner];\n var sync = true;\n var timerLoading = null;\n var timerTimeout = null\n\n ;(owner).$on('hook:destroyed', function () { return remove(owners, owner); });\n\n var forceRender = function (renderCompleted) {\n for (var i = 0, l = owners.length; i < l; i++) {\n (owners[i]).$forceUpdate();\n }\n\n if (renderCompleted) {\n owners.length = 0;\n if (timerLoading !== null) {\n clearTimeout(timerLoading);\n timerLoading = null;\n }\n if (timerTimeout !== null) {\n clearTimeout(timerTimeout);\n timerTimeout = null;\n }\n }\n };\n\n var resolve = once(function (res) {\n // cache resolved\n factory.resolved = ensureCtor(res, baseCtor);\n // invoke callbacks only if this is not a synchronous resolve\n // (async resolves are shimmed as synchronous during SSR)\n if (!sync) {\n forceRender(true);\n } else {\n owners.length = 0;\n }\n });\n\n var reject = once(function (reason) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed to resolve async component: \" + (String(factory)) +\n (reason ? (\"\\nReason: \" + reason) : '')\n );\n if (isDef(factory.errorComp)) {\n factory.error = true;\n forceRender(true);\n }\n });\n\n var res = factory(resolve, reject);\n\n if (isObject(res)) {\n if (isPromise(res)) {\n // () => Promise\n if (isUndef(factory.resolved)) {\n res.then(resolve, reject);\n }\n } else if (isPromise(res.component)) {\n res.component.then(resolve, reject);\n\n if (isDef(res.error)) {\n factory.errorComp = ensureCtor(res.error, baseCtor);\n }\n\n if (isDef(res.loading)) {\n factory.loadingComp = ensureCtor(res.loading, baseCtor);\n if (res.delay === 0) {\n factory.loading = true;\n } else {\n timerLoading = setTimeout(function () {\n timerLoading = null;\n if (isUndef(factory.resolved) && isUndef(factory.error)) {\n factory.loading = true;\n forceRender(false);\n }\n }, res.delay || 200);\n }\n }\n\n if (isDef(res.timeout)) {\n timerTimeout = setTimeout(function () {\n timerTimeout = null;\n if (isUndef(factory.resolved)) {\n reject(\n process.env.NODE_ENV !== 'production'\n ? (\"timeout (\" + (res.timeout) + \"ms)\")\n : null\n );\n }\n }, res.timeout);\n }\n }\n }\n\n sync = false;\n // return in case resolved synchronously\n return factory.loading\n ? factory.loadingComp\n : factory.resolved\n }\n}\n\n/* */\n\nfunction isAsyncPlaceholder (node) {\n return node.isComment && node.asyncFactory\n}\n\n/* */\n\nfunction getFirstComponentChild (children) {\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n var c = children[i];\n if (isDef(c) && (isDef(c.componentOptions) || isAsyncPlaceholder(c))) {\n return c\n }\n }\n }\n}\n\n/* */\n\n/* */\n\nfunction initEvents (vm) {\n vm._events = Object.create(null);\n vm._hasHookEvent = false;\n // init parent attached events\n var listeners = vm.$options._parentListeners;\n if (listeners) {\n updateComponentListeners(vm, listeners);\n }\n}\n\nvar target;\n\nfunction add (event, fn) {\n target.$on(event, fn);\n}\n\nfunction remove$1 (event, fn) {\n target.$off(event, fn);\n}\n\nfunction createOnceHandler (event, fn) {\n var _target = target;\n return function onceHandler () {\n var res = fn.apply(null, arguments);\n if (res !== null) {\n _target.$off(event, onceHandler);\n }\n }\n}\n\nfunction updateComponentListeners (\n vm,\n listeners,\n oldListeners\n) {\n target = vm;\n updateListeners(listeners, oldListeners || {}, add, remove$1, createOnceHandler, vm);\n target = undefined;\n}\n\nfunction eventsMixin (Vue) {\n var hookRE = /^hook:/;\n Vue.prototype.$on = function (event, fn) {\n var vm = this;\n if (Array.isArray(event)) {\n for (var i = 0, l = event.length; i < l; i++) {\n vm.$on(event[i], fn);\n }\n } else {\n (vm._events[event] || (vm._events[event] = [])).push(fn);\n // optimize hook:event cost by using a boolean flag marked at registration\n // instead of a hash lookup\n if (hookRE.test(event)) {\n vm._hasHookEvent = true;\n }\n }\n return vm\n };\n\n Vue.prototype.$once = function (event, fn) {\n var vm = this;\n function on () {\n vm.$off(event, on);\n fn.apply(vm, arguments);\n }\n on.fn = fn;\n vm.$on(event, on);\n return vm\n };\n\n Vue.prototype.$off = function (event, fn) {\n var vm = this;\n // all\n if (!arguments.length) {\n vm._events = Object.create(null);\n return vm\n }\n // array of events\n if (Array.isArray(event)) {\n for (var i$1 = 0, l = event.length; i$1 < l; i$1++) {\n vm.$off(event[i$1], fn);\n }\n return vm\n }\n // specific event\n var cbs = vm._events[event];\n if (!cbs) {\n return vm\n }\n if (!fn) {\n vm._events[event] = null;\n return vm\n }\n // specific handler\n var cb;\n var i = cbs.length;\n while (i--) {\n cb = cbs[i];\n if (cb === fn || cb.fn === fn) {\n cbs.splice(i, 1);\n break\n }\n }\n return vm\n };\n\n Vue.prototype.$emit = function (event) {\n var vm = this;\n if (process.env.NODE_ENV !== 'production') {\n var lowerCaseEvent = event.toLowerCase();\n if (lowerCaseEvent !== event && vm._events[lowerCaseEvent]) {\n tip(\n \"Event \\\"\" + lowerCaseEvent + \"\\\" is emitted in component \" +\n (formatComponentName(vm)) + \" 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 }\n var cbs = vm._events[event];\n if (cbs) {\n cbs = cbs.length > 1 ? toArray(cbs) : cbs;\n var args = toArray(arguments, 1);\n var info = \"event handler for \\\"\" + event + \"\\\"\";\n for (var i = 0, l = cbs.length; i < l; i++) {\n invokeWithErrorHandling(cbs[i], vm, args, vm, info);\n }\n }\n return vm\n };\n}\n\n/* */\n\nvar activeInstance = null;\nvar isUpdatingChildComponent = false;\n\nfunction setActiveInstance(vm) {\n var prevActiveInstance = activeInstance;\n activeInstance = vm;\n return function () {\n activeInstance = prevActiveInstance;\n }\n}\n\nfunction initLifecycle (vm) {\n var options = vm.$options;\n\n // locate first non-abstract parent\n var parent = options.parent;\n if (parent && !options.abstract) {\n while (parent.$options.abstract && parent.$parent) {\n parent = parent.$parent;\n }\n parent.$children.push(vm);\n }\n\n vm.$parent = parent;\n vm.$root = parent ? parent.$root : vm;\n\n vm.$children = [];\n vm.$refs = {};\n\n vm._watcher = null;\n vm._inactive = null;\n vm._directInactive = false;\n vm._isMounted = false;\n vm._isDestroyed = false;\n vm._isBeingDestroyed = false;\n}\n\nfunction lifecycleMixin (Vue) {\n Vue.prototype._update = function (vnode, hydrating) {\n var vm = this;\n var prevEl = vm.$el;\n var prevVnode = vm._vnode;\n var restoreActiveInstance = setActiveInstance(vm);\n vm._vnode = vnode;\n // Vue.prototype.__patch__ is injected in entry points\n // based on the rendering backend used.\n if (!prevVnode) {\n // initial render\n vm.$el = vm.__patch__(vm.$el, vnode, hydrating, false /* removeOnly */);\n } else {\n // updates\n vm.$el = vm.__patch__(prevVnode, vnode);\n }\n restoreActiveInstance();\n // update __vue__ reference\n if (prevEl) {\n prevEl.__vue__ = null;\n }\n if (vm.$el) {\n vm.$el.__vue__ = vm;\n }\n // if parent is an HOC, update its $el as well\n if (vm.$vnode && vm.$parent && vm.$vnode === vm.$parent._vnode) {\n vm.$parent.$el = vm.$el;\n }\n // updated hook is called by the scheduler to ensure that children are\n // updated in a parent's updated hook.\n };\n\n Vue.prototype.$forceUpdate = function () {\n var vm = this;\n if (vm._watcher) {\n vm._watcher.update();\n }\n };\n\n Vue.prototype.$destroy = function () {\n var vm = this;\n if (vm._isBeingDestroyed) {\n return\n }\n callHook(vm, 'beforeDestroy');\n vm._isBeingDestroyed = true;\n // remove self from parent\n var parent = vm.$parent;\n if (parent && !parent._isBeingDestroyed && !vm.$options.abstract) {\n remove(parent.$children, vm);\n }\n // teardown watchers\n if (vm._watcher) {\n vm._watcher.teardown();\n }\n var i = vm._watchers.length;\n while (i--) {\n vm._watchers[i].teardown();\n }\n // remove reference from data ob\n // frozen object may not have observer.\n if (vm._data.__ob__) {\n vm._data.__ob__.vmCount--;\n }\n // call the last hook...\n vm._isDestroyed = true;\n // invoke destroy hooks on current rendered tree\n vm.__patch__(vm._vnode, null);\n // fire destroyed hook\n callHook(vm, 'destroyed');\n // turn off all instance listeners.\n vm.$off();\n // remove __vue__ reference\n if (vm.$el) {\n vm.$el.__vue__ = null;\n }\n // release circular reference (#6759)\n if (vm.$vnode) {\n vm.$vnode.parent = null;\n }\n };\n}\n\nfunction updateChildComponent (\n vm,\n propsData,\n listeners,\n parentVnode,\n renderChildren\n) {\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = true;\n }\n\n // determine whether component has slot children\n // we need to do this before overwriting $options._renderChildren.\n\n // check if there are dynamic scopedSlots (hand-written or compiled but with\n // dynamic slot names). Static scoped slots compiled from template has the\n // \"$stable\" marker.\n var newScopedSlots = parentVnode.data.scopedSlots;\n var oldScopedSlots = vm.$scopedSlots;\n var hasDynamicScopedSlot = !!(\n (newScopedSlots && !newScopedSlots.$stable) ||\n (oldScopedSlots !== emptyObject && !oldScopedSlots.$stable) ||\n (newScopedSlots && vm.$scopedSlots.$key !== newScopedSlots.$key)\n );\n\n // Any static slot children from the parent may have changed during parent's\n // update. Dynamic scoped slots may also have changed. In such cases, a forced\n // update is necessary to ensure correctness.\n var needsForceUpdate = !!(\n renderChildren || // has new static slots\n vm.$options._renderChildren || // has old static slots\n hasDynamicScopedSlot\n );\n\n vm.$options._parentVnode = parentVnode;\n vm.$vnode = parentVnode; // update vm's placeholder node without re-render\n\n if (vm._vnode) { // update child tree's parent\n vm._vnode.parent = parentVnode;\n }\n vm.$options._renderChildren = renderChildren;\n\n // update $attrs and $listeners hash\n // these are also reactive so they may trigger child update if the child\n // used them during render\n vm.$attrs = parentVnode.data.attrs || emptyObject;\n vm.$listeners = listeners || emptyObject;\n\n // update props\n if (propsData && vm.$options.props) {\n toggleObserving(false);\n var props = vm._props;\n var propKeys = vm.$options._propKeys || [];\n for (var i = 0; i < propKeys.length; i++) {\n var key = propKeys[i];\n var propOptions = vm.$options.props; // wtf flow?\n props[key] = validateProp(key, propOptions, propsData, vm);\n }\n toggleObserving(true);\n // keep a copy of raw propsData\n vm.$options.propsData = propsData;\n }\n \n // fixed by xxxxxx update properties(mp runtime)\n vm._$updateProperties && vm._$updateProperties(vm);\n \n // update listeners\n listeners = listeners || emptyObject;\n var oldListeners = vm.$options._parentListeners;\n vm.$options._parentListeners = listeners;\n updateComponentListeners(vm, listeners, oldListeners);\n\n // resolve slots + force update if has children\n if (needsForceUpdate) {\n vm.$slots = resolveSlots(renderChildren, parentVnode.context);\n vm.$forceUpdate();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n isUpdatingChildComponent = false;\n }\n}\n\nfunction isInInactiveTree (vm) {\n while (vm && (vm = vm.$parent)) {\n if (vm._inactive) { return true }\n }\n return false\n}\n\nfunction activateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = false;\n if (isInInactiveTree(vm)) {\n return\n }\n } else if (vm._directInactive) {\n return\n }\n if (vm._inactive || vm._inactive === null) {\n vm._inactive = false;\n for (var i = 0; i < vm.$children.length; i++) {\n activateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'activated');\n }\n}\n\nfunction deactivateChildComponent (vm, direct) {\n if (direct) {\n vm._directInactive = true;\n if (isInInactiveTree(vm)) {\n return\n }\n }\n if (!vm._inactive) {\n vm._inactive = true;\n for (var i = 0; i < vm.$children.length; i++) {\n deactivateChildComponent(vm.$children[i]);\n }\n callHook(vm, 'deactivated');\n }\n}\n\nfunction callHook (vm, hook) {\n // #7573 disable dep collection when invoking lifecycle hooks\n pushTarget();\n var handlers = vm.$options[hook];\n var info = hook + \" hook\";\n if (handlers) {\n for (var i = 0, j = handlers.length; i < j; i++) {\n invokeWithErrorHandling(handlers[i], vm, null, vm, info);\n }\n }\n if (vm._hasHookEvent) {\n vm.$emit('hook:' + hook);\n }\n popTarget();\n}\n\n/* */\n\nvar MAX_UPDATE_COUNT = 100;\n\nvar queue = [];\nvar activatedChildren = [];\nvar has = {};\nvar circular = {};\nvar waiting = false;\nvar flushing = false;\nvar index = 0;\n\n/**\n * Reset the scheduler's state.\n */\nfunction resetSchedulerState () {\n index = queue.length = activatedChildren.length = 0;\n has = {};\n if (process.env.NODE_ENV !== 'production') {\n circular = {};\n }\n waiting = flushing = false;\n}\n\n// Async edge case #6566 requires saving the timestamp when event listeners are\n// attached. However, calling performance.now() has a perf overhead especially\n// if the page has thousands of event listeners. Instead, we take a timestamp\n// every time the scheduler flushes and use that for all event listeners\n// attached during that flush.\nvar currentFlushTimestamp = 0;\n\n// Async edge case fix requires storing an event listener's attach timestamp.\nvar getNow = Date.now;\n\n// Determine what event timestamp the browser is using. Annoyingly, the\n// timestamp can either be hi-res (relative to page load) or low-res\n// (relative to UNIX epoch), so in order to compare time we have to use the\n// same timestamp type when saving the flush timestamp.\n// All IE versions use low-res event timestamps, and have problematic clock\n// implementations (#9632)\nif (inBrowser && !isIE) {\n var performance = window.performance;\n if (\n performance &&\n typeof performance.now === 'function' &&\n getNow() > document.createEvent('Event').timeStamp\n ) {\n // if the event timestamp, although evaluated AFTER the Date.now(), is\n // smaller than it, it means the event is using a hi-res timestamp,\n // and we need to use the hi-res version for event listener timestamps as\n // well.\n getNow = function () { return performance.now(); };\n }\n}\n\n/**\n * Flush both queues and run the watchers.\n */\nfunction flushSchedulerQueue () {\n currentFlushTimestamp = getNow();\n flushing = true;\n var watcher, id;\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)\n // 2. A component's user watchers are run before its render watcher (because\n // user watchers are created before the render watcher)\n // 3. If a component is destroyed during a parent component's watcher run,\n // its watchers can be skipped.\n queue.sort(function (a, b) { return a.id - b.id; });\n\n // do not cache length because more watchers might be pushed\n // as we run existing watchers\n for (index = 0; index < queue.length; index++) {\n watcher = queue[index];\n if (watcher.before) {\n watcher.before();\n }\n id = watcher.id;\n has[id] = null;\n watcher.run();\n // in dev build, check and stop circular updates.\n if (process.env.NODE_ENV !== 'production' && has[id] != null) {\n circular[id] = (circular[id] || 0) + 1;\n if (circular[id] > MAX_UPDATE_COUNT) {\n warn(\n 'You may have an infinite update loop ' + (\n watcher.user\n ? (\"in watcher with expression \\\"\" + (watcher.expression) + \"\\\"\")\n : \"in a component render function.\"\n ),\n watcher.vm\n );\n break\n }\n }\n }\n\n // keep copies of post queues before resetting state\n var activatedQueue = activatedChildren.slice();\n var updatedQueue = queue.slice();\n\n resetSchedulerState();\n\n // call component updated and activated hooks\n callActivatedHooks(activatedQueue);\n callUpdatedHooks(updatedQueue);\n\n // devtool hook\n /* istanbul ignore if */\n if (devtools && config.devtools) {\n devtools.emit('flush');\n }\n}\n\nfunction callUpdatedHooks (queue) {\n var i = queue.length;\n while (i--) {\n var watcher = queue[i];\n var vm = watcher.vm;\n if (vm._watcher === watcher && vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'updated');\n }\n }\n}\n\n/**\n * Queue a kept-alive component that was activated during patch.\n * The queue will be processed after the entire tree has been patched.\n */\nfunction queueActivatedComponent (vm) {\n // setting _inactive to false here so that a render function can\n // rely on checking whether it's in an inactive tree (e.g. router-view)\n vm._inactive = false;\n activatedChildren.push(vm);\n}\n\nfunction callActivatedHooks (queue) {\n for (var i = 0; i < queue.length; i++) {\n queue[i]._inactive = true;\n activateChildComponent(queue[i], true /* true */);\n }\n}\n\n/**\n * Push a watcher into the watcher queue.\n * Jobs with duplicate IDs will be skipped unless it's\n * pushed when the queue is being flushed.\n */\nfunction queueWatcher (watcher) {\n var id = watcher.id;\n if (has[id] == null) {\n has[id] = true;\n if (!flushing) {\n queue.push(watcher);\n } else {\n // if already flushing, splice the watcher based on its id\n // if already past its id, it will be run next immediately.\n var i = queue.length - 1;\n while (i > index && queue[i].id > watcher.id) {\n i--;\n }\n queue.splice(i + 1, 0, watcher);\n }\n // queue the flush\n if (!waiting) {\n waiting = true;\n\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n flushSchedulerQueue();\n return\n }\n nextTick(flushSchedulerQueue);\n }\n }\n}\n\n/* */\n\n\n\nvar uid$2 = 0;\n\n/**\n * A watcher parses an expression, collects dependencies,\n * and fires callback when the expression value changes.\n * This is used for both the $watch() api and directives.\n */\nvar Watcher = function Watcher (\n vm,\n expOrFn,\n cb,\n options,\n isRenderWatcher\n) {\n this.vm = vm;\n if (isRenderWatcher) {\n vm._watcher = this;\n }\n vm._watchers.push(this);\n // options\n if (options) {\n this.deep = !!options.deep;\n this.user = !!options.user;\n this.lazy = !!options.lazy;\n this.sync = !!options.sync;\n this.before = options.before;\n } else {\n this.deep = this.user = this.lazy = this.sync = false;\n }\n this.cb = cb;\n this.id = ++uid$2; // uid for batching\n this.active = true;\n this.dirty = this.lazy; // for lazy watchers\n this.deps = [];\n this.newDeps = [];\n this.depIds = new _Set();\n this.newDepIds = new _Set();\n this.expression = process.env.NODE_ENV !== 'production'\n ? expOrFn.toString()\n : '';\n // parse expression for getter\n if (typeof expOrFn === 'function') {\n this.getter = expOrFn;\n } else {\n this.getter = parsePath(expOrFn);\n if (!this.getter) {\n this.getter = noop;\n process.env.NODE_ENV !== 'production' && warn(\n \"Failed watching path: \\\"\" + expOrFn + \"\\\" \" +\n 'Watcher only accepts simple dot-delimited paths. ' +\n 'For full control, use a function instead.',\n vm\n );\n }\n }\n this.value = this.lazy\n ? undefined\n : this.get();\n};\n\n/**\n * Evaluate the getter, and re-collect dependencies.\n */\nWatcher.prototype.get = function get () {\n pushTarget(this);\n var value;\n var vm = this.vm;\n try {\n value = this.getter.call(vm, vm);\n } catch (e) {\n if (this.user) {\n handleError(e, vm, (\"getter for watcher \\\"\" + (this.expression) + \"\\\"\"));\n } else {\n throw e\n }\n } finally {\n // \"touch\" every property so they are all tracked as\n // dependencies for deep watching\n if (this.deep) {\n traverse(value);\n }\n popTarget();\n this.cleanupDeps();\n }\n return value\n};\n\n/**\n * Add a dependency to this directive.\n */\nWatcher.prototype.addDep = function addDep (dep) {\n var id = dep.id;\n if (!this.newDepIds.has(id)) {\n this.newDepIds.add(id);\n this.newDeps.push(dep);\n if (!this.depIds.has(id)) {\n dep.addSub(this);\n }\n }\n};\n\n/**\n * Clean up for dependency collection.\n */\nWatcher.prototype.cleanupDeps = function cleanupDeps () {\n var i = this.deps.length;\n while (i--) {\n var dep = this.deps[i];\n if (!this.newDepIds.has(dep.id)) {\n dep.removeSub(this);\n }\n }\n var tmp = this.depIds;\n this.depIds = this.newDepIds;\n this.newDepIds = tmp;\n this.newDepIds.clear();\n tmp = this.deps;\n this.deps = this.newDeps;\n this.newDeps = tmp;\n this.newDeps.length = 0;\n};\n\n/**\n * Subscriber interface.\n * Will be called when a dependency changes.\n */\nWatcher.prototype.update = function update () {\n /* istanbul ignore else */\n if (this.lazy) {\n this.dirty = true;\n } else if (this.sync) {\n this.run();\n } else {\n queueWatcher(this);\n }\n};\n\n/**\n * Scheduler job interface.\n * Will be called by the scheduler.\n */\nWatcher.prototype.run = function run () {\n if (this.active) {\n var value = this.get();\n if (\n value !== this.value ||\n // Deep watchers and watchers on Object/Arrays should fire even\n // when the value is the same, because the value may\n // have mutated.\n isObject(value) ||\n this.deep\n ) {\n // set new value\n var oldValue = this.value;\n this.value = value;\n if (this.user) {\n try {\n this.cb.call(this.vm, value, oldValue);\n } catch (e) {\n handleError(e, this.vm, (\"callback for watcher \\\"\" + (this.expression) + \"\\\"\"));\n }\n } else {\n this.cb.call(this.vm, value, oldValue);\n }\n }\n }\n};\n\n/**\n * Evaluate the value of the watcher.\n * This only gets called for lazy watchers.\n */\nWatcher.prototype.evaluate = function evaluate () {\n this.value = this.get();\n this.dirty = false;\n};\n\n/**\n * Depend on all deps collected by this watcher.\n */\nWatcher.prototype.depend = function depend () {\n var i = this.deps.length;\n while (i--) {\n this.deps[i].depend();\n }\n};\n\n/**\n * Remove self from all dependencies' subscriber list.\n */\nWatcher.prototype.teardown = function teardown () {\n if (this.active) {\n // remove self from vm's watcher list\n // this is a somewhat expensive operation so we skip it\n // if the vm is being destroyed.\n if (!this.vm._isBeingDestroyed) {\n remove(this.vm._watchers, this);\n }\n var i = this.deps.length;\n while (i--) {\n this.deps[i].removeSub(this);\n }\n this.active = false;\n }\n};\n\n/* */\n\nvar sharedPropertyDefinition = {\n enumerable: true,\n configurable: true,\n get: noop,\n set: noop\n};\n\nfunction proxy (target, sourceKey, key) {\n sharedPropertyDefinition.get = function proxyGetter () {\n return this[sourceKey][key]\n };\n sharedPropertyDefinition.set = function proxySetter (val) {\n this[sourceKey][key] = val;\n };\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction initState (vm) {\n vm._watchers = [];\n var opts = vm.$options;\n if (opts.props) { initProps(vm, opts.props); }\n if (opts.methods) { initMethods(vm, opts.methods); }\n if (opts.data) {\n initData(vm);\n } else {\n observe(vm._data = {}, true /* asRootData */);\n }\n if (opts.computed) { initComputed(vm, opts.computed); }\n if (opts.watch && opts.watch !== nativeWatch) {\n initWatch(vm, opts.watch);\n }\n}\n\nfunction initProps (vm, propsOptions) {\n var propsData = vm.$options.propsData || {};\n var props = vm._props = {};\n // cache prop keys so that future props updates can iterate using Array\n // instead of dynamic object key enumeration.\n var keys = vm.$options._propKeys = [];\n var isRoot = !vm.$parent;\n // root instance props should be converted\n if (!isRoot) {\n toggleObserving(false);\n }\n var loop = function ( key ) {\n keys.push(key);\n var value = validateProp(key, propsOptions, propsData, vm);\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n var hyphenatedKey = hyphenate(key);\n if (isReservedAttribute(hyphenatedKey) ||\n config.isReservedAttr(hyphenatedKey)) {\n warn(\n (\"\\\"\" + hyphenatedKey + \"\\\" is a reserved attribute and cannot be used as component prop.\"),\n vm\n );\n }\n defineReactive$$1(props, key, value, function () {\n if (!isRoot && !isUpdatingChildComponent) {\n {\n if(vm.mpHost === 'mp-baidu' || vm.mpHost === 'mp-kuaishou' || vm.mpHost === 'mp-xhs'){//百度、快手、小红书 observer 在 setData callback 之后触发,直接忽略该 warn\n return\n }\n //fixed by xxxxxx __next_tick_pending,uni://form-field 时不告警\n if(\n key === 'value' && \n Array.isArray(vm.$options.behaviors) &&\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\n ){\n return\n }\n if(vm._getFormData){\n return\n }\n var $parent = vm.$parent;\n while($parent){\n if($parent.__next_tick_pending){\n return \n }\n $parent = $parent.$parent;\n }\n }\n warn(\n \"Avoid mutating a prop directly since the value will be \" +\n \"overwritten whenever the parent component re-renders. \" +\n \"Instead, use a data or computed property based on the prop's \" +\n \"value. Prop being mutated: \\\"\" + key + \"\\\"\",\n vm\n );\n }\n });\n } else {\n defineReactive$$1(props, key, value);\n }\n // static props are already proxied on the component's prototype\n // during Vue.extend(). We only need to proxy props defined at\n // instantiation here.\n if (!(key in vm)) {\n proxy(vm, \"_props\", key);\n }\n };\n\n for (var key in propsOptions) loop( key );\n toggleObserving(true);\n}\n\nfunction initData (vm) {\n var data = vm.$options.data;\n data = vm._data = typeof data === 'function'\n ? getData(data, vm)\n : data || {};\n if (!isPlainObject(data)) {\n data = {};\n process.env.NODE_ENV !== 'production' && warn(\n 'data functions should return an object:\\n' +\n 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function',\n vm\n );\n }\n // proxy data on instance\n var keys = Object.keys(data);\n var props = vm.$options.props;\n var methods = vm.$options.methods;\n var i = keys.length;\n while (i--) {\n var key = keys[i];\n if (process.env.NODE_ENV !== 'production') {\n if (methods && hasOwn(methods, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a data property.\"),\n vm\n );\n }\n }\n if (props && hasOwn(props, key)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"The data property \\\"\" + key + \"\\\" is already declared as a prop. \" +\n \"Use prop default value instead.\",\n vm\n );\n } else if (!isReserved(key)) {\n proxy(vm, \"_data\", key);\n }\n }\n // observe data\n observe(data, true /* asRootData */);\n}\n\nfunction getData (data, vm) {\n // #7573 disable dep collection when invoking data getters\n pushTarget();\n try {\n return data.call(vm, vm)\n } catch (e) {\n handleError(e, vm, \"data()\");\n return {}\n } finally {\n popTarget();\n }\n}\n\nvar computedWatcherOptions = { lazy: true };\n\nfunction initComputed (vm, computed) {\n // $flow-disable-line\n var watchers = vm._computedWatchers = Object.create(null);\n // computed properties are just getters during SSR\n var isSSR = isServerRendering();\n\n for (var key in computed) {\n var userDef = computed[key];\n var getter = typeof userDef === 'function' ? userDef : userDef.get;\n if (process.env.NODE_ENV !== 'production' && getter == null) {\n warn(\n (\"Getter is missing for computed property \\\"\" + key + \"\\\".\"),\n vm\n );\n }\n\n if (!isSSR) {\n // create internal watcher for the computed property.\n watchers[key] = new Watcher(\n vm,\n getter || noop,\n noop,\n computedWatcherOptions\n );\n }\n\n // component-defined computed properties are already defined on the\n // component prototype. We only need to define computed properties defined\n // at instantiation here.\n if (!(key in vm)) {\n defineComputed(vm, key, userDef);\n } else if (process.env.NODE_ENV !== 'production') {\n if (key in vm.$data) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined in data.\"), vm);\n } else if (vm.$options.props && key in vm.$options.props) {\n warn((\"The computed property \\\"\" + key + \"\\\" is already defined as a prop.\"), vm);\n }\n }\n }\n}\n\nfunction defineComputed (\n target,\n key,\n userDef\n) {\n var shouldCache = !isServerRendering();\n if (typeof userDef === 'function') {\n sharedPropertyDefinition.get = shouldCache\n ? createComputedGetter(key)\n : createGetterInvoker(userDef);\n sharedPropertyDefinition.set = noop;\n } else {\n sharedPropertyDefinition.get = userDef.get\n ? shouldCache && userDef.cache !== false\n ? createComputedGetter(key)\n : createGetterInvoker(userDef.get)\n : noop;\n sharedPropertyDefinition.set = userDef.set || noop;\n }\n if (process.env.NODE_ENV !== 'production' &&\n sharedPropertyDefinition.set === noop) {\n sharedPropertyDefinition.set = function () {\n warn(\n (\"Computed property \\\"\" + key + \"\\\" was assigned to but it has no setter.\"),\n this\n );\n };\n }\n Object.defineProperty(target, key, sharedPropertyDefinition);\n}\n\nfunction createComputedGetter (key) {\n return function computedGetter () {\n var watcher = this._computedWatchers && this._computedWatchers[key];\n if (watcher) {\n if (watcher.dirty) {\n watcher.evaluate();\n }\n if (Dep.SharedObject.target) {// fixed by xxxxxx\n watcher.depend();\n }\n return watcher.value\n }\n }\n}\n\nfunction createGetterInvoker(fn) {\n return function computedGetter () {\n return fn.call(this, this)\n }\n}\n\nfunction initMethods (vm, methods) {\n var props = vm.$options.props;\n for (var key in methods) {\n if (process.env.NODE_ENV !== 'production') {\n if (typeof methods[key] !== 'function') {\n warn(\n \"Method \\\"\" + key + \"\\\" has type \\\"\" + (typeof methods[key]) + \"\\\" in the component definition. \" +\n \"Did you reference the function correctly?\",\n vm\n );\n }\n if (props && hasOwn(props, key)) {\n warn(\n (\"Method \\\"\" + key + \"\\\" has already been defined as a prop.\"),\n vm\n );\n }\n if ((key in vm) && isReserved(key)) {\n warn(\n \"Method \\\"\" + key + \"\\\" conflicts with an existing Vue instance method. \" +\n \"Avoid defining component methods that start with _ or $.\"\n );\n }\n }\n vm[key] = typeof methods[key] !== 'function' ? noop : bind(methods[key], vm);\n }\n}\n\nfunction initWatch (vm, watch) {\n for (var key in watch) {\n var handler = watch[key];\n if (Array.isArray(handler)) {\n for (var i = 0; i < handler.length; i++) {\n createWatcher(vm, key, handler[i]);\n }\n } else {\n createWatcher(vm, key, handler);\n }\n }\n}\n\nfunction createWatcher (\n vm,\n expOrFn,\n handler,\n options\n) {\n if (isPlainObject(handler)) {\n options = handler;\n handler = handler.handler;\n }\n if (typeof handler === 'string') {\n handler = vm[handler];\n }\n return vm.$watch(expOrFn, handler, options)\n}\n\nfunction stateMixin (Vue) {\n // flow somehow has problems with directly declared definition object\n // when using Object.defineProperty, so we have to procedurally build up\n // the object here.\n var dataDef = {};\n dataDef.get = function () { return this._data };\n var propsDef = {};\n propsDef.get = function () { return this._props };\n if (process.env.NODE_ENV !== 'production') {\n dataDef.set = function () {\n warn(\n 'Avoid replacing instance root $data. ' +\n 'Use nested data properties instead.',\n this\n );\n };\n propsDef.set = function () {\n warn(\"$props is readonly.\", this);\n };\n }\n Object.defineProperty(Vue.prototype, '$data', dataDef);\n Object.defineProperty(Vue.prototype, '$props', propsDef);\n\n Vue.prototype.$set = set;\n Vue.prototype.$delete = del;\n\n Vue.prototype.$watch = function (\n expOrFn,\n cb,\n options\n ) {\n var vm = this;\n if (isPlainObject(cb)) {\n return createWatcher(vm, expOrFn, cb, options)\n }\n options = options || {};\n options.user = true;\n var watcher = new Watcher(vm, expOrFn, cb, options);\n if (options.immediate) {\n try {\n cb.call(vm, watcher.value);\n } catch (error) {\n handleError(error, vm, (\"callback for immediate watcher \\\"\" + (watcher.expression) + \"\\\"\"));\n }\n }\n return function unwatchFn () {\n watcher.teardown();\n }\n };\n}\n\n/* */\n\nvar uid$3 = 0;\n\nfunction initMixin (Vue) {\n Vue.prototype._init = function (options) {\n var vm = this;\n // a uid\n vm._uid = uid$3++;\n\n var startTag, endTag;\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n startTag = \"vue-perf-start:\" + (vm._uid);\n endTag = \"vue-perf-end:\" + (vm._uid);\n mark(startTag);\n }\n\n // a flag to avoid this being observed\n vm._isVue = true;\n // merge options\n if (options && options._isComponent) {\n // optimize internal component instantiation\n // since dynamic options merging is pretty slow, and none of the\n // internal component options needs special treatment.\n initInternalComponent(vm, options);\n } else {\n vm.$options = mergeOptions(\n resolveConstructorOptions(vm.constructor),\n options || {},\n vm\n );\n }\n /* istanbul ignore else */\n if (process.env.NODE_ENV !== 'production') {\n initProxy(vm);\n } else {\n vm._renderProxy = vm;\n }\n // expose real self\n vm._self = vm;\n initLifecycle(vm);\n initEvents(vm);\n initRender(vm);\n callHook(vm, 'beforeCreate');\n !vm._$fallback && initInjections(vm); // resolve injections before data/props \n initState(vm);\n !vm._$fallback && initProvide(vm); // resolve provide after data/props\n !vm._$fallback && callHook(vm, 'created'); \n\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && config.performance && mark) {\n vm._name = formatComponentName(vm, false);\n mark(endTag);\n measure((\"vue \" + (vm._name) + \" init\"), startTag, endTag);\n }\n\n if (vm.$options.el) {\n vm.$mount(vm.$options.el);\n }\n };\n}\n\nfunction initInternalComponent (vm, options) {\n var opts = vm.$options = Object.create(vm.constructor.options);\n // doing this because it's faster than dynamic enumeration.\n var parentVnode = options._parentVnode;\n opts.parent = options.parent;\n opts._parentVnode = parentVnode;\n\n var vnodeComponentOptions = parentVnode.componentOptions;\n opts.propsData = vnodeComponentOptions.propsData;\n opts._parentListeners = vnodeComponentOptions.listeners;\n opts._renderChildren = vnodeComponentOptions.children;\n opts._componentTag = vnodeComponentOptions.tag;\n\n if (options.render) {\n opts.render = options.render;\n opts.staticRenderFns = options.staticRenderFns;\n }\n}\n\nfunction resolveConstructorOptions (Ctor) {\n var options = Ctor.options;\n if (Ctor.super) {\n var superOptions = resolveConstructorOptions(Ctor.super);\n var cachedSuperOptions = Ctor.superOptions;\n if (superOptions !== cachedSuperOptions) {\n // super option changed,\n // need to resolve new options.\n Ctor.superOptions = superOptions;\n // check if there are any late-modified/attached options (#4976)\n var modifiedOptions = resolveModifiedOptions(Ctor);\n // update base extend options\n if (modifiedOptions) {\n extend(Ctor.extendOptions, modifiedOptions);\n }\n options = Ctor.options = mergeOptions(superOptions, Ctor.extendOptions);\n if (options.name) {\n options.components[options.name] = Ctor;\n }\n }\n }\n return options\n}\n\nfunction resolveModifiedOptions (Ctor) {\n var modified;\n var latest = Ctor.options;\n var sealed = Ctor.sealedOptions;\n for (var key in latest) {\n if (latest[key] !== sealed[key]) {\n if (!modified) { modified = {}; }\n modified[key] = latest[key];\n }\n }\n return modified\n}\n\nfunction Vue (options) {\n if (process.env.NODE_ENV !== 'production' &&\n !(this instanceof Vue)\n ) {\n warn('Vue is a constructor and should be called with the `new` keyword');\n }\n this._init(options);\n}\n\ninitMixin(Vue);\nstateMixin(Vue);\neventsMixin(Vue);\nlifecycleMixin(Vue);\nrenderMixin(Vue);\n\n/* */\n\nfunction initUse (Vue) {\n Vue.use = function (plugin) {\n var installedPlugins = (this._installedPlugins || (this._installedPlugins = []));\n if (installedPlugins.indexOf(plugin) > -1) {\n return this\n }\n\n // additional parameters\n var args = toArray(arguments, 1);\n args.unshift(this);\n if (typeof plugin.install === 'function') {\n plugin.install.apply(plugin, args);\n } else if (typeof plugin === 'function') {\n plugin.apply(null, args);\n }\n installedPlugins.push(plugin);\n return this\n };\n}\n\n/* */\n\nfunction initMixin$1 (Vue) {\n Vue.mixin = function (mixin) {\n this.options = mergeOptions(this.options, mixin);\n return this\n };\n}\n\n/* */\n\nfunction initExtend (Vue) {\n /**\n * Each instance constructor, including Vue, has a unique\n * cid. This enables us to create wrapped \"child\n * constructors\" for prototypal inheritance and cache them.\n */\n Vue.cid = 0;\n var cid = 1;\n\n /**\n * Class inheritance\n */\n Vue.extend = function (extendOptions) {\n extendOptions = extendOptions || {};\n var Super = this;\n var SuperId = Super.cid;\n var cachedCtors = extendOptions._Ctor || (extendOptions._Ctor = {});\n if (cachedCtors[SuperId]) {\n return cachedCtors[SuperId]\n }\n\n var name = extendOptions.name || Super.options.name;\n if (process.env.NODE_ENV !== 'production' && name) {\n validateComponentName(name);\n }\n\n var Sub = function VueComponent (options) {\n this._init(options);\n };\n Sub.prototype = Object.create(Super.prototype);\n Sub.prototype.constructor = Sub;\n Sub.cid = cid++;\n Sub.options = mergeOptions(\n Super.options,\n extendOptions\n );\n Sub['super'] = Super;\n\n // For props and computed properties, we define the proxy getters on\n // the Vue instances at extension time, on the extended prototype. This\n // avoids Object.defineProperty calls for each instance created.\n if (Sub.options.props) {\n initProps$1(Sub);\n }\n if (Sub.options.computed) {\n initComputed$1(Sub);\n }\n\n // allow further extension/mixin/plugin usage\n Sub.extend = Super.extend;\n Sub.mixin = Super.mixin;\n Sub.use = Super.use;\n\n // create asset registers, so extended classes\n // can have their private assets too.\n ASSET_TYPES.forEach(function (type) {\n Sub[type] = Super[type];\n });\n // enable recursive self-lookup\n if (name) {\n Sub.options.components[name] = Sub;\n }\n\n // keep a reference to the super options at extension time.\n // later at instantiation we can check if Super's options have\n // been updated.\n Sub.superOptions = Super.options;\n Sub.extendOptions = extendOptions;\n Sub.sealedOptions = extend({}, Sub.options);\n\n // cache constructor\n cachedCtors[SuperId] = Sub;\n return Sub\n };\n}\n\nfunction initProps$1 (Comp) {\n var props = Comp.options.props;\n for (var key in props) {\n proxy(Comp.prototype, \"_props\", key);\n }\n}\n\nfunction initComputed$1 (Comp) {\n var computed = Comp.options.computed;\n for (var key in computed) {\n defineComputed(Comp.prototype, key, computed[key]);\n }\n}\n\n/* */\n\nfunction initAssetRegisters (Vue) {\n /**\n * Create asset registration methods.\n */\n ASSET_TYPES.forEach(function (type) {\n Vue[type] = function (\n id,\n definition\n ) {\n if (!definition) {\n return this.options[type + 's'][id]\n } else {\n /* istanbul ignore if */\n if (process.env.NODE_ENV !== 'production' && type === 'component') {\n validateComponentName(id);\n }\n if (type === 'component' && isPlainObject(definition)) {\n definition.name = definition.name || id;\n definition = this.options._base.extend(definition);\n }\n if (type === 'directive' && typeof definition === 'function') {\n definition = { bind: definition, update: definition };\n }\n this.options[type + 's'][id] = definition;\n return definition\n }\n };\n });\n}\n\n/* */\n\n\n\nfunction getComponentName (opts) {\n return opts && (opts.Ctor.options.name || opts.tag)\n}\n\nfunction matches (pattern, name) {\n if (Array.isArray(pattern)) {\n return pattern.indexOf(name) > -1\n } else if (typeof pattern === 'string') {\n return pattern.split(',').indexOf(name) > -1\n } else if (isRegExp(pattern)) {\n return pattern.test(name)\n }\n /* istanbul ignore next */\n return false\n}\n\nfunction pruneCache (keepAliveInstance, filter) {\n var cache = keepAliveInstance.cache;\n var keys = keepAliveInstance.keys;\n var _vnode = keepAliveInstance._vnode;\n for (var key in cache) {\n var cachedNode = cache[key];\n if (cachedNode) {\n var name = getComponentName(cachedNode.componentOptions);\n if (name && !filter(name)) {\n pruneCacheEntry(cache, key, keys, _vnode);\n }\n }\n }\n}\n\nfunction pruneCacheEntry (\n cache,\n key,\n keys,\n current\n) {\n var cached$$1 = cache[key];\n if (cached$$1 && (!current || cached$$1.tag !== current.tag)) {\n cached$$1.componentInstance.$destroy();\n }\n cache[key] = null;\n remove(keys, key);\n}\n\nvar patternTypes = [String, RegExp, Array];\n\nvar KeepAlive = {\n name: 'keep-alive',\n abstract: true,\n\n props: {\n include: patternTypes,\n exclude: patternTypes,\n max: [String, Number]\n },\n\n created: function created () {\n this.cache = Object.create(null);\n this.keys = [];\n },\n\n destroyed: function destroyed () {\n for (var key in this.cache) {\n pruneCacheEntry(this.cache, key, this.keys);\n }\n },\n\n mounted: function mounted () {\n var this$1 = this;\n\n this.$watch('include', function (val) {\n pruneCache(this$1, function (name) { return matches(val, name); });\n });\n this.$watch('exclude', function (val) {\n pruneCache(this$1, function (name) { return !matches(val, name); });\n });\n },\n\n render: function render () {\n var slot = this.$slots.default;\n var vnode = getFirstComponentChild(slot);\n var componentOptions = vnode && vnode.componentOptions;\n if (componentOptions) {\n // check pattern\n var name = getComponentName(componentOptions);\n var ref = this;\n var include = ref.include;\n var exclude = ref.exclude;\n if (\n // not included\n (include && (!name || !matches(include, name))) ||\n // excluded\n (exclude && name && matches(exclude, name))\n ) {\n return vnode\n }\n\n var ref$1 = this;\n var cache = ref$1.cache;\n var keys = ref$1.keys;\n var key = vnode.key == null\n // same constructor may get registered as different local components\n // so cid alone is not enough (#3269)\n ? componentOptions.Ctor.cid + (componentOptions.tag ? (\"::\" + (componentOptions.tag)) : '')\n : vnode.key;\n if (cache[key]) {\n vnode.componentInstance = cache[key].componentInstance;\n // make current key freshest\n remove(keys, key);\n keys.push(key);\n } else {\n cache[key] = vnode;\n keys.push(key);\n // prune oldest entry\n if (this.max && keys.length > parseInt(this.max)) {\n pruneCacheEntry(cache, keys[0], keys, this._vnode);\n }\n }\n\n vnode.data.keepAlive = true;\n }\n return vnode || (slot && slot[0])\n }\n};\n\nvar builtInComponents = {\n KeepAlive: KeepAlive\n};\n\n/* */\n\nfunction initGlobalAPI (Vue) {\n // config\n var configDef = {};\n configDef.get = function () { return config; };\n if (process.env.NODE_ENV !== 'production') {\n configDef.set = function () {\n warn(\n 'Do not replace the Vue.config object, set individual fields instead.'\n );\n };\n }\n Object.defineProperty(Vue, 'config', configDef);\n\n // exposed util methods.\n // NOTE: these are not considered part of the public API - avoid relying on\n // them unless you are aware of the risk.\n Vue.util = {\n warn: warn,\n extend: extend,\n mergeOptions: mergeOptions,\n defineReactive: defineReactive$$1\n };\n\n Vue.set = set;\n Vue.delete = del;\n Vue.nextTick = nextTick;\n\n // 2.6 explicit observable API\n Vue.observable = function (obj) {\n observe(obj);\n return obj\n };\n\n Vue.options = Object.create(null);\n ASSET_TYPES.forEach(function (type) {\n Vue.options[type + 's'] = Object.create(null);\n });\n\n // this is used to identify the \"base\" constructor to extend all plain-object\n // components with in Weex's multi-instance scenarios.\n Vue.options._base = Vue;\n\n extend(Vue.options.components, builtInComponents);\n\n initUse(Vue);\n initMixin$1(Vue);\n initExtend(Vue);\n initAssetRegisters(Vue);\n}\n\ninitGlobalAPI(Vue);\n\nObject.defineProperty(Vue.prototype, '$isServer', {\n get: isServerRendering\n});\n\nObject.defineProperty(Vue.prototype, '$ssrContext', {\n get: function get () {\n /* istanbul ignore next */\n return this.$vnode && this.$vnode.ssrContext\n }\n});\n\n// expose FunctionalRenderContext for ssr runtime helper installation\nObject.defineProperty(Vue, 'FunctionalRenderContext', {\n value: FunctionalRenderContext\n});\n\nVue.version = '2.6.11';\n\n/**\n * https://raw.githubusercontent.com/Tencent/westore/master/packages/westore/utils/diff.js\n */\nvar ARRAYTYPE = '[object Array]';\nvar OBJECTTYPE = '[object Object]';\nvar NULLTYPE = '[object Null]';\nvar UNDEFINEDTYPE = '[object Undefined]';\n// const FUNCTIONTYPE = '[object Function]'\n\nfunction diff(current, pre) {\n var result = {};\n syncKeys(current, pre);\n _diff(current, pre, '', result);\n return result\n}\n\nfunction syncKeys(current, pre) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE && rootPreType == OBJECTTYPE) {\n if(Object.keys(current).length >= Object.keys(pre).length){\n for (var key in pre) {\n var currentValue = current[key];\n if (currentValue === undefined) {\n current[key] = null;\n } else {\n syncKeys(currentValue, pre[key]);\n }\n }\n }\n } else if (rootCurrentType == ARRAYTYPE && rootPreType == ARRAYTYPE) {\n if (current.length >= pre.length) {\n pre.forEach(function (item, index) {\n syncKeys(current[index], item);\n });\n }\n }\n}\n\nfunction nullOrUndefined(currentType, preType) {\n if(\n (currentType === NULLTYPE || currentType === UNDEFINEDTYPE) && \n (preType === NULLTYPE || preType === UNDEFINEDTYPE)\n ) {\n return false\n }\n return true\n}\n\nfunction _diff(current, pre, path, result) {\n if (current === pre) { return }\n var rootCurrentType = type(current);\n var rootPreType = type(pre);\n if (rootCurrentType == OBJECTTYPE) {\n if (rootPreType != OBJECTTYPE || Object.keys(current).length < Object.keys(pre).length) {\n setResult(result, path, current);\n } else {\n var loop = function ( key ) {\n var currentValue = current[key];\n var preValue = pre[key];\n var currentType = type(currentValue);\n var preType = type(preValue);\n if (currentType != ARRAYTYPE && currentType != OBJECTTYPE) {\n if (currentValue !== pre[key] && nullOrUndefined(currentType, preType)) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n }\n } else if (currentType == ARRAYTYPE) {\n if (preType != ARRAYTYPE) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n if (currentValue.length < preValue.length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n currentValue.forEach(function (item, index) {\n _diff(item, preValue[index], (path == '' ? '' : path + \".\") + key + '[' + index + ']', result);\n });\n }\n }\n } else if (currentType == OBJECTTYPE) {\n if (preType != OBJECTTYPE || Object.keys(currentValue).length < Object.keys(preValue).length) {\n setResult(result, (path == '' ? '' : path + \".\") + key, currentValue);\n } else {\n for (var subKey in currentValue) {\n _diff(currentValue[subKey], preValue[subKey], (path == '' ? '' : path + \".\") + key + '.' + subKey, result);\n }\n }\n }\n };\n\n for (var key in current) loop( key );\n }\n } else if (rootCurrentType == ARRAYTYPE) {\n if (rootPreType != ARRAYTYPE) {\n setResult(result, path, current);\n } else {\n if (current.length < pre.length) {\n setResult(result, path, current);\n } else {\n current.forEach(function (item, index) {\n _diff(item, pre[index], path + '[' + index + ']', result);\n });\n }\n }\n } else {\n setResult(result, path, current);\n }\n}\n\nfunction setResult(result, k, v) {\n // if (type(v) != FUNCTIONTYPE) {\n result[k] = v;\n // }\n}\n\nfunction type(obj) {\n return Object.prototype.toString.call(obj)\n}\n\n/* */\r\n\r\nfunction flushCallbacks$1(vm) {\r\n if (vm.__next_tick_callbacks && vm.__next_tick_callbacks.length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n var mpInstance = vm.$scope;\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\r\n ']:flushCallbacks[' + vm.__next_tick_callbacks.length + ']');\r\n }\r\n var copies = vm.__next_tick_callbacks.slice(0);\r\n vm.__next_tick_callbacks.length = 0;\r\n for (var i = 0; i < copies.length; i++) {\r\n copies[i]();\r\n }\r\n }\r\n}\r\n\r\nfunction hasRenderWatcher(vm) {\r\n return queue.find(function (watcher) { return vm._watcher === watcher; })\r\n}\r\n\r\nfunction nextTick$1(vm, cb) {\r\n //1.nextTick 之前 已 setData 且 setData 还未回调完成\r\n //2.nextTick 之前存在 render watcher\r\n if (!vm.__next_tick_pending && !hasRenderWatcher(vm)) {\n if(process.env.VUE_APP_DEBUG){\n var mpInstance = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + vm._uid +\n ']:nextVueTick');\n }\r\n return nextTick(cb, vm)\r\n }else{\n if(process.env.VUE_APP_DEBUG){\n var mpInstance$1 = vm.$scope;\n console.log('[' + (+new Date) + '][' + (mpInstance$1.is || mpInstance$1.route) + '][' + vm._uid +\n ']:nextMPTick');\n }\n }\r\n var _resolve;\r\n if (!vm.__next_tick_callbacks) {\r\n vm.__next_tick_callbacks = [];\r\n }\r\n vm.__next_tick_callbacks.push(function () {\r\n if (cb) {\r\n try {\r\n cb.call(vm);\r\n } catch (e) {\r\n handleError(e, vm, 'nextTick');\r\n }\r\n } else if (_resolve) {\r\n _resolve(vm);\r\n }\r\n });\r\n // $flow-disable-line\r\n if (!cb && typeof Promise !== 'undefined') {\r\n return new Promise(function (resolve) {\r\n _resolve = resolve;\r\n })\r\n }\r\n}\n\n/* */\r\n\r\nfunction clearInstance(key, value) {\r\n // 简易去除 Vue 和小程序组件实例\r\n if (value) {\r\n if (value._isVue || value.__v_isMPComponent) {\r\n return {}\r\n }\r\n }\r\n return value\r\n}\r\n\r\nfunction cloneWithData(vm) {\r\n // 确保当前 vm 所有数据被同步\r\n var ret = Object.create(null);\r\n var dataKeys = [].concat(\r\n Object.keys(vm._data || {}),\r\n Object.keys(vm._computedWatchers || {}));\r\n\r\n dataKeys.reduce(function(ret, key) {\r\n ret[key] = vm[key];\r\n return ret\r\n }, ret);\r\n\r\n // vue-composition-api\r\n var compositionApiState = vm.__composition_api_state__ || vm.__secret_vfa_state__;\r\n var rawBindings = compositionApiState && compositionApiState.rawBindings;\r\n if (rawBindings) {\r\n Object.keys(rawBindings).forEach(function (key) {\r\n ret[key] = vm[key];\r\n });\r\n }\r\n\r\n //TODO 需要把无用数据处理掉,比如 list=>l0 则 list 需要移除,否则多传输一份数据\r\n Object.assign(ret, vm.$mp.data || {});\r\n if (\r\n Array.isArray(vm.$options.behaviors) &&\r\n vm.$options.behaviors.indexOf('uni://form-field') !== -1\r\n ) { //form-field\r\n ret['name'] = vm.name;\r\n ret['value'] = vm.value;\r\n }\r\n\r\n return JSON.parse(JSON.stringify(ret, clearInstance))\r\n}\r\n\r\nvar patch = function(oldVnode, vnode) {\n var this$1 = this;\n\r\n if (vnode === null) { //destroy\r\n return\r\n }\r\n if (this.mpType === 'page' || this.mpType === 'component') {\r\n var mpInstance = this.$scope;\r\n var data = Object.create(null);\r\n try {\r\n data = cloneWithData(this);\r\n } catch (err) {\r\n console.error(err);\r\n }\r\n data.__webviewId__ = mpInstance.data.__webviewId__;\r\n var mpData = Object.create(null);\r\n Object.keys(data).forEach(function (key) { //仅同步 data 中有的数据\r\n mpData[key] = mpInstance.data[key];\r\n });\r\n var diffData = this.$shouldDiffData === false ? data : diff(data, mpData);\r\n if (Object.keys(diffData).length) {\r\n if (process.env.VUE_APP_DEBUG) {\r\n console.log('[' + (+new Date) + '][' + (mpInstance.is || mpInstance.route) + '][' + this._uid +\r\n ']差量更新',\r\n JSON.stringify(diffData));\r\n }\r\n this.__next_tick_pending = true;\r\n mpInstance.setData(diffData, function () {\r\n this$1.__next_tick_pending = false;\r\n flushCallbacks$1(this$1);\r\n });\r\n } else {\r\n flushCallbacks$1(this);\r\n }\r\n }\r\n};\n\n/* */\n\nfunction createEmptyRender() {\n\n}\n\nfunction mountComponent$1(\n vm,\n el,\n hydrating\n) {\n if (!vm.mpType) {//main.js 中的 new Vue\n return vm\n }\n if (vm.mpType === 'app') {\n vm.$options.render = createEmptyRender;\n }\n if (!vm.$options.render) {\n vm.$options.render = createEmptyRender;\n if (process.env.NODE_ENV !== 'production') {\n /* istanbul ignore if */\n if ((vm.$options.template && vm.$options.template.charAt(0) !== '#') ||\n vm.$options.el || el) {\n warn(\n 'You are using the runtime-only build of Vue where the template ' +\n 'compiler is not available. Either pre-compile the templates into ' +\n 'render functions, or use the compiler-included build.',\n vm\n );\n } else {\n warn(\n 'Failed to mount component: template or render function not defined.',\n vm\n );\n }\n }\n }\n \n !vm._$fallback && callHook(vm, 'beforeMount');\n\n var updateComponent = function () {\n vm._update(vm._render(), hydrating);\n };\n\n // we set this to vm._watcher inside the watcher's constructor\n // since the watcher's initial patch may call $forceUpdate (e.g. inside child\n // component's mounted hook), which relies on vm._watcher being already defined\n new Watcher(vm, updateComponent, noop, {\n before: function before() {\n if (vm._isMounted && !vm._isDestroyed) {\n callHook(vm, 'beforeUpdate');\n }\n }\n }, true /* isRenderWatcher */);\n hydrating = false;\n return vm\n}\n\n/* */\n\nfunction renderClass (\n staticClass,\n dynamicClass\n) {\n if (isDef(staticClass) || isDef(dynamicClass)) {\n return concat(staticClass, stringifyClass(dynamicClass))\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction concat (a, b) {\n return a ? b ? (a + ' ' + b) : a : (b || '')\n}\n\nfunction stringifyClass (value) {\n if (Array.isArray(value)) {\n return stringifyArray(value)\n }\n if (isObject(value)) {\n return stringifyObject(value)\n }\n if (typeof value === 'string') {\n return value\n }\n /* istanbul ignore next */\n return ''\n}\n\nfunction stringifyArray (value) {\n var res = '';\n var stringified;\n for (var i = 0, l = value.length; i < l; i++) {\n if (isDef(stringified = stringifyClass(value[i])) && stringified !== '') {\n if (res) { res += ' '; }\n res += stringified;\n }\n }\n return res\n}\n\nfunction stringifyObject (value) {\n var res = '';\n for (var key in value) {\n if (value[key]) {\n if (res) { res += ' '; }\n res += key;\n }\n }\n return res\n}\n\n/* */\n\nvar parseStyleText = cached(function (cssText) {\n var res = {};\n var listDelimiter = /;(?![^(]*\\))/g;\n var propertyDelimiter = /:(.+)/;\n cssText.split(listDelimiter).forEach(function (item) {\n if (item) {\n var tmp = item.split(propertyDelimiter);\n tmp.length > 1 && (res[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return res\n});\n\n// normalize possible array / string values into Object\nfunction normalizeStyleBinding (bindingStyle) {\n if (Array.isArray(bindingStyle)) {\n return toObject(bindingStyle)\n }\n if (typeof bindingStyle === 'string') {\n return parseStyleText(bindingStyle)\n }\n return bindingStyle\n}\n\n/* */\r\n\r\nvar MP_METHODS = ['createSelectorQuery', 'createIntersectionObserver', 'selectAllComponents', 'selectComponent'];\r\n\r\nfunction getTarget(obj, path) {\r\n var parts = path.split('.');\r\n var key = parts[0];\r\n if (key.indexOf('__$n') === 0) { //number index\r\n key = parseInt(key.replace('__$n', ''));\r\n }\r\n if (parts.length === 1) {\r\n return obj[key]\r\n }\r\n return getTarget(obj[key], parts.slice(1).join('.'))\r\n}\r\n\r\nfunction internalMixin(Vue) {\r\n\r\n Vue.config.errorHandler = function(err, vm, info) {\r\n Vue.util.warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\r\n console.error(err);\r\n /* eslint-disable no-undef */\r\n var app = typeof getApp === 'function' && getApp();\r\n if (app && app.onError) {\r\n app.onError(err);\r\n }\r\n };\r\n\r\n var oldEmit = Vue.prototype.$emit;\r\n\r\n Vue.prototype.$emit = function(event) {\r\n if (this.$scope && event) {\r\n var triggerEvent = this.$scope['_triggerEvent'] || this.$scope['triggerEvent'];\r\n if (triggerEvent) {\r\n try {\r\n triggerEvent.call(this.$scope, event, {\r\n __args__: toArray(arguments, 1)\r\n });\r\n } catch (error) {\r\n\r\n }\r\n }\r\n }\r\n return oldEmit.apply(this, arguments)\r\n };\r\n\r\n Vue.prototype.$nextTick = function(fn) {\r\n return nextTick$1(this, fn)\r\n };\r\n\r\n MP_METHODS.forEach(function (method) {\r\n Vue.prototype[method] = function(args) {\r\n if (this.$scope && this.$scope[method]) {\r\n return this.$scope[method](args)\r\n }\r\n // mp-alipay\r\n if (typeof my === 'undefined') {\r\n return\r\n }\r\n if (method === 'createSelectorQuery') {\r\n /* eslint-disable no-undef */\r\n return my.createSelectorQuery(args)\r\n } else if (method === 'createIntersectionObserver') {\r\n /* eslint-disable no-undef */\r\n return my.createIntersectionObserver(args)\r\n }\r\n // TODO mp-alipay 暂不支持 selectAllComponents,selectComponent\r\n };\r\n });\r\n\r\n Vue.prototype.__init_provide = initProvide;\r\n\r\n Vue.prototype.__init_injections = initInjections;\r\n\r\n Vue.prototype.__call_hook = function(hook, args) {\r\n var vm = this;\r\n // #7573 disable dep collection when invoking lifecycle hooks\r\n pushTarget();\r\n var handlers = vm.$options[hook];\r\n var info = hook + \" hook\";\r\n var ret;\r\n if (handlers) {\r\n for (var i = 0, j = handlers.length; i < j; i++) {\r\n ret = invokeWithErrorHandling(handlers[i], vm, args ? [args] : null, vm, info);\r\n }\r\n }\r\n if (vm._hasHookEvent) {\r\n vm.$emit('hook:' + hook, args);\r\n }\r\n popTarget();\r\n return ret\r\n };\r\n\r\n Vue.prototype.__set_model = function(target, key, value, modifiers) {\r\n if (Array.isArray(modifiers)) {\r\n if (modifiers.indexOf('trim') !== -1) {\r\n value = value.trim();\r\n }\r\n if (modifiers.indexOf('number') !== -1) {\r\n value = this._n(value);\r\n }\r\n }\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__set_sync = function(target, key, value) {\r\n if (!target) {\r\n target = this;\r\n }\r\n // 解决动态属性添加\r\n Vue.set(target, key, value);\r\n };\r\n\r\n Vue.prototype.__get_orig = function(item) {\r\n if (isPlainObject(item)) {\r\n return item['$orig'] || item\r\n }\r\n return item\r\n };\r\n\r\n Vue.prototype.__get_value = function(dataPath, target) {\r\n return getTarget(target || this, dataPath)\r\n };\r\n\r\n\r\n Vue.prototype.__get_class = function(dynamicClass, staticClass) {\r\n return renderClass(staticClass, dynamicClass)\r\n };\r\n\r\n Vue.prototype.__get_style = function(dynamicStyle, staticStyle) {\r\n if (!dynamicStyle && !staticStyle) {\r\n return ''\r\n }\r\n var dynamicStyleObj = normalizeStyleBinding(dynamicStyle);\r\n var styleObj = staticStyle ? extend(staticStyle, dynamicStyleObj) : dynamicStyleObj;\r\n return Object.keys(styleObj).map(function (name) { return ((hyphenate(name)) + \":\" + (styleObj[name])); }).join(';')\r\n };\r\n\r\n Vue.prototype.__map = function(val, iteratee) {\r\n //TODO 暂不考虑 string\r\n var ret, i, l, keys, key;\r\n if (Array.isArray(val)) {\r\n ret = new Array(val.length);\r\n for (i = 0, l = val.length; i < l; i++) {\r\n ret[i] = iteratee(val[i], i);\r\n }\r\n return ret\r\n } else if (isObject(val)) {\r\n keys = Object.keys(val);\r\n ret = Object.create(null);\r\n for (i = 0, l = keys.length; i < l; i++) {\r\n key = keys[i];\r\n ret[key] = iteratee(val[key], key, i);\r\n }\r\n return ret\r\n } else if (typeof val === 'number') {\r\n ret = new Array(val);\r\n for (i = 0, l = val; i < l; i++) {\r\n // 第一个参数暂时仍和小程序一致\r\n ret[i] = iteratee(i, i);\r\n }\r\n return ret\r\n }\r\n return []\r\n };\r\n\r\n}\n\n/* */\r\n\r\nvar LIFECYCLE_HOOKS$1 = [\r\n //App\r\n 'onLaunch',\r\n 'onShow',\r\n 'onHide',\r\n 'onUniNViewMessage',\r\n 'onPageNotFound',\r\n 'onThemeChange',\r\n 'onError',\r\n 'onUnhandledRejection',\r\n //Page\r\n 'onInit',\r\n 'onLoad',\r\n // 'onShow',\r\n 'onReady',\r\n // 'onHide',\r\n 'onUnload',\r\n 'onPullDownRefresh',\r\n 'onReachBottom',\r\n 'onTabItemTap',\r\n 'onAddToFavorites',\r\n 'onShareTimeline',\r\n 'onShareAppMessage',\r\n 'onResize',\r\n 'onPageScroll',\r\n 'onNavigationBarButtonTap',\r\n 'onBackPress',\r\n 'onNavigationBarSearchInputChanged',\r\n 'onNavigationBarSearchInputConfirmed',\r\n 'onNavigationBarSearchInputClicked',\r\n 'onUploadDouyinVideo',\r\n 'onNFCReadMessage',\r\n //Component\r\n // 'onReady', // 兼容旧版本,应该移除该事件\r\n 'onPageShow',\r\n 'onPageHide',\r\n 'onPageResize'\r\n];\r\nfunction lifecycleMixin$1(Vue) {\r\n\r\n //fixed vue-class-component\r\n var oldExtend = Vue.extend;\r\n Vue.extend = function(extendOptions) {\r\n extendOptions = extendOptions || {};\r\n\r\n var methods = extendOptions.methods;\r\n if (methods) {\r\n Object.keys(methods).forEach(function (methodName) {\r\n if (LIFECYCLE_HOOKS$1.indexOf(methodName)!==-1) {\r\n extendOptions[methodName] = methods[methodName];\r\n delete methods[methodName];\r\n }\r\n });\r\n }\r\n\r\n return oldExtend.call(this, extendOptions)\r\n };\r\n\r\n var strategies = Vue.config.optionMergeStrategies;\r\n var mergeHook = strategies.created;\r\n LIFECYCLE_HOOKS$1.forEach(function (hook) {\r\n strategies[hook] = mergeHook;\r\n });\r\n\r\n Vue.prototype.__lifecycle_hooks__ = LIFECYCLE_HOOKS$1;\r\n}\n\n/* */\r\n\n// install platform patch function\r\nVue.prototype.__patch__ = patch;\r\n\r\n// public mount method\r\nVue.prototype.$mount = function(\r\n el ,\r\n hydrating \r\n) {\r\n return mountComponent$1(this, el, hydrating)\r\n};\r\n\r\nlifecycleMixin$1(Vue);\r\ninternalMixin(Vue);\n\n/* */\n\nexport default Vue;\n","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode, /* vue-cli only */\n components, // fixed by xxxxxx auto components\n renderjs // fixed by xxxxxx renderjs\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // fixed by xxxxxx auto components\n if (components) {\n if (!options.components) {\n options.components = {}\n }\n var hasOwn = Object.prototype.hasOwnProperty\n for (var name in components) {\n if (hasOwn.call(components, name) && !hasOwn.call(options.components, name)) {\n options.components[name] = components[name]\n }\n }\n }\n // fixed by xxxxxx renderjs\n if (renderjs) {\n if(typeof renderjs.beforeCreate === 'function'){\n\t\t\trenderjs.beforeCreate = [renderjs.beforeCreate]\n\t\t}\n (renderjs.beforeCreate || (renderjs.beforeCreate = [])).unshift(function() {\n this[renderjs.__module] = this\n });\n (options.mixins || (options.mixins = [])).push(renderjs)\n }\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () { injectStyles.call(this, this.$root.$options.shadowRoot) }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functioal component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport data from './modules/data.js'\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({ // export\n modules: {\n data\n }\n})","/*!\n * vuex v3.6.2\n * (c) 2021 Evan You\n * @license MIT\n */\n'use strict';\n\nfunction applyMixin (Vue) {\n var version = Number(Vue.version.split('.')[0]);\n\n if (version >= 2) {\n Vue.mixin({ beforeCreate: vuexInit });\n } else {\n // override init and inject vuex init procedure\n // for 1.x backwards compatibility.\n var _init = Vue.prototype._init;\n Vue.prototype._init = function (options) {\n if ( options === void 0 ) options = {};\n\n options.init = options.init\n ? [vuexInit].concat(options.init)\n : vuexInit;\n _init.call(this, options);\n };\n }\n\n /**\n * Vuex init hook, injected into each instances init hooks list.\n */\n\n function vuexInit () {\n var options = this.$options;\n // store injection\n if (options.store) {\n this.$store = typeof options.store === 'function'\n ? options.store()\n : options.store;\n } else if (options.parent && options.parent.$store) {\n this.$store = options.parent.$store;\n }\n }\n}\n\nvar target = typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar devtoolHook = target.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\nfunction devtoolPlugin (store) {\n if (!devtoolHook) { return }\n\n store._devtoolHook = devtoolHook;\n\n devtoolHook.emit('vuex:init', store);\n\n devtoolHook.on('vuex:travel-to-state', function (targetState) {\n store.replaceState(targetState);\n });\n\n store.subscribe(function (mutation, state) {\n devtoolHook.emit('vuex:mutation', mutation, state);\n }, { prepend: true });\n\n store.subscribeAction(function (action, state) {\n devtoolHook.emit('vuex:action', action, state);\n }, { prepend: true });\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<Object>} 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\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 = { namespaced: { configurable: true } };\n\nprototypeAccessors.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 );\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 = this;\n if ( runtime === void 0 ) runtime = true;\n\n if ((process.env.NODE_ENV !== 'production')) {\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.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 if ((process.env.NODE_ENV !== 'production')) {\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 if ((process.env.NODE_ENV !== 'production')) {\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 if ((process.env.NODE_ENV !== 'production')) {\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\nvar Vue; // bind on install\n\nvar Store = function Store (options) {\n var this$1 = this;\n if ( options === void 0 ) options = {};\n\n // Auto install if it is not done yet and `window` has `Vue`.\n // To allow users to avoid auto-installation in some cases,\n // this code should be placed here. See #731\n if (!Vue && typeof window !== 'undefined' && window.Vue) {\n install(window.Vue);\n }\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(Vue, \"must call Vue.use(Vuex) before creating a store instance.\");\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\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._watcherVM = new Vue();\n this._makeLocalGettersCache = Object.create(null);\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 vm, which is responsible for the reactivity\n // (also registers _wrappedGetters as computed properties)\n resetStoreVM(this, state);\n\n // apply plugins\n plugins.forEach(function (plugin) { return plugin(this$1); });\n\n var useDevtools = options.devtools !== undefined ? options.devtools : Vue.config.devtools;\n if (useDevtools) {\n devtoolPlugin(this);\n }\n};\n\nvar prototypeAccessors$1 = { state: { configurable: true } };\n\nprototypeAccessors$1.state.get = function () {\n return this._vm._data.$$state\n};\n\nprototypeAccessors$1.state.set = function (v) {\n if ((process.env.NODE_ENV !== 'production')) {\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 = 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 if ((process.env.NODE_ENV !== 'production')) {\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.state); });\n\n if (\n (process.env.NODE_ENV !== 'production') &&\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 = 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 if ((process.env.NODE_ENV !== 'production')) {\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.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\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._actionSubscribers\n .filter(function (sub) { return sub.after; })\n .forEach(function (sub) { return sub.after(action, this$1.state); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\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._actionSubscribers\n .filter(function (sub) { return sub.error; })\n .forEach(function (sub) { return sub.error(action, this$1.state, error); });\n } catch (e) {\n if ((process.env.NODE_ENV !== 'production')) {\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 (getter, cb, options) {\n var this$1 = this;\n\n if ((process.env.NODE_ENV !== 'production')) {\n assert(typeof getter === 'function', \"store.watch only accepts a function.\");\n }\n return this._watcherVM.$watch(function () { return getter(this$1.state, this$1.getters); }, cb, options)\n};\n\nStore.prototype.replaceState = function replaceState (state) {\n var this$1 = this;\n\n this._withCommit(function () {\n this$1._vm._data.$$state = 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 if ((process.env.NODE_ENV !== 'production')) {\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 resetStoreVM(this, this.state);\n};\n\nStore.prototype.unregisterModule = function unregisterModule (path) {\n var this$1 = this;\n\n if (typeof path === 'string') { path = [path]; }\n\n if ((process.env.NODE_ENV !== 'production')) {\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.state, path.slice(0, -1));\n Vue.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 if ((process.env.NODE_ENV !== 'production')) {\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[[104,111,116,85,112,100,97,116,101].map(function (item) {return String.fromCharCode(item)}).join('')] = function (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$1 );\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 vm\n resetStoreVM(store, state, hot);\n}\n\nfunction resetStoreVM (store, state, hot) {\n var oldVm = store._vm;\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 computed = {};\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 oldVm.\n // using partial to return function with only arguments preserved in closure environment.\n computed[key] = partial(fn, store);\n Object.defineProperty(store.getters, key, {\n get: function () { return store._vm[key]; },\n enumerable: true // for local getters\n });\n });\n\n // use a Vue instance to store the state tree\n // suppress warnings just in case the user has added\n // some funky global mixins\n var silent = Vue.config.silent;\n Vue.config.silent = true;\n store._vm = new Vue({\n data: {\n $$state: state\n },\n computed: computed\n });\n Vue.config.silent = silent;\n\n // enable strict mode for new vm\n if (store.strict) {\n enableStrictMode(store);\n }\n\n if (oldVm) {\n if (hot) {\n // dispatch changes in all subscribed watchers\n // to force getter re-evaluation for hot reloading.\n store._withCommit(function () {\n oldVm._data.$$state = null;\n });\n }\n Vue.nextTick(function () { return oldVm.$destroy(); });\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] && (process.env.NODE_ENV !== 'production')) {\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 if ((process.env.NODE_ENV !== 'production')) {\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 Vue.set(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 ((process.env.NODE_ENV !== 'production') && !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 ((process.env.NODE_ENV !== 'production') && !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 vm 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 if ((process.env.NODE_ENV !== 'production')) {\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 store._vm.$watch(function () { return this._data.$$state }, function () {\n if ((process.env.NODE_ENV !== 'production')) {\n assert(store._committing, \"do not mutate vuex store state outside mutation handlers.\");\n }\n }, { deep: true, sync: true });\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 if ((process.env.NODE_ENV !== 'production')) {\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\nfunction install (_Vue) {\n if (Vue && _Vue === Vue) {\n if ((process.env.NODE_ENV !== 'production')) {\n console.error(\n '[vuex] already installed. Vue.use(Vuex) should be called only once.'\n );\n }\n return\n }\n Vue = _Vue;\n applyMixin(Vue);\n}\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 ((process.env.NODE_ENV !== 'production') && !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 ((process.env.NODE_ENV !== 'production') && !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 ((process.env.NODE_ENV !== 'production') && !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 ((process.env.NODE_ENV !== 'production') && !(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 ((process.env.NODE_ENV !== 'production') && !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 ((process.env.NODE_ENV !== 'production') && !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_cjs = {\n Store: Store,\n install: install,\n version: '3.6.2',\n mapState: mapState,\n mapMutations: mapMutations,\n mapGetters: mapGetters,\n mapActions: mapActions,\n createNamespacedHelpers: createNamespacedHelpers,\n createLogger: createLogger\n};\n\nmodule.exports = index_cjs;\n","const data = {\n state: {\n hasLogin: false,\n\t\tuserInfo:{},\n\t\tis_bind:false,\n\t\tconfigList:[],\n\t\tfiledList:[],\n\t\torg:{}\n },\n\tgetters:{\n\t\tgetHasLogin(state,getters){\n\t\t\treturn state.hasLogin\n\t\t},\n\t\tgetUserInfo(state,getters){\n\t\t\treturn state.userInfo\n\t\t},\n\t\tgetBind(state,getters){\n\t\t\treturn state.is_bind\n\t\t},\n\t\tgetConfigList(state,getters){\n\t\t\treturn state.configList\n\t\t}\n\t},\n mutations: {\n\t\tsetHasLogin(state, newState){\n\t\t\tstate.is_bind = newState.is_bind\n\t\t\tstate.userInfo = newState.userInfo\n\t\t\tstate.hasLogin = true\n\t\t\tconsole.log('state.is_bind',state.is_bind)\n\t\t\tuni.setStorageSync('userInfo',newState)\n\t\t},\n\t\tsetIsBand(state, newState){\n\t\t\tstate.is_bind = newState.is_bind\n\t\t\tstate.userInfo = newState.userInfo\n\t\t},\n\t\tsetLogout(state){\n\t\t\tstate.userInfo = {}\n\t\t\tstate.hasLogin = false\n\t\t\tstate.is_bind = false\n\t\t\tuni.clearStorageSync('userInfo')\n\t\t},\n\t\tsetConfigList(state, newState){\n\t\t\tstate.configList = newState.configList\n\t\t},\n\t\tsetFiledList(state, newState){\n\t\t\tstate.filedList = newState.filedList\n\t\t},\n\t\tsetOrg(state, newState){\n\t\t\tstate.org = newState.org\n\t\t},\n },\n actions: { // 使用actions,通过mutations更改state的值\n // handleSetNum2({ commit }, data) {\n // commit('setNum2', data)\n // }\n }\n}\nexport default data","function fetch (method, url, data, loading){\n return new Promise((resolve, reject) => {\n //显示加载动画\n if (loading) uni.showLoading({title: '数据加载中...',mask: true});\n // let URL = 'http://localhost:9529' + url\n // let URL = 'https://xcx.sgjyun.com' + url\n let URL = 'https://xcx.kuyicloud.com' + url\n //获取token\n // let token = wx.getStorageSync(\"token\")\n \n // let obj = { token, }\n //添加token\n // Object.assign(data,obj)\n\t let header = {\"Content-Type\": \"application/x-www-form-urlencoded;charset=utf-8\"}\n //发起请求\n uni.request({\n\t\t url: URL,\n\t\t method: method,\n\t\t header: header,\n\t\t data: data || {},\n\t\t success: res => {\n\t\t\t let code = res.data.code\n\t\t\t let message = res.data.message\n\t\t\t \n\t\t\t resolve(res);\n\t\t },\n\t\t fail: err => {\n\t\t\t uni.hideLoading();\n\t\t\t // console.log(err)\n\t\t\t reject(err)\n\t\t },\n\t\t complete: () => {\n\t\t\tuni.hideLoading(); \n\t\t }\n });\n })\n}\n\nexport default {\n get: function (url, params, loading){\n return fetch('GET', url, params, loading)\n },\n post: function (url, params, loading){\n return fetch('POST', url, params, loading)\n },\n put: function (url, params, loading){\n return fetch('PUT', url, params, loading)\n },\n delete: function (url, params, loading){\n return fetch('DELETE', url, params, loading)\n }\n}","import { isObj } from '../common/utils';\nconst defaultOptions = {\n type: 'text',\n mask: false,\n message: '',\n show: true,\n zIndex: 1000,\n duration: 3000,\n position: 'middle',\n forbidClick: false,\n loadingType: 'circular',\n selector: '#van-toast'\n};\nlet queue = [];\nlet currentOptions = Object.assign({}, defaultOptions);\nfunction parseOptions(message) {\n return isObj(message) ? message : { message };\n}\nfunction getContext() {\n const pages = getCurrentPages();\n return pages[pages.length - 1];\n}\nfunction Toast(toastOptions) {\n const options = Object.assign({}, currentOptions, parseOptions(toastOptions));\n const context = options.context || getContext();\n const toast = context.selectComponent(options.selector);\n if (!toast) {\n console.warn('未找到 van-toast 节点,请确认 selector 及 context 是否正确');\n return;\n }\n delete options.context;\n delete options.selector;\n toast.clear = () => {\n toast.set({ show: false });\n if (options.onClose) {\n options.onClose();\n }\n };\n queue.push(toast);\n toast.set(options);\n clearTimeout(toast.timer);\n if (options.duration > 0) {\n toast.timer = setTimeout(() => {\n toast.clear();\n queue = queue.filter(item => item !== toast);\n }, options.duration);\n }\n return toast;\n}\nconst createMethod = (type) => (options) => Toast(Object.assign({ type }, parseOptions(options)));\nToast.loading = createMethod('loading');\nToast.success = createMethod('success');\nToast.fail = createMethod('fail');\nToast.clear = () => {\n queue.forEach(toast => {\n toast.clear();\n });\n queue = [];\n};\nToast.setDefaultOptions = (options) => {\n Object.assign(currentOptions, options);\n};\nToast.resetDefaultOptions = () => {\n currentOptions = Object.assign({}, defaultOptions);\n};\nexport default Toast;\n","export function isDef(value) {\n return value !== undefined && value !== null;\n}\nexport function isObj(x) {\n const type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n}\nexport function isNumber(value) {\n return /^\\d+$/.test(value);\n}\nexport function range(num, min, max) {\n return Math.min(Math.max(num, min), max);\n}\nexport function nextTick(fn) {\n setTimeout(() => {\n fn();\n }, 1000 / 30);\n}\nlet systemInfo = null;\nexport function getSystemInfoSync() {\n if (systemInfo == null) {\n systemInfo = wx.getSystemInfoSync();\n }\n return systemInfo;\n}\nexport function requestAnimationFrame(cb) {\n const systemInfo = getSystemInfoSync();\n if (systemInfo.platform === 'devtools') {\n return setTimeout(() => {\n cb();\n }, 1000 / 30);\n }\n return wx\n .createSelectorQuery()\n .selectViewport()\n .boundingClientRect()\n .exec(() => {\n cb();\n });\n}\n","import request from '@/request/index.js'\r\n\r\n// 获取key\r\nexport function getKey(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getappid', params, boolean)\r\n}\r\n\r\n// 获取密钥code\r\nexport function getCode(params, boolean){\r\n\treturn request.get('/xcx/m/api/code', params, boolean)\r\n}\r\n\r\n// 登录\r\nexport function login(params){\r\n\treturn request.get('/xcx/api/mobile/login', params)\r\n}\r\n\r\n// 获取验证码\r\nexport function sendCode(params, boolean){\r\n\treturn request.post('/xcx/api/mobile/code', params, boolean)\r\n}\r\n\r\n// 解析手机号\r\nexport function getMobile(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getdatainfo', params, boolean)\r\n}\r\n\r\n// 解析手机号\r\nexport function bindMobile(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/register', params, boolean)\r\n}\r\n\r\n// 获取上周 本周 下周排班 模式\r\nexport function getSchedule(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/schedule', params, boolean)\r\n}\r\n\r\n// 获取电子病历\r\nexport function getRecord(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getpatientinfo', params, boolean)\r\n}\r\n\r\n// 获取机构\r\nexport function getOrg(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getorginfo', params, boolean)\r\n}\r\n\r\n// 获取透析记录\r\nexport function getDialysisRecord(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/dialysis', params, boolean)\r\n}\r\n\r\n// 获取医嘱\r\nexport function getAdvice(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getdoctoradvice', params, boolean)\r\n}\r\n\r\n// 获取宣教信息\r\nexport function getEducation(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/geteducation', params, boolean)\r\n}\r\n\r\n// 获取机构人员\r\nexport function getDoctor(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getdoctorname', params, boolean)\r\n}\r\n\r\n// 获取显示配置\r\nexport function getFieldConfig(params, boolean){\r\n\treturn request.get('/xcx/api/moible/getfieldconfig', params, boolean)\r\n}\r\n\r\n// 获取数据字典数据\r\nexport function getDataConfig(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getdataconfig', params, boolean)\r\n}\r\n\r\n// 获取检验检查\r\nexport function getInspection(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getinspectionlist', params, boolean)\r\n}\r\n\r\n// 获取检验检查详情\r\nexport function getInspectioninfo(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getinspectioninfo', params, boolean)\r\n}\r\n\r\n// 获取精选故事\r\nexport function getStoryScore(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getstoryscore', params, boolean)\r\n}\r\n\r\n// 获取肾友杯列表\r\nexport function getArticList(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getarticlist', params, boolean)\r\n}\r\n\r\n// 获取肾友杯列表详情\r\nexport function getArticListDetail(params, boolean){\r\n\treturn request.get('/xcx/api/mobile/getarticlistdetail', params, boolean)\r\n}\r\n\r\n// 获取用户体重信息\r\nexport function getweight(start,end,patient_id,org_id){\r\n\treturn request.get('/xcx/api/mobile/signweight', start,end,patient_id,org_id)\r\n}\r\n\r\n// 获取血压体重信息\r\nexport function getbloods(start,end,patient_id,org_id){\r\n\treturn request.get('/xcx/api/mobile/signblood', start,end,patient_id,org_id)\r\n}\r\n\r\n// 获取预交金信息\r\nexport function getgetbalance(patient_id,org_id){\r\n\treturn request.get('/xcx/api/mobile/getbalance', patient_id,org_id)\r\n}\r\n\r\n// 获取预交金流水信息\r\nexport function getgetbalanceinfo(start,end,patient_id,org_id){\r\n\treturn request.get('/xcx/api/mobile/getbalanceinfo', start,end,patient_id,org_id)\r\n}","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/jpeg;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAApCAYAAABHomvIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4NjM5NGZmZS0xNzY5LTNhNDYtYTgwZC05NTNmZjY0MDY5OGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0YyNDVCNEQzOTJBMTFFRjlDRjZDMEMzM0FERkQzMzkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0YyNDVCNEMzOTJBMTFFRjlDRjZDMEMzM0FERkQzMzkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDg2MDEyZTMtOWUzNi0xZTQxLTk2ZDgtNGRjNTA0NzdhYWE4IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDBjYWY3NDMtNWMzMC02NDQxLTg4MmItNjc1ZmI3YWEzNzU5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+3uG3hQAABpFJREFUeNqcWWlsVUUU/t7rAwptEVqWVgklIhQRaRQqS+IPkKS4C1VcQGMCKBpRiYpEhLhAYtSYKISAoInBBfwhlhj9QUC0lB+CFYxgWWQRQYpFKF2A1/aO39y5fe9uM/fiS849M3fm3vvN2ebMeQlRuwCBnxDy4mq77tldycUoXiaTj+WNEeTFpHzeS5C3kDeQHyTtYns7+R6SyL5HINAWlq8vkPACdAOAD6T9QD825pE/ys5wD2jTh1X7GGk9G2vJT2THLA8gP8CkGVzmoXzyt9mQH3kzA0638vD2ENISzj1MWkHqaz8nRAhZGUpmJOQHJzKSuZt0gPQSKU+/2q6Xhn9ILcIe7056xlY/xIPhc90S7LIx+D4KkUP+Dnk1+dUh4xqJuQEJjYQccxFiA+etIXULU698R0rjDFwlPiev8oJCEJT/pdDbU7ZvuftPkEpJ09lpC5Eg/B+UXvhxAJzBkKPBWV7JBscrSV+Quvvfl8w6Q0bNb/EyM/zjsZzBaFPhc+z+PaSVQScRrjAhxJ3KGWBQoxWTopwpbI41l/SIL8xkJhSQr3FUHK3aWLYWR5qBsQ9I/bNOklXtEl6u0TqDv51gt2iUosLrgd6lwLez1FjxGGDMC97dyWoHLjfBfjB9Adj6nM6BisiXsyGdx/Fie4cQT3snQw+uZDww9D6g10DfFuk4g9Wh+p2XFe+4yHaa8weofjInRDse6T7Oy3Ly4ynnxjxe8oIS89liohsweg4wsEKN/fs7cOJ74Ox+4NL5rBOd/hnY/ID3w+NfzQLMaMjSRQV+yJpP/mLKmfBYpI3l5AI3U219rgNaTgL7PwEa92nszyWNHCrppvlK7Wf2An2HOU5pRcVHGUkWSSe5kY1hkc5QPl+BO8cdqnaxBlyII0xYCgy6FbhwAvhxsVK328a126SdHU2QEpwUKb1Bk+gMI4HmP4FdDJOd7dGZiJR4BSXej0507jDBvQLvtmpFRAF7fLIEWGEEl8oDSiuVF+6jWjsuxdvKxi8C+o8Gmo4BNbS/dKtjo9BHieD+PZYArTJ9Tmep8JFXrBxCkhacI5FkD2Dcywrc+SPA9oVAe5vX8TwAjflgmQwzJUbbK5mgXnjoK7Mz2CukSU9kOO13AxdTD+x4zQeOtHed10nMyUaxVHGBcWLhSAWw8TdzaOjWC7hloQLXdBT4gWrtaAuq7+iWaC1kxwtSkTtGzyJKodVs1HJs8GRgQLlayI43HHDmdN6oXmQT1hbj3mlvU2nzHiqfP/IdcHwbQxBPBOlmPbihtwNTV0WDV9QinaQhsweHTZTbVY++ZvXKvoxvP70b7Z3FPAQWjYib6J6RgbrekJbTE/9QUuyeHz91Mo0VlTkS1h0TPKZUL1VcZ3z5yVoFcOi9UZHflz2HSKTPtUBuH6C1Ie7ifpEAtwXTcteL//lVqa+UTpDKvTJp+ceH3MZ39GQyURc3x9xKgBZP/NYxrYqb/+ILd1PFvYGyGa7s2wqXlg5078HAqJlKG3VrYDQrBa6RVJt0yhGfGl9et5K8Exg+TUkyUr0+LeQWApUrFLia12mDbTHONDySQqSdM4mg31uXtGqSu0HNUpWIjn2eQKuYG+bEU28Rs+2pXGAuI8GhbxiOtoQc6ANAKQ079Zdx0J70NztrtZ4l+w17gJ3LVGZcPhuY8j4T13KVwodJMp/79zgu5g6qs2CQArdjmSsT8mvMc49HUHFIFY+q7+8aLCRnyLH6a3cLOLZUscCJZQkVMhqZRLSe5po6lZdKb72qVKlUju+mgg5siuEYtn3zwCJGkp+UYwnxdZXb0GeQNoZmuf4Kgwy4w3kuKSFPJIMlvOZTwMFqoJ5JxuXmcFCBezbCJ9n/sKufEJum+aW1iqCeiixbXEnZI6qdXfgG8ofdgkiGeO+zvGyOjHPadD/mgT4gRch4PDv7TsDtJO6HO+xVCLElfunCugJJhla9dvIynbzNX59MajIZWWW6i/2PgurVxDoh4gTfsHtf8jKFvClEql0qDpVEmjSH93gktc6ZJRm3oORRbQu5tPWHeOtioMSXkaBWPRnA60my5LuO1K6tegUzEZ29yUmfyfMGabW9k4UVRwFXhTXaGeS+ONc+P8N6j+On9TuIVv1nnfKaPIfPIp0KHtbgK8rLMLOx8v+k5bI8PDHzN4QQI+QBx/4bQs1pJW/gVFmH3sX2dvIaWwP+corp3wX+UnqVGW2qk1TjfNQQfMPqjAiWlOG75/r9J8AA9yWND2ba+gsAAAAASUVORK5CYII=\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAgCAYAAAAffCjxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QTFDMTFDM0NGOTA3MTFFQkJFRDZBOEI0QUZGNTQ1NkMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QTFDMTFDM0RGOTA3MTFFQkJFRDZBOEI0QUZGNTQ1NkMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBMUMxMUMzQUY5MDcxMUVCQkVENkE4QjRBRkY1NDU2QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBMUMxMUMzQkY5MDcxMUVCQkVENkE4QjRBRkY1NDU2QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PpuSwMEAAAG4SURBVHjanJZbK0RhFIb3fBQGicgfcEeRpEQioVDiSimhHErkWCQipSinTCQh/oAyOYRIoiTxF9ySGDlEwrtq7VrJTHvtVc/Fei+e2TPf+tYej9/vj7IsawLEgH5wZ7mocFAP2rnPBoXgXisy4Fb0qeAIJLkR7YARkaWBA5CoFVGNgjGRp7MsQSuiGgbjos9gWbxWRDXIJ2hXJtgHcVqRxSMwJfosJzITJO8FM6KnsdgNJTMhPqQHzIk+B2yDWK3oB3QBn8hyeVyiNSJb1gEWRZbHMq9GZMvawLLI8vlrejUiW9YCVkRWALZsmVHcApI1gzWRFYFNEGmUd/MbNIF1kZXQ72gsdxXxp//SisL4aWpERoPqM0rJKqgV2R6oAp9GsSXo+OtERvevGnw4PTUPSxpEdshP8u50jkiyBBpFdgwqwZvTySbJAh+3XSeg4q8klIgk86BVZKeg/D9JMBFJZvl+2XUGysCrZh9N842365wlL5oNSSu2U/QXLHnW7OxJ0C36S1AKApq3CL2G+kR+xZcxYCkmlgZrQGTXoBg8ad+0yaK/Ycmjm38jGyCFN90QeHCzV34FGAB+SVO+e9XTMQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAApCAYAAABHomvIAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4NjM5NGZmZS0xNzY5LTNhNDYtYTgwZC05NTNmZjY0MDY5OGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTEyOTIxOUEzOTJBMTFFRkJDODFDRkRBQjI2NDEwQ0YiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTEyOTIxOTkzOTJBMTFFRkJDODFDRkRBQjI2NDEwQ0YiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDg2MDEyZTMtOWUzNi0xZTQxLTk2ZDgtNGRjNTA0NzdhYWE4IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDBjYWY3NDMtNWMzMC02NDQxLTg4MmItNjc1ZmI3YWEzNzU5Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+k8B0TgAABmxJREFUeNqcWVtsFFUY/nbYVqCUQinQUgSEQhEFI9JEDRptTIyCJGqi4l25I5AYMPFBXwAV0aCCMYjKi9zkTRMTo4GYAD5oAjVSWaCRcrNcSqDQG9Du+P17znZnZs+ZmXXTf/8zZ87OfOe/n7+JVS0ugh83O+Vm/ny8776LO8nqyWfwejLHlRwP4jhB3s7r8xwf4/gP8l/JG+Qx+reZZ2Qp+3zTvWQh4HivgqPF5C+RT/I+HP6XDeF4NAf3kM/V881k33L8FcenfeDc3HuDwJ0cssAiPziRzHqOmsnX8HqS9+HBXee9WPFxpHc5biLfRBqa97u0Js+ckwdIP9AzfoL8KEdvkZcYJRYC1EDFpGWiftKzxjUECQ3UMalUg+5H9hH595wbZZUYwoH6xn7pVJB2kb4kFcECNGmxt2J+7+Cip/MMON/ekAfeYvBw87VFWkgay+unyDuDax0DuARvbBVwrg3A/1Atgrbmv/co+U6tft9ax2BP6zh6wQgq4GUBScQGDbNDzCF9HlzrBF4+SztDnjrdQiSWjr8efqALuPZ5H0APuFIog00YQRXiDHFVbQ4xG0nD+wJ1n+cyRpFVF+IMt5eQBgK1pFv7A4sa1b27S4GlY/0J4CZffq0HSCTIbwLvNFo3Noz0HocLkckk2QzhYqkLs70FAdcRwOxhwPBiQxYi9ejfX08r3t1LgJyr0OudKC938aqA5MzJpL6xmKzECk7PSUx6pQqYXqquj3UA+68AKfI2SiWt1//ZBrze4AfwZk0OIKIBSlxcTr4qqaXzMiLsbQC3/UY1MH4A0HId2HUOONJu3oz3OkmVzhsH3FUGNF7l70v8qTXktxJJ3hYnmUqa6Ebk1QWjFLimTmDtPxqcwWODz1lJyd1bDpztAtYdUerO4EtHOlIl6T5xkoejssCD3P1kOsKZbuCzU8rgoyqR/pT4ktv4O5rDCZrAB0c8lRLMEcIgpHpRcZ3NGYRK+KL6cmXkotbrvdFpTPiKCcAUgjtNiX+YAjp7QgDa0+MMcZJaW54UPuYWYCSN+2iHcoowexNeTJtbXqPAnSS41Y25TZkAIjwz1QrAKpuqZL5usJr78UI0OAkfKycyLhJcE23045S2Oc/aHc0hAT4feGVSZxCrqGu114lTuJb0B+3lyyYocKc6lUN09eSrft/5iI3631+aRIQtlBfRfnrtRp1d9wAD9x2UduoasCGlwMUp6SNKsUwubg/Nq8h5ra8SCex+D01gfyvwCWvvjh5LyOLv6iuB96fHLtHaRcVy+qq27VTSVVlRyK6RW7e5KTL4YtoQoKY0RJJ+7VwQCabCKpHmTvWjQf0su06bJWpzpAmlOQnHOGilpB48aKvnZNHvVxTAx0ZEqCMdnh2ExtDhBjNkXewKL788c4dEgnutZTnp76sqVMwcprJDAXVd3tqZI/kMauLw5Xg1JOf2CMAG182cd40PbeFuG1id0N8xp6qA80cAZDVT5ZO6Rtx+PPowRd5KdkAASjtiW9iLt54AeskfpwfOrIiuRHznW2kzUK2rpytwn/4ViI/258iR9IajL74gddteKCpen1IgF44HZlXlis4o5xCPXUNwZQS55ywDdUv05jgnr9qYaX3oXbZIzyRMbY1tKsZJTJxLVa2dxsBcZgc6gkeA+ZOYUeqAqoEK3KbDrLbTlqOrP0HsJD8u14nXDrnZeFYubi0HljDjHc2acEGNkgzrgkzIOE5HutitJDy4SHnraJ0i21lpb6PN/XQ61N6811fJpnB8FhmAB10vgGe47LuoeJYJuEMZekYp7iTyOng4T+f6+QyBnfLHPZgk5h8v4teWvmNGQDW7efMh8iVRPZdDl0it4fnZeiK0H8h2cbTFu8YxSGsF6QdvhynW+TZdQOvDDG4vR/OC0nUMD+vRTcdfvIE37mHcJj3bgUzz3zjKNI+CdulYdigLZ5N/Y5JQoc0ia+NJgd1NeoTUZurqOiEvuUGaT5Ij6WWbGuHGzqt+adLBIbbu4jlOd7mWfrgToxKRvrK0fL8m3US6gN4MjFJMk2+HOgttRraxbmnWOzErkVbpPOnz8wbSuYJVC1yCaq9N5cyL5P9aWs45r+cnMfeAmx/rECmZfvy6X86tcjSE/BtCDtosG/WaDkghDM+/IZjlMhowdWuD/+LwfJIx27TBe738khfuC8sMxk4Z4oOTz38CDABNFOZ6F9d/OQAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4NjM5NGZmZS0xNzY5LTNhNDYtYTgwZC05NTNmZjY0MDY5OGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUYwMDI1Q0EzOTJBMTFFRjlCMTFCNDQ5NDNEMDE3NDQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUYwMDI1QzkzOTJBMTFFRjlCMTFCNDQ5NDNEMDE3NDQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDg2MDEyZTMtOWUzNi0xZTQxLTk2ZDgtNGRjNTA0NzdhYWE4IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MDBjYWY3NDMtNWMzMC02NDQxLTg4MmIt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\"","// TODO(Babel 8): Remove this file.\n\nvar runtime = require('@babel/runtime/helpers/regeneratorRuntime')()\nmodule.exports = runtime\n","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n module.exports = _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) {\n keys.push(key);\n }\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}\nmodule.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export const shareMixins = {\n data () {\n return {\n shareData: {\n title: '',\n path: '',\n imageUrl: '',\n content: '',\n desc: ''\n }\n }\n },\n\n\n onShareAppMessage () {\n return {\n title: this.shareData.title,\n path: this.shareData.path,\n imageUrl: this.shareData.imageUrl,\n content: this.shareData.content,\n desc: this.shareData.desc,\n // success: res = {\n \n // }\n }\n },\n\n\n onLoad(option) {\n }\n}","module.exports = \"/static/urinometer/1.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF8AAABdCAYAAADDhLr+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4NjM5NGZmZS0xNzY5LTNhNDYtYTgwZC05NTNmZjY0MDY5OGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEY5Rjg1ODgzOTJDMTFFRkFDMDQ5QkE5QzE4NzY4OTQiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEY5Rjg1ODczOTJDMTFFRkFDMDQ5QkE5QzE4NzY4OTQiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDNmODZkYzQtZDZlZC1iMzQ3LWIxODEtYjUxNzIzMzk5ZGYyIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ZWRhMTcyNjctNWMzYS04NTQwLTg3ODMt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\"","//! moment.js\n//! version : 2.29.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return Object.getOwnPropertyNames(obj).length === 0;\n } else {\n var k;\n for (k in obj) {\n if (hasOwnProp(obj, k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false,\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this),\n len = t.length >>> 0,\n i;\n\n for (i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m),\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n }),\n isNowValid =\n !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid =\n isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n } else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n } else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = (hooks.momentProperties = []),\n updateInProgress = false;\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [],\n arg,\n i,\n key;\n for (i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i,\n res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(\n func.apply(this, arguments),\n token\n );\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens),\n i,\n length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] =\n formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d',\n defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n w: 'a week',\n ww: '%d weeks',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return isFunction(output)\n ? output(number, withoutSuffix, string, isFuture)\n : output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid()\n ? mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]()\n : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (\n unit === 'FullYear' &&\n isLeapYear(mom.year()) &&\n mom.month() === 1 &&\n mom.date() === 29\n ) {\n value = toInt(value);\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](\n value,\n mom.month(),\n daysInMonth(value, mom.month())\n );\n } else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i;\n for (i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i,\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : function (isStrict, localeData) {\n return isStrict && strictRegex ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(\n s\n .replace('\\\\', '')\n .replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (\n matched,\n p1,\n p2,\n p3,\n p4\n ) {\n return p1 || p2 || p3 || p4;\n })\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1\n ? isLeapYear(year)\n ? 29\n : 28\n : 31 - ((modMonth % 7) % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split(\n '_'\n ),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict\n ? this._monthsShortStrictRegex\n : this._monthsShortRegex;\n }\n }\n\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict\n ? this._monthsStrictRegex\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] =\n input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear,\n resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear,\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek,\n resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear,\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict\n ? this._weekdaysStrictRegex\n : this._weekdaysRegex;\n }\n }\n\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict\n ? this._weekdaysShortStrictRegex\n : this._weekdaysShortRegex;\n }\n }\n\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict\n ? this._weekdaysMinStrictRegex\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(this.weekdays(mom, ''));\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4,\n pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return (input + '').toLowerCase().charAt(0) === 'p';\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i,\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n getSetHour = makeGetSet('Hours', true);\n\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse,\n };\n\n // internal storage for locale config files\n var locales = {},\n localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0,\n j,\n next,\n locale,\n split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n } else {\n if (typeof console !== 'undefined' && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n 'defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'\n );\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config,\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow,\n a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // iso 8601 regex\n // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)\n var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d|))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([+-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,\n tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/],\n ],\n aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/,\n obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60,\n };\n\n // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10),\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s\n .replace(/\\([^)]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10),\n m = hm % 100,\n h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i)),\n parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () {};\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () {};\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(\n string.indexOf(parsedInput) + parsedInput.length\n );\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n } else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver =\n stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n validFormatFound = false;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (isValid(tempConfig)) {\n validFormatFound = true;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i),\n dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\n );\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n ),\n prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +new Date();\n };\n\n var ordering = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds =\n +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days + weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months + quarters * 3 + years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher),\n chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset());\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () {};\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n } else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {},\n other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(-|\\+)?(?:(\\d*)[. ])?(\\d+):(\\d+)(?::(\\d+)(\\.\\d*)?)?$/,\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months,\n };\n } else if (isNumber(input) || !isNaN(+input)) {\n duration = {};\n if (key) {\n duration[key] = +input;\n } else {\n duration.milliseconds = +input;\n }\n } else if ((match = aspNetRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign, // the millisecond decimal point is included in the match\n };\n } else if ((match = isoRegex.exec(input))) {\n sign = match[1] === '-' ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign),\n };\n } else if (duration == null) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months =\n other.month() - base.month() + (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +base.clone().add(res.months, 'M');\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add'),\n subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse',\n output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that, zoneDelta, output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\n // difference in months\n var wholeMonthDiff = (b.year() - a.year()) * 12 + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2,\n adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true,\n m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment',\n zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000,\n MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return ((dividend % divisor) + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - (this._offset || 0) * 60000;\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds(),\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict,\n };\n }\n\n addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(['N', 'NN', 'NNN', 'NNNN', 'NNNNN'], function (\n input,\n array,\n config,\n token\n ) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n });\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n namePieces.push(regexEscape(eras[i].name));\n abbrPieces.push(regexEscape(eras[i].abbr));\n narrowPieces.push(regexEscape(eras[i].narrow));\n\n mixedPieces.push(regexEscape(eras[i].name));\n mixedPieces.push(regexEscape(eras[i].abbr));\n mixedPieces.push(regexEscape(eras[i].narrow));\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\n );\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (\n input,\n week,\n config,\n token\n ) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict\n ? locale._dayOfMonthOrdinalParse || locale._ordinalParse\n : locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 1;\n return input == null ? dayOfYear : this.add(input - dayOfYear, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n\n getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale(),\n utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i,\n out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0,\n i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds,\n days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return (days * 4800) / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return (months * 146097) / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days,\n months,\n milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds'),\n seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month/week\n w: null, // weeks to month\n M: 11, // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (seconds <= thresholds.ss && ['s', seconds]) ||\n (seconds < thresholds.s && ['ss', seconds]) ||\n (minutes <= 1 && ['m']) ||\n (minutes < thresholds.m && ['mm', minutes]) ||\n (hours <= 1 && ['h']) ||\n (hours < thresholds.h && ['hh', hours]) ||\n (days <= 1 && ['d']) ||\n (days < thresholds.d && ['dd', days]);\n\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\n (months <= 1 && ['M']) ||\n (months < thresholds.M && ['MM', months]) ||\n (years <= 1 && ['y']) || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof roundingFunction === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return (x > 0) - (x < 0) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000,\n days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.29.1';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var map = {\n\t\"./af\": 114,\n\t\"./af.js\": 114,\n\t\"./ar\": 115,\n\t\"./ar-dz\": 116,\n\t\"./ar-dz.js\": 116,\n\t\"./ar-kw\": 117,\n\t\"./ar-kw.js\": 117,\n\t\"./ar-ly\": 118,\n\t\"./ar-ly.js\": 118,\n\t\"./ar-ma\": 119,\n\t\"./ar-ma.js\": 119,\n\t\"./ar-sa\": 120,\n\t\"./ar-sa.js\": 120,\n\t\"./ar-tn\": 121,\n\t\"./ar-tn.js\": 121,\n\t\"./ar.js\": 115,\n\t\"./az\": 122,\n\t\"./az.js\": 122,\n\t\"./be\": 123,\n\t\"./be.js\": 123,\n\t\"./bg\": 124,\n\t\"./bg.js\": 124,\n\t\"./bm\": 125,\n\t\"./bm.js\": 125,\n\t\"./bn\": 126,\n\t\"./bn-bd\": 127,\n\t\"./bn-bd.js\": 127,\n\t\"./bn.js\": 126,\n\t\"./bo\": 128,\n\t\"./bo.js\": 128,\n\t\"./br\": 129,\n\t\"./br.js\": 129,\n\t\"./bs\": 130,\n\t\"./bs.js\": 130,\n\t\"./ca\": 131,\n\t\"./ca.js\": 131,\n\t\"./cs\": 132,\n\t\"./cs.js\": 132,\n\t\"./cv\": 133,\n\t\"./cv.js\": 133,\n\t\"./cy\": 134,\n\t\"./cy.js\": 134,\n\t\"./da\": 135,\n\t\"./da.js\": 135,\n\t\"./de\": 136,\n\t\"./de-at\": 137,\n\t\"./de-at.js\": 137,\n\t\"./de-ch\": 138,\n\t\"./de-ch.js\": 138,\n\t\"./de.js\": 136,\n\t\"./dv\": 139,\n\t\"./dv.js\": 139,\n\t\"./el\": 140,\n\t\"./el.js\": 140,\n\t\"./en-au\": 141,\n\t\"./en-au.js\": 141,\n\t\"./en-ca\": 142,\n\t\"./en-ca.js\": 142,\n\t\"./en-gb\": 143,\n\t\"./en-gb.js\": 143,\n\t\"./en-ie\": 144,\n\t\"./en-ie.js\": 144,\n\t\"./en-il\": 145,\n\t\"./en-il.js\": 145,\n\t\"./en-in\": 146,\n\t\"./en-in.js\": 146,\n\t\"./en-nz\": 147,\n\t\"./en-nz.js\": 147,\n\t\"./en-sg\": 148,\n\t\"./en-sg.js\": 148,\n\t\"./eo\": 149,\n\t\"./eo.js\": 149,\n\t\"./es\": 150,\n\t\"./es-do\": 151,\n\t\"./es-do.js\": 151,\n\t\"./es-mx\": 152,\n\t\"./es-mx.js\": 152,\n\t\"./es-us\": 153,\n\t\"./es-us.js\": 153,\n\t\"./es.js\": 150,\n\t\"./et\": 154,\n\t\"./et.js\": 154,\n\t\"./eu\": 155,\n\t\"./eu.js\": 155,\n\t\"./fa\": 156,\n\t\"./fa.js\": 156,\n\t\"./fi\": 157,\n\t\"./fi.js\": 157,\n\t\"./fil\": 158,\n\t\"./fil.js\": 158,\n\t\"./fo\": 159,\n\t\"./fo.js\": 159,\n\t\"./fr\": 160,\n\t\"./fr-ca\": 161,\n\t\"./fr-ca.js\": 161,\n\t\"./fr-ch\": 162,\n\t\"./fr-ch.js\": 162,\n\t\"./fr.js\": 160,\n\t\"./fy\": 163,\n\t\"./fy.js\": 163,\n\t\"./ga\": 164,\n\t\"./ga.js\": 164,\n\t\"./gd\": 165,\n\t\"./gd.js\": 165,\n\t\"./gl\": 166,\n\t\"./gl.js\": 166,\n\t\"./gom-deva\": 167,\n\t\"./gom-deva.js\": 167,\n\t\"./gom-latn\": 168,\n\t\"./gom-latn.js\": 168,\n\t\"./gu\": 169,\n\t\"./gu.js\": 169,\n\t\"./he\": 170,\n\t\"./he.js\": 170,\n\t\"./hi\": 171,\n\t\"./hi.js\": 171,\n\t\"./hr\": 172,\n\t\"./hr.js\": 172,\n\t\"./hu\": 173,\n\t\"./hu.js\": 173,\n\t\"./hy-am\": 174,\n\t\"./hy-am.js\": 174,\n\t\"./id\": 175,\n\t\"./id.js\": 175,\n\t\"./is\": 176,\n\t\"./is.js\": 176,\n\t\"./it\": 177,\n\t\"./it-ch\": 178,\n\t\"./it-ch.js\": 178,\n\t\"./it.js\": 177,\n\t\"./ja\": 179,\n\t\"./ja.js\": 179,\n\t\"./jv\": 180,\n\t\"./jv.js\": 180,\n\t\"./ka\": 181,\n\t\"./ka.js\": 181,\n\t\"./kk\": 182,\n\t\"./kk.js\": 182,\n\t\"./km\": 183,\n\t\"./km.js\": 183,\n\t\"./kn\": 184,\n\t\"./kn.js\": 184,\n\t\"./ko\": 185,\n\t\"./ko.js\": 185,\n\t\"./ku\": 186,\n\t\"./ku.js\": 186,\n\t\"./ky\": 187,\n\t\"./ky.js\": 187,\n\t\"./lb\": 188,\n\t\"./lb.js\": 188,\n\t\"./lo\": 189,\n\t\"./lo.js\": 189,\n\t\"./lt\": 190,\n\t\"./lt.js\": 190,\n\t\"./lv\": 191,\n\t\"./lv.js\": 191,\n\t\"./me\": 192,\n\t\"./me.js\": 192,\n\t\"./mi\": 193,\n\t\"./mi.js\": 193,\n\t\"./mk\": 194,\n\t\"./mk.js\": 194,\n\t\"./ml\": 195,\n\t\"./ml.js\": 195,\n\t\"./mn\": 196,\n\t\"./mn.js\": 196,\n\t\"./mr\": 197,\n\t\"./mr.js\": 197,\n\t\"./ms\": 198,\n\t\"./ms-my\": 199,\n\t\"./ms-my.js\": 199,\n\t\"./ms.js\": 198,\n\t\"./mt\": 200,\n\t\"./mt.js\": 200,\n\t\"./my\": 201,\n\t\"./my.js\": 201,\n\t\"./nb\": 202,\n\t\"./nb.js\": 202,\n\t\"./ne\": 203,\n\t\"./ne.js\": 203,\n\t\"./nl\": 204,\n\t\"./nl-be\": 205,\n\t\"./nl-be.js\": 205,\n\t\"./nl.js\": 204,\n\t\"./nn\": 206,\n\t\"./nn.js\": 206,\n\t\"./oc-lnc\": 207,\n\t\"./oc-lnc.js\": 207,\n\t\"./pa-in\": 208,\n\t\"./pa-in.js\": 208,\n\t\"./pl\": 209,\n\t\"./pl.js\": 209,\n\t\"./pt\": 210,\n\t\"./pt-br\": 211,\n\t\"./pt-br.js\": 211,\n\t\"./pt.js\": 210,\n\t\"./ro\": 212,\n\t\"./ro.js\": 212,\n\t\"./ru\": 213,\n\t\"./ru.js\": 213,\n\t\"./sd\": 214,\n\t\"./sd.js\": 214,\n\t\"./se\": 215,\n\t\"./se.js\": 215,\n\t\"./si\": 216,\n\t\"./si.js\": 216,\n\t\"./sk\": 217,\n\t\"./sk.js\": 217,\n\t\"./sl\": 218,\n\t\"./sl.js\": 218,\n\t\"./sq\": 219,\n\t\"./sq.js\": 219,\n\t\"./sr\": 220,\n\t\"./sr-cyrl\": 221,\n\t\"./sr-cyrl.js\": 221,\n\t\"./sr.js\": 220,\n\t\"./ss\": 222,\n\t\"./ss.js\": 222,\n\t\"./sv\": 223,\n\t\"./sv.js\": 223,\n\t\"./sw\": 224,\n\t\"./sw.js\": 224,\n\t\"./ta\": 225,\n\t\"./ta.js\": 225,\n\t\"./te\": 226,\n\t\"./te.js\": 226,\n\t\"./tet\": 227,\n\t\"./tet.js\": 227,\n\t\"./tg\": 228,\n\t\"./tg.js\": 228,\n\t\"./th\": 229,\n\t\"./th.js\": 229,\n\t\"./tk\": 230,\n\t\"./tk.js\": 230,\n\t\"./tl-ph\": 231,\n\t\"./tl-ph.js\": 231,\n\t\"./tlh\": 232,\n\t\"./tlh.js\": 232,\n\t\"./tr\": 233,\n\t\"./tr.js\": 233,\n\t\"./tzl\": 234,\n\t\"./tzl.js\": 234,\n\t\"./tzm\": 235,\n\t\"./tzm-latn\": 236,\n\t\"./tzm-latn.js\": 236,\n\t\"./tzm.js\": 235,\n\t\"./ug-cn\": 237,\n\t\"./ug-cn.js\": 237,\n\t\"./uk\": 238,\n\t\"./uk.js\": 238,\n\t\"./ur\": 239,\n\t\"./ur.js\": 239,\n\t\"./uz\": 240,\n\t\"./uz-latn\": 241,\n\t\"./uz-latn.js\": 241,\n\t\"./uz.js\": 240,\n\t\"./vi\": 242,\n\t\"./vi.js\": 242,\n\t\"./x-pseudo\": 243,\n\t\"./x-pseudo.js\": 243,\n\t\"./yo\": 244,\n\t\"./yo.js\": 244,\n\t\"./zh-cn\": 245,\n\t\"./zh-cn.js\": 245,\n\t\"./zh-hk\": 246,\n\t\"./zh-hk.js\": 246,\n\t\"./zh-mo\": 247,\n\t\"./zh-mo.js\": 247,\n\t\"./zh-tw\": 248,\n\t\"./zh-tw.js\": 248\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 113;","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split(\n '_'\n ),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: \"'n paar sekondes\",\n ss: '%d sekondes',\n m: \"'n minuut\",\n mm: '%d minute',\n h: \"'n uur\",\n hh: '%d ure',\n d: \"'n dag\",\n dd: '%d dae',\n M: \"'n maand\",\n MM: '%d maande',\n y: \"'n jaar\",\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4, // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n },\n });\n\n return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var ar = moment.defineLocale('ar', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'جانفي',\n 'فيفري',\n 'مارس',\n 'أفريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arDz = moment.defineLocale('ar-dz', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Lybia) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\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 0: '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واحدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واحدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واحدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واحد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واحد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واحد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\n pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n },\n months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر',\n ];\n\n var arLy = moment.defineLocale('ar-ly', {\n months: months,\n monthsShort: months,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y'),\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n };\n\n var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split(\n '_'\n ),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı',\n };\n\n var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split(\n '_'\n ),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'bir neçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il',\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) {\n // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n dd: 'дзень_дні_дзён',\n MM: 'месяц_месяцы_месяцаў',\n yy: 'год_гады_гадоў',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(\n '_'\n ),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(\n '_'\n ),\n },\n monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split(\n '_'\n ),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(\n '_'\n ),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(\n '_'\n ),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/,\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm',\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-і'\n : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'яну_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Миналата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Миналия] dddd [в] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n w: 'седмица',\n ww: '%d седмици',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bn = moment.defineLocale('bn', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: '৭',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\n numberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0',\n };\n\n var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানুয়ারি_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split(\n '_'\n ),\n monthsShort: 'জানু_ফেব্রু_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্ট_অক্টো_নভে_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split(\n '_'\n ),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গল_বুধ_বৃহ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়',\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর',\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n\n meridiemParse: /রাত|ভোর|সকাল|দুপুর|বিকাল|সন্ধ্যা|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'রাত') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ভোর') {\n return hour;\n } else if (meridiem === 'সকাল') {\n return hour;\n } else if (meridiem === 'দুপুর') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সন্ধ্যা') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'ভোর';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দুপুর';\n } else if (hour < 18) {\n return 'বিকাল';\n } else if (hour < 20) {\n return 'সন্ধ্যা';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\n numberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0',\n };\n\n var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort: 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\n weekdaysMin: 'ཉི_ཟླ_མིག_ལྷག_ཕུར_སངས_སྤེན'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ',\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n mm: 'munutenn',\n MM: 'miz',\n dd: 'devezh',\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n m: 'v',\n b: 'v',\n d: 'z',\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex = /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex = /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\n monthsShort: 'Gen_Cʼhwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Mercʼher_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warcʼhoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Decʼh da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s ʼzo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = number === 1 ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return bs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\n format: \"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + (this.hours() !== 1 ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(\n '_'\n ),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),\n monthsParse = [\n /^led/i,\n /^úno/i,\n /^bře/i,\n /^dub/i,\n /^kvě/i,\n /^(čvn|červen$|června)/i,\n /^(čvc|červenec|července)/i,\n /^srp/i,\n /^zář/i,\n /^říj/i,\n /^lis/i,\n /^pro/i,\n ],\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY',\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split(\n '_'\n ),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'fed', // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eine Minute', 'einer Minute'],\n h: ['eine Stunde', 'einer Stunde'],\n d: ['ein Tag', 'einem Tag'],\n dd: [number + ' Tage', number + ' Tagen'],\n w: ['eine Woche', 'einer Woche'],\n M: ['ein Monat', 'einem Monat'],\n MM: [number + ' Monate', number + ' Monaten'],\n y: ['ein Jahr', 'einem Jahr'],\n yy: [number + ' Jahre', number + ' Jahren'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]',\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: '%d Wochen',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު',\n ];\n\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split(\n '_'\n ),\n monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split(\n '_'\n ),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return (input + '').toLowerCase()[0] === 'μ';\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L',\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', hours % 12 === 1 ? 'στη' : 'στις');\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4st is the first week of the year.\n },\n });\n\n return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split(\n '_'\n ),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return enSg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aŭg_sept_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, YYYY HH:mm',\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd[n je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu jaro',\n yy: '%d jaroj',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurí : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A',\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + (this.hours() !== 1 ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n w: 'una semana',\n ww: '%d semanas',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n ss: [number + 'sekundi', number + 'sekundit'],\n m: ['ühe minuti', 'üks minut'],\n mm: [number + ' minuti', number + ' minutit'],\n h: ['ühe tunni', 'tund aega', 'üks tund'],\n hh: [number + ' tunni', number + ' tundi'],\n d: ['ühe päeva', 'üks päev'],\n M: ['kuu aja', 'kuu aega', 'üks kuu'],\n MM: [number + ' kuu', number + ' kuud'],\n y: ['ühe aasta', 'aasta', 'üks aasta'],\n yy: [number + ' aasta', number + ' aastat'],\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split(\n '_'\n ),\n weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm',\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '۱',\n 2: '۲',\n 3: '۳',\n 4: '۴',\n 5: '۵',\n 6: '۶',\n 7: '۷',\n 8: '۸',\n 9: '۹',\n 0: '۰',\n },\n numberMap = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0',\n };\n\n var fa = moment.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: '%d ثانیه',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string\n .replace(/[۰-۹]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm',\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsStrictRegex = /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex = /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n w: 'une semaine',\n ww: '%d semaines',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n });\n\n return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split(\n '_'\n );\n\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split(\n '_'\n ),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné ag] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d míonna',\n y: 'bliain',\n yy: '%d bliain',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Màrt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ògmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dàmhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort = [\n 'Faoi',\n 'Gear',\n 'Màrt',\n 'Gibl',\n 'Cèit',\n 'Ògmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dàmh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimàirt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm',\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + (this.hours() !== 1 ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + (this.hours() !== 1 ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['एका मिणटान', 'एक मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['एका वरान', 'एक वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['एका दिसान', 'एक दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['एका म्हयन्यान', 'एक म्हयनो'],\n MM: [number + ' म्हयन्यानी', number + ' म्हयने'],\n y: ['एका वर्सान', 'एक वर्स'],\n yy: [number + ' वर्सांनी', number + ' वर्सां'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone: 'जानेवारी_फेब्रुवारी_मार्च_एप्रील_मे_जून_जुलय_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीच्या_फेब्रुवारीच्या_मार्चाच्या_एप्रीलाच्या_मेयाच्या_जूनाच्या_जुलयाच्या_ऑगस्टाच्या_सप्टेंबराच्या_ऑक्टोबराच्या_नोव्हेंबराच्या_डिसेंबराच्या'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort: 'जाने._फेब्रु._मार्च_एप्री._मे_जून_जुल._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आयतार_सोमार_मंगळार_बुधवार_बिरेस्तार_सुक्रार_शेनवार'.split('_'),\n weekdaysShort: 'आयत._सोम._मंगळ._बुध._ब्रेस्त._सुक्र._शेन.'.split('_'),\n weekdaysMin: 'आ_सो_मं_बु_ब्रे_सु_शे'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [वाजतां]',\n LTS: 'A h:mm:ss [वाजतां]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [वाजतां]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM YYYY, A h:mm [वाजतां]',\n },\n calendar: {\n sameDay: '[आयज] LT',\n nextDay: '[फाल्यां] LT',\n nextWeek: '[फुडलो] dddd[,] LT',\n lastDay: '[काल] LT',\n lastWeek: '[फाटलो] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s आदीं',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(वेर)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /राती|सकाळीं|दनपारां|सांजे/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राती') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळीं') {\n return hour;\n } else if (meridiem === 'दनपारां') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'सांजे') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'राती';\n } else if (hour < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_Sukrar_Son'var\".split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]',\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokallim') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokallim';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n },\n });\n\n return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: '૩',\n 4: '૪',\n 5: '૫',\n 6: '૬',\n 7: '૭',\n 8: '૮',\n 9: '૯',\n 0: '૦',\n },\n numberMap = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0',\n };\n\n var gu = moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split(\n '_'\n ),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split(\n '_'\n ),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે',\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પહેલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ',\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return gu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split(\n '_'\n ),\n monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split(\n '_'\n ),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n },\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n },\n });\n\n return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अक्टू/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मार्च/i,\n /^अप्रै/i,\n /^मई/i,\n /^जून/i,\n /^जुल/i,\n /^अग/i,\n /^सित/i,\n /^अक्टू/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split(\n '_'\n ),\n standalone: 'जनवरी_फरवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितंबर_अक्टूबर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split(\n '_'\n ),\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे',\n },\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex: /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मार्च?|अप्रैल|अप्रै\\.?|मई?|जून?|जुलाई|जुल\\.?|अगस्त|अग\\.?|सितम्बर|सितंबर|सित\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर|नव\\.?|दिसम्बर|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex: /^(जनवरी?|फ़रवरी|फरवरी?|मार्च?|अप्रैल?|मई?|जून?|जुलाई?|अगस्त?|सितम्बर|सितंबर|सित?\\.?|अक्टूबर|अक्टू\\.?|नवम्बर|नवंबर?|दिसम्बर|दिसंबर?)/i,\n\n monthsShortStrictRegex: /^(जन\\.?|फ़र\\.?|मार्च?|अप्रै\\.?|मई?|जून?|जुल\\.?|अग\\.?|सित\\.?|अक्टू\\.?|नव\\.?|दिस\\.?)/i,\n\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n var hr = moment.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prošlu] [nedjelju] [u] LT';\n case 3:\n return '[prošlu] [srijedu] [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(\n ' '\n );\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n var hu = moment.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split(\n '_'\n ),\n monthsShort: 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm',\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split(\n '_'\n ),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split(\n '_'\n ),\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split(\n '_'\n ),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm',\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի',\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum')\n );\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = moment.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm',\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n w: 'una settimana',\n ww: '%d settimane',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split(\n '_'\n ),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return (/^[0-9].+$/.test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: \"un'ora\",\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: '㋿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: '平成',\n narrow: '㍻',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: '昭和',\n narrow: '㍼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大正',\n narrow: '㍽',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: '㍾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元前',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(元|\\d+)年/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === '元' ? 1 : parseInt(match[1] || input, 10);\n },\n months: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm',\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'y':\n return number === 1 ? '元年' : number + '年';\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年',\n },\n });\n\n return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split(\n '_'\n ),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split(\n '_'\n ),\n isFormat: /(წინა|შემდეგ)/,\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(/(წამ|წუთ|საათ|წელ|დღ|თვ)(ი|ე)/, function (\n $0,\n $1,\n $2\n ) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n });\n },\n past: function (s) {\n if (/(წამი|წუთი|საათი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი',\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші',\n };\n\n var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split(\n '_'\n ),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\n numberMap = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0',\n };\n\n var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ',\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: '೭',\n 8: '೮',\n 9: '೯',\n 0: '೦',\n },\n numberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0',\n };\n\n var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split(\n '_'\n ),\n monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split(\n '_'\n ),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ',\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = moment.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split(\n '_'\n ),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm',\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n },\n });\n\n return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '١',\n 2: '٢',\n 3: '٣',\n 4: '٤',\n 5: '٥',\n 6: '٦',\n 7: '٧',\n 8: '٨',\n 9: '٩',\n 0: '٠',\n },\n numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays: 'یهكشهممه_دووشهممه_سێشهممه_چوارشهممه_پێنجشهممه_ههینی_شهممه'.split(\n '_'\n ),\n weekdaysShort: 'یهكشهم_دووشهم_سێشهم_چوارشهم_پێنجشهم_ههینی_شهممه'.split(\n '_'\n ),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n meridiemParse: /ئێواره|بهیانی/,\n isPM: function (input) {\n return /ئێواره/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'بهیانی';\n } else {\n return 'ئێواره';\n }\n },\n calendar: {\n sameDay: '[ئهمرۆ كاتژمێر] LT',\n nextDay: '[بهیانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'له %s',\n past: '%s',\n s: 'چهند چركهیهك',\n ss: 'چركه %d',\n m: 'یهك خولهك',\n mm: '%d خولهك',\n h: 'یهك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یهك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یهك مانگ',\n MM: '%d مانگ',\n y: 'یهك ساڵ',\n yy: '%d ساڵ',\n },\n preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/،/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\n .replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү',\n };\n\n var ky = moment.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split(\n '_'\n ),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split(\n '_'\n ),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n m: ['eng Minutt', 'enger Minutt'],\n h: ['eng Stonn', 'enger Stonn'],\n d: ['een Dag', 'engem Dag'],\n M: ['ee Mount', 'engem Mount'],\n y: ['ee Joer', 'engem Joer'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10,\n firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]',\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n },\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\n yy: '%d Joer',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split(\n '_'\n ),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm',\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ',\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n },\n });\n\n return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas Mozūras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundė_sekundžių_sekundes',\n m: 'minutė_minutės_minutę',\n mm: 'minutės_minučių_minutes',\n h: 'valanda_valandos_valandą',\n hh: 'valandos_valandų_valandas',\n d: 'diena_dienos_dieną',\n dd: 'dienos_dienų_dienas',\n M: 'mėnuo_mėnesio_mėnesį',\n MM: 'mėnesiai_mėnesių_mėnesius',\n y: 'metai_metų_metus',\n yy: 'metai_metų_metus',\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : forms(key)[2];\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n var lt = moment.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(\n '_'\n ),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/,\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(\n '_'\n ),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(\n '_'\n ),\n isFormat: /dddd HH:mm/,\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : Jānis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\n ss: 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n m: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n mm: 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n h: 'stundas_stundām_stunda_stundas'.split('_'),\n hh: 'stundas_stundām_stunda_stundas'.split('_'),\n d: 'dienas_dienām_diena_dienas'.split('_'),\n dd: 'dienas_dienām_diena_dienas'.split('_'),\n M: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n MM: 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n y: 'gada_gadiem_gads_gadi'.split('_'),\n yy: 'gada_gadiem_gads_gadi'.split('_'),\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm',\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mi = moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split(\n '_'\n ),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm',\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split(\n '_'\n ),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'една минута',\n mm: '%d минути',\n h: 'еден час',\n hh: '%d часа',\n d: 'еден ден',\n dd: '%d дена',\n M: 'еден месец',\n MM: '%d месеци',\n y: 'една година',\n yy: '%d години',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split(\n '_'\n ),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു',\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം',\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം'\n ) {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n },\n });\n\n return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n var mn = moment.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split(\n '_'\n ),\n monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm',\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n },\n });\n\n return mn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'एक मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'एक तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'एक दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'एक महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'एक वर्ष';\n break;\n case 'yy':\n output = '%d वर्षे';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'एका मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'एका तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'एका दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'एका महिन्या';\n break;\n case 'MM':\n output = '%d महिन्यां';\n break;\n case 'y':\n output = 'एका वर्षा';\n break;\n case 'yy':\n output = '%d वर्षां';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split(\n '_'\n ),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता',\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr,\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दुपारी|सायंकाळी|रात्री/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दुपारी' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रात्री'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\n return 'पहाटे';\n } else if (hour < 12) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm',\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split(\n '_'\n ),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '၁',\n 2: '၂',\n 3: '၃',\n 4: '၄',\n 5: '၅',\n 6: '၆',\n 7: '၇',\n 8: '၈',\n 9: '၉',\n 0: '၀',\n },\n numberMap = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0',\n };\n\n var my = moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split(\n '_'\n ),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်',\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian Bokmål [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n w: 'en uke',\n ww: '%d uker',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: '७',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n };\n\n var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split(\n '_'\n ),\n monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split(\n '_'\n ),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे',\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष',\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(\n '_'\n ),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(\n '_'\n ),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n w: 'één week',\n ww: '%d weken',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split(\n '_'\n ),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^maart|mrt.?$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split(\n '_'\n ),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n );\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._må._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_la'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm',\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n w: 'ei veke',\n ww: '%d veker',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone: 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort: 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquí %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4,\n },\n });\n\n return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: '੩',\n 4: '੪',\n 5: '੫',\n 6: '੬',\n 7: '੭',\n 8: '੮',\n 9: '੯',\n 0: '੦',\n },\n numberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0',\n };\n\n var paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ',\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ',\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(\n '_'\n ),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split(\n '_'\n ),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzień',\n dd: '%d dni',\n w: 'tydzień',\n ww: translate,\n M: 'miesiąc',\n MM: translate,\n y: 'rok',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n w: 'uma semana',\n ww: '%d semanas',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays: 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\n weekdaysShort: 'dom_seg_ter_qua_qui_sex_sáb'.split('_'),\n weekdaysMin: 'do_2ª_3ª_4ª_5ª_6ª_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm',\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return this.day() === 0 || this.day() === 6\n ? '[Último] dddd [às] LT' // Saturday + Sunday\n : '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\n MM: 'luni',\n yy: 'ani',\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort: 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'час_часа_часов',\n dd: 'день_дня_дней',\n ww: 'неделя_недели_недель',\n MM: 'месяц_месяца_месяцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\n /^янв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йя]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^сен/i,\n /^окт/i,\n /^ноя/i,\n /^дек/i,\n ];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n var ru = moment.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(\n '_'\n ),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(\n '_'\n ),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соответствует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm',\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'час',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделя',\n ww: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : Bård Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = moment.defineLocale('se', {\n months: 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split(\n '_'\n ),\n monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split(\n '_'\n ),\n weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm',\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split(\n '_'\n ),\n weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split(\n '_'\n ),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss',\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n },\n });\n\n return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return withoutSuffix || isFuture ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : isFuture ? 'minútu' : 'minútou';\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n case 'd': // a day / in a day / a day ago\n return withoutSuffix || isFuture ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n case 'M': // a month / in a month / a month ago\n return withoutSuffix || isFuture ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n case 'y': // a year / in a year / a year ago\n return withoutSuffix || isFuture ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert Sedovšek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD. MM. YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm',\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split(\n '_'\n ),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split(\n '_'\n ),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : wordKey[2];\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D. M. YYYY.',\n LL: 'D. MMMM YYYY.',\n LLL: 'D. MMMM YYYY. H:mm',\n LLLL: 'dddd, D. MMMM YYYY. H:mm',\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT',\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'дан',\n dd: translator.translate,\n M: 'месец',\n MM: translator.translate,\n y: 'годину',\n yy: translator.translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka',\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(\\:e|\\:a)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'hh:mm A',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'siku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: '௭',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\n numberMap = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0',\n };\n\n var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split(\n '_'\n ),\n weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split(\n '_'\n ),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm',\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split(\n '_'\n ),\n monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split(\n '_'\n ),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm',\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 6th is the first week of the year.\n },\n });\n\n return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'segundu balun',\n ss: 'segundu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум',\n };\n\n var tg = moment.defineLocale('tg', {\n months: {\n format: 'январи_феврали_марти_апрели_майи_июни_июли_августи_сентябри_октябри_ноябри_декабри'.split(\n '_'\n ),\n standalone: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\n ),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Фардо соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол',\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1th is the first week of the year.\n },\n });\n\n return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split(\n '_'\n ),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm',\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n var tk = moment.defineLocale('tk', {\n months: 'Ýanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ýan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'Ýekşenbe_Duşenbe_Sişenbe_Çarşenbe_Penşenbe_Anna_Şenbe'.split(\n '_'\n ),\n weekdaysShort: 'Ýek_Duş_Siş_Çar_Pen_Ann_Şen'.split('_'),\n weekdaysMin: 'Ýk_Dş_Sş_Çr_Pn_An_Şn'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'unjy\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split(\n '_'\n ),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm',\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'leS'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'waQ'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'nem'\n : time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time =\n output.indexOf('jaj') !== -1\n ? time.slice(0, -3) + 'Hu’'\n : output.indexOf('jar') !== -1\n ? time.slice(0, -3) + 'wen'\n : output.indexOf('DIS') !== -1\n ? time.slice(0, -3) + 'ben'\n : time + ' ret';\n return time;\n }\n\n function translate(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += (word !== '' ? ' ' : '') + numbersNouns[one];\n }\n return word === '' ? 'pagh' : word;\n }\n\n var tlh = moment.defineLocale('tlh', {\n months: 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split(\n '_'\n ),\n monthsShort: 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L',\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\n yy: translate,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak Yiğit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inci\",\n 5: \"'inci\",\n 8: \"'inci\",\n 70: \"'inci\",\n 80: \"'inci\",\n 2: \"'nci\",\n 7: \"'nci\",\n 20: \"'nci\",\n 50: \"'nci\",\n 3: \"'üncü\",\n 4: \"'üncü\",\n 100: \"'üncü\",\n 6: \"'ncı\",\n 9: \"'uncu\",\n 10: \"'uncu\",\n 30: \"'uncu\",\n 60: \"'ıncı\",\n 90: \"'ıncı\",\n };\n\n var tr = moment.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split(\n '_'\n ),\n weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n w: 'bir hafta',\n ww: '%d hafta',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl',\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) {\n // special case for zero\n return number + \"'ıncı\";\n }\n var a = number % 10,\n b = (number % 100) - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm',\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return \"d'o\" === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? \"d'o\" : \"D'O\";\n } else {\n return isLower ? \"d'a\" : \"D'A\";\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['viensas secunds', \"'iensas secunds\"],\n ss: [number + ' secunds', '' + number + ' secunds'],\n m: [\"'n míut\", \"'iens míut\"],\n mm: [number + ' míuts', '' + number + ' míuts'],\n h: [\"'n þora\", \"'iensa þora\"],\n hh: [number + ' þoras', '' + number + ' þoras'],\n d: [\"'n ziua\", \"'iensa ziua\"],\n dd: [number + ' ziuas', '' + number + ' ziuas'],\n M: [\"'n mes\", \"'iens mes\"],\n MM: [number + ' mesen', '' + number + ' mesen'],\n y: [\"'n ar\", \"'iens ar\"],\n yy: [number + ' ars', '' + number + ' ars'],\n };\n return isFuture\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split(\n '_'\n ),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn',\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12, // The week that contains Jan 12th is the first week of the year.\n },\n });\n\n return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل',\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n return num % 10 === 1 && num % 100 !== 11\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n mm: withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n hh: withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n dd: 'день_дні_днів',\n MM: 'місяць_місяці_місяців',\n yy: 'рік_роки_років',\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative: 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split(\n '_'\n ),\n accusative: 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split(\n '_'\n ),\n genitive: 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n nounCase = /(\\[[ВвУу]\\]) ?dddd/.test(format)\n ? 'accusative'\n : /\\[?(?:минулої|наступної)? ?\\] ?dddd/.test(format)\n ? 'genitive'\n : 'nominative';\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n var uk = moment.defineLocale('uk', {\n months: {\n format: 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split(\n '_'\n ),\n standalone: 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split(\n '_'\n ),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm',\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'місяць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعہ', 'ہفتہ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\n weekdays: days,\n weekdaysShort: days,\n weekdaysMin: days,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm',\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال',\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split(\n '_'\n ),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm',\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: \"[O'tgan] dddd [kuni soat] LT [da]\",\n sameElse: 'L',\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil',\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = moment.defineLocale('vi', {\n months: 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split(\n '_'\n ),\n monthsShort: 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split(\n '_'\n ),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần trước lúc] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n w: 'một tuần',\n ww: '%d tuần',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = moment.defineLocale('x-pseudo', {\n months: 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split(\n '_'\n ),\n monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split(\n '_'\n ),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm',\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A',\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ tón'bọ] [ni] LT\",\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d',\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s后',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n w: '1 周',\n ww: '%d 周',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年',\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1200) {\n return '上午';\n } else if (hm === 1200) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'D/M/YYYY',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm',\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年',\n },\n });\n\n return zhTw;\n\n})));\n","export function formatDate(date, fmt) {\n if (/(y+)/.test(fmt)) {\n fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));\n }\n let o = {\n 'M+': date.getMonth() + 1,\n 'd+': date.getDate(),\n 'h+': date.getHours(),\n 'm+': date.getMinutes(),\n 's+': date.getSeconds()\n };\n for (let k in o) {\n if (new RegExp(`(${k})`).test(fmt)) {\n let str = o[k] + '';\n fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));\n }\n }\n return fmt;\n};\n\nfunction padLeftZero(str) {\n return ('00' + str).substr(str.length);\n};","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAADYCAYAAAC0oWZTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo4NjM5NGZmZS0xNzY5LTNhNDYtYTgwZC05NTNmZjY0MDY5OGQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODVFQUQ1NzIzOTI5MTFFRjhCNDBDMjREMDQ3MTY3NjIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODVFQUQ1NzEzOTI5MTFFRjhCNDBDMjREMDQ3MTY3NjIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDFmNjNlNzEtN2E2NC1jMDQ5LWI2NGUtYTQzMDc0NWNkOTA0IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6ODUxZjIwOGUtNmU1Zi1kNTQwLTgxZTUt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\"","import { VantComponent } from '../common/component';\nVantComponent({\n props: {\n info: null,\n name: String,\n size: String,\n color: String,\n customStyle: String,\n classPrefix: {\n type: String,\n value: 'van-icon'\n }\n },\n methods: {\n onClick() {\n this.$emit('click');\n }\n }\n});\n","import { basic } from '../mixins/basic';\nimport { observe } from '../mixins/observer/index';\nfunction mapKeys(source, target, map) {\n Object.keys(map).forEach(key => {\n if (source[key]) {\n target[map[key]] = source[key];\n }\n });\n}\nfunction VantComponent(vantOptions = {}) {\n const options = {};\n mapKeys(vantOptions, options, {\n data: 'data',\n props: 'properties',\n mixins: 'behaviors',\n methods: 'methods',\n beforeCreate: 'created',\n created: 'attached',\n mounted: 'ready',\n relations: 'relations',\n destroyed: 'detached',\n classes: 'externalClasses'\n });\n const { relation } = vantOptions;\n if (relation) {\n options.relations = Object.assign(options.relations || {}, {\n [`../${relation.name}/index`]: relation\n });\n }\n // add default externalClasses\n options.externalClasses = options.externalClasses || [];\n options.externalClasses.push('custom-class');\n // add default behaviors\n options.behaviors = options.behaviors || [];\n options.behaviors.push(basic);\n // map field to form-field behavior\n if (vantOptions.field) {\n options.behaviors.push('wx://form-field');\n }\n // add default options\n options.options = {\n multipleSlots: true,\n addGlobalClass: true\n };\n observe(vantOptions, options);\n Component(options);\n}\nexport { VantComponent };\n","export const basic = Behavior({\n methods: {\n $emit(...args) {\n this.triggerEvent(...args);\n },\n getRect(selector, all) {\n return new Promise(resolve => {\n wx.createSelectorQuery()\n .in(this)[all ? 'selectAll' : 'select'](selector)\n .boundingClientRect(rect => {\n if (all && Array.isArray(rect) && rect.length) {\n resolve(rect);\n }\n if (!all && rect) {\n resolve(rect);\n }\n })\n .exec();\n });\n }\n }\n});\n","import { behavior } from './behavior';\nimport { observeProps } from './props';\nexport function observe(vantOptions, options) {\n const { watch, computed } = vantOptions;\n options.behaviors.push(behavior);\n if (watch) {\n const props = options.properties || {};\n Object.keys(watch).forEach(key => {\n if (key in props) {\n let prop = props[key];\n if (prop === null || !('type' in prop)) {\n prop = { type: prop };\n }\n prop.observer = watch[key];\n props[key] = prop;\n }\n });\n options.properties = props;\n }\n if (computed) {\n options.methods = options.methods || {};\n options.methods.$options = () => vantOptions;\n if (options.properties) {\n observeProps(options.properties);\n }\n }\n}\n","function setAsync(context, data) {\n return new Promise(resolve => {\n context.setData(data, resolve);\n });\n}\nexport const behavior = Behavior({\n created() {\n if (!this.$options) {\n return;\n }\n const cache = {};\n const { computed } = this.$options();\n const keys = Object.keys(computed);\n this.calcComputed = () => {\n const needUpdate = {};\n keys.forEach(key => {\n const value = computed[key].call(this);\n if (cache[key] !== value) {\n cache[key] = value;\n needUpdate[key] = value;\n }\n });\n return needUpdate;\n };\n },\n attached() {\n this.set();\n },\n methods: {\n // set data and set computed data\n set(data, callback) {\n const stack = [];\n if (data) {\n stack.push(setAsync(this, data));\n }\n if (this.calcComputed) {\n stack.push(setAsync(this, this.calcComputed()));\n }\n return Promise.all(stack).then(res => {\n if (callback && typeof callback === 'function') {\n callback.call(this);\n }\n return res;\n });\n }\n }\n});\n","export function observeProps(props) {\n if (!props) {\n return;\n }\n Object.keys(props).forEach(key => {\n let prop = props[key];\n if (prop === null || !('type' in prop)) {\n prop = { type: prop };\n }\n let { observer } = prop;\n prop.observer = function (...args) {\n if (observer) {\n if (typeof observer === 'string') {\n observer = this[observer];\n }\n observer.apply(this, args);\n }\n this.set();\n };\n props[key] = prop;\n });\n}\n","const validateIdent = {\n aIdentityCode_City: { // 城市代码列表 \n 11: \"北京\", 12: \"天津\", 13: \"河北\", 14: \"山西\", 15: \"内蒙古\", 21: \"辽宁\", 22: \"吉林\",\n 23: \"黑龙江 \", 31: \"上海\", 32: \"江苏\", 33: \"浙江\", 34: \"安徽\", 35: \"福建\", 36: \"江西\",\n 37: \"山东\", 41: \"河南\", 42: \"湖北 \", 43: \"湖南\", 44: \"广东\", 45: \"广西\", 46: \"海南\",\n 50: \"重庆\", 51: \"四川\", 52: \"贵州\", 53: \"云南\", 54: \"西藏 \", 61: \"陕西\", 62: \"甘肃\",\n 63: \"青海\", 64: \"宁夏\", 65: \"新疆\", 71: \"台湾\", 81: \"香港\", 82: \"澳门\", 91: \"国外 \"\n },\n IdentityCode_isCardNo(card) {//检查号码是否符合规范,包括长度,类型 \n var reg = /(^\\d{15}$)|(^\\d{17}(\\d|X)$)/; //身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X \n if (reg.test(card) === false) {\n return false;\n }\n return true;\n },\n IdentityCode_checkProvince(card) { //取身份证前两位,校验省份 \n var province = card.substr(0, 2);\n if (validateIdent.aIdentityCode_City[province] == undefined) {\n return false;\n }\n return true;\n },\n IdentityCode_checkBirthday(card) { //检查生日是否正确,15位以'19'年份来进行补齐。 \n var len = card.length;\n //身份证15位时,次序为省(3位)市(3位)年(2位)月(2位)日(2位)校验位(3位),皆为数字 \n if (len == '15') {\n var re_fifteen = /^(\\d{6})(\\d{2})(\\d{2})(\\d{2})(\\d{3})$/;\n var arr_data = card.match(re_fifteen); // 正则取号码内所含出年月日数据 \n var year = arr_data[2];\n var month = arr_data[3];\n var day = arr_data[4];\n var birthday = new Date('19' + year + '/' + month + '/' + day);\n return validateIdent.IdentityCode_verifyBirthday('19' + year, month, day, birthday);\n }\n //身份证18位时,次序为省(3位)市(3位)年(4位)月(2位)日(2位)校验位(4位),校验位末尾可能为X \n if (len == '18') {\n var re_eighteen = /^(\\d{6})(\\d{4})(\\d{2})(\\d{2})(\\d{3})([0-9]|X)$/;\n var arr_data = card.match(re_eighteen); // 正则取号码内所含出年月日数据 \n var year = arr_data[2];\n var month = arr_data[3];\n var day = arr_data[4];\n var birthday = new Date(year + '/' + month + '/' + day);\n return validateIdent.IdentityCode_verifyBirthday(year, month, day, birthday);\n }\n return false;\n },\n IdentityCode_verifyBirthday(year, month, day, birthday) {//校验日期 ,15位以'19'年份来进行补齐。\n var now = new Date();\n var now_year = now.getFullYear();\n //年月日是否合理 \n if (birthday.getFullYear() == year\n && (birthday.getMonth() + 1) == month\n && birthday.getDate() == day) {\n //判断年份的范围(3岁到150岁之间) \n var time = now_year - year;\n if (time >= 3 && time <= 150) {\n return true;\n }\n return false;\n }\n return false;\n },\n IdentityCode_checkParity(card) { //校验位的检测 \n card = validateIdent.IdentityCode_changeFivteenToEighteen(card); // 15位转18位 \n var len = card.length;\n if (len == '18') {\n var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);\n var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');\n var cardTemp = 0, i, valnum;\n for (i = 0; i < 17; i++) {\n cardTemp += card.substr(i, 1) * arrInt[i];\n }\n valnum = arrCh[cardTemp % 11];\n if (valnum == card.substr(17, 1)) {\n return true;\n }\n return false;\n }\n return false;\n },\n IdentityCode_changeFivteenToEighteen(card) { //15位转18位身份证号 \n if (card.length == '15') {\n var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);\n var arrCh = new Array('1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2');\n var cardTemp = 0, i;\n card = card.substr(0, 6) + '19' + card.substr(6, card.length - 6);\n for (i = 0; i < 17; i++) {\n cardTemp += card.substr(i, 1) * arrInt[i];\n }\n card += arrCh[cardTemp % 11];\n return card;\n }\n return card;\n },\n IdentityCodeValid(card) {// 身份证号码检验主入口 \n let pass = true;\n let sex = ''\n //是否为空 \n if (pass && card === '')\n pass = false;\n //校验长度,类型 \n if (pass && validateIdent.IdentityCode_isCardNo(card) === false)\n pass = false;\n //检查省份 \n if (pass && validateIdent.IdentityCode_checkProvince(card) === false)\n pass = false;\n //校验生日 \n if (pass && validateIdent.IdentityCode_checkBirthday(card) === false)\n pass = false;\n //检验位的检测 \n if (pass && validateIdent.IdentityCode_checkParity(card) === false)\n pass = false;\n if (pass) {\n var iCard = validateIdent.IdentityCode_changeFivteenToEighteen(card);\n if (parseInt(iCard.charAt(16)) % 2 == 0) {\n sex = \"0\"; // 女生 \n } else {\n sex = \"1\"; // 男生 \n }\n return true\n } else {\n return false\n }\n }\n}\n\n\n\n\nexport default validateIdent.IdentityCodeValid //导出","export default {\n data() {\n return {\n disabled: false,\n text: \"获取验证码\"\n };\n },\n methods: {\n sendCode() {\n if (this.disabled) return;\n this.disabled = true;\n let n = 60;\n this.text = \"剩余 \" + n + \"s\";\n const run = setInterval(() => {\n n = n - 1;\n if (n < 0) {\n clearInterval(run);\n }\n this.text = \"剩余 \" + n + \"s\";\n if (this.text < \"剩余 \" + 0 + \"s\") {\n this.disabled = false;\n this.text = \"重新获取\";\n }\n }, 1000);\n }\n }\n};","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHwAAAB8CAMAAACcwCSMAAADI2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDFCQjEwQjE0N0Y1MTFFRDk5NTg5MEM0RTUwMzY4NEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDFCQjEwQjI0N0Y1MTFFRDk5NTg5MEM0RTUwMzY4NEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEMUJCMTBBRjQ3RjUxMUVEOTk1ODkwQzRFNTAzNjg0QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEMUJCMTBCMDQ3RjUxMUVEOTk1ODkwQzRFNTAzNjg0QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsPVx8oAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAM1BMVEVHcExDy/9C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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHwAAAB8CAMAAACcwCSMAAADI2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0ZCNDk5Qjg0N0Y2MTFFRDk5NTg5MEM0RTUwMzY4NEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0ZCNDk5Qjk0N0Y2MTFFRDk5NTg5MEM0RTUwMzY4NEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEMUJCMTBCNzQ3RjUxMUVEOTk1ODkwQzRFNTAzNjg0QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEMUJCMTBCODQ3RjUxMUVEOTk1ODkwQzRFNTAzNjg0QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pjn58h4AAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAP1BMVEVHcEz/f2H/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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHwAAAB8CAMAAACcwCSMAAADI2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDFCQjEwQjU0N0Y1MTFFRDk5NTg5MEM0RTUwMzY4NEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDFCQjEwQjY0N0Y1MTFFRDk5NTg5MEM0RTUwMzY4NEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpEMUJCMTBCMzQ3RjUxMUVEOTk1ODkwQzRFNTAzNjg0QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpEMUJCMTBCNDQ3RjUxMUVEOTk1ODkwQzRFNTAzNjg0QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PgmRK3sAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAPFBMVEVHcEz60Sj9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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHwAAAB8CAMAAACcwCSMAAADI2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0ZCNDk5QkM0N0Y2MTFFRDk5NTg5MEM0RTUwMzY4NEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0ZCNDk5QkQ0N0Y2MTFFRDk5NTg5MEM0RTUwMzY4NEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozRkI0OTlCQTQ3RjYxMUVEOTk1ODkwQzRFNTAzNjg0QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozRkI0OTlCQjQ3RjYxMUVEOTk1ODkwQzRFNTAzNjg0QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkeMh5wAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAP1BMVEVHcEzRQ/PV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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHwAAAB8CAMAAACcwCSMAAADI2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDAgNzkuMTYwNDUxLCAyMDE3LzA1LzA2LTAxOjA4OjIxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6M0ZCNDk5QzA0N0Y2MTFFRDk5NTg5MEM0RTUwMzY4NEEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6M0ZCNDk5QzE0N0Y2MTFFRDk5NTg5MEM0RTUwMzY4NEEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDozRkI0OTlCRTQ3RjYxMUVEOTk1ODkwQzRFNTAzNjg0QSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDozRkI0OTlCRjQ3RjYxMUVEOTk1ODkwQzRFNTAzNjg0QSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnCzx3wAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAANlBMVEVHcExs4Zpz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\"","//Core code comes from https://github.com/davidshimjs/qrcodejs\n \nvar QRCode;\n \n(function () {\n /**\n * Get the type by string length\n * \n * @private\n * @param {String} sText\n * @param {Number} nCorrectLevel\n * @return {Number} type\n */\n function _getTypeNumber(sText, nCorrectLevel) {\n var nType = 1;\n var length = _getUTF8Length(sText);\n \n for (var i = 0, len = QRCodeLimitLength.length; i <= len; i++) {\n var nLimit = 0;\n \n switch (nCorrectLevel) {\n case QRErrorCorrectLevel.L:\n nLimit = QRCodeLimitLength[i][0];\n break;\n case QRErrorCorrectLevel.M:\n nLimit = QRCodeLimitLength[i][1];\n break;\n case QRErrorCorrectLevel.Q:\n nLimit = QRCodeLimitLength[i][2];\n break;\n case QRErrorCorrectLevel.H:\n nLimit = QRCodeLimitLength[i][3];\n break;\n }\n \n if (length <= nLimit) {\n break;\n } else {\n nType++;\n }\n }\n \n if (nType > QRCodeLimitLength.length) {\n throw new Error(\"Too long data\");\n }\n \n return nType;\n }\n \n function _getUTF8Length(sText) {\n var replacedText = encodeURI(sText).toString().replace(/\\%[0-9a-fA-F]{2}/g, 'a');\n return replacedText.length + (replacedText.length != sText ? 3 : 0);\n }\n \n function QR8bitByte(data) {\n this.mode = QRMode.MODE_8BIT_BYTE;\n this.data = data;\n this.parsedData = [];\n \n // Added to support UTF-8 Characters\n for (var i = 0, l = this.data.length; i < l; i++) {\n var byteArray = [];\n var code = this.data.charCodeAt(i);\n \n if (code > 0x10000) {\n byteArray[0] = 0xF0 | ((code & 0x1C0000) >>> 18);\n byteArray[1] = 0x80 | ((code & 0x3F000) >>> 12);\n byteArray[2] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[3] = 0x80 | (code & 0x3F);\n } else if (code > 0x800) {\n byteArray[0] = 0xE0 | ((code & 0xF000) >>> 12);\n byteArray[1] = 0x80 | ((code & 0xFC0) >>> 6);\n byteArray[2] = 0x80 | (code & 0x3F);\n } else if (code > 0x80) {\n byteArray[0] = 0xC0 | ((code & 0x7C0) >>> 6);\n byteArray[1] = 0x80 | (code & 0x3F);\n } else {\n byteArray[0] = code;\n }\n \n this.parsedData.push(byteArray);\n }\n \n this.parsedData = Array.prototype.concat.apply([], this.parsedData);\n \n if (this.parsedData.length != this.data.length) {\n this.parsedData.unshift(191);\n this.parsedData.unshift(187);\n this.parsedData.unshift(239);\n }\n }\n \n QR8bitByte.prototype = {\n getLength: function (buffer) {\n return this.parsedData.length;\n },\n write: function (buffer) {\n for (var i = 0, l = this.parsedData.length; i < l; i++) {\n buffer.put(this.parsedData[i], 8);\n }\n }\n };\n \n \n // QRCodeModel\n function QRCodeModel(typeNumber, errorCorrectLevel) {\n this.typeNumber = typeNumber;\n this.errorCorrectLevel = errorCorrectLevel;\n this.modules = null;\n this.moduleCount = 0;\n this.dataCache = null;\n this.dataList = [];\n }\n QRCodeModel.prototype = {\n addData: function (data) { var newData = new QR8bitByte(data); this.dataList.push(newData); this.dataCache = null; }, isDark: function (row, col) {\n if (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) { throw new Error(row + \",\" + col); }\n return this.modules[row][col];\n }, getModuleCount: function () { return this.moduleCount; }, make: function () { this.makeImpl(false, this.getBestMaskPattern()); }, makeImpl: function (test, maskPattern) {\n this.moduleCount = this.typeNumber * 4 + 17; this.modules = new Array(this.moduleCount); for (var row = 0; row < this.moduleCount; row++) { this.modules[row] = new Array(this.moduleCount); for (var col = 0; col < this.moduleCount; col++) { this.modules[row][col] = null; } }\n this.setupPositionProbePattern(0, 0); this.setupPositionProbePattern(this.moduleCount - 7, 0); this.setupPositionProbePattern(0, this.moduleCount - 7); this.setupPositionAdjustPattern(); this.setupTimingPattern(); this.setupTypeInfo(test, maskPattern); if (this.typeNumber >= 7) { this.setupTypeNumber(test); }\n if (this.dataCache == null) { this.dataCache = QRCodeModel.createData(this.typeNumber, this.errorCorrectLevel, this.dataList); }\n this.mapData(this.dataCache, maskPattern);\n }, setupPositionProbePattern: function (row, col) { for (var r = -1; r <= 7; r++) { if (row + r <= -1 || this.moduleCount <= row + r) continue; for (var c = -1; c <= 7; c++) { if (col + c <= -1 || this.moduleCount <= col + c) continue; if ((0 <= r && r <= 6 && (c == 0 || c == 6)) || (0 <= c && c <= 6 && (r == 0 || r == 6)) || (2 <= r && r <= 4 && 2 <= c && c <= 4)) { this.modules[row + r][col + c] = true; } else { this.modules[row + r][col + c] = false; } } } }, getBestMaskPattern: function () {\n var minLostPoint = 0; var pattern = 0; for (var i = 0; i < 8; i++) { this.makeImpl(true, i); var lostPoint = QRUtil.getLostPoint(this); if (i == 0 || minLostPoint > lostPoint) { minLostPoint = lostPoint; pattern = i; } }\n return pattern;\n }, createMovieClip: function (target_mc, instance_name, depth) {\n var qr_mc = target_mc.createEmptyMovieClip(instance_name, depth); var cs = 1; this.make(); for (var row = 0; row < this.modules.length; row++) { var y = row * cs; for (var col = 0; col < this.modules[row].length; col++) { var x = col * cs; var dark = this.modules[row][col]; if (dark) { qr_mc.beginFill(0, 100); qr_mc.moveTo(x, y); qr_mc.lineTo(x + cs, y); qr_mc.lineTo(x + cs, y + cs); qr_mc.lineTo(x, y + cs); qr_mc.endFill(); } } }\n return qr_mc;\n }, setupTimingPattern: function () {\n for (var r = 8; r < this.moduleCount - 8; r++) {\n if (this.modules[r][6] != null) { continue; }\n this.modules[r][6] = (r % 2 == 0);\n }\n for (var c = 8; c < this.moduleCount - 8; c++) {\n if (this.modules[6][c] != null) { continue; }\n this.modules[6][c] = (c % 2 == 0);\n }\n }, setupPositionAdjustPattern: function () {\n var pos = QRUtil.getPatternPosition(this.typeNumber); for (var i = 0; i < pos.length; i++) {\n for (var j = 0; j < pos.length; j++) {\n var row = pos[i]; var col = pos[j]; if (this.modules[row][col] != null) { continue; }\n for (var r = -2; r <= 2; r++) { for (var c = -2; c <= 2; c++) { if (r == -2 || r == 2 || c == -2 || c == 2 || (r == 0 && c == 0)) { this.modules[row + r][col + c] = true; } else { this.modules[row + r][col + c] = false; } } }\n }\n }\n }, setupTypeNumber: function (test) {\n var bits = QRUtil.getBCHTypeNumber(this.typeNumber); for (var i = 0; i < 18; i++) { var mod = (!test && ((bits >> i) & 1) == 1); this.modules[Math.floor(i / 3)][i % 3 + this.moduleCount - 8 - 3] = mod; }\n for (var i = 0; i < 18; i++) { var mod = (!test && ((bits >> i) & 1) == 1); this.modules[i % 3 + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod; }\n }, setupTypeInfo: function (test, maskPattern) {\n var data = (this.errorCorrectLevel << 3) | maskPattern; var bits = QRUtil.getBCHTypeInfo(data); for (var i = 0; i < 15; i++) { var mod = (!test && ((bits >> i) & 1) == 1); if (i < 6) { this.modules[i][8] = mod; } else if (i < 8) { this.modules[i + 1][8] = mod; } else { this.modules[this.moduleCount - 15 + i][8] = mod; } }\n for (var i = 0; i < 15; i++) { var mod = (!test && ((bits >> i) & 1) == 1); if (i < 8) { this.modules[8][this.moduleCount - i - 1] = mod; } else if (i < 9) { this.modules[8][15 - i - 1 + 1] = mod; } else { this.modules[8][15 - i - 1] = mod; } }\n this.modules[this.moduleCount - 8][8] = (!test);\n }, mapData: function (data, maskPattern) {\n var inc = -1; var row = this.moduleCount - 1; var bitIndex = 7; var byteIndex = 0; for (var col = this.moduleCount - 1; col > 0; col -= 2) {\n if (col == 6) col--; while (true) {\n for (var c = 0; c < 2; c++) {\n if (this.modules[row][col - c] == null) {\n var dark = false; if (byteIndex < data.length) { dark = (((data[byteIndex] >>> bitIndex) & 1) == 1); }\n var mask = QRUtil.getMask(maskPattern, row, col - c); if (mask) { dark = !dark; }\n this.modules[row][col - c] = dark; bitIndex--; if (bitIndex == -1) { byteIndex++; bitIndex = 7; }\n }\n }\n row += inc; if (row < 0 || this.moduleCount <= row) { row -= inc; inc = -inc; break; }\n }\n }\n }\n };\n QRCodeModel.PAD0 = 0xEC;\n QRCodeModel.PAD1 = 0x11;\n QRCodeModel.createData = function (typeNumber, errorCorrectLevel, dataList) {\n var rsBlocks = QRRSBlock.getRSBlocks(typeNumber, errorCorrectLevel); var buffer = new QRBitBuffer(); for (var i = 0; i < dataList.length; i++) { var data = dataList[i]; buffer.put(data.mode, 4); buffer.put(data.getLength(), QRUtil.getLengthInBits(data.mode, typeNumber)); data.write(buffer); }\n var totalDataCount = 0; for (var i = 0; i < rsBlocks.length; i++) { totalDataCount += rsBlocks[i].dataCount; }\n if (buffer.getLengthInBits() > totalDataCount * 8) {\n throw new Error(\"code length overflow. (\"\n + buffer.getLengthInBits()\n + \">\"\n + totalDataCount * 8\n + \")\");\n }\n if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) { buffer.put(0, 4); }\n while (buffer.getLengthInBits() % 8 != 0) { buffer.putBit(false); }\n while (true) {\n if (buffer.getLengthInBits() >= totalDataCount * 8) { break; }\n buffer.put(QRCodeModel.PAD0, 8); if (buffer.getLengthInBits() >= totalDataCount * 8) { break; }\n buffer.put(QRCodeModel.PAD1, 8);\n }\n return QRCodeModel.createBytes(buffer, rsBlocks);\n };\n QRCodeModel.createBytes = function (buffer, rsBlocks) {\n var offset = 0; var maxDcCount = 0; var maxEcCount = 0; var dcdata = new Array(rsBlocks.length); var ecdata = new Array(rsBlocks.length); for (var r = 0; r < rsBlocks.length; r++) {\n var dcCount = rsBlocks[r].dataCount; var ecCount = rsBlocks[r].totalCount - dcCount; maxDcCount = Math.max(maxDcCount, dcCount); maxEcCount = Math.max(maxEcCount, ecCount); dcdata[r] = new Array(dcCount); for (var i = 0; i < dcdata[r].length; i++) { dcdata[r][i] = 0xff & buffer.buffer[i + offset]; }\n offset += dcCount; var rsPoly = QRUtil.getErrorCorrectPolynomial(ecCount); var rawPoly = new QRPolynomial(dcdata[r], rsPoly.getLength() - 1); var modPoly = rawPoly.mod(rsPoly); ecdata[r] = new Array(rsPoly.getLength() - 1); for (var i = 0; i < ecdata[r].length; i++) { var modIndex = i + modPoly.getLength() - ecdata[r].length; ecdata[r][i] = (modIndex >= 0) ? modPoly.get(modIndex) : 0; }\n }\n var totalCodeCount = 0; for (var i = 0; i < rsBlocks.length; i++) { totalCodeCount += rsBlocks[i].totalCount; }\n var data = new Array(totalCodeCount); var index = 0; for (var i = 0; i < maxDcCount; i++) { for (var r = 0; r < rsBlocks.length; r++) { if (i < dcdata[r].length) { data[index++] = dcdata[r][i]; } } }\n for (var i = 0; i < maxEcCount; i++) { for (var r = 0; r < rsBlocks.length; r++) { if (i < ecdata[r].length) { data[index++] = ecdata[r][i]; } } }\n return data;\n };\n var QRMode = { MODE_NUMBER: 1 << 0, MODE_ALPHA_NUM: 1 << 1, MODE_8BIT_BYTE: 1 << 2, MODE_KANJI: 1 << 3 };\n var QRErrorCorrectLevel = { L: 1, M: 0, Q: 3, H: 2 };\n var QRMaskPattern = { PATTERN000: 0, PATTERN001: 1, PATTERN010: 2, PATTERN011: 3, PATTERN100: 4, PATTERN101: 5, PATTERN110: 6, PATTERN111: 7 };\n var QRUtil = {\n PATTERN_POSITION_TABLE: [[], [6, 18], [6, 22], [6, 26], [6, 30], [6, 34], [6, 22, 38], [6, 24, 42], [6, 26, 46], [6, 28, 50], [6, 30, 54], [6, 32, 58], [6, 34, 62], [6, 26, 46, 66], [6, 26, 48, 70], [6, 26, 50, 74], [6, 30, 54, 78], [6, 30, 56, 82], [6, 30, 58, 86], [6, 34, 62, 90], [6, 28, 50, 72, 94], [6, 26, 50, 74, 98], [6, 30, 54, 78, 102], [6, 28, 54, 80, 106], [6, 32, 58, 84, 110], [6, 30, 58, 86, 114], [6, 34, 62, 90, 118], [6, 26, 50, 74, 98, 122], [6, 30, 54, 78, 102, 126], [6, 26, 52, 78, 104, 130], [6, 30, 56, 82, 108, 134], [6, 34, 60, 86, 112, 138], [6, 30, 58, 86, 114, 142], [6, 34, 62, 90, 118, 146], [6, 30, 54, 78, 102, 126, 150], [6, 24, 50, 76, 102, 128, 154], [6, 28, 54, 80, 106, 132, 158], [6, 32, 58, 84, 110, 136, 162], [6, 26, 54, 82, 110, 138, 166], [6, 30, 58, 86, 114, 142, 170]], G15: (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0), G18: (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0), G15_MASK: (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1), getBCHTypeInfo: function (data) {\n var d = data << 10; while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) { d ^= (QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15))); }\n return ((data << 10) | d) ^ QRUtil.G15_MASK;\n }, getBCHTypeNumber: function (data) {\n var d = data << 12; while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) { d ^= (QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18))); }\n return (data << 12) | d;\n }, getBCHDigit: function (data) {\n var digit = 0; while (data != 0) { digit++; data >>>= 1; }\n return digit;\n }, getPatternPosition: function (typeNumber) { return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1]; }, getMask: function (maskPattern, i, j) { switch (maskPattern) { case QRMaskPattern.PATTERN000: return (i + j) % 2 == 0; case QRMaskPattern.PATTERN001: return i % 2 == 0; case QRMaskPattern.PATTERN010: return j % 3 == 0; case QRMaskPattern.PATTERN011: return (i + j) % 3 == 0; case QRMaskPattern.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0; case QRMaskPattern.PATTERN101: return (i * j) % 2 + (i * j) % 3 == 0; case QRMaskPattern.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 == 0; case QRMaskPattern.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 == 0; default: throw new Error(\"bad maskPattern:\" + maskPattern); } }, getErrorCorrectPolynomial: function (errorCorrectLength) {\n var a = new QRPolynomial([1], 0); for (var i = 0; i < errorCorrectLength; i++) { a = a.multiply(new QRPolynomial([1, QRMath.gexp(i)], 0)); }\n return a;\n }, getLengthInBits: function (mode, type) { if (1 <= type && type < 10) { switch (mode) { case QRMode.MODE_NUMBER: return 10; case QRMode.MODE_ALPHA_NUM: return 9; case QRMode.MODE_8BIT_BYTE: return 8; case QRMode.MODE_KANJI: return 8; default: throw new Error(\"mode:\" + mode); } } else if (type < 27) { switch (mode) { case QRMode.MODE_NUMBER: return 12; case QRMode.MODE_ALPHA_NUM: return 11; case QRMode.MODE_8BIT_BYTE: return 16; case QRMode.MODE_KANJI: return 10; default: throw new Error(\"mode:\" + mode); } } else if (type < 41) { switch (mode) { case QRMode.MODE_NUMBER: return 14; case QRMode.MODE_ALPHA_NUM: return 13; case QRMode.MODE_8BIT_BYTE: return 16; case QRMode.MODE_KANJI: return 12; default: throw new Error(\"mode:\" + mode); } } else { throw new Error(\"type:\" + type); } }, getLostPoint: function (qrCode) {\n var moduleCount = qrCode.getModuleCount(); var lostPoint = 0; for (var row = 0; row < moduleCount; row++) {\n for (var col = 0; col < moduleCount; col++) {\n var sameCount = 0; var dark = qrCode.isDark(row, col); for (var r = -1; r <= 1; r++) {\n if (row + r < 0 || moduleCount <= row + r) { continue; }\n for (var c = -1; c <= 1; c++) {\n if (col + c < 0 || moduleCount <= col + c) { continue; }\n if (r == 0 && c == 0) { continue; }\n if (dark == qrCode.isDark(row + r, col + c)) { sameCount++; }\n }\n }\n if (sameCount > 5) { lostPoint += (3 + sameCount - 5); }\n }\n }\n for (var row = 0; row < moduleCount - 1; row++) { for (var col = 0; col < moduleCount - 1; col++) { var count = 0; if (qrCode.isDark(row, col)) count++; if (qrCode.isDark(row + 1, col)) count++; if (qrCode.isDark(row, col + 1)) count++; if (qrCode.isDark(row + 1, col + 1)) count++; if (count == 0 || count == 4) { lostPoint += 3; } } }\n for (var row = 0; row < moduleCount; row++) { for (var col = 0; col < moduleCount - 6; col++) { if (qrCode.isDark(row, col) && !qrCode.isDark(row, col + 1) && qrCode.isDark(row, col + 2) && qrCode.isDark(row, col + 3) && qrCode.isDark(row, col + 4) && !qrCode.isDark(row, col + 5) && qrCode.isDark(row, col + 6)) { lostPoint += 40; } } }\n for (var col = 0; col < moduleCount; col++) { for (var row = 0; row < moduleCount - 6; row++) { if (qrCode.isDark(row, col) && !qrCode.isDark(row + 1, col) && qrCode.isDark(row + 2, col) && qrCode.isDark(row + 3, col) && qrCode.isDark(row + 4, col) && !qrCode.isDark(row + 5, col) && qrCode.isDark(row + 6, col)) { lostPoint += 40; } } }\n var darkCount = 0; for (var col = 0; col < moduleCount; col++) { for (var row = 0; row < moduleCount; row++) { if (qrCode.isDark(row, col)) { darkCount++; } } }\n var ratio = Math.abs(100 * darkCount / moduleCount / moduleCount - 50) / 5; lostPoint += ratio * 10; return lostPoint;\n }\n };\n var QRMath = {\n glog: function (n) {\n if (n < 1) { throw new Error(\"glog(\" + n + \")\"); }\n return QRMath.LOG_TABLE[n];\n }, gexp: function (n) {\n while (n < 0) { n += 255; }\n while (n >= 256) { n -= 255; }\n return QRMath.EXP_TABLE[n];\n }, EXP_TABLE: new Array(256), LOG_TABLE: new Array(256)\n }; for (var i = 0; i < 8; i++) { QRMath.EXP_TABLE[i] = 1 << i; }\n for (var i = 8; i < 256; i++) { QRMath.EXP_TABLE[i] = QRMath.EXP_TABLE[i - 4] ^ QRMath.EXP_TABLE[i - 5] ^ QRMath.EXP_TABLE[i - 6] ^ QRMath.EXP_TABLE[i - 8]; }\n for (var i = 0; i < 255; i++) { QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i; }\n function QRPolynomial(num, shift) {\n if (num.length == undefined) { throw new Error(num.length + \"/\" + shift); }\n var offset = 0; while (offset < num.length && num[offset] == 0) { offset++; }\n this.num = new Array(num.length - offset + shift); for (var i = 0; i < num.length - offset; i++) { this.num[i] = num[i + offset]; }\n }\n QRPolynomial.prototype = {\n get: function (index) { return this.num[index]; }, getLength: function () { return this.num.length; }, multiply: function (e) {\n var num = new Array(this.getLength() + e.getLength() - 1); for (var i = 0; i < this.getLength(); i++) { for (var j = 0; j < e.getLength(); j++) { num[i + j] ^= QRMath.gexp(QRMath.glog(this.get(i)) + QRMath.glog(e.get(j))); } }\n return new QRPolynomial(num, 0);\n }, mod: function (e) {\n if (this.getLength() - e.getLength() < 0) { return this; }\n var ratio = QRMath.glog(this.get(0)) - QRMath.glog(e.get(0)); var num = new Array(this.getLength()); for (var i = 0; i < this.getLength(); i++) { num[i] = this.get(i); }\n for (var i = 0; i < e.getLength(); i++) { num[i] ^= QRMath.gexp(QRMath.glog(e.get(i)) + ratio); }\n return new QRPolynomial(num, 0).mod(e);\n }\n };\n function QRRSBlock(totalCount, dataCount) { this.totalCount = totalCount; this.dataCount = dataCount; }\n QRRSBlock.RS_BLOCK_TABLE = [[1, 26, 19], [1, 26, 16], [1, 26, 13], [1, 26, 9], [1, 44, 34], [1, 44, 28], [1, 44, 22], [1, 44, 16], [1, 70, 55], [1, 70, 44], [2, 35, 17], [2, 35, 13], [1, 100, 80], [2, 50, 32], [2, 50, 24], [4, 25, 9], [1, 134, 108], [2, 67, 43], [2, 33, 15, 2, 34, 16], [2, 33, 11, 2, 34, 12], [2, 86, 68], [4, 43, 27], [4, 43, 19], [4, 43, 15], [2, 98, 78], [4, 49, 31], [2, 32, 14, 4, 33, 15], [4, 39, 13, 1, 40, 14], [2, 121, 97], [2, 60, 38, 2, 61, 39], [4, 40, 18, 2, 41, 19], [4, 40, 14, 2, 41, 15], [2, 146, 116], [3, 58, 36, 2, 59, 37], [4, 36, 16, 4, 37, 17], [4, 36, 12, 4, 37, 13], [2, 86, 68, 2, 87, 69], [4, 69, 43, 1, 70, 44], [6, 43, 19, 2, 44, 20], [6, 43, 15, 2, 44, 16], [4, 101, 81], [1, 80, 50, 4, 81, 51], [4, 50, 22, 4, 51, 23], [3, 36, 12, 8, 37, 13], [2, 116, 92, 2, 117, 93], [6, 58, 36, 2, 59, 37], [4, 46, 20, 6, 47, 21], [7, 42, 14, 4, 43, 15], [4, 133, 107], [8, 59, 37, 1, 60, 38], [8, 44, 20, 4, 45, 21], [12, 33, 11, 4, 34, 12], [3, 145, 115, 1, 146, 116], [4, 64, 40, 5, 65, 41], [11, 36, 16, 5, 37, 17], [11, 36, 12, 5, 37, 13], [5, 109, 87, 1, 110, 88], [5, 65, 41, 5, 66, 42], [5, 54, 24, 7, 55, 25], [11, 36, 12], [5, 122, 98, 1, 123, 99], [7, 73, 45, 3, 74, 46], [15, 43, 19, 2, 44, 20], [3, 45, 15, 13, 46, 16], [1, 135, 107, 5, 136, 108], [10, 74, 46, 1, 75, 47], [1, 50, 22, 15, 51, 23], [2, 42, 14, 17, 43, 15], [5, 150, 120, 1, 151, 121], [9, 69, 43, 4, 70, 44], [17, 50, 22, 1, 51, 23], [2, 42, 14, 19, 43, 15], [3, 141, 113, 4, 142, 114], [3, 70, 44, 11, 71, 45], [17, 47, 21, 4, 48, 22], [9, 39, 13, 16, 40, 14], [3, 135, 107, 5, 136, 108], [3, 67, 41, 13, 68, 42], [15, 54, 24, 5, 55, 25], [15, 43, 15, 10, 44, 16], [4, 144, 116, 4, 145, 117], [17, 68, 42], [17, 50, 22, 6, 51, 23], [19, 46, 16, 6, 47, 17], [2, 139, 111, 7, 140, 112], [17, 74, 46], [7, 54, 24, 16, 55, 25], [34, 37, 13], [4, 151, 121, 5, 152, 122], [4, 75, 47, 14, 76, 48], [11, 54, 24, 14, 55, 25], [16, 45, 15, 14, 46, 16], [6, 147, 117, 4, 148, 118], [6, 73, 45, 14, 74, 46], [11, 54, 24, 16, 55, 25], [30, 46, 16, 2, 47, 17], [8, 132, 106, 4, 133, 107], [8, 75, 47, 13, 76, 48], [7, 54, 24, 22, 55, 25], [22, 45, 15, 13, 46, 16], [10, 142, 114, 2, 143, 115], [19, 74, 46, 4, 75, 47], [28, 50, 22, 6, 51, 23], [33, 46, 16, 4, 47, 17], [8, 152, 122, 4, 153, 123], [22, 73, 45, 3, 74, 46], [8, 53, 23, 26, 54, 24], [12, 45, 15, 28, 46, 16], [3, 147, 117, 10, 148, 118], [3, 73, 45, 23, 74, 46], [4, 54, 24, 31, 55, 25], [11, 45, 15, 31, 46, 16], [7, 146, 116, 7, 147, 117], [21, 73, 45, 7, 74, 46], [1, 53, 23, 37, 54, 24], [19, 45, 15, 26, 46, 16], [5, 145, 115, 10, 146, 116], [19, 75, 47, 10, 76, 48], [15, 54, 24, 25, 55, 25], [23, 45, 15, 25, 46, 16], [13, 145, 115, 3, 146, 116], [2, 74, 46, 29, 75, 47], [42, 54, 24, 1, 55, 25], [23, 45, 15, 28, 46, 16], [17, 145, 115], [10, 74, 46, 23, 75, 47], [10, 54, 24, 35, 55, 25], [19, 45, 15, 35, 46, 16], [17, 145, 115, 1, 146, 116], [14, 74, 46, 21, 75, 47], [29, 54, 24, 19, 55, 25], [11, 45, 15, 46, 46, 16], [13, 145, 115, 6, 146, 116], [14, 74, 46, 23, 75, 47], [44, 54, 24, 7, 55, 25], [59, 46, 16, 1, 47, 17], [12, 151, 121, 7, 152, 122], [12, 75, 47, 26, 76, 48], [39, 54, 24, 14, 55, 25], [22, 45, 15, 41, 46, 16], [6, 151, 121, 14, 152, 122], [6, 75, 47, 34, 76, 48], [46, 54, 24, 10, 55, 25], [2, 45, 15, 64, 46, 16], [17, 152, 122, 4, 153, 123], [29, 74, 46, 14, 75, 47], [49, 54, 24, 10, 55, 25], [24, 45, 15, 46, 46, 16], [4, 152, 122, 18, 153, 123], [13, 74, 46, 32, 75, 47], [48, 54, 24, 14, 55, 25], [42, 45, 15, 32, 46, 16], [20, 147, 117, 4, 148, 118], [40, 75, 47, 7, 76, 48], [43, 54, 24, 22, 55, 25], [10, 45, 15, 67, 46, 16], [19, 148, 118, 6, 149, 119], [18, 75, 47, 31, 76, 48], [34, 54, 24, 34, 55, 25], [20, 45, 15, 61, 46, 16]];\n QRRSBlock.getRSBlocks = function (typeNumber, errorCorrectLevel) {\n var rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel); if (rsBlock == undefined) { throw new Error(\"bad rs block @ typeNumber:\" + typeNumber + \"/errorCorrectLevel:\" + errorCorrectLevel); }\n var length = rsBlock.length / 3; var list = []; for (var i = 0; i < length; i++) { var count = rsBlock[i * 3 + 0]; var totalCount = rsBlock[i * 3 + 1]; var dataCount = rsBlock[i * 3 + 2]; for (var j = 0; j < count; j++) { list.push(new QRRSBlock(totalCount, dataCount)); } }\n return list;\n };\n QRRSBlock.getRsBlockTable = function (typeNumber, errorCorrectLevel) { switch (errorCorrectLevel) { case QRErrorCorrectLevel.L: return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0]; case QRErrorCorrectLevel.M: return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1]; case QRErrorCorrectLevel.Q: return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2]; case QRErrorCorrectLevel.H: return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3]; default: return undefined; } };\n function QRBitBuffer() { this.buffer = []; this.length = 0; }\n QRBitBuffer.prototype = {\n get: function (index) { var bufIndex = Math.floor(index / 8); return ((this.buffer[bufIndex] >>> (7 - index % 8)) & 1) == 1; }, put: function (num, length) { for (var i = 0; i < length; i++) { this.putBit(((num >>> (length - i - 1)) & 1) == 1); } }, getLengthInBits: function () { return this.length; }, putBit: function (bit) {\n var bufIndex = Math.floor(this.length / 8); if (this.buffer.length <= bufIndex) { this.buffer.push(0); }\n if (bit) { this.buffer[bufIndex] |= (0x80 >>> (this.length % 8)); }\n this.length++;\n }\n };\n var QRCodeLimitLength = [[17, 14, 11, 7], [32, 26, 20, 14], [53, 42, 32, 24], [78, 62, 46, 34], [106, 84, 60, 44], [134, 106, 74, 58], [154, 122, 86, 64], [192, 152, 108, 84], [230, 180, 130, 98], [271, 213, 151, 119], [321, 251, 177, 137], [367, 287, 203, 155], [425, 331, 241, 177], [458, 362, 258, 194], [520, 412, 292, 220], [586, 450, 322, 250], [644, 504, 364, 280], [718, 560, 394, 310], [792, 624, 442, 338], [858, 666, 482, 382], [929, 711, 509, 403], [1003, 779, 565, 439], [1091, 857, 611, 461], [1171, 911, 661, 511], [1273, 997, 715, 535], [1367, 1059, 751, 593], [1465, 1125, 805, 625], [1528, 1190, 868, 658], [1628, 1264, 908, 698], [1732, 1370, 982, 742], [1840, 1452, 1030, 790], [1952, 1538, 1112, 842], [2068, 1628, 1168, 898], [2188, 1722, 1228, 958], [2303, 1809, 1283, 983], [2431, 1911, 1351, 1051], [2563, 1989, 1423, 1093], [2699, 2099, 1499, 1139], [2809, 2213, 1579, 1219], [2953, 2331, 1663, 1273]];\n \n // QRCode object\n QRCode = function (canvasId, vOption) {\n this._htOption = {\n width: 256,\n height: 256,\n typeNumber: 4,\n colorDark: \"#000000\",\n colorLight: \"#ffffff\",\n correctLevel: QRErrorCorrectLevel.H\n };\n \n if (typeof vOption === 'string') {\n vOption = {\n text: vOption\n };\n }\n \n // Overwrites options\n if (vOption) {\n for (var i in vOption) {\n this._htOption[i] = vOption[i];\n }\n }\n \n this._oQRCode = null;\n this.canvasId = canvasId\n \n if (this._htOption.text && this.canvasId) {\n this.makeCode(this._htOption.text);\n }\n };\n \n QRCode.prototype.makeCode = function (sText) {\n this._oQRCode = new QRCodeModel(_getTypeNumber(sText, this._htOption.correctLevel), this._htOption.correctLevel);\n this._oQRCode.addData(sText);\n this._oQRCode.make();\n this.makeImage();\n };\n \n QRCode.prototype.makeImage = function () {\n var _oContext\n if (this._htOption.usingIn) {\n _oContext = wx.createCanvasContext(this.canvasId, this._htOption.usingIn)\n }\n else {\n _oContext = wx.createCanvasContext(this.canvasId)\n }\n var _htOption = this._htOption;\n var oQRCode = this._oQRCode\n \n var nCount = oQRCode.getModuleCount();\n var nWidth = _htOption.width / nCount;\n var nHeight = _htOption.height / nCount;\n var nRoundedWidth = Math.round(nWidth);\n var nRoundedHeight = Math.round(nHeight);\n \n if (_htOption.image && _htOption.image != '') {\n _oContext.drawImage(_htOption.image, 0, 0, _htOption.width, _htOption.height)\n }\n \n for (var row = 0; row < nCount; row++) {\n for (var col = 0; col < nCount; col++) {\n var bIsDark = oQRCode.isDark(row, col);\n var nLeft = col * nWidth;\n var nTop = row * nHeight;\n _oContext.setStrokeStyle(bIsDark ? _htOption.colorDark : _htOption.colorLight)\n // _oContext.setStrokeStyle('yellow')\n _oContext.setLineWidth(1)\n _oContext.setFillStyle(bIsDark ? _htOption.colorDark : _htOption.colorLight)\n // _oContext.setFillStyle('red')\n // if (bIsDark) {\n _oContext.fillRect(nLeft, nTop, nWidth, nHeight);\n // }\n \n // 안티 앨리어싱 방지 처리\n // if (bIsDark) {\n _oContext.strokeRect(\n Math.floor(nLeft) + 0.5,\n Math.floor(nTop) + 0.5,\n nRoundedWidth,\n nRoundedHeight\n );\n \n _oContext.strokeRect(\n Math.ceil(nLeft) - 0.5,\n Math.ceil(nTop) - 0.5,\n nRoundedWidth,\n nRoundedHeight\n );\n // }\n // _oContext.fillRect(\n // Math.floor(nLeft) + 0.5,\n // Math.floor(nTop) + 0.5,\n // nRoundedWidth,\n // nRoundedHeight\n // );\n // _oContext.fillRect(\n // Math.ceil(nLeft) - 0.5,\n // Math.ceil(nTop) - 0.5,\n // nRoundedWidth,\n // nRoundedHeight\n // );\n // _oContext.clearRect(\n // Math.floor(nLeft) + 0.5,\n // Math.floor(nTop) + 0.5,\n // nRoundedWidth,\n // nRoundedHeight\n // );\n // _oContext.clearRect(\n // Math.ceil(nLeft) - 0.5,\n // Math.ceil(nTop) - 0.5,\n // nRoundedWidth,\n // nRoundedHeight\n // );\n }\n }\n \n _oContext.draw()\n };\n \n // 保存为图片,将临时路径传给回调\n QRCode.prototype.exportImage = function (callback) {\n if (!callback) {\n return\n }\n wx.canvasToTempFilePath({\n x: 0,\n y: 0,\n width: this._htOption.width,\n height: this._htOption.height,\n destWidth: this._htOption.width,\n destHeight: this._htOption.height,\n canvasId: this.canvasId,\n success: function (res) {\n console.log(res.tempFilePath)\n callback(res.tempFilePath)\n }\n })\n }\n \n QRCode.CorrectLevel = QRErrorCorrectLevel;\n})();\n \nmodule.exports = QRCode","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJ8AAACfCAYAAADnGwvgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6REI1NzY1QzJGOUM3MTFFQkJFRDZBOEI0QUZGNTQ1NkMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6REI1NzY1QzNGOUM3MTFFQkJFRDZBOEI0QUZGNTQ1NkMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGNDczRTA4NUY5NjIxMUVCQkVENkE4QjRBRkY1NDU2QyIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGNDczRTA4NkY5NjIxMUVCQkVENkE4QjRBRkY1NDU2QyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnoybacAAA89SURBVHja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\"","import en from './en.json'\r\nimport zhHans from './zh-Hans.json'\r\nimport zhHant from './zh-Hant.json'\r\nexport default {\r\n\ten,\r\n\t'zh-Hans': zhHans,\r\n\t'zh-Hant': zhHant\r\n}\r\n","import e from\"@/pages.json\";\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function n(e,t,n){return e(n={path:t,exports:{},require:function(e,t){return function(){throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\")}(null==t&&n.path)}},n.exports),n.exports}var s=n((function(e,t){var n;e.exports=(n=n||function(e,t){var n=Object.create||function(){function e(){}return function(t){var n;return e.prototype=t,n=new e,e.prototype=null,n}}(),s={},r=s.lib={},i=r.Base={extend:function(e){var t=n(this);return e&&t.mixIn(e),t.hasOwnProperty(\"init\")&&this.init!==t.init||(t.init=function(){t.$super.init.apply(this,arguments)}),t.init.prototype=t,t.$super=this,t},create:function(){var e=this.extend();return e.init.apply(e,arguments),e},init:function(){},mixIn:function(e){for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);e.hasOwnProperty(\"toString\")&&(this.toString=e.toString)},clone:function(){return this.init.prototype.extend(this)}},o=r.WordArray=i.extend({init:function(e,n){e=this.words=e||[],this.sigBytes=n!=t?n:4*e.length},toString:function(e){return(e||c).stringify(this)},concat:function(e){var t=this.words,n=e.words,s=this.sigBytes,r=e.sigBytes;if(this.clamp(),s%4)for(var i=0;i<r;i++){var o=n[i>>>2]>>>24-i%4*8&255;t[s+i>>>2]|=o<<24-(s+i)%4*8}else for(i=0;i<r;i+=4)t[s+i>>>2]=n[i>>>2];return this.sigBytes+=r,this},clamp:function(){var t=this.words,n=this.sigBytes;t[n>>>2]&=4294967295<<32-n%4*8,t.length=e.ceil(n/4)},clone:function(){var e=i.clone.call(this);return e.words=this.words.slice(0),e},random:function(t){for(var n,s=[],r=function(t){t=t;var n=987654321,s=4294967295;return function(){var r=((n=36969*(65535&n)+(n>>16)&s)<<16)+(t=18e3*(65535&t)+(t>>16)&s)&s;return r/=4294967296,(r+=.5)*(e.random()>.5?1:-1)}},i=0;i<t;i+=4){var a=r(4294967296*(n||e.random()));n=987654071*a(),s.push(4294967296*a()|0)}return new o.init(s,t)}}),a=s.enc={},c=a.Hex={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){var i=t[r>>>2]>>>24-r%4*8&255;s.push((i>>>4).toString(16)),s.push((15&i).toString(16))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s<t;s+=2)n[s>>>3]|=parseInt(e.substr(s,2),16)<<24-s%8*4;return new o.init(n,t/2)}},u=a.Latin1={stringify:function(e){for(var t=e.words,n=e.sigBytes,s=[],r=0;r<n;r++){var i=t[r>>>2]>>>24-r%4*8&255;s.push(String.fromCharCode(i))}return s.join(\"\")},parse:function(e){for(var t=e.length,n=[],s=0;s<t;s++)n[s>>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new o.init(n,t)}},l=a.Utf8={stringify:function(e){try{return decodeURIComponent(escape(u.stringify(e)))}catch(e){throw new Error(\"Malformed UTF-8 data\")}},parse:function(e){return u.parse(unescape(encodeURIComponent(e)))}},h=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=l.parse(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes},_process:function(t){var n=this._data,s=n.words,r=n.sigBytes,i=this.blockSize,a=r/(4*i),c=(a=t?e.ceil(a):e.max((0|a)-this._minBufferSize,0))*i,u=e.min(4*c,r);if(c){for(var l=0;l<c;l+=i)this._doProcessBlock(s,l);var h=s.splice(0,c);n.sigBytes-=u}return new o.init(h,u)},clone:function(){var e=i.clone.call(this);return e._data=this._data.clone(),e},_minBufferSize:0});r.Hasher=h.extend({cfg:i.extend(),init:function(e){this.cfg=this.cfg.extend(e),this.reset()},reset:function(){h.reset.call(this),this._doReset()},update:function(e){return this._append(e),this._process(),this},finalize:function(e){return e&&this._append(e),this._doFinalize()},blockSize:16,_createHelper:function(e){return function(t,n){return new e.init(n).finalize(t)}},_createHmacHelper:function(e){return function(t,n){return new d.HMAC.init(e,n).finalize(t)}}});var d=s.algo={};return s}(Math),n)})),r=s,i=(n((function(e,t){var n;e.exports=(n=r,function(e){var t=n,s=t.lib,r=s.WordArray,i=s.Hasher,o=t.algo,a=[];!function(){for(var t=0;t<64;t++)a[t]=4294967296*e.abs(e.sin(t+1))|0}();var c=o.MD5=i.extend({_doReset:function(){this._hash=new r.init([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(e,t){for(var n=0;n<16;n++){var s=t+n,r=e[s];e[s]=16711935&(r<<8|r>>>24)|4278255360&(r<<24|r>>>8)}var i=this._hash.words,o=e[t+0],c=e[t+1],p=e[t+2],f=e[t+3],g=e[t+4],m=e[t+5],y=e[t+6],_=e[t+7],w=e[t+8],v=e[t+9],I=e[t+10],S=e[t+11],b=e[t+12],k=e[t+13],A=e[t+14],P=e[t+15],T=i[0],C=i[1],x=i[2],O=i[3];T=u(T,C,x,O,o,7,a[0]),O=u(O,T,C,x,c,12,a[1]),x=u(x,O,T,C,p,17,a[2]),C=u(C,x,O,T,f,22,a[3]),T=u(T,C,x,O,g,7,a[4]),O=u(O,T,C,x,m,12,a[5]),x=u(x,O,T,C,y,17,a[6]),C=u(C,x,O,T,_,22,a[7]),T=u(T,C,x,O,w,7,a[8]),O=u(O,T,C,x,v,12,a[9]),x=u(x,O,T,C,I,17,a[10]),C=u(C,x,O,T,S,22,a[11]),T=u(T,C,x,O,b,7,a[12]),O=u(O,T,C,x,k,12,a[13]),x=u(x,O,T,C,A,17,a[14]),T=l(T,C=u(C,x,O,T,P,22,a[15]),x,O,c,5,a[16]),O=l(O,T,C,x,y,9,a[17]),x=l(x,O,T,C,S,14,a[18]),C=l(C,x,O,T,o,20,a[19]),T=l(T,C,x,O,m,5,a[20]),O=l(O,T,C,x,I,9,a[21]),x=l(x,O,T,C,P,14,a[22]),C=l(C,x,O,T,g,20,a[23]),T=l(T,C,x,O,v,5,a[24]),O=l(O,T,C,x,A,9,a[25]),x=l(x,O,T,C,f,14,a[26]),C=l(C,x,O,T,w,20,a[27]),T=l(T,C,x,O,k,5,a[28]),O=l(O,T,C,x,p,9,a[29]),x=l(x,O,T,C,_,14,a[30]),T=h(T,C=l(C,x,O,T,b,20,a[31]),x,O,m,4,a[32]),O=h(O,T,C,x,w,11,a[33]),x=h(x,O,T,C,S,16,a[34]),C=h(C,x,O,T,A,23,a[35]),T=h(T,C,x,O,c,4,a[36]),O=h(O,T,C,x,g,11,a[37]),x=h(x,O,T,C,_,16,a[38]),C=h(C,x,O,T,I,23,a[39]),T=h(T,C,x,O,k,4,a[40]),O=h(O,T,C,x,o,11,a[41]),x=h(x,O,T,C,f,16,a[42]),C=h(C,x,O,T,y,23,a[43]),T=h(T,C,x,O,v,4,a[44]),O=h(O,T,C,x,b,11,a[45]),x=h(x,O,T,C,P,16,a[46]),T=d(T,C=h(C,x,O,T,p,23,a[47]),x,O,o,6,a[48]),O=d(O,T,C,x,_,10,a[49]),x=d(x,O,T,C,A,15,a[50]),C=d(C,x,O,T,m,21,a[51]),T=d(T,C,x,O,b,6,a[52]),O=d(O,T,C,x,f,10,a[53]),x=d(x,O,T,C,I,15,a[54]),C=d(C,x,O,T,c,21,a[55]),T=d(T,C,x,O,w,6,a[56]),O=d(O,T,C,x,P,10,a[57]),x=d(x,O,T,C,y,15,a[58]),C=d(C,x,O,T,k,21,a[59]),T=d(T,C,x,O,g,6,a[60]),O=d(O,T,C,x,S,10,a[61]),x=d(x,O,T,C,p,15,a[62]),C=d(C,x,O,T,v,21,a[63]),i[0]=i[0]+T|0,i[1]=i[1]+C|0,i[2]=i[2]+x|0,i[3]=i[3]+O|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32;var i=e.floor(s/4294967296),o=s;n[15+(r+64>>>9<<4)]=16711935&(i<<8|i>>>24)|4278255360&(i<<24|i>>>8),n[14+(r+64>>>9<<4)]=16711935&(o<<8|o>>>24)|4278255360&(o<<24|o>>>8),t.sigBytes=4*(n.length+1),this._process();for(var a=this._hash,c=a.words,u=0;u<4;u++){var l=c[u];c[u]=16711935&(l<<8|l>>>24)|4278255360&(l<<24|l>>>8)}return a},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});function u(e,t,n,s,r,i,o){var a=e+(t&n|~t&s)+r+o;return(a<<i|a>>>32-i)+t}function l(e,t,n,s,r,i,o){var a=e+(t&s|n&~s)+r+o;return(a<<i|a>>>32-i)+t}function h(e,t,n,s,r,i,o){var a=e+(t^n^s)+r+o;return(a<<i|a>>>32-i)+t}function d(e,t,n,s,r,i,o){var a=e+(n^(t|~s))+r+o;return(a<<i|a>>>32-i)+t}t.MD5=i._createHelper(c),t.HmacMD5=i._createHmacHelper(c)}(Math),n.MD5)})),n((function(e,t){var n;e.exports=(n=r,void function(){var e=n,t=e.lib.Base,s=e.enc.Utf8;e.algo.HMAC=t.extend({init:function(e,t){e=this._hasher=new e.init,\"string\"==typeof t&&(t=s.parse(t));var n=e.blockSize,r=4*n;t.sigBytes>r&&(t=e.finalize(t)),t.clamp();for(var i=this._oKey=t.clone(),o=this._iKey=t.clone(),a=i.words,c=o.words,u=0;u<n;u++)a[u]^=1549556828,c[u]^=909522486;i.sigBytes=o.sigBytes=r,this.reset()},reset:function(){var e=this._hasher;e.reset(),e.update(this._iKey)},update:function(e){return this._hasher.update(e),this},finalize:function(e){var t=this._hasher,n=t.finalize(e);return t.reset(),t.finalize(this._oKey.clone().concat(n))}})}())})),n((function(e,t){e.exports=r.HmacMD5}))),o=n((function(e,t){e.exports=r.enc.Utf8})),a=n((function(e,t){var n;e.exports=(n=r,function(){var e=n,t=e.lib.WordArray;function s(e,n,s){for(var r=[],i=0,o=0;o<n;o++)if(o%4){var a=s[e.charCodeAt(o-1)]<<o%4*2,c=s[e.charCodeAt(o)]>>>6-o%4*2;r[i>>>2]|=(a|c)<<24-i%4*8,i++}return t.create(r,i)}e.enc.Base64={stringify:function(e){var t=e.words,n=e.sigBytes,s=this._map;e.clamp();for(var r=[],i=0;i<n;i+=3)for(var o=(t[i>>>2]>>>24-i%4*8&255)<<16|(t[i+1>>>2]>>>24-(i+1)%4*8&255)<<8|t[i+2>>>2]>>>24-(i+2)%4*8&255,a=0;a<4&&i+.75*a<n;a++)r.push(s.charAt(o>>>6*(3-a)&63));var c=s.charAt(64);if(c)for(;r.length%4;)r.push(c);return r.join(\"\")},parse:function(e){var t=e.length,n=this._map,r=this._reverseMap;if(!r){r=this._reverseMap=[];for(var i=0;i<n.length;i++)r[n.charCodeAt(i)]=i}var o=n.charAt(64);if(o){var a=e.indexOf(o);-1!==a&&(t=a)}return s(e,t,r)},_map:\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\"}}(),n.enc.Base64)}));const c=\"FUNCTION\",u=\"OBJECT\",l=\"CLIENT_DB\",h=\"pending\",d=\"fulfilled\",p=\"rejected\";function f(e){return Object.prototype.toString.call(e).slice(8,-1).toLowerCase()}function g(e){return\"object\"===f(e)}function m(e){return\"function\"==typeof e}function y(e){return function(){try{return e.apply(e,arguments)}catch(e){console.error(e)}}}const _=\"REJECTED\",w=\"NOT_PENDING\";class v{constructor({createPromise:e,retryRule:t=_}={}){this.createPromise=e,this.status=null,this.promise=null,this.retryRule=t}get needRetry(){if(!this.status)return!0;switch(this.retryRule){case _:return this.status===p;case w:return this.status!==h}}exec(){return this.needRetry?(this.status=h,this.promise=this.createPromise().then((e=>(this.status=d,Promise.resolve(e))),(e=>(this.status=p,Promise.reject(e)))),this.promise):this.promise}}function I(e){return e&&\"string\"==typeof e?JSON.parse(e):e}const S=\"development\"===process.env.NODE_ENV,b=process.env.VUE_APP_PLATFORM,k=\"true\"===process.env.UNI_SECURE_NETWORK_ENABLE||!0===process.env.UNI_SECURE_NETWORK_ENABLE,A=I(process.env.UNI_SECURE_NETWORK_CONFIG),P=\"h5\"===b?\"web\":\"app-plus\"===b?\"app\":b,T=I(process.env.UNICLOUD_DEBUG),C=I(process.env.UNI_CLOUD_PROVIDER)||[],x=process.env.RUN_BY_HBUILDERX;let O=\"\";try{O=(require(\"uni-stat-config\").default||require(\"uni-stat-config\")).appid}catch(e){}let E={};function L(e,t={}){var n,s;return n=E,s=e,Object.prototype.hasOwnProperty.call(n,s)||(E[e]=t),E[e]}\"app\"===P&&(E=uni._globalUniCloudObj?uni._globalUniCloudObj:uni._globalUniCloudObj={});const R=[\"invoke\",\"success\",\"fail\",\"complete\"],U=L(\"_globalUniCloudInterceptor\");function N(e,t){U[e]||(U[e]={}),g(t)&&Object.keys(t).forEach((n=>{R.indexOf(n)>-1&&function(e,t,n){let s=U[e][t];s||(s=U[e][t]=[]),-1===s.indexOf(n)&&m(n)&&s.push(n)}(e,n,t[n])}))}function D(e,t){U[e]||(U[e]={}),g(t)?Object.keys(t).forEach((n=>{R.indexOf(n)>-1&&function(e,t,n){const s=U[e][t];if(!s)return;const r=s.indexOf(n);r>-1&&s.splice(r,1)}(e,n,t[n])})):delete U[e]}function M(e,t){return e&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}function q(e,t){return U[e]&&U[e][t]||[]}function F(e){N(\"callObject\",e)}const K=L(\"_globalUniCloudListener\"),j=\"response\",B=\"needLogin\",$=\"refreshToken\",W=\"clientdb\",H=\"cloudfunction\",z=\"cloudobject\";function J(e){return K[e]||(K[e]=[]),K[e]}function V(e,t){const n=J(e);n.includes(t)||n.push(t)}function G(e,t){const n=J(e),s=n.indexOf(t);-1!==s&&n.splice(s,1)}function Y(e,t){const n=J(e);for(let e=0;e<n.length;e++){(0,n[e])(t)}}let Q,X=!1;function Z(){return Q||(Q=new Promise((e=>{X&&e(),function t(){if(\"function\"==typeof getCurrentPages){const t=getCurrentPages();t&&t[0]&&(X=!0,e())}X||setTimeout((()=>{t()}),30)}()})),Q)}function ee(e){const t={};for(const n in e){const s=e[n];m(s)&&(t[n]=y(s))}return t}class te extends Error{constructor(e){super(e.message),this.errMsg=e.message||e.errMsg||\"unknown system error\",this.code=this.errCode=e.code||e.errCode||\"SYSTEM_ERROR\",this.errSubject=this.subject=e.subject||e.errSubject,this.cause=e.cause,this.requestId=e.requestId}toJson(e=0){if(!(e>=10))return e++,{errCode:this.errCode,errMsg:this.errMsg,errSubject:this.errSubject,cause:this.cause&&this.cause.toJson?this.cause.toJson(e):this.cause}}}var ne={request:e=>uni.request(e),uploadFile:e=>uni.uploadFile(e),setStorageSync:(e,t)=>uni.setStorageSync(e,t),getStorageSync:e=>uni.getStorageSync(e),removeStorageSync:e=>uni.removeStorageSync(e),clearStorageSync:()=>uni.clearStorageSync()};function se(){return{token:ne.getStorageSync(\"uni_id_token\")||ne.getStorageSync(\"uniIdToken\"),tokenExpired:ne.getStorageSync(\"uni_id_token_expired\")}}function re({token:e,tokenExpired:t}={}){e&&ne.setStorageSync(\"uni_id_token\",e),t&&ne.setStorageSync(\"uni_id_token_expired\",t)}let ie,oe;function ae(){return ie||(ie=uni.getSystemInfoSync()),ie}function ce(){let e,t;try{if(uni.getLaunchOptionsSync){if(uni.getLaunchOptionsSync.toString().indexOf(\"not yet implemented\")>-1)return;const{scene:n,channel:s}=uni.getLaunchOptionsSync();e=s,t=n}}catch(e){}return{channel:e,scene:t}}function ue(){const e=uni.getLocale&&uni.getLocale()||\"en\";if(oe)return{...oe,locale:e,LOCALE:e};const t=ae(),{deviceId:n,osName:s,uniPlatform:r,appId:i}=t,o=[\"pixelRatio\",\"brand\",\"model\",\"system\",\"language\",\"version\",\"platform\",\"host\",\"SDKVersion\",\"swanNativeVersion\",\"app\",\"AppPlatform\",\"fontSizeSetting\"];for(let e=0;e<o.length;e++){delete t[o[e]]}return oe={PLATFORM:r,OS:s,APPID:i,DEVICEID:n,...ce(),...t},{...oe,locale:e,LOCALE:e}}var le={sign:function(e,t){let n=\"\";return Object.keys(e).sort().forEach((function(t){e[t]&&(n=n+\"&\"+t+\"=\"+e[t])})),n=n.slice(1),i(n,t).toString()},wrappedRequest:function(e,t){return new Promise(((n,s)=>{t(Object.assign(e,{complete(e){e||(e={}),S&&\"web\"===P&&e.errMsg&&0===e.errMsg.indexOf(\"request:fail\")&&console.warn(\"发布H5,需要在uniCloud后台操作,绑定安全域名,否则会因为跨域问题而无法访问。教程参考:https://uniapp.dcloud.io/uniCloud/quickstart?id=useinh5\");const t=e.data&&e.data.header&&e.data.header[\"x-serverless-request-id\"]||e.header&&e.header[\"request-id\"];if(!e.statusCode||e.statusCode>=400)return s(new te({code:\"SYS_ERR\",message:e.errMsg||\"request:fail\",requestId:t}));const r=e.data;if(r.error)return s(new te({code:r.error.code,message:r.error.message,requestId:t}));r.result=r.data,r.requestId=t,delete r.data,n(r)}}))}))},toBase64:function(e){return a.stringify(o.parse(e))}};var he=class{constructor(e){[\"spaceId\",\"clientSecret\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)})),this.config=Object.assign({},{endpoint:0===e.spaceId.indexOf(\"mp-\")?\"https://api.next.bspapp.com\":\"https://api.bspapp.com\"},e),this.config.provider=\"aliyun\",this.config.requestUrl=this.config.endpoint+\"/client\",this.config.envType=this.config.envType||\"public\",this.config.accessTokenKey=\"access_token_\"+this.config.spaceId,this.adapter=ne,this._getAccessTokenPromiseHub=new v({createPromise:()=>this.requestAuth(this.setupRequest({method:\"serverless.auth.user.anonymousAuthorize\",params:\"{}\"},\"auth\")).then((e=>{if(!e.result||!e.result.accessToken)throw new te({code:\"AUTH_FAILED\",message:\"获取accessToken失败\"});this.setAccessToken(e.result.accessToken)})),retryRule:w})}get hasAccessToken(){return!!this.accessToken}setAccessToken(e){this.accessToken=e}requestWrapped(e){return le.wrappedRequest(e,this.adapter.request)}requestAuth(e){return this.requestWrapped(e)}request(e,t){return Promise.resolve().then((()=>this.hasAccessToken?t?this.requestWrapped(e):this.requestWrapped(e).catch((t=>new Promise(((e,n)=>{!t||\"GATEWAY_INVALID_TOKEN\"!==t.code&&\"InvalidParameter.InvalidToken\"!==t.code?n(t):e()})).then((()=>this.getAccessToken())).then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)})))):this.getAccessToken().then((()=>{const t=this.rebuildRequest(e);return this.request(t,!0)}))))}rebuildRequest(e){const t=Object.assign({},e);return t.data.token=this.accessToken,t.header[\"x-basement-token\"]=this.accessToken,t.header[\"x-serverless-sign\"]=le.sign(t.data,this.config.clientSecret),t}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={\"Content-Type\":\"application/json\"};return\"auth\"!==t&&(n.token=this.accessToken,s[\"x-basement-token\"]=this.accessToken),s[\"x-serverless-sign\"]=le.sign(n,this.config.clientSecret),{url:this.config.requestUrl,method:\"POST\",data:n,dataType:\"json\",header:s}}getAccessToken(){return this._getAccessTokenPromiseHub.exec()}async authorize(){await this.getAccessToken()}callFunction(e){const t={method:\"serverless.function.runtime.invoke\",params:JSON.stringify({functionTarget:e.name,functionArgs:e.data||{}})};return this.request(this.setupRequest(t))}getOSSUploadOptionsFromPath(e){const t={method:\"serverless.file.resource.generateProximalSign\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:i}){return new Promise(((o,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,header:{\"X-OSS-server-side-encrpytion\":\"AES256\"},success(e){e&&e.statusCode<400?o(e):a(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof i&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{i({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}reportOSSUpload(e){const t={method:\"serverless.file.resource.report\",params:JSON.stringify(e)};return this.request(this.setupRequest(t))}async uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",cloudPathAsRealPath:s=!1,onUploadProgress:r,config:i}){if(\"string\"!==f(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const o=i&&i.envType||this.config.envType;if(s&&(\"/\"!==t[0]&&(t=\"/\"+t),t.indexOf(\"\\\\\")>-1))throw new te({code:\"INVALID_PARAM\",message:\"使用cloudPath作为路径时,cloudPath不可包含“\\\\”\"});const a=(await this.getOSSUploadOptionsFromPath({env:o,filename:s?t.split(\"/\").pop():t,fileId:s?t:void 0})).result,c=\"https://\"+a.cdnDomain+\"/\"+a.ossPath,{securityToken:u,accessKeyId:l,signature:h,host:d,ossPath:p,id:g,policy:m,ossCallbackUrl:y}=a,_={\"Cache-Control\":\"max-age=2592000\",\"Content-Disposition\":\"attachment\",OSSAccessKeyId:l,Signature:h,host:d,id:g,key:p,policy:m,success_action_status:200};if(u&&(_[\"x-oss-security-token\"]=u),y){const e=JSON.stringify({callbackUrl:y,callbackBody:JSON.stringify({fileId:g,spaceId:this.config.spaceId}),callbackBodyType:\"application/json\"});_.callback=le.toBase64(e)}const w={url:\"https://\"+a.host,formData:_,fileName:\"file\",name:\"file\",filePath:e,fileType:n};if(await this.uploadFileToOSS(Object.assign({},w,{onUploadProgress:r})),y)return{success:!0,filePath:e,fileID:c};if((await this.reportOSSUpload({id:g})).success)return{success:!0,filePath:e,fileID:c};throw new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"})}getTempFileURL({fileList:e}={}){return new Promise(((t,n)=>{Array.isArray(e)&&0!==e.length||n(new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"})),t({fileList:e.map((e=>({fileID:e,tempFileURL:e})))})}))}async getFileInfo({fileList:e}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});const t={method:\"serverless.file.resource.info\",params:JSON.stringify({id:e.map((e=>e.split(\"?\")[0])).join(\",\")})};return{fileList:(await this.request(this.setupRequest(t))).result}}};var de={init(e){const t=new he(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}};const pe=\"undefined\"!=typeof location&&\"http:\"===location.protocol?\"http:\":\"https:\";var fe;!function(e){e.local=\"local\",e.none=\"none\",e.session=\"session\"}(fe||(fe={}));var ge=function(){},me=n((function(e,t){var n;e.exports=(n=r,function(e){var t=n,s=t.lib,r=s.WordArray,i=s.Hasher,o=t.algo,a=[],c=[];!function(){function t(t){for(var n=e.sqrt(t),s=2;s<=n;s++)if(!(t%s))return!1;return!0}function n(e){return 4294967296*(e-(0|e))|0}for(var s=2,r=0;r<64;)t(s)&&(r<8&&(a[r]=n(e.pow(s,.5))),c[r]=n(e.pow(s,1/3)),r++),s++}();var u=[],l=o.SHA256=i.extend({_doReset:function(){this._hash=new r.init(a.slice(0))},_doProcessBlock:function(e,t){for(var n=this._hash.words,s=n[0],r=n[1],i=n[2],o=n[3],a=n[4],l=n[5],h=n[6],d=n[7],p=0;p<64;p++){if(p<16)u[p]=0|e[t+p];else{var f=u[p-15],g=(f<<25|f>>>7)^(f<<14|f>>>18)^f>>>3,m=u[p-2],y=(m<<15|m>>>17)^(m<<13|m>>>19)^m>>>10;u[p]=g+u[p-7]+y+u[p-16]}var _=s&r^s&i^r&i,w=(s<<30|s>>>2)^(s<<19|s>>>13)^(s<<10|s>>>22),v=d+((a<<26|a>>>6)^(a<<21|a>>>11)^(a<<7|a>>>25))+(a&l^~a&h)+c[p]+u[p];d=h,h=l,l=a,a=o+v|0,o=i,i=r,r=s,s=v+(w+_)|0}n[0]=n[0]+s|0,n[1]=n[1]+r|0,n[2]=n[2]+i|0,n[3]=n[3]+o|0,n[4]=n[4]+a|0,n[5]=n[5]+l|0,n[6]=n[6]+h|0,n[7]=n[7]+d|0},_doFinalize:function(){var t=this._data,n=t.words,s=8*this._nDataBytes,r=8*t.sigBytes;return n[r>>>5]|=128<<24-r%32,n[14+(r+64>>>9<<4)]=e.floor(s/4294967296),n[15+(r+64>>>9<<4)]=s,t.sigBytes=4*n.length,this._process(),this._hash},clone:function(){var e=i.clone.call(this);return e._hash=this._hash.clone(),e}});t.SHA256=i._createHelper(l),t.HmacSHA256=i._createHmacHelper(l)}(Math),n.SHA256)})),ye=me,_e=n((function(e,t){e.exports=r.HmacSHA256}));const we=()=>{let e;if(!Promise){e=()=>{},e.promise={};const t=()=>{throw new te({message:'Your Node runtime does support ES6 Promises. Set \"global.Promise\" to your preferred implementation of promises.'})};return Object.defineProperty(e.promise,\"then\",{get:t}),Object.defineProperty(e.promise,\"catch\",{get:t}),e}const t=new Promise(((t,n)=>{e=(e,s)=>e?n(e):t(s)}));return e.promise=t,e};function ve(e){return void 0===e}function Ie(e){return\"[object Null]\"===Object.prototype.toString.call(e)}var Se;function be(e){const t=(n=e,\"[object Array]\"===Object.prototype.toString.call(n)?e:[e]);var n;for(const e of t){const{isMatch:t,genAdapter:n,runtime:s}=e;if(t())return{adapter:n(),runtime:s}}}!function(e){e.WEB=\"web\",e.WX_MP=\"wx_mp\"}(Se||(Se={}));const ke={adapter:null,runtime:void 0},Ae=[\"anonymousUuidKey\"];class Pe extends ge{constructor(){super(),ke.adapter.root.tcbObject||(ke.adapter.root.tcbObject={})}setItem(e,t){ke.adapter.root.tcbObject[e]=t}getItem(e){return ke.adapter.root.tcbObject[e]}removeItem(e){delete ke.adapter.root.tcbObject[e]}clear(){delete ke.adapter.root.tcbObject}}function Te(e,t){switch(e){case\"local\":return t.localStorage||new Pe;case\"none\":return new Pe;default:return t.sessionStorage||new Pe}}class Ce{constructor(e){if(!this._storage){this._persistence=ke.adapter.primaryStorage||e.persistence,this._storage=Te(this._persistence,ke.adapter);const t=`access_token_${e.env}`,n=`access_token_expire_${e.env}`,s=`refresh_token_${e.env}`,r=`anonymous_uuid_${e.env}`,i=`login_type_${e.env}`,o=`user_info_${e.env}`;this.keys={accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s,anonymousUuidKey:r,loginTypeKey:i,userInfoKey:o}}}updatePersistence(e){if(e===this._persistence)return;const t=\"local\"===this._persistence;this._persistence=e;const n=Te(e,ke.adapter);for(const e in this.keys){const s=this.keys[e];if(t&&Ae.includes(e))continue;const r=this._storage.getItem(s);ve(r)||Ie(r)||(n.setItem(s,r),this._storage.removeItem(s))}this._storage=n}setStore(e,t,n){if(!this._storage)return;const s={version:n||\"localCachev1\",content:t},r=JSON.stringify(s);try{this._storage.setItem(e,r)}catch(e){throw e}}getStore(e,t){try{if(!this._storage)return}catch(e){return\"\"}t=t||\"localCachev1\";const n=this._storage.getItem(e);if(!n)return\"\";if(n.indexOf(t)>=0){return JSON.parse(n).content}return\"\"}removeStore(e){this._storage.removeItem(e)}}const xe={},Oe={};function Ee(e){return xe[e]}class Le{constructor(e,t){this.data=t||null,this.name=e}}class Re extends Le{constructor(e,t){super(\"error\",{error:e,data:t}),this.error=e}}const Ue=new class{constructor(){this._listeners={}}on(e,t){return function(e,t,n){n[e]=n[e]||[],n[e].push(t)}(e,t,this._listeners),this}off(e,t){return function(e,t,n){if(n&&n[e]){const s=n[e].indexOf(t);-1!==s&&n[e].splice(s,1)}}(e,t,this._listeners),this}fire(e,t){if(e instanceof Re)return console.error(e.error),this;const n=\"string\"==typeof e?new Le(e,t||{}):e;const s=n.name;if(this._listens(s)){n.target=this;const e=this._listeners[s]?[...this._listeners[s]]:[];for(const t of e)t.call(this,n)}return this}_listens(e){return this._listeners[e]&&this._listeners[e].length>0}};function Ne(e,t){Ue.on(e,t)}function De(e,t={}){Ue.fire(e,t)}function Me(e,t){Ue.off(e,t)}const qe=\"loginStateChanged\",Fe=\"loginStateExpire\",Ke=\"loginTypeChanged\",je=\"anonymousConverted\",Be=\"refreshAccessToken\";var $e;!function(e){e.ANONYMOUS=\"ANONYMOUS\",e.WECHAT=\"WECHAT\",e.WECHAT_PUBLIC=\"WECHAT-PUBLIC\",e.WECHAT_OPEN=\"WECHAT-OPEN\",e.CUSTOM=\"CUSTOM\",e.EMAIL=\"EMAIL\",e.USERNAME=\"USERNAME\",e.NULL=\"NULL\"}($e||($e={}));const We=[\"auth.getJwt\",\"auth.logout\",\"auth.signInWithTicket\",\"auth.signInAnonymously\",\"auth.signIn\",\"auth.fetchAccessTokenWithRefreshToken\",\"auth.signUpWithEmailAndPassword\",\"auth.activateEndUserMail\",\"auth.sendPasswordResetEmail\",\"auth.resetPasswordWithToken\",\"auth.isUsernameRegistered\"],He={\"X-SDK-Version\":\"1.3.5\"};function ze(e,t,n){const s=e[t];e[t]=function(t){const r={},i={};n.forEach((n=>{const{data:s,headers:o}=n.call(e,t);Object.assign(r,s),Object.assign(i,o)}));const o=t.data;return o&&(()=>{var e;if(e=o,\"[object FormData]\"!==Object.prototype.toString.call(e))t.data={...o,...r};else for(const e in r)o.append(e,r[e])})(),t.headers={...t.headers||{},...i},s.call(e,t)}}function Je(){const e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...He,\"x-seqid\":e}}}class Ve{constructor(e={}){var t;this.config=e,this._reqClass=new ke.adapter.reqClass({timeout:this.config.timeout,timeoutMsg:`请求在${this.config.timeout/1e3}s内未完成,已中断`,restrictedMethods:[\"post\"]}),this._cache=Ee(this.config.env),this._localCache=(t=this.config.env,Oe[t]),ze(this._reqClass,\"post\",[Je]),ze(this._reqClass,\"upload\",[Je]),ze(this._reqClass,\"download\",[Je])}async post(e){return await this._reqClass.post(e)}async upload(e){return await this._reqClass.upload(e)}async download(e){return await this._reqClass.download(e)}async refreshAccessToken(){let e,t;this._refreshAccessTokenPromise||(this._refreshAccessTokenPromise=this._refreshAccessToken());try{e=await this._refreshAccessTokenPromise}catch(e){t=e}if(this._refreshAccessTokenPromise=null,this._shouldRefreshAccessTokenHook=null,t)throw t;return e}async _refreshAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n,loginTypeKey:s,anonymousUuidKey:r}=this._cache.keys;this._cache.removeStore(e),this._cache.removeStore(t);let i=this._cache.getStore(n);if(!i)throw new te({message:\"未登录CloudBase\"});const o={refresh_token:i},a=await this.request(\"auth.fetchAccessTokenWithRefreshToken\",o);if(a.data.code){const{code:e}=a.data;if(\"SIGN_PARAM_INVALID\"===e||\"REFRESH_TOKEN_EXPIRED\"===e||\"INVALID_REFRESH_TOKEN\"===e){if(this._cache.getStore(s)===$e.ANONYMOUS&&\"INVALID_REFRESH_TOKEN\"===e){const e=this._cache.getStore(r),t=this._cache.getStore(n),s=await this.send(\"auth.signInAnonymously\",{anonymous_uuid:e,refresh_token:t});return this.setRefreshToken(s.refresh_token),this._refreshAccessToken()}De(Fe),this._cache.removeStore(n)}throw new te({code:a.data.code,message:`刷新access token失败:${a.data.code}`})}if(a.data.access_token)return De(Be),this._cache.setStore(e,a.data.access_token),this._cache.setStore(t,a.data.access_token_expire+Date.now()),{accessToken:a.data.access_token,accessTokenExpire:a.data.access_token_expire};a.data.refresh_token&&(this._cache.removeStore(n),this._cache.setStore(n,a.data.refresh_token),this._refreshAccessToken())}async getAccessToken(){const{accessTokenKey:e,accessTokenExpireKey:t,refreshTokenKey:n}=this._cache.keys;if(!this._cache.getStore(n))throw new te({message:\"refresh token不存在,登录状态异常\"});let s=this._cache.getStore(e),r=this._cache.getStore(t),i=!0;return this._shouldRefreshAccessTokenHook&&!await this._shouldRefreshAccessTokenHook(s,r)&&(i=!1),(!s||!r||r<Date.now())&&i?this.refreshAccessToken():{accessToken:s,accessTokenExpire:r}}async request(e,t,n){const s=`x-tcb-trace_${this.config.env}`;let r=\"application/x-www-form-urlencoded\";const i={action:e,env:this.config.env,dataVersion:\"2019-08-16\",...t};if(-1===We.indexOf(e)){const{refreshTokenKey:e}=this._cache.keys;this._cache.getStore(e)&&(i.access_token=(await this.getAccessToken()).accessToken)}let o;if(\"storage.uploadFile\"===e){o=new FormData;for(let e in o)o.hasOwnProperty(e)&&void 0!==o[e]&&o.append(e,i[e]);r=\"multipart/form-data\"}else{r=\"application/json\",o={};for(let e in i)void 0!==i[e]&&(o[e]=i[e])}let a={headers:{\"content-type\":r}};n&&n.onUploadProgress&&(a.onUploadProgress=n.onUploadProgress);const c=this._localCache.getStore(s);c&&(a.headers[\"X-TCB-Trace\"]=c);const{parse:u,inQuery:l,search:h}=t;let d={env:this.config.env};u&&(d.parse=!0),l&&(d={...l,...d});let p=function(e,t,n={}){const s=/\\?/.test(t);let r=\"\";for(let e in n)\"\"===r?!s&&(t+=\"?\"):r+=\"&\",r+=`${e}=${encodeURIComponent(n[e])}`;return/^http(s)?\\:\\/\\//.test(t+=r)?t:`${e}${t}`}(pe,\"//tcb-api.tencentcloudapi.com/web\",d);h&&(p+=h);const f=await this.post({url:p,data:o,...a}),g=f.header&&f.header[\"x-tcb-trace\"];if(g&&this._localCache.setStore(s,g),200!==Number(f.status)&&200!==Number(f.statusCode)||!f.data)throw new te({code:\"NETWORK_ERROR\",message:\"network request error\"});return f}async send(e,t={}){const n=await this.request(e,t,{onUploadProgress:t.onUploadProgress});if(\"ACCESS_TOKEN_EXPIRED\"===n.data.code&&-1===We.indexOf(e)){await this.refreshAccessToken();const n=await this.request(e,t,{onUploadProgress:t.onUploadProgress});if(n.data.code)throw new te({code:n.data.code,message:n.data.message});return n.data}if(n.data.code)throw new te({code:n.data.code,message:n.data.message});return n.data}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(n),this._cache.setStore(s,e)}}const Ge={};function Ye(e){return Ge[e]}class Qe{constructor(e){this.config=e,this._cache=Ee(e.env),this._request=Ye(e.env)}setRefreshToken(e){const{accessTokenKey:t,accessTokenExpireKey:n,refreshTokenKey:s}=this._cache.keys;this._cache.removeStore(t),this._cache.removeStore(n),this._cache.setStore(s,e)}setAccessToken(e,t){const{accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys;this._cache.setStore(n,e),this._cache.setStore(s,t)}async refreshUserInfo(){const{data:e}=await this._request.send(\"auth.getUserInfo\",{});return this.setLocalUserInfo(e),e}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e)}}class Xe{constructor(e){if(!e)throw new te({code:\"PARAM_ERROR\",message:\"envId is not defined\"});this._envId=e,this._cache=Ee(this._envId),this._request=Ye(this._envId),this.setUserInfo()}linkWithTicket(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"ticket must be string\"});return this._request.send(\"auth.linkWithTicket\",{ticket:e})}linkWithRedirect(e){e.signInWithRedirect()}updatePassword(e,t){return this._request.send(\"auth.updatePassword\",{oldPassword:t,newPassword:e})}updateEmail(e){return this._request.send(\"auth.updateEmail\",{newEmail:e})}updateUsername(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});return this._request.send(\"auth.updateUsername\",{username:e})}async getLinkedUidList(){const{data:e}=await this._request.send(\"auth.getLinkedUidList\",{});let t=!1;const{users:n}=e;return n.forEach((e=>{e.wxOpenId&&e.wxPublicId&&(t=!0)})),{users:n,hasPrimaryUid:t}}setPrimaryUid(e){return this._request.send(\"auth.setPrimaryUid\",{uid:e})}unlink(e){return this._request.send(\"auth.unlink\",{platform:e})}async update(e){const{nickName:t,gender:n,avatarUrl:s,province:r,country:i,city:o}=e,{data:a}=await this._request.send(\"auth.updateUserInfo\",{nickName:t,gender:n,avatarUrl:s,province:r,country:i,city:o});this.setLocalUserInfo(a)}async refresh(){const{data:e}=await this._request.send(\"auth.getUserInfo\",{});return this.setLocalUserInfo(e),e}setUserInfo(){const{userInfoKey:e}=this._cache.keys,t=this._cache.getStore(e);[\"uid\",\"loginType\",\"openid\",\"wxOpenId\",\"wxPublicId\",\"unionId\",\"qqMiniOpenId\",\"email\",\"hasPassword\",\"customUserId\",\"nickName\",\"gender\",\"avatarUrl\"].forEach((e=>{this[e]=t[e]})),this.location={country:t.country,province:t.province,city:t.city}}setLocalUserInfo(e){const{userInfoKey:t}=this._cache.keys;this._cache.setStore(t,e),this.setUserInfo()}}class Ze{constructor(e){if(!e)throw new te({code:\"PARAM_ERROR\",message:\"envId is not defined\"});this._cache=Ee(e);const{refreshTokenKey:t,accessTokenKey:n,accessTokenExpireKey:s}=this._cache.keys,r=this._cache.getStore(t),i=this._cache.getStore(n),o=this._cache.getStore(s);this.credential={refreshToken:r,accessToken:i,accessTokenExpire:o},this.user=new Xe(e)}get isAnonymousAuth(){return this.loginType===$e.ANONYMOUS}get isCustomAuth(){return this.loginType===$e.CUSTOM}get isWeixinAuth(){return this.loginType===$e.WECHAT||this.loginType===$e.WECHAT_OPEN||this.loginType===$e.WECHAT_PUBLIC}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}}class et extends Qe{async signIn(){this._cache.updatePersistence(\"local\");const{anonymousUuidKey:e,refreshTokenKey:t}=this._cache.keys,n=this._cache.getStore(e)||void 0,s=this._cache.getStore(t)||void 0,r=await this._request.send(\"auth.signInAnonymously\",{anonymous_uuid:n,refresh_token:s});if(r.uuid&&r.refresh_token){this._setAnonymousUUID(r.uuid),this.setRefreshToken(r.refresh_token),await this._request.refreshAccessToken(),De(qe),De(Ke,{env:this.config.env,loginType:$e.ANONYMOUS,persistence:\"local\"});const e=new Ze(this.config.env);return await e.user.refresh(),e}throw new te({message:\"匿名登录失败\"})}async linkAndRetrieveDataWithTicket(e){const{anonymousUuidKey:t,refreshTokenKey:n}=this._cache.keys,s=this._cache.getStore(t),r=this._cache.getStore(n),i=await this._request.send(\"auth.linkAndRetrieveDataWithTicket\",{anonymous_uuid:s,refresh_token:r,ticket:e});if(i.refresh_token)return this._clearAnonymousUUID(),this.setRefreshToken(i.refresh_token),await this._request.refreshAccessToken(),De(je,{env:this.config.env}),De(Ke,{loginType:$e.CUSTOM,persistence:\"local\"}),{credential:{refreshToken:i.refresh_token}};throw new te({message:\"匿名转化失败\"})}_setAnonymousUUID(e){const{anonymousUuidKey:t,loginTypeKey:n}=this._cache.keys;this._cache.removeStore(t),this._cache.setStore(t,e),this._cache.setStore(n,$e.ANONYMOUS)}_clearAnonymousUUID(){this._cache.removeStore(this._cache.keys.anonymousUuidKey)}}class tt extends Qe{async signIn(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"ticket must be a string\"});const{refreshTokenKey:t}=this._cache.keys,n=await this._request.send(\"auth.signInWithTicket\",{ticket:e,refresh_token:this._cache.getStore(t)||\"\"});if(n.refresh_token)return this.setRefreshToken(n.refresh_token),await this._request.refreshAccessToken(),De(qe),De(Ke,{env:this.config.env,loginType:$e.CUSTOM,persistence:this.config.persistence}),await this.refreshUserInfo(),new Ze(this.config.env);throw new te({message:\"自定义登录失败\"})}}class nt extends Qe{async signIn(e,t){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"email must be a string\"});const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:\"EMAIL\",email:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:r,access_token:i,access_token_expire:o}=s;if(r)return this.setRefreshToken(r),i&&o?this.setAccessToken(i,o):await this._request.refreshAccessToken(),await this.refreshUserInfo(),De(qe),De(Ke,{env:this.config.env,loginType:$e.EMAIL,persistence:this.config.persistence}),new Ze(this.config.env);throw s.code?new te({code:s.code,message:`邮箱登录失败: ${s.message}`}):new te({message:\"邮箱登录失败\"})}async activate(e){return this._request.send(\"auth.activateEndUserMail\",{token:e})}async resetPasswordWithToken(e,t){return this._request.send(\"auth.resetPasswordWithToken\",{token:e,newPassword:t})}}class st extends Qe{async signIn(e,t){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});\"string\"!=typeof t&&(t=\"\",console.warn(\"password is empty\"));const{refreshTokenKey:n}=this._cache.keys,s=await this._request.send(\"auth.signIn\",{loginType:$e.USERNAME,username:e,password:t,refresh_token:this._cache.getStore(n)||\"\"}),{refresh_token:r,access_token_expire:i,access_token:o}=s;if(r)return this.setRefreshToken(r),o&&i?this.setAccessToken(o,i):await this._request.refreshAccessToken(),await this.refreshUserInfo(),De(qe),De(Ke,{env:this.config.env,loginType:$e.USERNAME,persistence:this.config.persistence}),new Ze(this.config.env);throw s.code?new te({code:s.code,message:`用户名密码登录失败: ${s.message}`}):new te({message:\"用户名密码登录失败\"})}}class rt{constructor(e){this.config=e,this._cache=Ee(e.env),this._request=Ye(e.env),this._onAnonymousConverted=this._onAnonymousConverted.bind(this),this._onLoginTypeChanged=this._onLoginTypeChanged.bind(this),Ne(Ke,this._onLoginTypeChanged)}get currentUser(){const e=this.hasLoginState();return e&&e.user||null}get loginType(){return this._cache.getStore(this._cache.keys.loginTypeKey)}anonymousAuthProvider(){return new et(this.config)}customAuthProvider(){return new tt(this.config)}emailAuthProvider(){return new nt(this.config)}usernameAuthProvider(){return new st(this.config)}async signInAnonymously(){return new et(this.config).signIn()}async signInWithEmailAndPassword(e,t){return new nt(this.config).signIn(e,t)}signInWithUsernameAndPassword(e,t){return new st(this.config).signIn(e,t)}async linkAndRetrieveDataWithTicket(e){this._anonymousAuthProvider||(this._anonymousAuthProvider=new et(this.config)),Ne(je,this._onAnonymousConverted);return await this._anonymousAuthProvider.linkAndRetrieveDataWithTicket(e)}async signOut(){if(this.loginType===$e.ANONYMOUS)throw new te({message:\"匿名用户不支持登出操作\"});const{refreshTokenKey:e,accessTokenKey:t,accessTokenExpireKey:n}=this._cache.keys,s=this._cache.getStore(e);if(!s)return;const r=await this._request.send(\"auth.logout\",{refresh_token:s});return this._cache.removeStore(e),this._cache.removeStore(t),this._cache.removeStore(n),De(qe),De(Ke,{env:this.config.env,loginType:$e.NULL,persistence:this.config.persistence}),r}async signUpWithEmailAndPassword(e,t){return this._request.send(\"auth.signUpWithEmailAndPassword\",{email:e,password:t})}async sendPasswordResetEmail(e){return this._request.send(\"auth.sendPasswordResetEmail\",{email:e})}onLoginStateChanged(e){Ne(qe,(()=>{const t=this.hasLoginState();e.call(this,t)}));const t=this.hasLoginState();e.call(this,t)}onLoginStateExpired(e){Ne(Fe,e.bind(this))}onAccessTokenRefreshed(e){Ne(Be,e.bind(this))}onAnonymousConverted(e){Ne(je,e.bind(this))}onLoginTypeChanged(e){Ne(Ke,(()=>{const t=this.hasLoginState();e.call(this,t)}))}async getAccessToken(){return{accessToken:(await this._request.getAccessToken()).accessToken,env:this.config.env}}hasLoginState(){const{refreshTokenKey:e}=this._cache.keys;return this._cache.getStore(e)?new Ze(this.config.env):null}async isUsernameRegistered(e){if(\"string\"!=typeof e)throw new te({code:\"PARAM_ERROR\",message:\"username must be a string\"});const{data:t}=await this._request.send(\"auth.isUsernameRegistered\",{username:e});return t&&t.isRegistered}getLoginState(){return Promise.resolve(this.hasLoginState())}async signInWithTicket(e){return new tt(this.config).signIn(e)}shouldRefreshAccessToken(e){this._request._shouldRefreshAccessTokenHook=e.bind(this)}getUserInfo(){return this._request.send(\"auth.getUserInfo\",{}).then((e=>e.code?e:{...e.data,requestId:e.seqId}))}getAuthHeader(){const{refreshTokenKey:e,accessTokenKey:t}=this._cache.keys,n=this._cache.getStore(e);return{\"x-cloudbase-credentials\":this._cache.getStore(t)+\"/@@/\"+n}}_onAnonymousConverted(e){const{env:t}=e.data;t===this.config.env&&this._cache.updatePersistence(this.config.persistence)}_onLoginTypeChanged(e){const{loginType:t,persistence:n,env:s}=e.data;s===this.config.env&&(this._cache.updatePersistence(n),this._cache.setStore(this._cache.keys.loginTypeKey,t))}}const it=function(e,t){t=t||we();const n=Ye(this.config.env),{cloudPath:s,filePath:r,onUploadProgress:i,fileType:o=\"image\"}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{const{data:{url:a,authorization:c,token:u,fileId:l,cosFileId:h},requestId:d}=e,p={key:s,signature:c,\"x-cos-meta-fileid\":h,success_action_status:\"201\",\"x-cos-security-token\":u};n.upload({url:a,data:p,file:r,name:s,fileType:o,onUploadProgress:i}).then((e=>{201===e.statusCode?t(null,{fileID:l,requestId:d}):t(new te({code:\"STORAGE_REQUEST_FAIL\",message:`STORAGE_REQUEST_FAIL: ${e.data}`}))})).catch((e=>{t(e)}))})).catch((e=>{t(e)})),t.promise},ot=function(e,t){t=t||we();const n=Ye(this.config.env),{cloudPath:s}=e;return n.send(\"storage.getUploadMetadata\",{path:s}).then((e=>{t(null,e)})).catch((e=>{t(e)})),t.promise},at=function({fileList:e},t){if(t=t||we(),!e||!Array.isArray(e))return{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"};for(let t of e)if(!t||\"string\"!=typeof t)return{code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"};const n={fileid_list:e};return Ye(this.config.env).send(\"storage.batchDeleteFile\",n).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.delete_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},ct=function({fileList:e},t){t=t||we(),e&&Array.isArray(e)||t(null,{code:\"INVALID_PARAM\",message:\"fileList必须是非空的数组\"});let n=[];for(let s of e)\"object\"==typeof s?(s.hasOwnProperty(\"fileID\")&&s.hasOwnProperty(\"maxAge\")||t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是包含fileID和maxAge的对象\"}),n.push({fileid:s.fileID,max_age:s.maxAge})):\"string\"==typeof s?n.push({fileid:s}):t(null,{code:\"INVALID_PARAM\",message:\"fileList的元素必须是字符串\"});const s={file_list:n};return Ye(this.config.env).send(\"storage.batchGetDownloadUrl\",s).then((e=>{e.code?t(null,e):t(null,{fileList:e.data.download_list,requestId:e.requestId})})).catch((e=>{t(e)})),t.promise},ut=async function({fileID:e},t){const n=(await ct.call(this,{fileList:[{fileID:e,maxAge:600}]})).fileList[0];if(\"SUCCESS\"!==n.code)return t?t(n):new Promise((e=>{e(n)}));const s=Ye(this.config.env);let r=n.download_url;if(r=encodeURI(r),!t)return s.download({url:r});t(await s.download({url:r}))},lt=function({name:e,data:t,query:n,parse:s,search:r},i){const o=i||we();let a;try{a=t?JSON.stringify(t):\"\"}catch(e){return Promise.reject(e)}if(!e)return Promise.reject(new te({code:\"PARAM_ERROR\",message:\"函数名不能为空\"}));const c={inQuery:n,parse:s,search:r,function_name:e,request_data:a};return Ye(this.config.env).send(\"functions.invokeFunction\",c).then((e=>{if(e.code)o(null,e);else{let t=e.data.response_data;if(s)o(null,{result:t,requestId:e.requestId});else try{t=JSON.parse(e.data.response_data),o(null,{result:t,requestId:e.requestId})}catch(e){o(new te({message:\"response data must be json\"}))}}return o.promise})).catch((e=>{o(e)})),o.promise},ht={timeout:15e3,persistence:\"session\"},dt={};class pt{constructor(e){this.config=e||this.config,this.authObj=void 0}init(e){switch(ke.adapter||(this.requestClient=new ke.adapter.reqClass({timeout:e.timeout||5e3,timeoutMsg:`请求在${(e.timeout||5e3)/1e3}s内未完成,已中断`})),this.config={...ht,...e},!0){case this.config.timeout>6e5:console.warn(\"timeout大于可配置上限[10分钟],已重置为上限数值\"),this.config.timeout=6e5;break;case this.config.timeout<100:console.warn(\"timeout小于可配置下限[100ms],已重置为下限数值\"),this.config.timeout=100}return new pt(this.config)}auth({persistence:e}={}){if(this.authObj)return this.authObj;const t=e||ke.adapter.primaryStorage||ht.persistence;var n;return t!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;xe[t]=new Ce(e),Oe[t]=new Ce({...e,persistence:\"local\"})}(this.config),n=this.config,Ge[n.env]=new Ve(n),this.authObj=new rt(this.config),this.authObj}on(e,t){return Ne.apply(this,[e,t])}off(e,t){return Me.apply(this,[e,t])}callFunction(e,t){return lt.apply(this,[e,t])}deleteFile(e,t){return at.apply(this,[e,t])}getTempFileURL(e,t){return ct.apply(this,[e,t])}downloadFile(e,t){return ut.apply(this,[e,t])}uploadFile(e,t){return it.apply(this,[e,t])}getUploadMetadata(e,t){return ot.apply(this,[e,t])}registerExtension(e){dt[e.name]=e}async invokeExtension(e,t){const n=dt[e];if(!n)throw new te({message:`扩展${e} 必须先注册`});return await n.invoke(t,this)}useAdapters(e){const{adapter:t,runtime:n}=be(e)||{};t&&(ke.adapter=t),n&&(ke.runtime=n)}}var ft=new pt;function gt(e,t,n){void 0===n&&(n={});var s=/\\?/.test(t),r=\"\";for(var i in n)\"\"===r?!s&&(t+=\"?\"):r+=\"&\",r+=i+\"=\"+encodeURIComponent(n[i]);return/^http(s)?:\\/\\//.test(t+=r)?t:\"\"+e+t}class mt{post(e){const{url:t,data:n,headers:s}=e;return new Promise(((e,r)=>{ne.request({url:gt(\"https:\",t),data:n,method:\"POST\",header:s,success(t){e(t)},fail(e){r(e)}})}))}upload(e){return new Promise(((t,n)=>{const{url:s,file:r,data:i,headers:o,fileType:a}=e,c=ne.uploadFile({url:gt(\"https:\",s),name:\"file\",formData:Object.assign({},i),filePath:r,fileType:a,header:o,success(e){const n={statusCode:e.statusCode,data:e.data||{}};200===e.statusCode&&i.success_action_status&&(n.statusCode=parseInt(i.success_action_status,10)),t(n)},fail(e){n(new Error(e.errMsg||\"uploadFile:fail\"))}});\"function\"==typeof e.onUploadProgress&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((t=>{e.onUploadProgress({loaded:t.totalBytesSent,total:t.totalBytesExpectedToSend})}))}))}}const yt={setItem(e,t){ne.setStorageSync(e,t)},getItem:e=>ne.getStorageSync(e),removeItem(e){ne.removeStorageSync(e)},clear(){ne.clearStorageSync()}};var _t={genAdapter:function(){return{root:{},reqClass:mt,localStorage:yt,primaryStorage:\"local\"}},isMatch:function(){return!0},runtime:\"uni_app\"};ft.useAdapters(_t);const wt=ft,vt=wt.init;wt.init=function(e){e.env=e.spaceId;const t=vt.call(this,e);t.config.provider=\"tencent\",t.config.spaceId=e.spaceId;const n=t.auth;return t.auth=function(e){const t=n.call(this,e);return[\"linkAndRetrieveDataWithTicket\",\"signInAnonymously\",\"signOut\",\"getAccessToken\",\"getLoginState\",\"signInWithTicket\",\"getUserInfo\"].forEach((e=>{var n;t[e]=(n=t[e],function(e){e=e||{};const{success:t,fail:s,complete:r}=ee(e);if(!(t||s||r))return n.call(this,e);n.call(this,e).then((e=>{t&&t(e),r&&r(e)}),(e=>{s&&s(e),r&&r(e)}))}).bind(t)})),t},t.customAuth=t.auth,t};var It=wt;var St=class extends he{getAccessToken(){return new Promise(((e,t)=>{const n=\"Anonymous_Access_token\";this.setAccessToken(n),e(n)}))}setupRequest(e,t){const n=Object.assign({},e,{spaceId:this.config.spaceId,timestamp:Date.now()}),s={\"Content-Type\":\"application/json\"};\"auth\"!==t&&(n.token=this.accessToken,s[\"x-basement-token\"]=this.accessToken),s[\"x-serverless-sign\"]=le.sign(n,this.config.clientSecret);const r=ue();s[\"x-client-info\"]=encodeURIComponent(JSON.stringify(r));const{token:i}=se();return s[\"x-client-token\"]=i,{url:this.config.requestUrl,method:\"POST\",data:n,dataType:\"json\",header:JSON.parse(JSON.stringify(s))}}uploadFileToOSS({url:e,formData:t,name:n,filePath:s,fileType:r,onUploadProgress:i}){return new Promise(((o,a)=>{const c=this.adapter.uploadFile({url:e,formData:t,name:n,filePath:s,fileType:r,success(e){e&&e.statusCode<400?o(e):a(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof i&&c&&\"function\"==typeof c.onProgressUpdate&&c.onProgressUpdate((e=>{i({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}uploadFile({filePath:e,cloudPath:t,fileType:n=\"image\",onUploadProgress:s}){if(!t)throw new te({code:\"CLOUDPATH_REQUIRED\",message:\"cloudPath不可为空\"});let r;return this.getOSSUploadOptionsFromPath({cloudPath:t}).then((t=>{const{url:i,formData:o,name:a}=t.result;r=t.result.fileUrl;const c={url:i,formData:o,name:a,filePath:e,fileType:n};return this.uploadFileToOSS(Object.assign({},c,{onUploadProgress:s}))})).then((()=>this.reportOSSUpload({cloudPath:t}))).then((t=>new Promise(((n,s)=>{t.success?n({success:!0,filePath:e,fileID:r}):s(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))}))))}deleteFile({fileList:e}){const t={method:\"serverless.file.resource.delete\",params:JSON.stringify({fileList:e})};return this.request(this.setupRequest(t)).then((e=>{if(e.success)return e.result;throw new te({code:\"DELETE_FILE_FAILED\",message:\"删除文件失败\"})}))}getTempFileURL({fileList:e,maxAge:t}={}){if(!Array.isArray(e)||0===e.length)throw new te({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});const n={method:\"serverless.file.resource.getTempFileURL\",params:JSON.stringify({fileList:e,maxAge:t})};return this.request(this.setupRequest(n)).then((e=>{if(e.success)return{fileList:e.result.fileList.map((e=>({fileID:e.fileID,tempFileURL:e.tempFileURL})))};throw new te({code:\"GET_TEMP_FILE_URL_FAILED\",message:\"获取临时文件链接失败\"})}))}};var bt={init(e){const t=new St(e),n={signInAnonymously:function(){return t.authorize()},getLoginState:function(){return Promise.resolve(!1)}};return t.auth=function(){return n},t.customAuth=t.auth,t}},kt=n((function(e,t){e.exports=r.enc.Hex}));function At(e=\"\",t={}){const{data:n,functionName:s,method:r,headers:i,signHeaderKeys:o=[],config:a}=t,c=Date.now(),u=\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return(\"x\"===e?t:3&t|8).toString(16)})),l=Object.assign({},i,{\"x-from-app-id\":a.appId,\"x-from-env-id\":a.envId,\"x-to-env-id\":a.envId,\"x-from-instance-id\":c,\"x-from-function-name\":s,\"x-client-timestamp\":c,\"x-alipay-source\":\"client\",\"x-request-id\":u,\"x-alipay-callid\":u}),h=[\"x-from-app-id\",\"x-from-env-id\",\"x-to-env-id\",\"x-from-instance-id\",\"x-from-function-name\",\"x-client-timestamp\"].concat(o),[d=\"\",p=\"\"]=e.split(\"?\")||[],f=function(e){const t=e.signedHeaders.join(\";\"),n=e.signedHeaders.map((t=>`${t.toLowerCase()}:${e.headers[t]}\\n`)).join(\"\"),s=ye(e.body).toString(kt),r=`${e.method.toUpperCase()}\\n${e.path}\\n${e.query}\\n${n}\\n${t}\\n${s}\\n`,i=ye(r).toString(kt),o=`HMAC-SHA256\\n${e.timestamp}\\n${i}\\n`,a=_e(o,e.secretKey).toString(kt);return`HMAC-SHA256 Credential=${e.secretId}, SignedHeaders=${t}, Signature=${a}`}({path:d,query:p,method:r,headers:l,timestamp:c,body:JSON.stringify(n),secretId:a.secretId,secretKey:a.secretKey,signedHeaders:h.sort()});return{url:`${a.endpoint}${e.replace(/^\\//,\"\")}`,headers:Object.assign({},l,{Authorization:f})}}function Pt({url:e,data:t,method:n=\"POST\",headers:s={}}){return new Promise(((r,i)=>{ne.request({url:e,method:n,data:t,header:s,dataType:\"json\",complete:(e={})=>{if(!e.statusCode||e.statusCode>=400){const{errMsg:t}=e.data||{};return i(new te({code:\"SYS_ERR\",message:t||e.errMsg||\"request:fail\"}))}r({status:e.statusCode,data:e.data,headers:e.header})}})}))}function Tt(e,t){const{path:n,data:s,method:r=\"GET\"}=e,{url:i,headers:o}=At(n,{functionName:\"\",data:s,method:r,headers:{\"x-alipay-cloud-mode\":\"oss\",\"x-data-api-type\":\"oss\",\"x-expire-timestamp\":Date.now()+6e4},signHeaderKeys:[\"x-data-api-type\",\"x-expire-timestamp\"],config:t});return Pt({url:i,data:s,method:r,headers:o}).then((e=>{const t=e.data||{};if(!t.success)throw new te({code:e.code,message:e.message,requestId:e.trace_id});return t.data||{}})).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}function Ct(e=\"\"){const t=e.trim().replace(/^cloud:\\/\\//,\"\"),n=t.indexOf(\"/\");if(n<=0)throw new te({code:\"INVALID_PARAM\",message:\"fileID不合法\"});const s=t.substring(0,n),r=t.substring(n+1);return s!==this.config.envId&&console.warn(\"file \".concat(e,\" does not belong to env \").concat(this.config.envId)),r}var xt=class{constructor(e){[\"spaceId\",\"spaceAppId\",\"accessKey\",\"secretKey\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(`${t} required`)}));const{spaceAppId:t,accessKey:n,...s}=e;this.config=Object.assign({},{endpoint:e.endpoint||`https://${e.envId}.api-hz.cloudbasefunction.cn/`,envId:e.spaceId,appId:t,secretId:n},s)}callFunction(e){return function(e,t){const{name:n,data:s}=e,r=\"POST\",{url:i,headers:o}=At(\"/functions/invokeFunction\",{functionName:n,data:s,method:r,headers:{\"x-to-function-name\":n},signHeaderKeys:[\"x-to-function-name\"],config:t});return Pt({url:i,data:s,method:r,headers:o}).then((e=>(e.errCode=0,e.success=!0,e.requestId=e.requestID||e.requestId,e.result=e.data,delete e.requestID,delete e.data,e))).catch((e=>{throw new te({code:e.errCode,message:e.errMsg,requestId:e.requestId})}))}(e,this.config)}uploadFileToOSS({url:e,filePath:t,fileType:n,formData:s,onUploadProgress:r}){return new Promise(((i,o)=>{const a=ne.uploadFile({url:e,filePath:t,fileType:n,formData:s,success(e){e&&e.statusCode<400?i(e):o(new te({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){o(new te({code:e.code||\"UPLOAD_FAILED\",message:e.message||e.errMsg||\"文件上传失败\"}))}});\"function\"==typeof r&&a&&\"function\"==typeof a.onProgressUpdate&&a.onProgressUpdate((e=>{r({loaded:e.totalBytesSent,total:e.totalBytesExpectedToSend})}))}))}async uploadFile({filePath:e,cloudPath:t=\"\",fileType:n=\"image\",onUploadProgress:s}){if(\"string\"!==f(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new te({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const r=await Tt({path:\"/\".concat(t.replace(/^\\//,\"\"),\"?post_url\")},this.config),{file_id:i,upload_url:o,form_data:a}=r,c=a&&a.reduce(((e,t)=>(e[t.key]=t.value,e)),{});return this.uploadFileToOSS({url:o,filePath:e,fileType:n,formData:c,onUploadProgress:s}).then((()=>({fileID:i})))}async getTempFileURL({fileList:e}){return new Promise(((t,n)=>{(!e||e.length<0)&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList不能为空数组\"})),e.length>50&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList数组长度不能超过50\"}));const s=[];for(const t of e){\"string\"!==f(t)&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList的元素必须是非空的字符串\"}));const e=Ct.call(this,t);s.push({file_id:e,expire:600})}Tt({path:\"/?download_url\",data:{file_list:s},method:\"POST\"},this.config).then((e=>{const{file_list:n=[]}=e;t({fileList:n.map((e=>({fileID:e.file_id,tempFileURL:e.download_url})))})})).catch((e=>n(e)))}))}async deleteFile({fileList:e}){return new Promise(((t,n)=>{(!e||e.length<0)&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList不能为空数组\"})),e.length>50&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList数组长度不能超过50\"}));const s=[];for(const t of e)\"string\"!==f(t)&&n(new te({errCode:\"INVALID_PARAM\",errMsg:\"fileList的元素必须是非空的字符串\"})),s.push(Ct.call(this,t));Tt({path:\"/?delete\",data:{file_list:s},method:\"POST\"},this.config).then((e=>{const{file_list:n=[]}=e;t({fileList:n.map((e=>({fileID:e.file_id,tempFileURL:e.download_url})))})})).catch((e=>n(e)))}))}};var Ot={init:e=>{e.envId=e.spaceId,e.provider=\"alipay\";const t=new xt(e);return t.auth=function(){return{signInAnonymously:function(){return Promise.resolve()},getLoginState:function(){return Promise.resolve(!0)}}},t}};function Et({data:e}){let t;t=ue();const n=JSON.parse(JSON.stringify(e||{}));if(Object.assign(n,{clientInfo:t}),!n.uniIdToken){const{token:e}=se();e&&(n.uniIdToken=e)}return n}async function Lt({name:e,data:t}={}){await this.__dev__.initLocalNetwork();const{localAddress:n,localPort:s}=this.__dev__,r={aliyun:\"aliyun\",tencent:\"tcb\",alipay:\"alipay\"}[this.config.provider],i=this.config.spaceId,o=`http://${n}:${s}/system/check-function`,a=`http://${n}:${s}/cloudfunctions/${e}`;return new Promise(((t,n)=>{ne.request({method:\"POST\",url:o,data:{name:e,platform:P,provider:r,spaceId:i},timeout:3e3,success(e){t(e)},fail(){t({data:{code:\"NETWORK_ERROR\",message:\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下,自动切换为已部署的云函数。\"}})}})})).then((({data:e}={})=>{const{code:t,message:n}=e||{};return{code:0===t?0:t||\"SYS_ERR\",message:n||\"SYS_ERR\"}})).then((({code:n,message:s})=>{if(0!==n){switch(n){case\"MODULE_ENCRYPTED\":console.error(`此云函数(${e})依赖加密公共模块不可本地调试,自动切换为云端已部署的云函数`);break;case\"FUNCTION_ENCRYPTED\":console.error(`此云函数(${e})已加密不可本地调试,自动切换为云端已部署的云函数`);break;case\"ACTION_ENCRYPTED\":console.error(s||\"需要访问加密的uni-clientDB-action,自动切换为云端环境\");break;case\"NETWORK_ERROR\":{const e=\"连接本地调试服务失败,请检查客户端是否和主机在同一局域网下\";throw console.error(e),new Error(e)}case\"SWITCH_TO_CLOUD\":break;default:{const e=`检测本地调试服务出现错误:${s},请检查网络环境或重启客户端再试`;throw console.error(e),new Error(e)}}return this._callCloudFunction({name:e,data:t})}return new Promise(((e,n)=>{const s=Et.call(this,{data:t});ne.request({method:\"POST\",url:a,data:{provider:r,platform:P,param:s},success:({statusCode:t,data:s}={})=>!t||t>=400?n(new te({code:s.code||\"SYS_ERR\",message:s.message||\"request:fail\"})):e({result:s}),fail(e){n(new te({code:e.code||e.errCode||\"SYS_ERR\",message:e.message||e.errMsg||\"request:fail\"}))}})}))}))}const Rt=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:\",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间\",mode:\"append\"}];var Ut=/[\\\\^$.*+?()[\\]{}|]/g,Nt=RegExp(Ut.source);function Dt(e,t,n){return e.replace(new RegExp((s=t)&&Nt.test(s)?s.replace(Ut,\"\\\\$&\"):s,\"g\"),n);var s}const Mt=\"none\",qt=\"request\",Ft=\"response\",Kt=\"both\";class jt{constructor({secretType:e,uniCloudIns:t}={}){this.clientType=\"\",this.secretType=e||Mt,this.uniCloudIns=t;const{provider:n,spaceId:s}=this.uniCloudIns.config;var r;this.provider=n,this.spaceId=s,this.scopedGlobalCache=(r=this.uniCloudIns,L(\"_globalUniCloudSecureNetworkCache__{spaceId}\".replace(\"{spaceId}\",r.config.spaceId)))}getSystemInfo(){return this._systemInfo||(this._systemInfo=ae()),this._systemInfo}get appId(){return this.getSystemInfo().appId}get deviceId(){return this.getSystemInfo().deviceId}async encryptData(e){return this.secretType===Mt?e:this.platformEncryptData(e)}async decryptResult(e){if(this.secretType===Mt)return e;const{errCode:t,content:n}=e||{};return t||!n?e:this.secretType===qt?n:this.platformDecryptResult(e)}wrapVerifyClientCallFunction(e){const t=this;return async function({name:n,data:s={}}={}){await t.prepare(),(s=JSON.parse(JSON.stringify(s)))._uniCloudOptions=await t.platformGetSignOption();let r=await e({name:n,data:s});return t.isClientKeyNotFound(r)&&(await t.prepare({forceUpdate:!0}),s._uniCloudOptions=await t.platformGetSignOption(),r=await e({name:n,data:s})),r}}wrapEncryptDataCallFunction(e){const t=this;return async function({name:n,data:s={}}={}){await t.prepare();const r=await t.encryptData(s);let i=await e({name:n,data:r});if(t.isClientKeyNotFound(i)){await t.prepare({forceUpdate:!0});const r=await t.encryptData(s);s._uniCloudOptions=await t.platformGetSignOption(),i=await e({name:n,data:r})}return i.result=await t.decryptResult(i.result),i}}}\n/*! MIT License. Copyright 2015-2018 Richard Moore <me@ricmoo.com>. See LICENSE.txt. */function Bt(e){return parseInt(e)===e}function $t(e){if(!Bt(e.length))return!1;for(var t=0;t<e.length;t++)if(!Bt(e[t])||e[t]<0||e[t]>255)return!1;return!0}function Wt(e,t){if(e.buffer&&\"Uint8Array\"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!$t(e))throw new Error(\"Array contains invalid value: \"+e);return new Uint8Array(e)}if(Bt(e.length)&&$t(e))return new Uint8Array(e);throw new Error(\"unsupported array-like object\")}function Ht(e){return new Uint8Array(e)}function zt(e,t,n,s,r){null==s&&null==r||(e=e.slice?e.slice(s,r):Array.prototype.slice.call(e,s,r)),t.set(e,n)}var Jt,Vt={toBytes:function(e){var t=[],n=0;for(e=encodeURI(e);n<e.length;){var s=e.charCodeAt(n++);37===s?(t.push(parseInt(e.substr(n,2),16)),n+=2):t.push(s)}return Wt(t)},fromBytes:function(e){for(var t=[],n=0;n<e.length;){var s=e[n];s<128?(t.push(String.fromCharCode(s)),n++):s>191&&s<224?(t.push(String.fromCharCode((31&s)<<6|63&e[n+1])),n+=2):(t.push(String.fromCharCode((15&s)<<12|(63&e[n+1])<<6|63&e[n+2])),n+=3)}return t.join(\"\")}},Gt=(Jt=\"0123456789abcdef\",{toBytes:function(e){for(var t=[],n=0;n<e.length;n+=2)t.push(parseInt(e.substr(n,2),16));return t},fromBytes:function(e){for(var t=[],n=0;n<e.length;n++){var s=e[n];t.push(Jt[(240&s)>>4]+Jt[15&s])}return t.join(\"\")}}),Yt={16:10,24:12,32:14},Qt=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],Xt=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],Zt=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],en=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],tn=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],nn=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],sn=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],rn=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],on=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],an=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],cn=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],un=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],ln=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],hn=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],dn=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function pn(e){for(var t=[],n=0;n<e.length;n+=4)t.push(e[n]<<24|e[n+1]<<16|e[n+2]<<8|e[n+3]);return t}class fn{constructor(e){if(!(this instanceof fn))throw Error(\"AES must be instanitated with `new`\");Object.defineProperty(this,\"key\",{value:Wt(e,!0)}),this._prepare()}_prepare(){var e=Yt[this.key.length];if(null==e)throw new Error(\"invalid key size (must be 16, 24 or 32 bytes)\");this._Ke=[],this._Kd=[];for(var t=0;t<=e;t++)this._Ke.push([0,0,0,0]),this._Kd.push([0,0,0,0]);var n,s=4*(e+1),r=this.key.length/4,i=pn(this.key);for(t=0;t<r;t++)n=t>>2,this._Ke[n][t%4]=i[t],this._Kd[e-n][t%4]=i[t];for(var o,a=0,c=r;c<s;){if(o=i[r-1],i[0]^=Xt[o>>16&255]<<24^Xt[o>>8&255]<<16^Xt[255&o]<<8^Xt[o>>24&255]^Qt[a]<<24,a+=1,8!=r)for(t=1;t<r;t++)i[t]^=i[t-1];else{for(t=1;t<r/2;t++)i[t]^=i[t-1];o=i[r/2-1],i[r/2]^=Xt[255&o]^Xt[o>>8&255]<<8^Xt[o>>16&255]<<16^Xt[o>>24&255]<<24;for(t=r/2+1;t<r;t++)i[t]^=i[t-1]}for(t=0;t<r&&c<s;)u=c>>2,l=c%4,this._Ke[u][l]=i[t],this._Kd[e-u][l]=i[t++],c++}for(var u=1;u<e;u++)for(var l=0;l<4;l++)o=this._Kd[u][l],this._Kd[u][l]=un[o>>24&255]^ln[o>>16&255]^hn[o>>8&255]^dn[255&o]}encrypt(e){if(16!=e.length)throw new Error(\"invalid plaintext size (must be 16 bytes)\");for(var t=this._Ke.length-1,n=[0,0,0,0],s=pn(e),r=0;r<4;r++)s[r]^=this._Ke[0][r];for(var i=1;i<t;i++){for(r=0;r<4;r++)n[r]=en[s[r]>>24&255]^tn[s[(r+1)%4]>>16&255]^nn[s[(r+2)%4]>>8&255]^sn[255&s[(r+3)%4]]^this._Ke[i][r];s=n.slice()}var o,a=Ht(16);for(r=0;r<4;r++)o=this._Ke[t][r],a[4*r]=255&(Xt[s[r]>>24&255]^o>>24),a[4*r+1]=255&(Xt[s[(r+1)%4]>>16&255]^o>>16),a[4*r+2]=255&(Xt[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(Xt[255&s[(r+3)%4]]^o);return a}decrypt(e){if(16!=e.length)throw new Error(\"invalid ciphertext size (must be 16 bytes)\");for(var t=this._Kd.length-1,n=[0,0,0,0],s=pn(e),r=0;r<4;r++)s[r]^=this._Kd[0][r];for(var i=1;i<t;i++){for(r=0;r<4;r++)n[r]=rn[s[r]>>24&255]^on[s[(r+3)%4]>>16&255]^an[s[(r+2)%4]>>8&255]^cn[255&s[(r+1)%4]]^this._Kd[i][r];s=n.slice()}var o,a=Ht(16);for(r=0;r<4;r++)o=this._Kd[t][r],a[4*r]=255&(Zt[s[r]>>24&255]^o>>24),a[4*r+1]=255&(Zt[s[(r+3)%4]>>16&255]^o>>16),a[4*r+2]=255&(Zt[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(Zt[255&s[(r+1)%4]]^o);return a}}class gn{constructor(e){if(!(this instanceof gn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Electronic Code Block\",this.name=\"ecb\",this._aes=new fn(e)}encrypt(e){if((e=Wt(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=Ht(e.length),n=Ht(16),s=0;s<e.length;s+=16)zt(e,n,0,s,s+16),zt(n=this._aes.encrypt(n),t,s);return t}decrypt(e){if((e=Wt(e)).length%16!=0)throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");for(var t=Ht(e.length),n=Ht(16),s=0;s<e.length;s+=16)zt(e,n,0,s,s+16),zt(n=this._aes.decrypt(n),t,s);return t}}class mn{constructor(e,t){if(!(this instanceof mn))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Cipher Block Chaining\",this.name=\"cbc\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 bytes)\")}else t=Ht(16);this._lastCipherblock=Wt(t,!0),this._aes=new fn(e)}encrypt(e){if((e=Wt(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=Ht(e.length),n=Ht(16),s=0;s<e.length;s+=16){zt(e,n,0,s,s+16);for(var r=0;r<16;r++)n[r]^=this._lastCipherblock[r];this._lastCipherblock=this._aes.encrypt(n),zt(this._lastCipherblock,t,s)}return t}decrypt(e){if((e=Wt(e)).length%16!=0)throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");for(var t=Ht(e.length),n=Ht(16),s=0;s<e.length;s+=16){zt(e,n,0,s,s+16),n=this._aes.decrypt(n);for(var r=0;r<16;r++)t[s+r]=n[r]^this._lastCipherblock[r];zt(e,this._lastCipherblock,0,s,s+16)}return t}}class yn{constructor(e,t,n){if(!(this instanceof yn))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Cipher Feedback\",this.name=\"cfb\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 size)\")}else t=Ht(16);n||(n=1),this.segmentSize=n,this._shiftRegister=Wt(t,!0),this._aes=new fn(e)}encrypt(e){if(e.length%this.segmentSize!=0)throw new Error(\"invalid plaintext size (must be segmentSize bytes)\");for(var t,n=Wt(e,!0),s=0;s<n.length;s+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var r=0;r<this.segmentSize;r++)n[s+r]^=t[r];zt(this._shiftRegister,this._shiftRegister,0,this.segmentSize),zt(n,this._shiftRegister,16-this.segmentSize,s,s+this.segmentSize)}return n}decrypt(e){if(e.length%this.segmentSize!=0)throw new Error(\"invalid ciphertext size (must be segmentSize bytes)\");for(var t,n=Wt(e,!0),s=0;s<n.length;s+=this.segmentSize){t=this._aes.encrypt(this._shiftRegister);for(var r=0;r<this.segmentSize;r++)n[s+r]^=t[r];zt(this._shiftRegister,this._shiftRegister,0,this.segmentSize),zt(e,this._shiftRegister,16-this.segmentSize,s,s+this.segmentSize)}return n}}class _n{constructor(e,t){if(!(this instanceof _n))throw Error(\"AES must be instanitated with `new`\");if(this.description=\"Output Feedback\",this.name=\"ofb\",t){if(16!=t.length)throw new Error(\"invalid initialation vector size (must be 16 bytes)\")}else t=Ht(16);this._lastPrecipher=Wt(t,!0),this._lastPrecipherIndex=16,this._aes=new fn(e)}encrypt(e){for(var t=Wt(e,!0),n=0;n<t.length;n++)16===this._lastPrecipherIndex&&(this._lastPrecipher=this._aes.encrypt(this._lastPrecipher),this._lastPrecipherIndex=0),t[n]^=this._lastPrecipher[this._lastPrecipherIndex++];return t}decrypt(e){return this.encrypt(e)}}class wn{constructor(e){if(!(this instanceof wn))throw Error(\"Counter must be instanitated with `new`\");0===e||e||(e=1),\"number\"==typeof e?(this._counter=Ht(16),this.setValue(e)):this.setBytes(e)}setValue(e){if(\"number\"!=typeof e||parseInt(e)!=e)throw new Error(\"invalid counter value (must be an integer)\");if(e>Number.MAX_SAFE_INTEGER)throw new Error(\"integer value out of safe range\");for(var t=15;t>=0;--t)this._counter[t]=e%256,e=parseInt(e/256)}setBytes(e){if(16!=(e=Wt(e,!0)).length)throw new Error(\"invalid counter bytes size (must be 16 bytes)\");this._counter=e}increment(){for(var e=15;e>=0;e--){if(255!==this._counter[e]){this._counter[e]++;break}this._counter[e]=0}}}class vn{constructor(e,t){if(!(this instanceof vn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Counter\",this.name=\"ctr\",t instanceof wn||(t=new wn(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new fn(e)}encrypt(e){for(var t=Wt(e,!0),n=0;n<t.length;n++)16===this._remainingCounterIndex&&(this._remainingCounter=this._aes.encrypt(this._counter._counter),this._remainingCounterIndex=0,this._counter.increment()),t[n]^=this._remainingCounter[this._remainingCounterIndex++];return t}decrypt(e){return this.encrypt(e)}}var In={AES:fn,Counter:wn,ModeOfOperation:{ecb:gn,cbc:mn,cfb:yn,ofb:_n,ctr:vn},utils:{hex:Gt,utf8:Vt},padding:{pkcs7:{pad:function(e){var t=16-(e=Wt(e,!0)).length%16,n=Ht(e.length+t);zt(e,n);for(var s=e.length;s<n.length;s++)n[s]=t;return n},strip:function(e){if((e=Wt(e,!0)).length<16)throw new Error(\"PKCS#7 invalid length\");var t=e[e.length-1];if(t>16)throw new Error(\"PKCS#7 padding byte out of range\");for(var n=e.length-t,s=0;s<t;s++)if(e[n+s]!==t)throw new Error(\"PKCS#7 invalid padding byte\");var r=Ht(n);return zt(e,r,0,0,n),r}}},_arrayTest:{coerceArray:Wt,createArray:Ht,copyArray:zt}};function Sn(e,t,n){const s=new Uint8Array(uni.base64ToArrayBuffer(t)),r=In.utils.utf8.toBytes(n),i=In.utils.utf8.toBytes(e),o=new In.ModeOfOperation.cbc(s,r),a=In.padding.pkcs7.pad(i),c=o.encrypt(a);return uni.arrayBufferToBase64(c)}const bn={code:2e4,message:\"System error\"},kn={code:20101,message:\"Invalid client\"},An={code:20102,message:\"Get encrypt key failed\"},Pn={10001:\"Secure network is not supported on current playground or unimpsdk\",10003:\"Config missing in current app. If the problem pesist, please contact DCloud.\",10009:\"Encrypt payload failed\",10010:\"Decrypt response failed\"};function Tn(e){const{errSubject:t,subject:n,errCode:s,errMsg:r,code:i,message:o,cause:a}=e||{};return new te({subject:t||n||\"uni-secure-network\",code:s||i||bn.code,message:r||o,cause:a})}let Cn,xn,On=null;class En extends jt{constructor(e){super(e),this.clientType=\"mp-weixin\",this.userEncryptKey=null}isLogin(){return!!this.scopedGlobalCache.mpWeixinCode||!!this.scopedGlobalCache.mpWeixinOpenid}async prepare(){if(!this.isLogin()){if(!this.scopedGlobalCache.initPromise)throw new Error(\"`uniCloud.initSecureNetworkByWeixin` has not yet been called\");if(await this.scopedGlobalCache.initPromise,!this.isLogin())throw new Error(\"uniCloud.initSecureNetworkByWeixin` has not yet been called or successfully excuted\")}}async getUserEncryptKey(){if(this.userEncryptKey)return this.userEncryptKey;if(On&&On.expireTime){const e=Date.now();if(On.expireTime-e>0)return this.userEncryptKey=On,this.userEncryptKey}return new Promise(((e,t)=>{uni.getUserCryptoManager().getLatestUserKey({success:t=>{On=t,this.userEncryptKey=t,e(this.userEncryptKey)},fail:e=>{t(Tn({...An,cause:e}))}})}))}getWxAppId(){return wx.getAccountInfoSync().miniProgram.appId}async platformGetSignOption(){const{encryptKey:e,iv:t,version:n}=await this.getUserEncryptKey();return{verifyClientSign:Sn(JSON.stringify({data:JSON.stringify({}),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ae().platform,timestamp:Date.now()}),e,t),encryptKeyId:n,mpWeixinCode:this.scopedGlobalCache.mpWeixinCode,mpWeixinOpenid:this.scopedGlobalCache.mpWeixinOpenid}}async platformEncryptData(e){const{encryptKey:t,iv:n,version:s}=await this.getUserEncryptKey(),r={secretType:this.secretType,encryptKeyId:s,mpWeixinCode:this.scopedGlobalCache.mpWeixinCode,mpWeixinOpenid:this.scopedGlobalCache.mpWeixinOpenid};return this.secretType===Ft?{content:e,_uniCloudOptions:r}:{content:Sn(JSON.stringify({data:JSON.stringify(e),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ae().platform,timestamp:Date.now()}),t,n),_uniCloudOptions:r}}async platformDecryptResult(e){const{content:t}=e,{encryptKey:n,iv:s}=await this.getUserEncryptKey();return JSON.parse(function(e,t,n){const s=new Uint8Array(uni.base64ToArrayBuffer(e)),r=new Uint8Array(uni.base64ToArrayBuffer(t)),i=In.utils.utf8.toBytes(n),o=new In.ModeOfOperation.cbc(r,i),a=In.padding.pkcs7.strip(o.decrypt(s));return In.utils.utf8.fromBytes(a)}(t,n,s))}isClientKeyNotFound(){return!1}}function Ln(e){const t=[\"hasClientKey\",\"encryptGetClientKeyPayload\",\"setClientKey\",\"encrypt\",\"decrypt\"],n={};for(let s=0;s<t.length;s++){const r=t[s];n[r]=function(...t){return new Promise(((n,s)=>{\"function\"==typeof e[r]?e[r](...t,(function({type:e,data:t,errCode:r,errMsg:i,errSubject:o,message:a}={}){\"success\"===e?n(t):s(Tn({errCode:r,errMsg:Pn[r]||i||a,errSubject:o}))})):s(Tn({message:\"请检查manifest.json内是否开启安全网络模块,另外注意标准基座不支持安全网络模块\"}))}))}}return n}class Rn extends jt{constructor(e){super(e),this.clientType=\"app\",this.appUtils={...Ln(uni.requireNativePlugin(\"plus\"))},this.systemInfo=Cn||(Cn=ae())}async hasClientKey(){return this._hasClientKey=await this.appUtils.hasClientKey({provider:this.provider,spaceId:this.spaceId}),this._hasClientKey}async getAppClientKey(){const{data:e,key:t}=await this.appUtils.encryptGetClientKeyPayload({data:JSON.stringify({})}),n=(await this.uniCloudIns.callFunction({name:\"DCloud-clientDB\",data:{redirectTo:\"encryption\",action:\"getAppClientKey\",data:e,key:t}})).result||{};if(0!==n.errCode)throw function(e){return new te({subject:e.errSubject||\"uni-secure-network\",code:e.errCode||e.code||bn.code,message:e.errMsg||e.message})}(n);const{clientKey:s,key:r}=n;await this.appUtils.setClientKey({provider:this.provider,spaceId:this.spaceId,clientKey:s,key:r})}async ensureClientKey({forceUpdate:e=!1}={}){if(!0!==await this.hasClientKey()||e)return e&&this.scopedGlobalCache.initPromise&&this.scopedGlobalCache.initStatus===h||!e&&this.scopedGlobalCache.initPromise&&this.scopedGlobalCache.initStatus!==p||(this.scopedGlobalCache.initPromise=this.getAppClientKey(),this.scopedGlobalCache.initPromise.then((e=>{this.scopedGlobalCache.initStatus=d})).catch((e=>{throw this.scopedGlobalCache.initStatus=p,e})),this.scopedGlobalCache.initStatus=h),this.scopedGlobalCache.initPromise}async prepare({forceUpdate:e=!1}={}){await this.ensureClientKey({forceUpdate:e})}async platformGetSignOption(){const{data:e,key:t}=await this.appUtils.encrypt({provider:this.provider,spaceId:this.spaceId,data:JSON.stringify({})});return{verifyClientSign:e,encryptKeyId:t}}async platformEncryptData(e){const{data:t,key:n}=await this.appUtils.encrypt({provider:this.provider,spaceId:this.spaceId,data:JSON.stringify(e)}),s={secretType:this.secretType,encryptKeyId:n};return this.secretType===Ft?{content:e,_uniCloudOptions:s}:{content:t,_uniCloudOptions:s}}async platformDecryptResult(e){const{content:t,_uniCloudOptions:n={}}=e,s=n.encryptKeyId,r=await this.appUtils.decrypt({provider:this.provider,spaceId:this.spaceId,data:t,key:s});return JSON.parse(r.data)}isClientKeyNotFound(e={}){const t=e.result||{};return 70009===t.errCode&&\"uni-secure-network\"===t.errSubject}}function Un({secretType:e}={}){return e===qt||e===Ft||e===Kt}function Nn({name:e,data:t={}}={}){return\"app\"===P&&\"DCloud-clientDB\"===e&&\"encryption\"===t.redirectTo&&\"getAppClientKey\"===t.action}function Dn({provider:e,spaceId:t,functionName:n}={}){const{appId:s,uniPlatform:r,osName:i}=ae();let o=r;\"app\"===r&&(o=i);const a=function({provider:e,spaceId:t}={}){const n=A;if(!n)return{};e=function(e){return\"tencent\"===e?\"tcb\":e}(e);const s=n.find((n=>n.provider===e&&n.spaceId===t));return s&&s.config}({provider:e,spaceId:t});if(!a||!a.accessControl||!a.accessControl.enable)return!1;const c=a.accessControl.function||{},u=Object.keys(c);if(0===u.length)return!0;const l=function(e,t){let n,s,r;for(let i=0;i<e.length;i++){const o=e[i];o!==t?\"*\"!==o?o.split(\",\").map((e=>e.trim())).indexOf(t)>-1&&(s=o):r=o:n=o}return n||s||r}(u,n);if(!l)return!1;if((c[l]||[]).find(((e={})=>e.appId===s&&(e.platform||\"\").toLowerCase()===o.toLowerCase())))return!0;throw console.error(`此应用[appId: ${s}, platform: ${o}]不在云端配置的允许访问的应用列表内,参考:https://uniapp.dcloud.net.cn/uniCloud/secure-network.html#verify-client`),Tn(kn)}function Mn({functionName:e,result:t,logPvd:n}){if(S&&this.__dev__.debugLog&&t&&t.requestId){const s=JSON.stringify({spaceId:this.config.spaceId,functionName:e,requestId:t.requestId});console.log(`[${n}-request]${s}[/${n}-request]`)}}function qn(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=Et.call(e,{data:n.data});const r={aliyun:\"aliyun\",tencent:\"tcb\",tcb:\"tcb\",alipay:\"alipay\"}[this.config.provider],i=Un(n),o=Nn(n),a=i||o;return t.call(this,n).then((e=>(e.errCode=0,!a&&Mn.call(this,{functionName:s,result:e,logPvd:r}),Promise.resolve(e))),(e=>(!a&&Mn.call(this,{functionName:s,result:e,logPvd:r}),e&&e.message&&(e.message=function({message:e=\"\",extraInfo:t={},formatter:n=[]}={}){for(let s=0;s<n.length;s++){const{rule:r,content:i,mode:o}=n[s],a=e.match(r);if(!a)continue;let c=i;for(let e=1;e<a.length;e++)c=Dt(c,`{$${e}}`,a[e]);for(const e in t)c=Dt(c,`{${e}}`,t[e]);return\"replace\"===o?c:e+c}return e}({message:`[${n.name}]: ${e.message}`,formatter:Rt,extraInfo:{functionName:s}})),Promise.reject(e))))};e.callFunction=function(t){const{provider:s,spaceId:r}=e.config,i=t.name;let o,a;if(t.data=t.data||{},S&&e.__dev__.debugInfo&&!e.__dev__.debugInfo.forceRemote&&C?(e._callCloudFunction||(e._callCloudFunction=n,e._callLocalFunction=Lt),o=Lt):o=n,o=o.bind(e),Nn(t))a=n.call(e,t);else if(function({name:e,data:t={}}){return\"mp-weixin\"===P&&\"uni-id-co\"===e&&\"secureNetworkHandshakeByWeixin\"===t.method}(t))a=o.call(e,t);else if(Un(t)){a=new xn({secretType:t.secretType,uniCloudIns:e}).wrapEncryptDataCallFunction(n.bind(e))(t)}else if(Dn({provider:s,spaceId:r,functionName:i})){a=new xn({secretType:t.secretType,uniCloudIns:e}).wrapVerifyClientCallFunction(n.bind(e))(t)}else a=o(t);return Object.defineProperty(a,\"result\",{get:()=>(console.warn(\"当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise\"),{})}),a}}xn=\"mp-weixin\"!==P&&\"app\"!==P?class{constructor(){throw Tn({message:`Platform ${P} is not supported by secure network`})}}:k?\"mp-weixin\"===P?En:Rn:class{constructor(){throw Tn({message:`Platform ${P} is not enabled, please check whether secure network module is enabled in your manifest.json`})}};const Fn=Symbol(\"CLIENT_DB_INTERNAL\");function Kn(e,t){return e.then=\"DoNotReturnProxyWithAFunctionNamedThen\",e._internalType=Fn,e.inspect=null,e.__ob__=void 0,new Proxy(e,{get(e,n,s){if(\"_uniClient\"===n)return null;if(\"symbol\"==typeof n)return e[n];if(n in e||\"string\"!=typeof n){const t=e[n];return\"function\"==typeof t?t.bind(e):t}return t.get(e,n,s)}})}function jn(e){return{on:(t,n)=>{e[t]=e[t]||[],e[t].indexOf(n)>-1||e[t].push(n)},off:(t,n)=>{e[t]=e[t]||[];const s=e[t].indexOf(n);-1!==s&&e[t].splice(s,1)}}}const Bn=[\"db.Geo\",\"db.command\",\"command.aggregate\"];function $n(e,t){return Bn.indexOf(`${e}.${t}`)>-1}function Wn(e){switch(f(e)){case\"array\":return e.map((e=>Wn(e)));case\"object\":return e._internalType===Fn||Object.keys(e).forEach((t=>{e[t]=Wn(e[t])})),e;case\"regexp\":return{$regexp:{source:e.source,flags:e.flags}};case\"date\":return{$date:e.toISOString()};default:return e}}function Hn(e){return e&&e.content&&e.content.$method}class zn{constructor(e,t,n){this.content=e,this.prevStage=t||null,this.udb=null,this._database=n}toJSON(){let e=this;const t=[e.content];for(;e.prevStage;)e=e.prevStage,t.push(e.content);return{$db:t.reverse().map((e=>({$method:e.$method,$param:Wn(e.$param)})))}}toString(){return JSON.stringify(this.toJSON())}getAction(){const e=this.toJSON().$db.find((e=>\"action\"===e.$method));return e&&e.$param&&e.$param[0]}getCommand(){return{$db:this.toJSON().$db.filter((e=>\"action\"!==e.$method))}}get isAggregate(){let e=this;for(;e;){const t=Hn(e),n=Hn(e.prevStage);if(\"aggregate\"===t&&\"collection\"===n||\"pipeline\"===t)return!0;e=e.prevStage}return!1}get isCommand(){let e=this;for(;e;){if(\"command\"===Hn(e))return!0;e=e.prevStage}return!1}get isAggregateCommand(){let e=this;for(;e;){const t=Hn(e),n=Hn(e.prevStage);if(\"aggregate\"===t&&\"command\"===n)return!0;e=e.prevStage}return!1}getNextStageFn(e){const t=this;return function(){return Jn({$method:e,$param:Wn(Array.from(arguments))},t,t._database)}}get count(){return this.isAggregate?this.getNextStageFn(\"count\"):function(){return this._send(\"count\",Array.from(arguments))}}get remove(){return this.isCommand?this.getNextStageFn(\"remove\"):function(){return this._send(\"remove\",Array.from(arguments))}}get(){return this._send(\"get\",Array.from(arguments))}get add(){return this.isCommand?this.getNextStageFn(\"add\"):function(){return this._send(\"add\",Array.from(arguments))}}update(){return this._send(\"update\",Array.from(arguments))}end(){return this._send(\"end\",Array.from(arguments))}get set(){return this.isCommand?this.getNextStageFn(\"set\"):function(){throw new Error(\"JQL禁止使用set方法\")}}_send(e,t){const n=this.getAction(),s=this.getCommand();if(s.$db.push({$method:e,$param:Wn(t)}),S){const e=s.$db.find((e=>\"collection\"===e.$method)),t=e&&e.$param;t&&1===t.length&&\"string\"==typeof e.$param[0]&&e.$param[0].indexOf(\",\")>-1&&console.warn(\"检测到使用JQL语法联表查询时,未使用getTemp先过滤主表数据,在主表数据量大的情况下可能会查询缓慢。\\n- 如何优化请参考此文档:https://uniapp.dcloud.net.cn/uniCloud/jql?id=lookup-with-temp \\n- 如果主表数据量很小请忽略此信息,项目发行时不会出现此提示。\")}return this._database._callCloudFunction({action:n,command:s})}}function Jn(e,t,n){return Kn(new zn(e,t,n),{get(e,t){let s=\"db\";return e&&e.content&&(s=e.content.$method),$n(s,t)?Jn({$method:t},e,n):function(){return Jn({$method:t,$param:Wn(Array.from(arguments))},e,n)}}})}function Vn({path:e,method:t}){return class{constructor(){this.param=Array.from(arguments)}toJSON(){return{$newDb:[...e.map((e=>({$method:e}))),{$method:t,$param:this.param}]}}toString(){return JSON.stringify(this.toJSON())}}}function Gn(e,t={}){return Kn(new e(t),{get:(e,t)=>$n(\"db\",t)?Jn({$method:t},null,e):function(){return Jn({$method:t,$param:Wn(Array.from(arguments))},null,e)}})}class Yn extends class{constructor({uniClient:e={},isJQL:t=!1}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e._isDefault&&(this._dbCallBacks=L(\"_globalUniCloudDatabaseCallback\")),t||(this.auth=jn(this._authCallBacks)),this._isJQL=t,Object.assign(this,jn(this._dbCallBacks)),this.env=Kn({},{get:(e,t)=>({$env:t})}),this.Geo=Kn({},{get:(e,t)=>Vn({path:[\"Geo\"],method:t})}),this.serverDate=Vn({path:[],method:\"serverDate\"}),this.RegExp=Vn({path:[],method:\"RegExp\"})}getCloudEnv(e){if(\"string\"!=typeof e||!e.trim())throw new Error(\"getCloudEnv参数错误\");return{$env:e.replace(\"$cloudEnv_\",\"\")}}_callback(e,t){const n=this._dbCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}_callbackAuth(e,t){const n=this._authCallBacks;n[e]&&n[e].forEach((e=>{e(...t)}))}multiSend(){const e=Array.from(arguments),t=e.map((e=>{const t=e.getAction(),n=e.getCommand();if(\"getTemp\"!==n.$db[n.$db.length-1].$method)throw new Error(\"multiSend只支持子命令内使用getTemp\");return{action:t,command:n}}));return this._callCloudFunction({multiCommand:t,queryList:e})}}{_parseResult(e){return this._isJQL?e.result:e}_callCloudFunction({action:e,command:t,multiCommand:n,queryList:s}){function r(e,t){if(n&&s)for(let n=0;n<s.length;n++){const r=s[n];r.udb&&\"function\"==typeof r.udb.setResult&&(t?r.udb.setResult(t):r.udb.setResult(e.result.dataList[n]))}}const i=this,o=this._isJQL?\"databaseForJQL\":\"database\";function a(e){return i._callback(\"error\",[e]),M(q(o,\"fail\"),e).then((()=>M(q(o,\"complete\"),e))).then((()=>(r(null,e),Y(j,{type:W,content:e}),Promise.reject(e))))}const c=M(q(o,\"invoke\")),u=this._uniClient;return c.then((()=>u.callFunction({name:\"DCloud-clientDB\",type:l,data:{action:e,command:t,multiCommand:n}}))).then((e=>{const{code:t,message:n,token:s,tokenExpired:c,systemInfo:u=[]}=e.result;if(u)for(let e=0;e<u.length;e++){const{level:t,message:n,detail:s}=u[e],r=console[\"app\"===P&&\"warn\"===t?\"error\":t]||console.log;let i=\"[System Info]\"+n;s&&(i=`${i}\\n详细信息:${s}`),r(i)}if(t){return a(new te({code:t,message:n,requestId:e.requestId}))}e.result.errCode=e.result.errCode||e.result.code,e.result.errMsg=e.result.errMsg||e.result.message,s&&c&&(re({token:s,tokenExpired:c}),this._callbackAuth(\"refreshToken\",[{token:s,tokenExpired:c}]),this._callback(\"refreshToken\",[{token:s,tokenExpired:c}]),Y($,{token:s,tokenExpired:c}));const l=[{prop:\"affectedDocs\",tips:\"affectedDocs不再推荐使用,请使用inserted/deleted/updated/data.length替代\"},{prop:\"code\",tips:\"code不再推荐使用,请使用errCode替代\"},{prop:\"message\",tips:\"message不再推荐使用,请使用errMsg替代\"}];for(let t=0;t<l.length;t++){const{prop:n,tips:s}=l[t];if(n in e.result){const t=e.result[n];Object.defineProperty(e.result,n,{get:()=>(console.warn(s),t)})}}return function(e){return M(q(o,\"success\"),e).then((()=>M(q(o,\"complete\"),e))).then((()=>{r(e,null);const t=i._parseResult(e);return Y(j,{type:W,content:t}),Promise.resolve(t)}))}(e)}),(e=>{/fc_function_not_found|FUNCTION_NOT_FOUND/g.test(e.message)&&console.warn(\"clientDB未初始化,请在web控制台保存一次schema以开启clientDB\");return a(new te({code:e.code||\"SYSTEM_ERROR\",message:e.message,requestId:e.requestId}))}))}}const Qn=\"token无效,跳转登录页面\",Xn=\"token过期,跳转登录页面\",Zn={TOKEN_INVALID_TOKEN_EXPIRED:Xn,TOKEN_INVALID_INVALID_CLIENTID:Qn,TOKEN_INVALID:Qn,TOKEN_INVALID_WRONG_TOKEN:Qn,TOKEN_INVALID_ANONYMOUS_USER:Qn},es={\"uni-id-token-expired\":Xn,\"uni-id-check-token-failed\":Qn,\"uni-id-token-not-exist\":Qn,\"uni-id-check-device-feature-failed\":Qn};function ts(e,t){let n=\"\";return n=e?`${e}/${t}`:t,n.replace(/^\\//,\"\")}function ns(e=[],t=\"\"){const n=[],s=[];return e.forEach((e=>{!0===e.needLogin?n.push(ts(t,e.path)):!1===e.needLogin&&s.push(ts(t,e.path))})),{needLoginPage:n,notNeedLoginPage:s}}function ss(e){return e.split(\"?\")[0].replace(/^\\//,\"\")}function rs(){return function(e){let t=e&&e.$page&&e.$page.fullPath||\"\";return t?(\"/\"!==t.charAt(0)&&(t=\"/\"+t),t):t}(function(){const e=getCurrentPages();return e[e.length-1]}())}function is(){return ss(rs())}function os(e=\"\",t={}){if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;const n=t.list,s=ss(e);return n.some((e=>e.pagePath===s))}const as=!!e.uniIdRouter;const{loginPage:cs,routerNeedLogin:us,resToLogin:ls,needLoginPage:hs,notNeedLoginPage:ds,loginPageInTabBar:ps}=function({pages:t=[],subPackages:n=[],uniIdRouter:s={},tabBar:r={}}=e){const{loginPage:i,needLogin:o=[],resToLogin:a=!0}=s,{needLoginPage:c,notNeedLoginPage:u}=ns(t),{needLoginPage:l,notNeedLoginPage:h}=function(e=[]){const t=[],n=[];return e.forEach((e=>{const{root:s,pages:r=[]}=e,{needLoginPage:i,notNeedLoginPage:o}=ns(r,s);t.push(...i),n.push(...o)})),{needLoginPage:t,notNeedLoginPage:n}}(n);return{loginPage:i,routerNeedLogin:o,resToLogin:a,needLoginPage:[...c,...l],notNeedLoginPage:[...u,...h],loginPageInTabBar:os(i,r)}}();if(hs.indexOf(cs)>-1)throw new Error(`Login page [${cs}] should not be \"needLogin\", please check your pages.json`);function fs(e){const t=is();if(\"/\"===e.charAt(0))return e;const[n,s]=e.split(\"?\"),r=n.replace(/^\\//,\"\").split(\"/\"),i=t.split(\"/\");i.pop();for(let e=0;e<r.length;e++){const t=r[e];\"..\"===t?i.pop():\".\"!==t&&i.push(t)}return\"\"===i[0]&&i.shift(),\"/\"+i.join(\"/\")+(s?\"?\"+s:\"\")}function gs(e){const t=ss(fs(e));return!(ds.indexOf(t)>-1)&&(hs.indexOf(t)>-1||us.some((t=>function(e,t){return new RegExp(t).test(e)}(e,t))))}function ms({redirect:e}){const t=ss(e),n=ss(cs);return is()!==n&&t!==n}function ys({api:e,redirect:t}={}){if(!t||!ms({redirect:t}))return;const n=function(e,t){return\"/\"!==e.charAt(0)&&(e=\"/\"+e),t?e.indexOf(\"?\")>-1?e+`&uniIdRedirectUrl=${encodeURIComponent(t)}`:e+`?uniIdRedirectUrl=${encodeURIComponent(t)}`:e}(cs,t);ps?\"navigateTo\"!==e&&\"redirectTo\"!==e||(e=\"switchTab\"):\"switchTab\"===e&&(e=\"navigateTo\");const s={navigateTo:uni.navigateTo,redirectTo:uni.redirectTo,switchTab:uni.switchTab,reLaunch:uni.reLaunch};setTimeout((()=>{s[e]({url:n})}))}function _s({url:e}={}){const t={abortLoginPageJump:!1,autoToLoginPage:!1},n=function(){const{token:e,tokenExpired:t}=se();let n;if(e){if(t<Date.now()){const e=\"uni-id-token-expired\";n={errCode:e,errMsg:es[e]}}}else{const e=\"uni-id-check-token-failed\";n={errCode:e,errMsg:es[e]}}return n}();if(gs(e)&&n){n.uniIdRedirectUrl=e;if(J(B).length>0)return setTimeout((()=>{Y(B,n)}),0),t.abortLoginPageJump=!0,t;t.autoToLoginPage=!0}return t}function ws(){!function(){const e=rs(),{abortLoginPageJump:t,autoToLoginPage:n}=_s({url:e});t||n&&ys({api:\"redirectTo\",redirect:e})}();const e=[\"navigateTo\",\"redirectTo\",\"reLaunch\",\"switchTab\"];for(let t=0;t<e.length;t++){const n=e[t];uni.addInterceptor(n,{invoke(e){const{abortLoginPageJump:t,autoToLoginPage:s}=_s({url:e.url});return t?e:s?(ys({api:n,redirect:fs(e.url)}),!1):e}})}}function vs(){this.onResponse((e=>{const{type:t,content:n}=e;let s=!1;switch(t){case\"cloudobject\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in es}(n);break;case\"clientdb\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in Zn}(n)}s&&function(e={}){const t=J(B);Z().then((()=>{const n=rs();if(n&&ms({redirect:n}))return t.length>0?Y(B,Object.assign({uniIdRedirectUrl:n},e)):void(cs&&ys({api:\"navigateTo\",redirect:n}))}))}(n)}))}function Is(e){!function(e){e.onResponse=function(e){V(j,e)},e.offResponse=function(e){G(j,e)}}(e),function(e){e.onNeedLogin=function(e){V(B,e)},e.offNeedLogin=function(e){G(B,e)},as&&(L(\"_globalUniCloudStatus\").needLoginInit||(L(\"_globalUniCloudStatus\").needLoginInit=!0,Z().then((()=>{ws.call(e)})),ls&&vs.call(e)))}(e),function(e){e.onRefreshToken=function(e){V($,e)},e.offRefreshToken=function(e){G($,e)}}(e)}let Ss;const bs=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",ks=/^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;function As(){const e=se().token||\"\",t=e.split(\".\");if(!e||3!==t.length)return{uid:null,role:[],permission:[],tokenExpired:0};let n;try{n=JSON.parse((s=t[1],decodeURIComponent(Ss(s).split(\"\").map((function(e){return\"%\"+(\"00\"+e.charCodeAt(0).toString(16)).slice(-2)})).join(\"\"))))}catch(e){throw new Error(\"获取当前用户信息出错,详细错误信息为:\"+e.message)}var s;return n.tokenExpired=1e3*n.exp,delete n.exp,delete n.iat,n}Ss=\"function\"!=typeof atob?function(e){if(e=String(e).replace(/[\\t\\n\\f\\r ]+/g,\"\"),!ks.test(e))throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\");var t;e+=\"==\".slice(2-(3&e.length));for(var n,s,r=\"\",i=0;i<e.length;)t=bs.indexOf(e.charAt(i++))<<18|bs.indexOf(e.charAt(i++))<<12|(n=bs.indexOf(e.charAt(i++)))<<6|(s=bs.indexOf(e.charAt(i++))),r+=64===n?String.fromCharCode(t>>16&255):64===s?String.fromCharCode(t>>16&255,t>>8&255):String.fromCharCode(t>>16&255,t>>8&255,255&t);return r}:atob;var Ps=n((function(e,t){Object.defineProperty(t,\"__esModule\",{value:!0});const n=\"chooseAndUploadFile:ok\",s=\"chooseAndUploadFile:fail\";function r(e,t){return e.tempFiles.forEach(((e,n)=>{e.name||(e.name=e.path.substring(e.path.lastIndexOf(\"/\")+1)),t&&(e.fileType=t),e.cloudPath=Date.now()+\"_\"+n+e.name.substring(e.name.lastIndexOf(\".\"))})),e.tempFilePaths||(e.tempFilePaths=e.tempFiles.map((e=>e.path))),e}function i(e,t,{onChooseFile:s,onUploadProgress:r}){return t.then((e=>{if(s){const t=s(e);if(void 0!==t)return Promise.resolve(t).then((t=>void 0===t?e:t))}return e})).then((t=>!1===t?{errMsg:n,tempFilePaths:[],tempFiles:[]}:function(e,t,s=5,r){(t=Object.assign({},t)).errMsg=n;const i=t.tempFiles,o=i.length;let a=0;return new Promise((n=>{for(;a<s;)c();function c(){const s=a++;if(s>=o)return void(!i.find((e=>!e.url&&!e.errMsg))&&n(t));const u=i[s];e.uploadFile({filePath:u.path,cloudPath:u.cloudPath,fileType:u.fileType,cloudPathAsRealPath:u.cloudPathAsRealPath,onUploadProgress(e){e.index=s,e.tempFile=u,e.tempFilePath=u.path,r&&r(e)}}).then((e=>{u.url=e.fileID,s<o&&c()})).catch((e=>{u.errMsg=e.errMsg||e.message,s<o&&c()}))}}))}(e,t,5,r)))}t.initChooseAndUploadFile=function(e){return function(t={type:\"all\"}){return\"image\"===t.type?i(e,function(e){const{count:t,sizeType:n,sourceType:i=[\"album\",\"camera\"],extension:o}=e;return new Promise(((e,a)=>{uni.chooseImage({count:t,sizeType:n,sourceType:i,extension:o,success(t){e(r(t,\"image\"))},fail(e){a({errMsg:e.errMsg.replace(\"chooseImage:fail\",s)})}})}))}(t),t):\"video\"===t.type?i(e,function(e){const{camera:t,compressed:n,maxDuration:i,sourceType:o=[\"album\",\"camera\"],extension:a}=e;return new Promise(((e,c)=>{uni.chooseVideo({camera:t,compressed:n,maxDuration:i,sourceType:o,extension:a,success(t){const{tempFilePath:n,duration:s,size:i,height:o,width:a}=t;e(r({errMsg:\"chooseVideo:ok\",tempFilePaths:[n],tempFiles:[{name:t.tempFile&&t.tempFile.name||\"\",path:n,size:i,type:t.tempFile&&t.tempFile.type||\"\",width:a,height:o,duration:s,fileType:\"video\",cloudPath:\"\"}]},\"video\"))},fail(e){c({errMsg:e.errMsg.replace(\"chooseVideo:fail\",s)})}})}))}(t),t):i(e,function(e){const{count:t,extension:n}=e;return new Promise(((e,i)=>{let o=uni.chooseFile;if(\"undefined\"!=typeof wx&&\"function\"==typeof wx.chooseMessageFile&&(o=wx.chooseMessageFile),\"function\"!=typeof o)return i({errMsg:s+\" 请指定 type 类型,该平台仅支持选择 image 或 video。\"});o({type:\"all\",count:t,extension:n,success(t){e(r(t))},fail(e){i({errMsg:e.errMsg.replace(\"chooseFile:fail\",s)})}})}))}(t),t)}}})),Ts=t(Ps);const Cs=\"manual\";function xs(e){return{props:{localdata:{type:Array,default:()=>[]},options:{type:[Object,Array],default:()=>({})},spaceInfo:{type:Object,default:()=>({})},collection:{type:[String,Array],default:\"\"},action:{type:String,default:\"\"},field:{type:String,default:\"\"},orderby:{type:String,default:\"\"},where:{type:[String,Object],default:\"\"},pageData:{type:String,default:\"add\"},pageCurrent:{type:Number,default:1},pageSize:{type:Number,default:20},getcount:{type:[Boolean,String],default:!1},gettree:{type:[Boolean,String],default:!1},gettreepath:{type:[Boolean,String],default:!1},startwith:{type:String,default:\"\"},limitlevel:{type:Number,default:10},groupby:{type:String,default:\"\"},groupField:{type:String,default:\"\"},distinct:{type:[Boolean,String],default:!1},foreignKey:{type:String,default:\"\"},loadtime:{type:String,default:\"auto\"},manual:{type:Boolean,default:!1}},data:()=>({mixinDatacomLoading:!1,mixinDatacomHasMore:!1,mixinDatacomResData:[],mixinDatacomErrorMessage:\"\",mixinDatacomPage:{}}),created(){this.mixinDatacomPage={current:this.pageCurrent,size:this.pageSize,count:0},this.$watch((()=>{var e=[];return[\"pageCurrent\",\"pageSize\",\"localdata\",\"collection\",\"action\",\"field\",\"orderby\",\"where\",\"getont\",\"getcount\",\"gettree\",\"groupby\",\"groupField\",\"distinct\"].forEach((t=>{e.push(this[t])})),e}),((e,t)=>{if(this.loadtime===Cs)return;let n=!1;const s=[];for(let r=2;r<e.length;r++)e[r]!==t[r]&&(s.push(e[r]),n=!0);e[0]!==t[0]&&(this.mixinDatacomPage.current=this.pageCurrent),this.mixinDatacomPage.size=this.pageSize,this.onMixinDatacomPropsChange(n,s)}))},methods:{onMixinDatacomPropsChange(e,t){},mixinDatacomEasyGet({getone:e=!1,success:t,fail:n}={}){this.mixinDatacomLoading||(this.mixinDatacomLoading=!0,this.mixinDatacomErrorMessage=\"\",this.mixinDatacomGet().then((n=>{this.mixinDatacomLoading=!1;const{data:s,count:r}=n.result;this.getcount&&(this.mixinDatacomPage.count=r),this.mixinDatacomHasMore=s.length<this.pageSize;const i=e?s.length?s[0]:void 0:s;this.mixinDatacomResData=i,t&&t(i)})).catch((e=>{this.mixinDatacomLoading=!1,this.mixinDatacomErrorMessage=e,n&&n(e)})))},mixinDatacomGet(t={}){let n=e.database(this.spaceInfo);const s=t.action||this.action;s&&(n=n.action(s));const r=t.collection||this.collection;n=Array.isArray(r)?n.collection(...r):n.collection(r);const i=t.where||this.where;i&&Object.keys(i).length&&(n=n.where(i));const o=t.field||this.field;o&&(n=n.field(o));const a=t.foreignKey||this.foreignKey;a&&(n=n.foreignKey(a));const c=t.groupby||this.groupby;c&&(n=n.groupBy(c));const u=t.groupField||this.groupField;u&&(n=n.groupField(u));!0===(void 0!==t.distinct?t.distinct:this.distinct)&&(n=n.distinct());const l=t.orderby||this.orderby;l&&(n=n.orderBy(l));const h=void 0!==t.pageCurrent?t.pageCurrent:this.mixinDatacomPage.current,d=void 0!==t.pageSize?t.pageSize:this.mixinDatacomPage.size,p=void 0!==t.getcount?t.getcount:this.getcount,f=void 0!==t.gettree?t.gettree:this.gettree,g=void 0!==t.gettreepath?t.gettreepath:this.gettreepath,m={getCount:p},y={limitLevel:void 0!==t.limitlevel?t.limitlevel:this.limitlevel,startWith:void 0!==t.startwith?t.startwith:this.startwith};return f&&(m.getTree=y),g&&(m.getTreePath=y),n=n.skip(d*(h-1)).limit(d).get(m),n}}}}function Os(e){return function(t,n={}){n=function(e,t={}){return e.customUI=t.customUI||e.customUI,e.parseSystemError=t.parseSystemError||e.parseSystemError,Object.assign(e.loadingOptions,t.loadingOptions),Object.assign(e.errorOptions,t.errorOptions),\"object\"==typeof t.secretMethods&&(e.secretMethods=t.secretMethods),e}({customUI:!1,loadingOptions:{title:\"加载中...\",mask:!0},errorOptions:{type:\"modal\",retry:!1}},n);const{customUI:s,loadingOptions:r,errorOptions:i,parseSystemError:o}=n,a=!s;return new Proxy({},{get:(s,c)=>function({fn:e,interceptorName:t,getCallbackArgs:n}={}){return async function(...s){const r=n?n({params:s}):{};let i,o;try{return await M(q(t,\"invoke\"),{...r}),i=await e(...s),await M(q(t,\"success\"),{...r,result:i}),i}catch(e){throw o=e,await M(q(t,\"fail\"),{...r,error:o}),o}finally{await M(q(t,\"complete\"),o?{...r,error:o}:{...r,result:i})}}}({fn:async function s(...l){let h;a&&uni.showLoading({title:r.title,mask:r.mask});const d={name:t,type:u,data:{method:c,params:l}};\"object\"==typeof n.secretMethods&&function(e,t){const n=t.data.method,s=e.secretMethods||{},r=s[n]||s[\"*\"];r&&(t.secretType=r)}(n,d);let p=!1;try{h=await e.callFunction(d)}catch(e){p=!0,h={result:new te(e)}}const{errSubject:f,errCode:g,errMsg:m,newToken:y}=h.result||{};if(a&&uni.hideLoading(),y&&y.token&&y.tokenExpired&&(re(y),Y($,{...y})),g){let e=m;if(p&&o){e=(await o({objectName:t,methodName:c,params:l,errSubject:f,errCode:g,errMsg:m})).errMsg||m}if(a)if(\"toast\"===i.type)uni.showToast({title:e,icon:\"none\"});else{if(\"modal\"!==i.type)throw new Error(`Invalid errorOptions.type: ${i.type}`);{const{confirm:t}=await async function({title:e,content:t,showCancel:n,cancelText:s,confirmText:r}={}){return new Promise(((i,o)=>{uni.showModal({title:e,content:t,showCancel:n,cancelText:s,confirmText:r,success(e){i(e)},fail(){i({confirm:!1,cancel:!0})}})}))}({title:\"提示\",content:e,showCancel:i.retry,cancelText:\"取消\",confirmText:i.retry?\"重试\":\"确定\"});if(i.retry&&t)return s(...l)}}const n=new te({subject:f,code:g,message:m,requestId:h.requestId});throw n.detail=h.result,Y(j,{type:z,content:n}),n}return Y(j,{type:z,content:h.result}),h.result},interceptorName:\"callObject\",getCallbackArgs:function({params:e}={}){return{objectName:t,methodName:c,params:e}}})})}}function Es(e){return L(\"_globalUniCloudSecureNetworkCache__{spaceId}\".replace(\"{spaceId}\",e.config.spaceId))}async function Ls({openid:e,callLoginByWeixin:t=!1}={}){const n=Es(this);if(\"mp-weixin\"!==P)throw new Error(`[SecureNetwork] API \\`initSecureNetworkByWeixin\\` is not supported on platform \\`${P}\\``);if(e&&t)throw new Error(\"[SecureNetwork] openid and callLoginByWeixin cannot be passed at the same time\");if(e)return n.mpWeixinOpenid=e,{};const s=await new Promise(((e,t)=>{uni.login({success(t){e(t.code)},fail(e){t(new Error(e.errMsg))}})})),r=this.importObject(\"uni-id-co\",{customUI:!0});return await r.secureNetworkHandshakeByWeixin({code:s,callLoginByWeixin:t}),n.mpWeixinCode=s,{code:s}}async function Rs(e){const t=Es(this);return t.initPromise||(t.initPromise=Ls.call(this,e)),t.initPromise}function Us(e){return function({openid:t,callLoginByWeixin:n=!1}={}){return Rs.call(e,{openid:t,callLoginByWeixin:n})}}function Ns(e){const t={getSystemInfo:uni.getSystemInfo,getPushClientId:uni.getPushClientId};return function(n){return new Promise(((s,r)=>{t[e]({...n,success(e){s(e)},fail(e){r(e)}})}))}}class Ds extends class{constructor(){this._callback={}}addListener(e,t){this._callback[e]||(this._callback[e]=[]),this._callback[e].push(t)}on(e,t){return this.addListener(e,t)}removeListener(e,t){if(!t)throw new Error('The \"listener\" argument must be of type function. Received undefined');const n=this._callback[e];if(!n)return;const s=function(e,t){for(let n=e.length-1;n>=0;n--)if(e[n]===t)return n;return-1}(n,t);n.splice(s,1)}off(e,t){return this.removeListener(e,t)}removeAllListener(e){delete this._callback[e]}emit(e,...t){const n=this._callback[e];if(n)for(let e=0;e<n.length;e++)n[e](...t)}}{constructor(){super(),this._uniPushMessageCallback=this._receivePushMessage.bind(this),this._currentMessageId=-1,this._payloadQueue=[]}init(){return Promise.all([Ns(\"getSystemInfo\")(),Ns(\"getPushClientId\")()]).then((([{appId:e}={},{cid:t}={}]=[])=>{if(!e)throw new Error(\"Invalid appId, please check the manifest.json file\");if(!t)throw new Error(\"Invalid push client id\");this._appId=e,this._pushClientId=t,this._seqId=Date.now()+\"-\"+Math.floor(9e5*Math.random()+1e5),this.emit(\"open\"),this._initMessageListener()}),(e=>{throw this.emit(\"error\",e),this.close(),e}))}async open(){return this.init()}_isUniCloudSSE(e){if(\"receive\"!==e.type)return!1;const t=e&&e.data&&e.data.payload;return!(!t||\"UNI_CLOUD_SSE\"!==t.channel||t.seqId!==this._seqId)}_receivePushMessage(e){if(!this._isUniCloudSSE(e))return;const t=e&&e.data&&e.data.payload,{action:n,messageId:s,message:r}=t;this._payloadQueue.push({action:n,messageId:s,message:r}),this._consumMessage()}_consumMessage(){for(;;){const e=this._payloadQueue.find((e=>e.messageId===this._currentMessageId+1));if(!e)break;this._currentMessageId++,this._parseMessagePayload(e)}}_parseMessagePayload(e){const{action:t,messageId:n,message:s}=e;\"end\"===t?this._end({messageId:n,message:s}):\"message\"===t&&this._appendMessage({messageId:n,message:s})}_appendMessage({messageId:e,message:t}={}){this.emit(\"message\",t)}_end({messageId:e,message:t}={}){this.emit(\"end\",t),this.close()}_initMessageListener(){uni.onPushMessage(this._uniPushMessageCallback)}_destroy(){uni.offPushMessage(this._uniPushMessageCallback)}toJSON(){return{appId:this._appId,pushClientId:this._pushClientId,seqId:this._seqId}}close(){this._destroy(),this.emit(\"close\")}}async function Ms(e,t){const n=`http://${e}:${t}/system/ping`;try{const e=await(s={url:n,timeout:500},new Promise(((e,t)=>{ne.request({...s,success(t){e(t)},fail(e){t(e)}})})));return!(!e.data||0!==e.data.code)}catch(e){return!1}var s}async function qs(e){if(!S)return Promise.resolve();if(\"app\"===P){const{osName:e,osVersion:t}=ae();\"ios\"===e&&function(e){if(!e||\"string\"!=typeof e)return 0;const t=e.match(/^(\\d+)./);return t&&t[1]?parseInt(t[1]):0}(t)>=14&&console.warn(\"iOS 14及以上版本连接uniCloud本地调试服务需要允许客户端查找并连接到本地网络上的设备(仅开发模式生效,发行模式会连接uniCloud云端服务)\")}const t=e.__dev__;if(!t.debugInfo)return;const{address:n,servePort:s}=t.debugInfo,{address:r}=await async function(e,t){let n;for(let s=0;s<e.length;s++){const r=e[s];if(await Ms(r,t)){n=r;break}}return{address:n,port:t}}(n,s);if(r)return t.localAddress=r,void(t.localPort=s);const i=console[\"app\"===P?\"error\":\"warn\"];let o=\"\";if(\"remote\"===t.debugInfo.initialLaunchType?(t.debugInfo.forceRemote=!0,o=\"当前客户端和HBuilderX不在同一局域网下(或其他网络原因无法连接HBuilderX),uniCloud本地调试服务不对当前客户端生效。\\n- 如果不使用uniCloud本地调试服务,请直接忽略此信息。\\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\"):o=\"无法连接uniCloud本地调试服务,请检查当前客户端是否与主机在同一局域网下。\\n- 如需使用uniCloud本地调试服务,请将客户端与主机连接到同一局域网下并重新运行到客户端。\",o+=\"\\n- 如果在HBuilderX开启的状态下切换过网络环境,请重启HBuilderX后再试\\n- 检查系统防火墙是否拦截了HBuilderX自带的nodejs\\n- 检查是否错误的使用拦截器修改uni.request方法的参数\",\"web\"===P&&(o+=\"\\n- 部分浏览器开启节流模式之后访问本地地址受限,请检查是否启用了节流模式\"),0===P.indexOf(\"mp-\")&&(o+=\"\\n- 小程序中如何使用uniCloud,请参考:https://uniapp.dcloud.net.cn/uniCloud/publish.html#useinmp\"),!t.debugInfo.forceRemote)throw new Error(o);i(o)}function Fs(e){e._initPromiseHub||(e._initPromiseHub=new v({createPromise:function(){let t=Promise.resolve();var n;n=1,t=new Promise((e=>{setTimeout((()=>{e()}),n)}));const s=e.auth();return t.then((()=>s.getLoginState())).then((e=>e?Promise.resolve():s.signInAnonymously()))}}))}const Ks={tcb:It,tencent:It,aliyun:de,private:bt,alipay:Ot};let js=new class{init(e){let t={};const n=Ks[e.provider];if(!n)throw new Error(\"未提供正确的provider参数\");t=n.init(e),S&&function(e){if(!S)return;const t={};e.__dev__=t,t.debugLog=S&&(\"web\"===P&&navigator.userAgent.indexOf(\"HBuilderX\")>0||\"app\"===P);const n=T;n&&!n.code&&(t.debugInfo=n);const s=new v({createPromise:function(){return qs(e)}});t.initLocalNetwork=function(){return s.exec()}}(t),Fs(t),qn(t),function(e){const t=e.uploadFile;e.uploadFile=function(e){return t.call(this,e)}}(t),function(e){e.database=function(t){if(t&&Object.keys(t).length>0)return e.init(t).database();if(this._database)return this._database;const n=Gn(Yn,{uniClient:e});return this._database=n,n},e.databaseForJQL=function(t){if(t&&Object.keys(t).length>0)return e.init(t).databaseForJQL();if(this._databaseForJQL)return this._databaseForJQL;const n=Gn(Yn,{uniClient:e,isJQL:!0});return this._databaseForJQL=n,n}}(t),function(e){e.getCurrentUserInfo=As,e.chooseAndUploadFile=Ts.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return xs(e)}}),e.SSEChannel=Ds,e.initSecureNetworkByWeixin=Us(e),e.importObject=Os(e)}(t);return[\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"chooseAndUploadFile\"].forEach((e=>{if(!t[e])return;const n=t[e];t[e]=function(){return n.apply(t,Array.from(arguments))},t[e]=function(e,t){return function(n){let s=!1;if(\"callFunction\"===t){const e=n&&n.type||c;s=e!==c}const r=\"callFunction\"===t&&!s,i=this._initPromiseHub.exec();n=n||{};const{success:o,fail:a,complete:u}=ee(n),l=i.then((()=>s?Promise.resolve():M(q(t,\"invoke\"),n))).then((()=>e.call(this,n))).then((e=>s?Promise.resolve(e):M(q(t,\"success\"),e).then((()=>M(q(t,\"complete\"),e))).then((()=>(r&&Y(j,{type:H,content:e}),Promise.resolve(e))))),(e=>s?Promise.reject(e):M(q(t,\"fail\"),e).then((()=>M(q(t,\"complete\"),e))).then((()=>(Y(j,{type:H,content:e}),Promise.reject(e))))));if(!(o||a||u))return l;l.then((e=>{o&&o(e),u&&u(e),r&&Y(j,{type:H,content:e})}),(e=>{a&&a(e),u&&u(e),r&&Y(j,{type:H,content:e})}))}}(t[e],e).bind(t)})),t.init=this.init,t}};(()=>{const e=C;let t={};if(e&&1===e.length)t=e[0],js=js.init(t),js._isDefault=!0;else{const t=[\"auth\",\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"database\",\"getCurrentUSerInfo\",\"importObject\"];let n;n=e&&e.length>0?\"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间\":x?\"应用未关联服务空间,请在uniCloud目录右键关联服务空间\":\"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间\",t.forEach((e=>{js[e]=function(){return console.error(n),Promise.reject(new te({code:\"SYS_ERR\",message:n}))}}))}Object.assign(js,{get mixinDatacom(){return xs(js)}}),Is(js),js.addInterceptor=N,js.removeInterceptor=D,js.interceptObject=F,S&&\"web\"===P&&(window.uniCloud=js)})();var Bs=js;export{Bs as default};\n","function _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}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\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, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(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}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _getPrototypeOf(o);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeFunction = require(\"./isNativeFunction.js\");\nvar construct = require(\"./construct.js\");\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n module.exports = _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return construct(Class, arguments, getPrototypeOf(this).constructor);\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 }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _wrapNativeSuper(Class);\n}\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","export default {\"appid\":\"__UNI__7D5316C\"}","export default {\n \"id\": \"2852637\",\n \"name\": \"uniui图标库\",\n \"font_family\": \"uniicons\",\n \"css_prefix_text\": \"uniui-\",\n \"description\": \"\",\n \"glyphs\": [\n {\n \"icon_id\": \"25027049\",\n \"name\": \"yanse\",\n \"font_class\": \"color\",\n \"unicode\": \"e6cf\",\n \"unicode_decimal\": 59087\n },\n {\n \"icon_id\": \"25027048\",\n \"name\": \"wallet\",\n \"font_class\": \"wallet\",\n \"unicode\": \"e6b1\",\n \"unicode_decimal\": 59057\n },\n {\n \"icon_id\": \"25015720\",\n \"name\": \"settings-filled\",\n \"font_class\": \"settings-filled\",\n \"unicode\": \"e6ce\",\n \"unicode_decimal\": 59086\n },\n {\n \"icon_id\": \"25015434\",\n \"name\": \"shimingrenzheng-filled\",\n \"font_class\": \"auth-filled\",\n \"unicode\": \"e6cc\",\n \"unicode_decimal\": 59084\n },\n {\n \"icon_id\": \"24934246\",\n \"name\": \"shop-filled\",\n \"font_class\": \"shop-filled\",\n \"unicode\": \"e6cd\",\n \"unicode_decimal\": 59085\n },\n {\n \"icon_id\": \"24934159\",\n \"name\": \"staff-filled-01\",\n \"font_class\": \"staff-filled\",\n \"unicode\": \"e6cb\",\n \"unicode_decimal\": 59083\n },\n {\n \"icon_id\": \"24932461\",\n \"name\": \"VIP-filled\",\n \"font_class\": \"vip-filled\",\n \"unicode\": \"e6c6\",\n \"unicode_decimal\": 59078\n },\n {\n \"icon_id\": \"24932462\",\n \"name\": \"plus_circle_fill\",\n \"font_class\": \"plus-filled\",\n \"unicode\": \"e6c7\",\n \"unicode_decimal\": 59079\n },\n {\n \"icon_id\": \"24932463\",\n \"name\": \"folder_add-filled\",\n \"font_class\": \"folder-add-filled\",\n \"unicode\": \"e6c8\",\n \"unicode_decimal\": 59080\n },\n {\n \"icon_id\": \"24932464\",\n \"name\": \"yanse-filled\",\n \"font_class\": \"color-filled\",\n \"unicode\": \"e6c9\",\n \"unicode_decimal\": 59081\n },\n {\n \"icon_id\": \"24932465\",\n \"name\": \"tune-filled\",\n \"font_class\": \"tune-filled\",\n \"unicode\": \"e6ca\",\n \"unicode_decimal\": 59082\n },\n {\n \"icon_id\": \"24932455\",\n \"name\": \"a-rilidaka-filled\",\n \"font_class\": \"calendar-filled\",\n \"unicode\": \"e6c0\",\n \"unicode_decimal\": 59072\n },\n {\n \"icon_id\": \"24932456\",\n \"name\": \"notification-filled\",\n \"font_class\": \"notification-filled\",\n \"unicode\": \"e6c1\",\n \"unicode_decimal\": 59073\n },\n {\n \"icon_id\": \"24932457\",\n \"name\": \"wallet-filled\",\n \"font_class\": \"wallet-filled\",\n \"unicode\": \"e6c2\",\n \"unicode_decimal\": 59074\n },\n {\n \"icon_id\": \"24932458\",\n \"name\": \"paihangbang-filled\",\n \"font_class\": \"medal-filled\",\n \"unicode\": \"e6c3\",\n \"unicode_decimal\": 59075\n },\n {\n \"icon_id\": \"24932459\",\n \"name\": \"gift-filled\",\n \"font_class\": \"gift-filled\",\n \"unicode\": \"e6c4\",\n \"unicode_decimal\": 59076\n },\n {\n \"icon_id\": \"24932460\",\n \"name\": \"fire-filled\",\n \"font_class\": \"fire-filled\",\n \"unicode\": \"e6c5\",\n \"unicode_decimal\": 59077\n },\n {\n \"icon_id\": \"24928001\",\n \"name\": \"refreshempty\",\n \"font_class\": \"refreshempty\",\n \"unicode\": \"e6bf\",\n \"unicode_decimal\": 59071\n },\n {\n \"icon_id\": \"24926853\",\n \"name\": \"location-ellipse\",\n \"font_class\": \"location-filled\",\n \"unicode\": \"e6af\",\n \"unicode_decimal\": 59055\n },\n {\n \"icon_id\": \"24926735\",\n \"name\": \"person-filled\",\n \"font_class\": \"person-filled\",\n \"unicode\": \"e69d\",\n \"unicode_decimal\": 59037\n },\n {\n \"icon_id\": \"24926703\",\n \"name\": \"personadd-filled\",\n \"font_class\": \"personadd-filled\",\n \"unicode\": \"e698\",\n \"unicode_decimal\": 59032\n },\n {\n \"icon_id\": \"24923351\",\n \"name\": \"back\",\n \"font_class\": \"back\",\n \"unicode\": \"e6b9\",\n \"unicode_decimal\": 59065\n },\n {\n \"icon_id\": \"24923352\",\n \"name\": \"forward\",\n \"font_class\": \"forward\",\n \"unicode\": \"e6ba\",\n \"unicode_decimal\": 59066\n },\n {\n \"icon_id\": \"24923353\",\n \"name\": \"arrowthinright\",\n \"font_class\": \"arrow-right\",\n \"unicode\": \"e6bb\",\n \"unicode_decimal\": 59067\n },\n\t\t{\n\t\t \"icon_id\": \"24923353\",\n\t\t \"name\": \"arrowthinright\",\n\t\t \"font_class\": \"arrowthinright\",\n\t\t \"unicode\": \"e6bb\",\n\t\t \"unicode_decimal\": 59067\n\t\t},\n {\n \"icon_id\": \"24923354\",\n \"name\": \"arrowthinleft\",\n \"font_class\": \"arrow-left\",\n \"unicode\": \"e6bc\",\n \"unicode_decimal\": 59068\n },\n\t\t{\n\t\t \"icon_id\": \"24923354\",\n\t\t \"name\": \"arrowthinleft\",\n\t\t \"font_class\": \"arrowthinleft\",\n\t\t \"unicode\": \"e6bc\",\n\t\t \"unicode_decimal\": 59068\n\t\t},\n {\n \"icon_id\": \"24923355\",\n \"name\": \"arrowthinup\",\n \"font_class\": \"arrow-up\",\n \"unicode\": \"e6bd\",\n \"unicode_decimal\": 59069\n },\n\t\t{\n\t\t \"icon_id\": \"24923355\",\n\t\t \"name\": \"arrowthinup\",\n\t\t \"font_class\": \"arrowthinup\",\n\t\t \"unicode\": \"e6bd\",\n\t\t \"unicode_decimal\": 59069\n\t\t},\n {\n \"icon_id\": \"24923356\",\n \"name\": \"arrowthindown\",\n \"font_class\": \"arrow-down\",\n \"unicode\": \"e6be\",\n \"unicode_decimal\": 59070\n },{\n \"icon_id\": \"24923356\",\n \"name\": \"arrowthindown\",\n \"font_class\": \"arrowthindown\",\n \"unicode\": \"e6be\",\n \"unicode_decimal\": 59070\n },\n {\n \"icon_id\": \"24923349\",\n \"name\": \"arrowdown\",\n \"font_class\": \"bottom\",\n \"unicode\": \"e6b8\",\n \"unicode_decimal\": 59064\n },{\n \"icon_id\": \"24923349\",\n \"name\": \"arrowdown\",\n \"font_class\": \"arrowdown\",\n \"unicode\": \"e6b8\",\n \"unicode_decimal\": 59064\n },\n {\n \"icon_id\": \"24923346\",\n \"name\": \"arrowright\",\n \"font_class\": \"right\",\n \"unicode\": \"e6b5\",\n \"unicode_decimal\": 59061\n },\n\t\t{\n\t\t \"icon_id\": \"24923346\",\n\t\t \"name\": \"arrowright\",\n\t\t \"font_class\": \"arrowright\",\n\t\t \"unicode\": \"e6b5\",\n\t\t \"unicode_decimal\": 59061\n\t\t},\n {\n \"icon_id\": \"24923347\",\n \"name\": \"arrowup\",\n \"font_class\": \"top\",\n \"unicode\": \"e6b6\",\n \"unicode_decimal\": 59062\n },\n\t\t{\n\t\t \"icon_id\": \"24923347\",\n\t\t \"name\": \"arrowup\",\n\t\t \"font_class\": \"arrowup\",\n\t\t \"unicode\": \"e6b6\",\n\t\t \"unicode_decimal\": 59062\n\t\t},\n {\n \"icon_id\": \"24923348\",\n \"name\": \"arrowleft\",\n \"font_class\": \"left\",\n \"unicode\": \"e6b7\",\n \"unicode_decimal\": 59063\n },\n\t\t{\n\t\t \"icon_id\": \"24923348\",\n\t\t \"name\": \"arrowleft\",\n\t\t \"font_class\": \"arrowleft\",\n\t\t \"unicode\": \"e6b7\",\n\t\t \"unicode_decimal\": 59063\n\t\t},\n {\n \"icon_id\": \"24923334\",\n \"name\": \"eye\",\n \"font_class\": \"eye\",\n \"unicode\": \"e651\",\n \"unicode_decimal\": 58961\n },\n {\n \"icon_id\": \"24923335\",\n \"name\": \"eye-filled\",\n \"font_class\": \"eye-filled\",\n \"unicode\": \"e66a\",\n \"unicode_decimal\": 58986\n },\n {\n \"icon_id\": \"24923336\",\n \"name\": \"eye-slash\",\n \"font_class\": \"eye-slash\",\n \"unicode\": \"e6b3\",\n \"unicode_decimal\": 59059\n },\n {\n \"icon_id\": \"24923337\",\n \"name\": \"eye-slash-filled\",\n \"font_class\": \"eye-slash-filled\",\n \"unicode\": \"e6b4\",\n \"unicode_decimal\": 59060\n },\n {\n \"icon_id\": \"24923305\",\n \"name\": \"info-filled\",\n \"font_class\": \"info-filled\",\n \"unicode\": \"e649\",\n \"unicode_decimal\": 58953\n },\n {\n \"icon_id\": \"24923299\",\n \"name\": \"reload-01\",\n \"font_class\": \"reload\",\n \"unicode\": \"e6b2\",\n \"unicode_decimal\": 59058\n },\n {\n \"icon_id\": \"24923195\",\n \"name\": \"mic_slash_fill\",\n \"font_class\": \"micoff-filled\",\n \"unicode\": \"e6b0\",\n \"unicode_decimal\": 59056\n },\n {\n \"icon_id\": \"24923165\",\n \"name\": \"map-pin-ellipse\",\n \"font_class\": \"map-pin-ellipse\",\n \"unicode\": \"e6ac\",\n \"unicode_decimal\": 59052\n },\n {\n \"icon_id\": \"24923166\",\n \"name\": \"map-pin\",\n \"font_class\": \"map-pin\",\n \"unicode\": \"e6ad\",\n \"unicode_decimal\": 59053\n },\n {\n \"icon_id\": \"24923167\",\n \"name\": \"location\",\n \"font_class\": \"location\",\n \"unicode\": \"e6ae\",\n \"unicode_decimal\": 59054\n },\n {\n \"icon_id\": \"24923064\",\n \"name\": \"starhalf\",\n \"font_class\": \"starhalf\",\n \"unicode\": \"e683\",\n \"unicode_decimal\": 59011\n },\n {\n \"icon_id\": \"24923065\",\n \"name\": \"star\",\n \"font_class\": \"star\",\n \"unicode\": \"e688\",\n \"unicode_decimal\": 59016\n },\n {\n \"icon_id\": \"24923066\",\n \"name\": \"star-filled\",\n \"font_class\": \"star-filled\",\n \"unicode\": \"e68f\",\n \"unicode_decimal\": 59023\n },\n {\n \"icon_id\": \"24899646\",\n \"name\": \"a-rilidaka\",\n \"font_class\": \"calendar\",\n \"unicode\": \"e6a0\",\n \"unicode_decimal\": 59040\n },\n {\n \"icon_id\": \"24899647\",\n \"name\": \"fire\",\n \"font_class\": \"fire\",\n \"unicode\": \"e6a1\",\n \"unicode_decimal\": 59041\n },\n {\n \"icon_id\": \"24899648\",\n \"name\": \"paihangbang\",\n \"font_class\": \"medal\",\n \"unicode\": \"e6a2\",\n \"unicode_decimal\": 59042\n },\n {\n \"icon_id\": \"24899649\",\n \"name\": \"font\",\n \"font_class\": \"font\",\n \"unicode\": \"e6a3\",\n \"unicode_decimal\": 59043\n },\n {\n \"icon_id\": \"24899650\",\n \"name\": \"gift\",\n \"font_class\": \"gift\",\n \"unicode\": \"e6a4\",\n \"unicode_decimal\": 59044\n },\n {\n \"icon_id\": \"24899651\",\n \"name\": \"link\",\n \"font_class\": \"link\",\n \"unicode\": \"e6a5\",\n \"unicode_decimal\": 59045\n },\n {\n \"icon_id\": \"24899652\",\n \"name\": \"notification\",\n \"font_class\": \"notification\",\n \"unicode\": \"e6a6\",\n \"unicode_decimal\": 59046\n },\n {\n \"icon_id\": \"24899653\",\n \"name\": \"staff\",\n \"font_class\": \"staff\",\n \"unicode\": \"e6a7\",\n \"unicode_decimal\": 59047\n },\n {\n \"icon_id\": \"24899654\",\n \"name\": \"VIP\",\n \"font_class\": \"vip\",\n \"unicode\": \"e6a8\",\n \"unicode_decimal\": 59048\n },\n {\n \"icon_id\": \"24899655\",\n \"name\": \"folder_add\",\n \"font_class\": \"folder-add\",\n \"unicode\": \"e6a9\",\n \"unicode_decimal\": 59049\n },\n {\n \"icon_id\": \"24899656\",\n \"name\": \"tune\",\n \"font_class\": \"tune\",\n \"unicode\": \"e6aa\",\n \"unicode_decimal\": 59050\n },\n {\n \"icon_id\": \"24899657\",\n \"name\": \"shimingrenzheng\",\n \"font_class\": \"auth\",\n \"unicode\": \"e6ab\",\n \"unicode_decimal\": 59051\n },\n {\n \"icon_id\": \"24899565\",\n \"name\": \"person\",\n \"font_class\": \"person\",\n \"unicode\": \"e699\",\n \"unicode_decimal\": 59033\n },\n {\n \"icon_id\": \"24899566\",\n \"name\": \"email-filled\",\n \"font_class\": \"email-filled\",\n \"unicode\": \"e69a\",\n \"unicode_decimal\": 59034\n },\n {\n \"icon_id\": \"24899567\",\n \"name\": \"phone-filled\",\n \"font_class\": \"phone-filled\",\n \"unicode\": \"e69b\",\n \"unicode_decimal\": 59035\n },\n {\n \"icon_id\": \"24899568\",\n \"name\": \"phone\",\n \"font_class\": \"phone\",\n \"unicode\": \"e69c\",\n \"unicode_decimal\": 59036\n },\n {\n \"icon_id\": \"24899570\",\n \"name\": \"email\",\n \"font_class\": \"email\",\n \"unicode\": \"e69e\",\n \"unicode_decimal\": 59038\n },\n {\n \"icon_id\": \"24899571\",\n \"name\": \"personadd\",\n \"font_class\": \"personadd\",\n \"unicode\": \"e69f\",\n \"unicode_decimal\": 59039\n },\n {\n \"icon_id\": \"24899558\",\n \"name\": \"chatboxes-filled\",\n \"font_class\": \"chatboxes-filled\",\n \"unicode\": \"e692\",\n \"unicode_decimal\": 59026\n },\n {\n \"icon_id\": \"24899559\",\n \"name\": \"contact\",\n \"font_class\": \"contact\",\n \"unicode\": \"e693\",\n \"unicode_decimal\": 59027\n },\n {\n \"icon_id\": \"24899560\",\n \"name\": \"chatbubble-filled\",\n \"font_class\": \"chatbubble-filled\",\n \"unicode\": \"e694\",\n \"unicode_decimal\": 59028\n },\n {\n \"icon_id\": \"24899561\",\n \"name\": \"contact-filled\",\n \"font_class\": \"contact-filled\",\n \"unicode\": \"e695\",\n \"unicode_decimal\": 59029\n },\n {\n \"icon_id\": \"24899562\",\n \"name\": \"chatboxes\",\n \"font_class\": \"chatboxes\",\n \"unicode\": \"e696\",\n \"unicode_decimal\": 59030\n },\n {\n \"icon_id\": \"24899563\",\n \"name\": \"chatbubble\",\n \"font_class\": \"chatbubble\",\n \"unicode\": \"e697\",\n \"unicode_decimal\": 59031\n },\n {\n \"icon_id\": \"24881290\",\n \"name\": \"upload-filled\",\n \"font_class\": \"upload-filled\",\n \"unicode\": \"e68e\",\n \"unicode_decimal\": 59022\n },\n {\n \"icon_id\": \"24881292\",\n \"name\": \"upload\",\n \"font_class\": \"upload\",\n \"unicode\": \"e690\",\n \"unicode_decimal\": 59024\n },\n {\n \"icon_id\": \"24881293\",\n \"name\": \"weixin\",\n \"font_class\": \"weixin\",\n \"unicode\": \"e691\",\n \"unicode_decimal\": 59025\n },\n {\n \"icon_id\": \"24881274\",\n \"name\": \"compose\",\n \"font_class\": \"compose\",\n \"unicode\": \"e67f\",\n \"unicode_decimal\": 59007\n },\n {\n \"icon_id\": \"24881275\",\n \"name\": \"qq\",\n \"font_class\": \"qq\",\n \"unicode\": \"e680\",\n \"unicode_decimal\": 59008\n },\n {\n \"icon_id\": \"24881276\",\n \"name\": \"download-filled\",\n \"font_class\": \"download-filled\",\n \"unicode\": \"e681\",\n \"unicode_decimal\": 59009\n },\n {\n \"icon_id\": \"24881277\",\n \"name\": \"pengyouquan\",\n \"font_class\": \"pyq\",\n \"unicode\": \"e682\",\n \"unicode_decimal\": 59010\n },\n {\n \"icon_id\": \"24881279\",\n \"name\": \"sound\",\n \"font_class\": \"sound\",\n \"unicode\": \"e684\",\n \"unicode_decimal\": 59012\n },\n {\n \"icon_id\": \"24881280\",\n \"name\": \"trash-filled\",\n \"font_class\": \"trash-filled\",\n \"unicode\": \"e685\",\n \"unicode_decimal\": 59013\n },\n {\n \"icon_id\": \"24881281\",\n \"name\": \"sound-filled\",\n \"font_class\": \"sound-filled\",\n \"unicode\": \"e686\",\n \"unicode_decimal\": 59014\n },\n {\n \"icon_id\": \"24881282\",\n \"name\": \"trash\",\n \"font_class\": \"trash\",\n \"unicode\": \"e687\",\n \"unicode_decimal\": 59015\n },\n {\n \"icon_id\": \"24881284\",\n \"name\": \"videocam-filled\",\n \"font_class\": \"videocam-filled\",\n \"unicode\": \"e689\",\n \"unicode_decimal\": 59017\n },\n {\n \"icon_id\": \"24881285\",\n \"name\": \"spinner-cycle\",\n \"font_class\": \"spinner-cycle\",\n \"unicode\": \"e68a\",\n \"unicode_decimal\": 59018\n },\n {\n \"icon_id\": \"24881286\",\n \"name\": \"weibo\",\n \"font_class\": \"weibo\",\n \"unicode\": \"e68b\",\n \"unicode_decimal\": 59019\n },\n {\n \"icon_id\": \"24881288\",\n \"name\": \"videocam\",\n \"font_class\": \"videocam\",\n \"unicode\": \"e68c\",\n \"unicode_decimal\": 59020\n },\n {\n \"icon_id\": \"24881289\",\n \"name\": \"download\",\n \"font_class\": \"download\",\n \"unicode\": \"e68d\",\n \"unicode_decimal\": 59021\n },\n {\n \"icon_id\": \"24879601\",\n \"name\": \"help\",\n \"font_class\": \"help\",\n \"unicode\": \"e679\",\n \"unicode_decimal\": 59001\n },\n {\n \"icon_id\": \"24879602\",\n \"name\": \"navigate-filled\",\n \"font_class\": \"navigate-filled\",\n \"unicode\": \"e67a\",\n \"unicode_decimal\": 59002\n },\n {\n \"icon_id\": \"24879603\",\n \"name\": \"plusempty\",\n \"font_class\": \"plusempty\",\n \"unicode\": \"e67b\",\n \"unicode_decimal\": 59003\n },\n {\n \"icon_id\": \"24879604\",\n \"name\": \"smallcircle\",\n \"font_class\": \"smallcircle\",\n \"unicode\": \"e67c\",\n \"unicode_decimal\": 59004\n },\n {\n \"icon_id\": \"24879605\",\n \"name\": \"minus-filled\",\n \"font_class\": \"minus-filled\",\n \"unicode\": \"e67d\",\n \"unicode_decimal\": 59005\n },\n {\n \"icon_id\": \"24879606\",\n \"name\": \"micoff\",\n \"font_class\": \"micoff\",\n \"unicode\": \"e67e\",\n \"unicode_decimal\": 59006\n },\n {\n \"icon_id\": \"24879588\",\n \"name\": \"closeempty\",\n \"font_class\": \"closeempty\",\n \"unicode\": \"e66c\",\n \"unicode_decimal\": 58988\n },\n {\n \"icon_id\": \"24879589\",\n \"name\": \"clear\",\n \"font_class\": \"clear\",\n \"unicode\": \"e66d\",\n \"unicode_decimal\": 58989\n },\n {\n \"icon_id\": \"24879590\",\n \"name\": \"navigate\",\n \"font_class\": \"navigate\",\n \"unicode\": \"e66e\",\n \"unicode_decimal\": 58990\n },\n {\n \"icon_id\": \"24879591\",\n \"name\": \"minus\",\n \"font_class\": \"minus\",\n \"unicode\": \"e66f\",\n \"unicode_decimal\": 58991\n },\n {\n \"icon_id\": \"24879592\",\n \"name\": \"image\",\n \"font_class\": \"image\",\n \"unicode\": \"e670\",\n \"unicode_decimal\": 58992\n },\n {\n \"icon_id\": \"24879593\",\n \"name\": \"mic\",\n \"font_class\": \"mic\",\n \"unicode\": \"e671\",\n \"unicode_decimal\": 58993\n },\n {\n \"icon_id\": \"24879594\",\n \"name\": \"paperplane\",\n \"font_class\": \"paperplane\",\n \"unicode\": \"e672\",\n \"unicode_decimal\": 58994\n },\n {\n \"icon_id\": \"24879595\",\n \"name\": \"close\",\n \"font_class\": \"close\",\n \"unicode\": \"e673\",\n \"unicode_decimal\": 58995\n },\n {\n \"icon_id\": \"24879596\",\n \"name\": \"help-filled\",\n \"font_class\": \"help-filled\",\n \"unicode\": \"e674\",\n \"unicode_decimal\": 58996\n },\n {\n \"icon_id\": \"24879597\",\n \"name\": \"plus-filled\",\n \"font_class\": \"paperplane-filled\",\n \"unicode\": \"e675\",\n \"unicode_decimal\": 58997\n },\n {\n \"icon_id\": \"24879598\",\n \"name\": \"plus\",\n \"font_class\": \"plus\",\n \"unicode\": \"e676\",\n \"unicode_decimal\": 58998\n },\n {\n \"icon_id\": \"24879599\",\n \"name\": \"mic-filled\",\n \"font_class\": \"mic-filled\",\n \"unicode\": \"e677\",\n \"unicode_decimal\": 58999\n },\n {\n \"icon_id\": \"24879600\",\n \"name\": \"image-filled\",\n \"font_class\": \"image-filled\",\n \"unicode\": \"e678\",\n \"unicode_decimal\": 59000\n },\n {\n \"icon_id\": \"24855900\",\n \"name\": \"locked-filled\",\n \"font_class\": \"locked-filled\",\n \"unicode\": \"e668\",\n \"unicode_decimal\": 58984\n },\n {\n \"icon_id\": \"24855901\",\n \"name\": \"info\",\n \"font_class\": \"info\",\n \"unicode\": \"e669\",\n \"unicode_decimal\": 58985\n },\n {\n \"icon_id\": \"24855903\",\n \"name\": \"locked\",\n \"font_class\": \"locked\",\n \"unicode\": \"e66b\",\n \"unicode_decimal\": 58987\n },\n {\n \"icon_id\": \"24855884\",\n \"name\": \"camera-filled\",\n \"font_class\": \"camera-filled\",\n \"unicode\": \"e658\",\n \"unicode_decimal\": 58968\n },\n {\n \"icon_id\": \"24855885\",\n \"name\": \"chat-filled\",\n \"font_class\": \"chat-filled\",\n \"unicode\": \"e659\",\n \"unicode_decimal\": 58969\n },\n {\n \"icon_id\": \"24855886\",\n \"name\": \"camera\",\n \"font_class\": \"camera\",\n \"unicode\": \"e65a\",\n \"unicode_decimal\": 58970\n },\n {\n \"icon_id\": \"24855887\",\n \"name\": \"circle\",\n \"font_class\": \"circle\",\n \"unicode\": \"e65b\",\n \"unicode_decimal\": 58971\n },\n {\n \"icon_id\": \"24855888\",\n \"name\": \"checkmarkempty\",\n \"font_class\": \"checkmarkempty\",\n \"unicode\": \"e65c\",\n \"unicode_decimal\": 58972\n },\n {\n \"icon_id\": \"24855889\",\n \"name\": \"chat\",\n \"font_class\": \"chat\",\n \"unicode\": \"e65d\",\n \"unicode_decimal\": 58973\n },\n {\n \"icon_id\": \"24855890\",\n \"name\": \"circle-filled\",\n \"font_class\": \"circle-filled\",\n \"unicode\": \"e65e\",\n \"unicode_decimal\": 58974\n },\n {\n \"icon_id\": \"24855891\",\n \"name\": \"flag\",\n \"font_class\": \"flag\",\n \"unicode\": \"e65f\",\n \"unicode_decimal\": 58975\n },\n {\n \"icon_id\": \"24855892\",\n \"name\": \"flag-filled\",\n \"font_class\": \"flag-filled\",\n \"unicode\": \"e660\",\n \"unicode_decimal\": 58976\n },\n {\n \"icon_id\": \"24855893\",\n \"name\": \"gear-filled\",\n \"font_class\": \"gear-filled\",\n \"unicode\": \"e661\",\n \"unicode_decimal\": 58977\n },\n {\n \"icon_id\": \"24855894\",\n \"name\": \"home\",\n \"font_class\": \"home\",\n \"unicode\": \"e662\",\n \"unicode_decimal\": 58978\n },\n {\n \"icon_id\": \"24855895\",\n \"name\": \"home-filled\",\n \"font_class\": \"home-filled\",\n \"unicode\": \"e663\",\n \"unicode_decimal\": 58979\n },\n {\n \"icon_id\": \"24855896\",\n \"name\": \"gear\",\n \"font_class\": \"gear\",\n \"unicode\": \"e664\",\n \"unicode_decimal\": 58980\n },\n {\n \"icon_id\": \"24855897\",\n \"name\": \"smallcircle-filled\",\n \"font_class\": \"smallcircle-filled\",\n \"unicode\": \"e665\",\n \"unicode_decimal\": 58981\n },\n {\n \"icon_id\": \"24855898\",\n \"name\": \"map-filled\",\n \"font_class\": \"map-filled\",\n \"unicode\": \"e666\",\n \"unicode_decimal\": 58982\n },\n {\n \"icon_id\": \"24855899\",\n \"name\": \"map\",\n \"font_class\": \"map\",\n \"unicode\": \"e667\",\n \"unicode_decimal\": 58983\n },\n {\n \"icon_id\": \"24855825\",\n \"name\": \"refresh-filled\",\n \"font_class\": \"refresh-filled\",\n \"unicode\": \"e656\",\n \"unicode_decimal\": 58966\n },\n {\n \"icon_id\": \"24855826\",\n \"name\": \"refresh\",\n \"font_class\": \"refresh\",\n \"unicode\": \"e657\",\n \"unicode_decimal\": 58967\n },\n {\n \"icon_id\": \"24855808\",\n \"name\": \"cloud-upload\",\n \"font_class\": \"cloud-upload\",\n \"unicode\": \"e645\",\n \"unicode_decimal\": 58949\n },\n {\n \"icon_id\": \"24855809\",\n \"name\": \"cloud-download-filled\",\n \"font_class\": \"cloud-download-filled\",\n \"unicode\": \"e646\",\n \"unicode_decimal\": 58950\n },\n {\n \"icon_id\": \"24855810\",\n \"name\": \"cloud-download\",\n \"font_class\": \"cloud-download\",\n \"unicode\": \"e647\",\n \"unicode_decimal\": 58951\n },\n {\n \"icon_id\": \"24855811\",\n \"name\": \"cloud-upload-filled\",\n \"font_class\": \"cloud-upload-filled\",\n \"unicode\": \"e648\",\n \"unicode_decimal\": 58952\n },\n {\n \"icon_id\": \"24855813\",\n \"name\": \"redo\",\n \"font_class\": \"redo\",\n \"unicode\": \"e64a\",\n \"unicode_decimal\": 58954\n },\n {\n \"icon_id\": \"24855814\",\n \"name\": \"images-filled\",\n \"font_class\": \"images-filled\",\n \"unicode\": \"e64b\",\n \"unicode_decimal\": 58955\n },\n {\n \"icon_id\": \"24855815\",\n \"name\": \"undo-filled\",\n \"font_class\": \"undo-filled\",\n \"unicode\": \"e64c\",\n \"unicode_decimal\": 58956\n },\n {\n \"icon_id\": \"24855816\",\n \"name\": \"more\",\n \"font_class\": \"more\",\n \"unicode\": \"e64d\",\n \"unicode_decimal\": 58957\n },\n {\n \"icon_id\": \"24855817\",\n \"name\": \"more-filled\",\n \"font_class\": \"more-filled\",\n \"unicode\": \"e64e\",\n \"unicode_decimal\": 58958\n },\n {\n \"icon_id\": \"24855818\",\n \"name\": \"undo\",\n \"font_class\": \"undo\",\n \"unicode\": \"e64f\",\n \"unicode_decimal\": 58959\n },\n {\n \"icon_id\": \"24855819\",\n \"name\": \"images\",\n \"font_class\": \"images\",\n \"unicode\": \"e650\",\n \"unicode_decimal\": 58960\n },\n {\n \"icon_id\": \"24855821\",\n \"name\": \"paperclip\",\n \"font_class\": \"paperclip\",\n \"unicode\": \"e652\",\n \"unicode_decimal\": 58962\n },\n {\n \"icon_id\": \"24855822\",\n \"name\": \"settings\",\n \"font_class\": \"settings\",\n \"unicode\": \"e653\",\n \"unicode_decimal\": 58963\n },\n {\n \"icon_id\": \"24855823\",\n \"name\": \"search\",\n \"font_class\": \"search\",\n \"unicode\": \"e654\",\n \"unicode_decimal\": 58964\n },\n {\n \"icon_id\": \"24855824\",\n \"name\": \"redo-filled\",\n \"font_class\": \"redo-filled\",\n \"unicode\": \"e655\",\n \"unicode_decimal\": 58965\n },\n {\n \"icon_id\": \"24841702\",\n \"name\": \"list\",\n \"font_class\": \"list\",\n \"unicode\": \"e644\",\n \"unicode_decimal\": 58948\n },\n {\n \"icon_id\": \"24841489\",\n \"name\": \"mail-open-filled\",\n \"font_class\": \"mail-open-filled\",\n \"unicode\": \"e63a\",\n \"unicode_decimal\": 58938\n },\n {\n \"icon_id\": \"24841491\",\n \"name\": \"hand-thumbsdown-filled\",\n \"font_class\": \"hand-down-filled\",\n \"unicode\": \"e63c\",\n \"unicode_decimal\": 58940\n },\n {\n \"icon_id\": \"24841492\",\n \"name\": \"hand-thumbsdown\",\n \"font_class\": \"hand-down\",\n \"unicode\": \"e63d\",\n \"unicode_decimal\": 58941\n },\n {\n \"icon_id\": \"24841493\",\n \"name\": \"hand-thumbsup-filled\",\n \"font_class\": \"hand-up-filled\",\n \"unicode\": \"e63e\",\n \"unicode_decimal\": 58942\n },\n {\n \"icon_id\": \"24841494\",\n \"name\": \"hand-thumbsup\",\n \"font_class\": \"hand-up\",\n \"unicode\": \"e63f\",\n \"unicode_decimal\": 58943\n },\n {\n \"icon_id\": \"24841496\",\n \"name\": \"heart-filled\",\n \"font_class\": \"heart-filled\",\n \"unicode\": \"e641\",\n \"unicode_decimal\": 58945\n },\n {\n \"icon_id\": \"24841498\",\n \"name\": \"mail-open\",\n \"font_class\": \"mail-open\",\n \"unicode\": \"e643\",\n \"unicode_decimal\": 58947\n },\n {\n \"icon_id\": \"24841488\",\n \"name\": \"heart\",\n \"font_class\": \"heart\",\n \"unicode\": \"e639\",\n \"unicode_decimal\": 58937\n },\n {\n \"icon_id\": \"24839963\",\n \"name\": \"loop\",\n \"font_class\": \"loop\",\n \"unicode\": \"e633\",\n \"unicode_decimal\": 58931\n },\n {\n \"icon_id\": \"24839866\",\n \"name\": \"pulldown\",\n \"font_class\": \"pulldown\",\n \"unicode\": \"e632\",\n \"unicode_decimal\": 58930\n },\n {\n \"icon_id\": \"24813798\",\n \"name\": \"scan\",\n \"font_class\": \"scan\",\n \"unicode\": \"e62a\",\n \"unicode_decimal\": 58922\n },\n {\n \"icon_id\": \"24813786\",\n \"name\": \"bars\",\n \"font_class\": \"bars\",\n \"unicode\": \"e627\",\n \"unicode_decimal\": 58919\n },\n {\n \"icon_id\": \"24813788\",\n \"name\": \"cart-filled\",\n \"font_class\": \"cart-filled\",\n \"unicode\": \"e629\",\n \"unicode_decimal\": 58921\n },\n {\n \"icon_id\": \"24813790\",\n \"name\": \"checkbox\",\n \"font_class\": \"checkbox\",\n \"unicode\": \"e62b\",\n \"unicode_decimal\": 58923\n },\n {\n \"icon_id\": \"24813791\",\n \"name\": \"checkbox-filled\",\n \"font_class\": \"checkbox-filled\",\n \"unicode\": \"e62c\",\n \"unicode_decimal\": 58924\n },\n {\n \"icon_id\": \"24813794\",\n \"name\": \"shop\",\n \"font_class\": \"shop\",\n \"unicode\": \"e62f\",\n \"unicode_decimal\": 58927\n },\n {\n \"icon_id\": \"24813795\",\n \"name\": \"headphones\",\n \"font_class\": \"headphones\",\n \"unicode\": \"e630\",\n \"unicode_decimal\": 58928\n },\n {\n \"icon_id\": \"24813796\",\n \"name\": \"cart\",\n \"font_class\": \"cart\",\n \"unicode\": \"e631\",\n \"unicode_decimal\": 58929\n }\n ]\n}\n","class Calendar {\r\n\tconstructor({\r\n\t\tdate,\r\n\t\tselected,\r\n\t\tstartDate,\r\n\t\tendDate,\r\n\t\trange,\r\n\t\t// multipleStatus\r\n\t} = {}) {\r\n\t\t// 当前日期\r\n\t\tthis.date = this.getDate(new Date()) // 当前初入日期\r\n\t\t// 打点信息\r\n\t\tthis.selected = selected || [];\r\n\t\t// 范围开始\r\n\t\tthis.startDate = startDate\r\n\t\t// 范围结束\r\n\t\tthis.endDate = endDate\r\n\t\tthis.range = range\r\n\t\t// 多选状态\r\n\t\tthis.cleanMultipleStatus()\r\n\t\t// 每周日期\r\n\t\tthis.weeks = {}\r\n\t\t// this._getWeek(this.date.fullDate)\r\n\t\t// this.multipleStatus = multipleStatus\r\n\t\tthis.lastHover = false\r\n\t}\r\n\t/**\r\n\t * 设置日期\r\n\t * @param {Object} date\r\n\t */\r\n\tsetDate(date) {\r\n\t\tthis.selectDate = this.getDate(date)\r\n\t\tthis._getWeek(this.selectDate.fullDate)\r\n\t}\r\n\r\n\t/**\r\n\t * 清理多选状态\r\n\t */\r\n\tcleanMultipleStatus() {\r\n\t\tthis.multipleStatus = {\r\n\t\t\tbefore: '',\r\n\t\t\tafter: '',\r\n\t\t\tdata: []\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 重置开始日期\r\n\t */\r\n\tresetSatrtDate(startDate) {\r\n\t\t// 范围开始\r\n\t\tthis.startDate = startDate\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * 重置结束日期\r\n\t */\r\n\tresetEndDate(endDate) {\r\n\t\t// 范围结束\r\n\t\tthis.endDate = endDate\r\n\t}\r\n\r\n\t/**\r\n\t * 获取任意时间\r\n\t */\r\n\tgetDate(date, AddDayCount = 0, str = 'day') {\r\n\t\tif (!date) {\r\n\t\t\tdate = new Date()\r\n\t\t}\r\n\t\tif (typeof date !== 'object') {\r\n\t\t\tdate = date.replace(/-/g, '/')\r\n\t\t}\r\n\t\tconst dd = new Date(date)\r\n\t\tswitch (str) {\r\n\t\t\tcase 'day':\r\n\t\t\t\tdd.setDate(dd.getDate() + AddDayCount) // 获取AddDayCount天后的日期\r\n\t\t\t\tbreak\r\n\t\t\tcase 'month':\r\n\t\t\t\tif (dd.getDate() === 31) {\r\n\t\t\t\t\tdd.setDate(dd.getDate() + AddDayCount)\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdd.setMonth(dd.getMonth() + AddDayCount) // 获取AddDayCount天后的日期\r\n\t\t\t\t}\r\n\t\t\t\tbreak\r\n\t\t\tcase 'year':\r\n\t\t\t\tdd.setFullYear(dd.getFullYear() + AddDayCount) // 获取AddDayCount天后的日期\r\n\t\t\t\tbreak\r\n\t\t}\r\n\t\tconst y = dd.getFullYear()\r\n\t\tconst m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1 // 获取当前月份的日期,不足10补0\r\n\t\tconst d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate() // 获取当前几号,不足10补0\r\n\t\treturn {\r\n\t\t\tfullDate: y + '-' + m + '-' + d,\r\n\t\t\tyear: y,\r\n\t\t\tmonth: m,\r\n\t\t\tdate: d,\r\n\t\t\tday: dd.getDay()\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t/**\r\n\t * 获取上月剩余天数\r\n\t */\r\n\t_getLastMonthDays(firstDay, full) {\r\n\t\tlet dateArr = []\r\n\t\tfor (let i = firstDay; i > 0; i--) {\r\n\t\t\tconst beforeDate = new Date(full.year, full.month - 1, -i + 1).getDate()\r\n\t\t\tdateArr.push({\r\n\t\t\t\tdate: beforeDate,\r\n\t\t\t\tmonth: full.month - 1,\r\n\t\t\t\tdisable: true\r\n\t\t\t})\r\n\t\t}\r\n\t\treturn dateArr\r\n\t}\r\n\t/**\r\n\t * 获取本月天数\r\n\t */\r\n\t_currentMonthDys(dateData, full) {\r\n\t\tlet dateArr = []\r\n\t\tlet fullDate = this.date.fullDate\r\n\t\tfor (let i = 1; i <= dateData; i++) {\r\n\t\t\tlet isinfo = false\r\n\t\t\tlet nowDate = full.year + '-' + (full.month < 10 ?\r\n\t\t\t\tfull.month : full.month) + '-' + (i < 10 ?\r\n\t\t\t\t'0' + i : i)\r\n\t\t\t// 是否今天\r\n\t\t\tlet isDay = fullDate === nowDate\r\n\t\t\t// 获取打点信息\r\n\t\t\tlet info = this.selected && this.selected.find((item) => {\r\n\t\t\t\tif (this.dateEqual(nowDate, item.date)) {\r\n\t\t\t\t\treturn item\r\n\t\t\t\t}\r\n\t\t\t})\r\n\r\n\t\t\t// 日期禁用\r\n\t\t\tlet disableBefore = true\r\n\t\t\tlet disableAfter = true\r\n\t\t\tif (this.startDate) {\r\n\t\t\t\t// let dateCompBefore = this.dateCompare(this.startDate, fullDate)\r\n\t\t\t\t// disableBefore = this.dateCompare(dateCompBefore ? this.startDate : fullDate, nowDate)\r\n\t\t\t\tdisableBefore = this.dateCompare(this.startDate, nowDate)\r\n\t\t\t}\r\n\r\n\t\t\tif (this.endDate) {\r\n\t\t\t\t// let dateCompAfter = this.dateCompare(fullDate, this.endDate)\r\n\t\t\t\t// disableAfter = this.dateCompare(nowDate, dateCompAfter ? this.endDate : fullDate)\r\n\t\t\t\tdisableAfter = this.dateCompare(nowDate, this.endDate)\r\n\t\t\t}\r\n\t\t\tlet multiples = this.multipleStatus.data\r\n\t\t\tlet checked = false\r\n\t\t\tlet multiplesStatus = -1\r\n\t\t\tif (this.range) {\r\n\t\t\t\tif (multiples) {\r\n\t\t\t\t\tmultiplesStatus = multiples.findIndex((item) => {\r\n\t\t\t\t\t\treturn this.dateEqual(item, nowDate)\r\n\t\t\t\t\t})\r\n\t\t\t\t}\r\n\t\t\t\tif (multiplesStatus !== -1) {\r\n\t\t\t\t\tchecked = true\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlet data = {\r\n\t\t\t\tfullDate: nowDate,\r\n\t\t\t\tyear: full.year,\r\n\t\t\t\tdate: i,\r\n\t\t\t\tmultiple: this.range ? checked : false,\r\n\t\t\t\tbeforeMultiple: this.isLogicBefore(nowDate, this.multipleStatus.before, this.multipleStatus.after),\r\n\t\t\t\tafterMultiple: this.isLogicAfter(nowDate, this.multipleStatus.before, this.multipleStatus.after),\r\n\t\t\t\tmonth: full.month,\r\n\t\t\t\tdisable: !(disableBefore && disableAfter),\r\n\t\t\t\tisDay,\r\n\t\t\t\tuserChecked: false\r\n\t\t\t}\r\n\t\t\tif (info) {\r\n\t\t\t\tdata.extraInfo = info\r\n\t\t\t}\r\n\r\n\t\t\tdateArr.push(data)\r\n\t\t}\r\n\t\treturn dateArr\r\n\t}\r\n\t/**\r\n\t * 获取下月天数\r\n\t */\r\n\t_getNextMonthDays(surplus, full) {\r\n\t\tlet dateArr = []\r\n\t\tfor (let i = 1; i < surplus + 1; i++) {\r\n\t\t\tdateArr.push({\r\n\t\t\t\tdate: i,\r\n\t\t\t\tmonth: Number(full.month) + 1,\r\n\t\t\t\tdisable: true\r\n\t\t\t})\r\n\t\t}\r\n\t\treturn dateArr\r\n\t}\r\n\r\n\t/**\r\n\t * 获取当前日期详情\r\n\t * @param {Object} date\r\n\t */\r\n\tgetInfo(date) {\r\n\t\tif (!date) {\r\n\t\t\tdate = new Date()\r\n\t\t}\r\n\t\tconst dateInfo = this.canlender.find(item => item.fullDate === this.getDate(date).fullDate)\r\n\t\treturn dateInfo\r\n\t}\r\n\r\n\t/**\r\n\t * 比较时间大小\r\n\t */\r\n\tdateCompare(startDate, endDate) {\r\n\t\t// 计算截止时间\r\n\t\tstartDate = new Date(startDate.replace('-', '/').replace('-', '/'))\r\n\t\t// 计算详细项的截止时间\r\n\t\tendDate = new Date(endDate.replace('-', '/').replace('-', '/'))\r\n\t\tif (startDate <= endDate) {\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 比较时间是否相等\r\n\t */\r\n\tdateEqual(before, after) {\r\n\t\t// 计算截止时间\r\n\t\tbefore = new Date(before.replace('-', '/').replace('-', '/'))\r\n\t\t// 计算详细项的截止时间\r\n\t\tafter = new Date(after.replace('-', '/').replace('-', '/'))\r\n\t\tif (before.getTime() - after.getTime() === 0) {\r\n\t\t\treturn true\r\n\t\t} else {\r\n\t\t\treturn false\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 比较真实起始日期\r\n\t */\r\n\r\n\tisLogicBefore(currentDay, before, after) {\r\n\t\tlet logicBefore = before\r\n\t\tif (before && after) {\r\n\t\t\tlogicBefore = this.dateCompare(before, after) ? before : after\r\n\t\t}\r\n\t\treturn this.dateEqual(logicBefore, currentDay)\r\n\t}\r\n\r\n\tisLogicAfter(currentDay, before, after) {\r\n\t\tlet logicAfter = after\r\n\t\tif (before && after) {\r\n\t\t\tlogicAfter = this.dateCompare(before, after) ? after : before\r\n\t\t}\r\n\t\treturn this.dateEqual(logicAfter, currentDay)\r\n\t}\r\n\r\n\t/**\r\n\t * 获取日期范围内所有日期\r\n\t * @param {Object} begin\r\n\t * @param {Object} end\r\n\t */\r\n\tgeDateAll(begin, end) {\r\n\t\tvar arr = []\r\n\t\tvar ab = begin.split('-')\r\n\t\tvar ae = end.split('-')\r\n\t\tvar db = new Date()\r\n\t\tdb.setFullYear(ab[0], ab[1] - 1, ab[2])\r\n\t\tvar de = new Date()\r\n\t\tde.setFullYear(ae[0], ae[1] - 1, ae[2])\r\n\t\tvar unixDb = db.getTime() - 24 * 60 * 60 * 1000\r\n\t\tvar unixDe = de.getTime() - 24 * 60 * 60 * 1000\r\n\t\tfor (var k = unixDb; k <= unixDe;) {\r\n\t\t\tk = k + 24 * 60 * 60 * 1000\r\n\t\t\tarr.push(this.getDate(new Date(parseInt(k))).fullDate)\r\n\t\t}\r\n\t\treturn arr\r\n\t}\r\n\r\n\t/**\r\n\t * 获取多选状态\r\n\t */\r\n\tsetMultiple(fullDate) {\r\n\t\tlet {\r\n\t\t\tbefore,\r\n\t\t\tafter\r\n\t\t} = this.multipleStatus\r\n\t\tif (!this.range) return\r\n\t\tif (before && after) {\r\n\t\t\tif (!this.lastHover) {\r\n\t\t\t\tthis.lastHover = true\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tthis.multipleStatus.before = fullDate\r\n\t\t\tthis.multipleStatus.after = ''\r\n\t\t\tthis.multipleStatus.data = []\r\n\t\t\tthis.multipleStatus.fulldate = ''\r\n\t\t\tthis.lastHover = false\r\n\t\t} else {\r\n\t\t\tif (!before) {\r\n\t\t\t\tthis.multipleStatus.before = fullDate\r\n\t\t\t\tthis.lastHover = false\r\n\t\t\t} else {\r\n\t\t\t\tthis.multipleStatus.after = fullDate\r\n\t\t\t\tif (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {\r\n\t\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus\r\n\t\t\t\t\t\t.after);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus\r\n\t\t\t\t\t\t.before);\r\n\t\t\t\t}\r\n\t\t\t\tthis.lastHover = true\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis._getWeek(fullDate)\r\n\t}\r\n\r\n\t/**\r\n\t * 鼠标 hover 更新多选状态\r\n\t */\r\n\tsetHoverMultiple(fullDate) {\r\n\t\tlet {\r\n\t\t\tbefore,\r\n\t\t\tafter\r\n\t\t} = this.multipleStatus\r\n\r\n\t\tif (!this.range) return\r\n\t\tif (this.lastHover) return\r\n\r\n\t\tif (!before) {\r\n\t\t\tthis.multipleStatus.before = fullDate\r\n\t\t} else {\r\n\t\t\tthis.multipleStatus.after = fullDate\r\n\t\t\tif (this.dateCompare(this.multipleStatus.before, this.multipleStatus.after)) {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.before, this.multipleStatus.after);\r\n\t\t\t} else {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(this.multipleStatus.after, this.multipleStatus.before);\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis._getWeek(fullDate)\r\n\t}\r\n\r\n\t/**\r\n\t * 更新默认值多选状态\r\n\t */\r\n\tsetDefaultMultiple(before, after) {\r\n\t\tthis.multipleStatus.before = before\r\n\t\tthis.multipleStatus.after = after\r\n\t\tif (before && after) {\r\n\t\t\tif (this.dateCompare(before, after)) {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(before, after);\r\n\t\t\t\tthis._getWeek(after)\r\n\t\t\t} else {\r\n\t\t\t\tthis.multipleStatus.data = this.geDateAll(after, before);\r\n\t\t\t\tthis._getWeek(before)\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t/**\r\n\t * 获取每周数据\r\n\t * @param {Object} dateData\r\n\t */\r\n\t_getWeek(dateData) {\r\n\t\tconst {\r\n\t\t\tfullDate,\r\n\t\t\tyear,\r\n\t\t\tmonth,\r\n\t\t\tdate,\r\n\t\t\tday\r\n\t\t} = this.getDate(dateData)\r\n\t\tlet firstDay = new Date(year, month - 1, 1).getDay()\r\n\t\tlet currentDay = new Date(year, month, 0).getDate()\r\n\t\tlet dates = {\r\n\t\t\tlastMonthDays: this._getLastMonthDays(firstDay, this.getDate(dateData)), // 上个月末尾几天\r\n\t\t\tcurrentMonthDys: this._currentMonthDys(currentDay, this.getDate(dateData)), // 本月天数\r\n\t\t\tnextMonthDays: [], // 下个月开始几天\r\n\t\t\tweeks: []\r\n\t\t}\r\n\t\tlet canlender = []\r\n\t\tconst surplus = 42 - (dates.lastMonthDays.length + dates.currentMonthDys.length)\r\n\t\tdates.nextMonthDays = this._getNextMonthDays(surplus, this.getDate(dateData))\r\n\t\tcanlender = canlender.concat(dates.lastMonthDays, dates.currentMonthDys, dates.nextMonthDays)\r\n\t\tlet weeks = {}\r\n\t\t// 拼接数组 上个月开始几天 + 本月天数+ 下个月开始几天\r\n\t\tfor (let i = 0; i < canlender.length; i++) {\r\n\t\t\tif (i % 7 === 0) {\r\n\t\t\t\tweeks[parseInt(i / 7)] = new Array(7)\r\n\t\t\t}\r\n\t\t\tweeks[parseInt(i / 7)][i % 7] = canlender[i]\r\n\t\t}\r\n\t\tthis.canlender = canlender\r\n\t\tthis.weeks = weeks\r\n\t}\r\n\r\n\t//静态方法\r\n\t// static init(date) {\r\n\t// \tif (!this.instance) {\r\n\t// \t\tthis.instance = new Calendar(date);\r\n\t// \t}\r\n\t// \treturn this.instance;\r\n\t// }\r\n}\r\n\r\n\r\nexport default Calendar\r\n","/*\r\n * uCharts (R)\r\n * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360/快手)、Vue、Taro等支持canvas的框架平台\r\n * Copyright (C) 2018-2022 QIUN (R) 秋云 https://www.ucharts.cn All rights reserved.\r\n * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )\r\n * 复制使用请保留本段注释,感谢支持开源!\r\n * \r\n * uCharts (R) 官方网站\r\n * https://www.uCharts.cn\r\n * \r\n * 开源地址:\r\n * https://gitee.com/uCharts/uCharts\r\n * \r\n * uni-app插件市场地址:\r\n * http://ext.dcloud.net.cn/plugin?id=271\r\n * \r\n */\r\n\r\n'use strict';\r\n\r\nvar config = {\r\n version: 'v2.4.4-20221102',\r\n yAxisWidth: 15,\r\n xAxisHeight: 22,\r\n xAxisTextPadding: 3,\r\n padding: [10, 10, 10, 10],\r\n pixelRatio: 1,\r\n rotate: false,\r\n fontSize: 13,\r\n fontColor: '#666666',\r\n dataPointShape: ['circle', 'circle', 'circle', 'circle'],\r\n color: ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'],\r\n linearColor: ['#0EE2F8', '#2BDCA8', '#FA7D8D', '#EB88E2', '#2AE3A0', '#0EE2F8', '#EB88E2', '#6773E3', '#F78A85'],\r\n pieChartLinePadding: 15,\r\n pieChartTextPadding: 5,\r\n titleFontSize: 20,\r\n subtitleFontSize: 15,\r\n toolTipPadding: 3,\r\n toolTipBackground: '#000000',\r\n toolTipOpacity: 0.7,\r\n toolTipLineHeight: 20,\r\n radarLabelTextMargin: 13,\r\n};\r\n\r\nvar assign = function(target, ...varArgs) {\r\n if (target == null) {\r\n throw new TypeError('[uCharts] Cannot convert undefined or null to object');\r\n }\r\n if (!varArgs || varArgs.length <= 0) {\r\n return target;\r\n }\r\n // 深度合并对象\r\n function deepAssign(obj1, obj2) {\r\n for (let key in obj2) {\r\n obj1[key] = obj1[key] && obj1[key].toString() === \"[object Object]\" ?\r\n deepAssign(obj1[key], obj2[key]) : obj1[key] = obj2[key];\r\n }\r\n return obj1;\r\n }\r\n varArgs.forEach(val => {\r\n target = deepAssign(target, val);\r\n });\r\n return target;\r\n};\r\n\r\nvar util = {\r\n toFixed: function toFixed(num, limit) {\r\n limit = limit || 2;\r\n if (this.isFloat(num)) {\r\n num = num.toFixed(limit);\r\n }\r\n return num;\r\n },\r\n isFloat: function isFloat(num) {\r\n return num % 1 !== 0;\r\n },\r\n approximatelyEqual: function approximatelyEqual(num1, num2) {\r\n return Math.abs(num1 - num2) < 1e-10;\r\n },\r\n isSameSign: function isSameSign(num1, num2) {\r\n return Math.abs(num1) === num1 && Math.abs(num2) === num2 || Math.abs(num1) !== num1 && Math.abs(num2) !== num2;\r\n },\r\n isSameXCoordinateArea: function isSameXCoordinateArea(p1, p2) {\r\n return this.isSameSign(p1.x, p2.x);\r\n },\r\n isCollision: function isCollision(obj1, obj2) {\r\n obj1.end = {};\r\n obj1.end.x = obj1.start.x + obj1.width;\r\n obj1.end.y = obj1.start.y - obj1.height;\r\n obj2.end = {};\r\n obj2.end.x = obj2.start.x + obj2.width;\r\n obj2.end.y = obj2.start.y - obj2.height;\r\n var flag = obj2.start.x > obj1.end.x || obj2.end.x < obj1.start.x || obj2.end.y > obj1.start.y || obj2.start.y < obj1.end.y;\r\n return !flag;\r\n }\r\n};\r\n\r\n//兼容H5点击事件\r\nfunction getH5Offset(e) {\r\n e.mp = {\r\n changedTouches: []\r\n };\r\n e.mp.changedTouches.push({\r\n x: e.offsetX,\r\n y: e.offsetY\r\n });\r\n return e;\r\n}\r\n\r\n// hex 转 rgba\r\nfunction hexToRgb(hexValue, opc) {\r\n var rgx = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\r\n var hex = hexValue.replace(rgx, function(m, r, g, b) {\r\n return r + r + g + g + b + b;\r\n });\r\n var rgb = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\r\n var r = parseInt(rgb[1], 16);\r\n var g = parseInt(rgb[2], 16);\r\n var b = parseInt(rgb[3], 16);\r\n return 'rgba(' + r + ',' + g + ',' + b + ',' + opc + ')';\r\n}\r\n\r\nfunction findRange(num, type, limit) {\r\n if (isNaN(num)) {\r\n throw new Error('[uCharts] series数据需为Number格式');\r\n }\r\n limit = limit || 10;\r\n type = type ? type : 'upper';\r\n var multiple = 1;\r\n while (limit < 1) {\r\n limit *= 10;\r\n multiple *= 10;\r\n }\r\n if (type === 'upper') {\r\n num = Math.ceil(num * multiple);\r\n } else {\r\n num = Math.floor(num * multiple);\r\n }\r\n while (num % limit !== 0) {\r\n if (type === 'upper') {\r\n if (num == num + 1) { //修复数据值过大num++无效的bug by 向日葵 @xrk_jy\r\n break;\r\n }\r\n num++;\r\n } else {\r\n num--;\r\n }\r\n }\r\n return num / multiple;\r\n}\r\n\r\nfunction calCandleMA(dayArr, nameArr, colorArr, kdata) {\r\n let seriesTemp = [];\r\n for (let k = 0; k < dayArr.length; k++) {\r\n let seriesItem = {\r\n data: [],\r\n name: nameArr[k],\r\n color: colorArr[k]\r\n };\r\n for (let i = 0, len = kdata.length; i < len; i++) {\r\n if (i < dayArr[k]) {\r\n seriesItem.data.push(null);\r\n continue;\r\n }\r\n let sum = 0;\r\n for (let j = 0; j < dayArr[k]; j++) {\r\n sum += kdata[i - j][1];\r\n }\r\n seriesItem.data.push(+(sum / dayArr[k]).toFixed(3));\r\n }\r\n seriesTemp.push(seriesItem);\r\n }\r\n return seriesTemp;\r\n}\r\n\r\nfunction calValidDistance(self, distance, chartData, config, opts) {\r\n var dataChartAreaWidth = opts.width - opts.area[1] - opts.area[3];\r\n var dataChartWidth = chartData.eachSpacing * (opts.chartData.xAxisData.xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n dataChartWidth += (opts.extra.mount.widthRatio - 1)*chartData.eachSpacing;\r\n }\r\n var validDistance = distance;\r\n if (distance >= 0) {\r\n validDistance = 0;\r\n self.uevent.trigger('scrollLeft');\r\n self.scrollOption.position = 'left'\r\n opts.xAxis.scrollPosition = 'left';\r\n } else if (Math.abs(distance) >= dataChartWidth - dataChartAreaWidth) {\r\n validDistance = dataChartAreaWidth - dataChartWidth;\r\n self.uevent.trigger('scrollRight');\r\n self.scrollOption.position = 'right'\r\n opts.xAxis.scrollPosition = 'right';\r\n } else {\r\n self.scrollOption.position = distance\r\n opts.xAxis.scrollPosition = distance;\r\n }\r\n return validDistance;\r\n}\r\n\r\nfunction isInAngleRange(angle, startAngle, endAngle) {\r\n function adjust(angle) {\r\n while (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n while (angle > 2 * Math.PI) {\r\n angle -= 2 * Math.PI;\r\n }\r\n return angle;\r\n }\r\n angle = adjust(angle);\r\n startAngle = adjust(startAngle);\r\n endAngle = adjust(endAngle);\r\n if (startAngle > endAngle) {\r\n endAngle += 2 * Math.PI;\r\n if (angle < startAngle) {\r\n angle += 2 * Math.PI;\r\n }\r\n }\r\n return angle >= startAngle && angle <= endAngle;\r\n}\r\n\r\nfunction createCurveControlPoints(points, i) {\r\n function isNotMiddlePoint(points, i) {\r\n if (points[i - 1] && points[i + 1]) {\r\n return points[i].y >= Math.max(points[i - 1].y, points[i + 1].y) || points[i].y <= Math.min(points[i - 1].y,\r\n points[i + 1].y);\r\n } else {\r\n return false;\r\n }\r\n }\r\n function isNotMiddlePointX(points, i) {\r\n if (points[i - 1] && points[i + 1]) {\r\n return points[i].x >= Math.max(points[i - 1].x, points[i + 1].x) || points[i].x <= Math.min(points[i - 1].x,\r\n points[i + 1].x);\r\n } else {\r\n return false;\r\n }\r\n }\r\n var a = 0.2;\r\n var b = 0.2;\r\n var pAx = null;\r\n var pAy = null;\r\n var pBx = null;\r\n var pBy = null;\r\n if (i < 1) {\r\n pAx = points[0].x + (points[1].x - points[0].x) * a;\r\n pAy = points[0].y + (points[1].y - points[0].y) * a;\r\n } else {\r\n pAx = points[i].x + (points[i + 1].x - points[i - 1].x) * a;\r\n pAy = points[i].y + (points[i + 1].y - points[i - 1].y) * a;\r\n }\r\n\r\n if (i > points.length - 3) {\r\n var last = points.length - 1;\r\n pBx = points[last].x - (points[last].x - points[last - 1].x) * b;\r\n pBy = points[last].y - (points[last].y - points[last - 1].y) * b;\r\n } else {\r\n pBx = points[i + 1].x - (points[i + 2].x - points[i].x) * b;\r\n pBy = points[i + 1].y - (points[i + 2].y - points[i].y) * b;\r\n }\r\n if (isNotMiddlePoint(points, i + 1)) {\r\n pBy = points[i + 1].y;\r\n }\r\n if (isNotMiddlePoint(points, i)) {\r\n pAy = points[i].y;\r\n }\r\n if (isNotMiddlePointX(points, i + 1)) {\r\n pBx = points[i + 1].x;\r\n }\r\n if (isNotMiddlePointX(points, i)) {\r\n pAx = points[i].x;\r\n }\r\n if (pAy >= Math.max(points[i].y, points[i + 1].y) || pAy <= Math.min(points[i].y, points[i + 1].y)) {\r\n pAy = points[i].y;\r\n }\r\n if (pBy >= Math.max(points[i].y, points[i + 1].y) || pBy <= Math.min(points[i].y, points[i + 1].y)) {\r\n pBy = points[i + 1].y;\r\n }\r\n if (pAx >= Math.max(points[i].x, points[i + 1].x) || pAx <= Math.min(points[i].x, points[i + 1].x)) {\r\n pAx = points[i].x;\r\n }\r\n if (pBx >= Math.max(points[i].x, points[i + 1].x) || pBx <= Math.min(points[i].x, points[i + 1].x)) {\r\n pBx = points[i + 1].x;\r\n }\r\n return {\r\n ctrA: {\r\n x: pAx,\r\n y: pAy\r\n },\r\n ctrB: {\r\n x: pBx,\r\n y: pBy\r\n }\r\n };\r\n}\r\n\r\n\r\nfunction convertCoordinateOrigin(x, y, center) {\r\n return {\r\n x: center.x + x,\r\n y: center.y - y\r\n };\r\n}\r\n\r\nfunction avoidCollision(obj, target) {\r\n if (target) {\r\n // is collision test\r\n while (util.isCollision(obj, target)) {\r\n if (obj.start.x > 0) {\r\n obj.start.y--;\r\n } else if (obj.start.x < 0) {\r\n obj.start.y++;\r\n } else {\r\n if (obj.start.y > 0) {\r\n obj.start.y++;\r\n } else {\r\n obj.start.y--;\r\n }\r\n }\r\n }\r\n }\r\n return obj;\r\n}\r\n\r\nfunction fixPieSeries(series, opts, config){\r\n let pieSeriesArr = [];\r\n if(series.length>0 && series[0].data.constructor.toString().indexOf('Array') > -1){\r\n opts._pieSeries_ = series;\r\n let oldseries = series[0].data;\r\n for (var i = 0; i < oldseries.length; i++) {\r\n oldseries[i].formatter = series[0].formatter;\r\n oldseries[i].data = oldseries[i].value;\r\n pieSeriesArr.push(oldseries[i]);\r\n }\r\n opts.series = pieSeriesArr;\r\n }else{\r\n pieSeriesArr = series;\r\n }\r\n return pieSeriesArr;\r\n}\r\n\r\nfunction fillSeries(series, opts, config) {\r\n var index = 0;\r\n for (var i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n if (!item.color) {\r\n item.color = config.color[index];\r\n index = (index + 1) % config.color.length;\r\n }\r\n if (!item.linearIndex) {\r\n item.linearIndex = i;\r\n }\r\n if (!item.index) {\r\n item.index = 0;\r\n }\r\n if (!item.type) {\r\n item.type = opts.type;\r\n }\r\n if (typeof item.show == \"undefined\") {\r\n item.show = true;\r\n }\r\n if (!item.type) {\r\n item.type = opts.type;\r\n }\r\n if (!item.pointShape) {\r\n item.pointShape = \"circle\";\r\n }\r\n if (!item.legendShape) {\r\n switch (item.type) {\r\n case 'line':\r\n item.legendShape = \"line\";\r\n break;\r\n case 'column':\r\n case 'bar':\r\n item.legendShape = \"rect\";\r\n break;\r\n case 'area':\r\n case 'mount':\r\n item.legendShape = \"triangle\";\r\n break;\r\n default:\r\n item.legendShape = \"circle\";\r\n }\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction fillCustomColor(linearType, customColor, series, config) {\r\n var newcolor = customColor || [];\r\n if (linearType == 'custom' && newcolor.length == 0 ) {\r\n newcolor = config.linearColor;\r\n }\r\n if (linearType == 'custom' && newcolor.length < series.length) {\r\n let chazhi = series.length - newcolor.length;\r\n for (var i = 0; i < chazhi; i++) {\r\n newcolor.push(config.linearColor[(i + 1) % config.linearColor.length]);\r\n }\r\n }\r\n return newcolor;\r\n}\r\n\r\nfunction getDataRange(minData, maxData) {\r\n var limit = 0;\r\n var range = maxData - minData;\r\n if (range >= 10000) {\r\n limit = 1000;\r\n } else if (range >= 1000) {\r\n limit = 100;\r\n } else if (range >= 100) {\r\n limit = 10;\r\n } else if (range >= 10) {\r\n limit = 5;\r\n } else if (range >= 1) {\r\n limit = 1;\r\n } else if (range >= 0.1) {\r\n limit = 0.1;\r\n } else if (range >= 0.01) {\r\n limit = 0.01;\r\n } else if (range >= 0.001) {\r\n limit = 0.001;\r\n } else if (range >= 0.0001) {\r\n limit = 0.0001;\r\n } else if (range >= 0.00001) {\r\n limit = 0.00001;\r\n } else {\r\n limit = 0.000001;\r\n }\r\n return {\r\n minRange: findRange(minData, 'lower', limit),\r\n maxRange: findRange(maxData, 'upper', limit)\r\n };\r\n}\r\n\r\nfunction measureText(text, fontSize, context) {\r\n var width = 0;\r\n text = String(text);\r\n\r\n\r\n\r\n if (context !== false && context !== undefined && context.setFontSize && context.measureText) {\r\n context.setFontSize(fontSize);\r\n return context.measureText(text).width;\r\n } else {\r\n var text = text.split('');\r\n for (let i = 0; i < text.length; i++) {\r\n let item = text[i];\r\n if (/[a-zA-Z]/.test(item)) {\r\n width += 7;\r\n } else if (/[0-9]/.test(item)) {\r\n width += 5.5;\r\n } else if (/\\./.test(item)) {\r\n width += 2.7;\r\n } else if (/-/.test(item)) {\r\n width += 3.25;\r\n } else if (/:/.test(item)) {\r\n width += 2.5;\r\n } else if (/[\\u4e00-\\u9fa5]/.test(item)) {\r\n width += 10;\r\n } else if (/\\(|\\)/.test(item)) {\r\n width += 3.73;\r\n } else if (/\\s/.test(item)) {\r\n width += 2.5;\r\n } else if (/%/.test(item)) {\r\n width += 8;\r\n } else {\r\n width += 10;\r\n }\r\n }\r\n return width * fontSize / 10;\r\n }\r\n}\r\n\r\nfunction dataCombine(series) {\r\n return series.reduce(function(a, b) {\r\n return (a.data ? a.data : a).concat(b.data);\r\n }, []);\r\n}\r\n\r\nfunction dataCombineStack(series, len) {\r\n var sum = new Array(len);\r\n for (var j = 0; j < sum.length; j++) {\r\n sum[j] = 0;\r\n }\r\n for (var i = 0; i < series.length; i++) {\r\n for (var j = 0; j < sum.length; j++) {\r\n sum[j] += series[i].data[j];\r\n }\r\n }\r\n return series.reduce(function(a, b) {\r\n return (a.data ? a.data : a).concat(b.data).concat(sum);\r\n }, []);\r\n}\r\n\r\nfunction getTouches(touches, opts, e) {\r\n let x, y;\r\n if (touches.clientX) {\r\n if (opts.rotate) {\r\n y = opts.height - touches.clientX * opts.pix;\r\n x = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix;\r\n } else {\r\n x = touches.clientX * opts.pix;\r\n y = (touches.pageY - e.currentTarget.offsetTop - (opts.height / opts.pix / 2) * (opts.pix - 1)) * opts.pix;\r\n }\r\n } else {\r\n if (opts.rotate) {\r\n y = opts.height - touches.x * opts.pix;\r\n x = touches.y * opts.pix;\r\n } else {\r\n x = touches.x * opts.pix;\r\n y = touches.y * opts.pix;\r\n }\r\n }\r\n return {\r\n x: x,\r\n y: y\r\n }\r\n}\r\n\r\nfunction getSeriesDataItem(series, index, group) {\r\n var data = [];\r\n var newSeries = [];\r\n var indexIsArr = index.constructor.toString().indexOf('Array') > -1;\r\n if(indexIsArr){\r\n let tempSeries = filterSeries(series);\r\n for (var i = 0; i < group.length; i++) {\r\n newSeries.push(tempSeries[group[i]]);\r\n }\r\n }else{\r\n newSeries = series;\r\n };\r\n for (let i = 0; i < newSeries.length; i++) {\r\n let item = newSeries[i];\r\n let tmpindex = -1;\r\n if(indexIsArr){\r\n tmpindex = index[i];\r\n }else{\r\n tmpindex = index;\r\n }\r\n if (item.data[tmpindex] !== null && typeof item.data[tmpindex] !== 'undefined' && item.show) {\r\n let seriesItem = {};\r\n seriesItem.color = item.color;\r\n seriesItem.type = item.type;\r\n seriesItem.style = item.style;\r\n seriesItem.pointShape = item.pointShape;\r\n seriesItem.disableLegend = item.disableLegend;\r\n seriesItem.name = item.name;\r\n seriesItem.show = item.show;\r\n seriesItem.data = item.formatter ? item.formatter(item.data[tmpindex]) : item.data[tmpindex];\r\n data.push(seriesItem);\r\n }\r\n }\r\n return data;\r\n}\r\n\r\nfunction getMaxTextListLength(list, fontSize, context) {\r\n var lengthList = list.map(function(item) {\r\n return measureText(item, fontSize, context);\r\n });\r\n return Math.max.apply(null, lengthList);\r\n}\r\n\r\nfunction getRadarCoordinateSeries(length) {\r\n var eachAngle = 2 * Math.PI / length;\r\n var CoordinateSeries = [];\r\n for (var i = 0; i < length; i++) {\r\n CoordinateSeries.push(eachAngle * i);\r\n }\r\n return CoordinateSeries.map(function(item) {\r\n return -1 * item + Math.PI / 2;\r\n });\r\n}\r\n\r\nfunction getToolTipData(seriesData, opts, index, group, categories) {\r\n var option = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\r\n var calPoints = opts.chartData.calPoints?opts.chartData.calPoints:[];\r\n let points = {};\r\n if(group.length > 0){\r\n let filterPoints = [];\r\n for (let i = 0; i < group.length; i++) {\r\n filterPoints.push(calPoints[group[i]])\r\n }\r\n points = filterPoints[0][index[0]];\r\n }else{\r\n for (let i = 0; i < calPoints.length; i++) {\r\n if(calPoints[i][index]){\r\n points = calPoints[i][index];\r\n break;\r\n }\r\n }\r\n };\r\n var textList = seriesData.map(function(item) {\r\n let titleText = null;\r\n if (opts.categories && opts.categories.length>0) {\r\n titleText = categories[index];\r\n };\r\n return {\r\n text: option.formatter ? option.formatter(item, titleText, index, opts) : item.name + ': ' + item.data,\r\n color: item.color\r\n };\r\n });\r\n var offset = {\r\n x: Math.round(points.x),\r\n y: Math.round(points.y)\r\n };\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction getMixToolTipData(seriesData, opts, index, categories) {\r\n var option = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};\r\n var points = opts.chartData.xAxisPoints[index] + opts.chartData.eachSpacing / 2;\r\n var textList = seriesData.map(function(item) {\r\n return {\r\n text: option.formatter ? option.formatter(item, categories[index], index, opts) : item.name + ': ' + item.data,\r\n color: item.color,\r\n disableLegend: item.disableLegend ? true : false\r\n };\r\n });\r\n textList = textList.filter(function(item) {\r\n if (item.disableLegend !== true) {\r\n return item;\r\n }\r\n });\r\n var offset = {\r\n x: Math.round(points),\r\n y: 0\r\n };\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction getCandleToolTipData(series, seriesData, opts, index, categories, extra) {\r\n var option = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : {};\r\n var calPoints = opts.chartData.calPoints;\r\n let upColor = extra.color.upFill;\r\n let downColor = extra.color.downFill;\r\n //颜色顺序为开盘,收盘,最低,最高\r\n let color = [upColor, upColor, downColor, upColor];\r\n var textList = [];\r\n seriesData.map(function(item) {\r\n if (index == 0) {\r\n if (item.data[1] - item.data[0] < 0) {\r\n color[1] = downColor;\r\n } else {\r\n color[1] = upColor;\r\n }\r\n } else {\r\n if (item.data[0] < series[index - 1][1]) {\r\n color[0] = downColor;\r\n }\r\n if (item.data[1] < item.data[0]) {\r\n color[1] = downColor;\r\n }\r\n if (item.data[2] > series[index - 1][1]) {\r\n color[2] = upColor;\r\n }\r\n if (item.data[3] < series[index - 1][1]) {\r\n color[3] = downColor;\r\n }\r\n }\r\n let text1 = {\r\n text: '开盘:' + item.data[0],\r\n color: color[0]\r\n };\r\n let text2 = {\r\n text: '收盘:' + item.data[1],\r\n color: color[1]\r\n };\r\n let text3 = {\r\n text: '最低:' + item.data[2],\r\n color: color[2]\r\n };\r\n let text4 = {\r\n text: '最高:' + item.data[3],\r\n color: color[3]\r\n };\r\n textList.push(text1, text2, text3, text4);\r\n });\r\n var validCalPoints = [];\r\n var offset = {\r\n x: 0,\r\n y: 0\r\n };\r\n for (let i = 0; i < calPoints.length; i++) {\r\n let points = calPoints[i];\r\n if (typeof points[index] !== 'undefined' && points[index] !== null) {\r\n validCalPoints.push(points[index]);\r\n }\r\n }\r\n offset.x = Math.round(validCalPoints[0][0].x);\r\n return {\r\n textList: textList,\r\n offset: offset\r\n };\r\n}\r\n\r\nfunction filterSeries(series) {\r\n let tempSeries = [];\r\n for (let i = 0; i < series.length; i++) {\r\n if (series[i].show == true) {\r\n tempSeries.push(series[i])\r\n }\r\n }\r\n return tempSeries;\r\n}\r\n\r\nfunction findCurrentIndex(currentPoints, calPoints, opts, config) {\r\n var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\r\n var current={ index:-1, group:[] };\r\n var spacing = opts.chartData.eachSpacing / 2;\r\n let xAxisPoints = [];\r\n if (calPoints && calPoints.length > 0) {\r\n if (!opts.categories) {\r\n spacing = 0;\r\n }else{\r\n for (let i = 1; i < opts.chartData.xAxisPoints.length; i++) {\r\n xAxisPoints.push(opts.chartData.xAxisPoints[i] - spacing);\r\n }\r\n if ((opts.type == 'line' || opts.type == 'area') && opts.xAxis.boundaryGap == 'justify') {\r\n xAxisPoints = opts.chartData.xAxisPoints;\r\n }\r\n }\r\n if (isInExactChartArea(currentPoints, opts, config)) {\r\n if (!opts.categories) {\r\n let timePoints = Array(calPoints.length);\r\n for (let i = 0; i < calPoints.length; i++) {\r\n timePoints[i] = Array(calPoints[i].length)\r\n for (let j = 0; j < calPoints[i].length; j++) {\r\n timePoints[i][j] = (Math.abs(calPoints[i][j].x - currentPoints.x));\r\n }\r\n };\r\n let pointValue = Array(timePoints.length);\r\n let pointIndex = Array(timePoints.length);\r\n for (let i = 0; i < timePoints.length; i++) {\r\n pointValue[i] = Math.min.apply(null, timePoints[i]);\r\n pointIndex[i] = timePoints[i].indexOf(pointValue[i]);\r\n }\r\n let minValue = Math.min.apply(null, pointValue);\r\n current.index = [];\r\n for (let i = 0; i < pointValue.length; i++) {\r\n if(pointValue[i] == minValue){\r\n current.group.push(i);\r\n current.index.push(pointIndex[i]);\r\n }\r\n };\r\n }else{\r\n xAxisPoints.forEach(function(item, index) {\r\n if (currentPoints.x + offset + spacing > item) {\r\n current.index = index;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n return current;\r\n}\r\n\r\nfunction findBarChartCurrentIndex(currentPoints, calPoints, opts, config) {\r\n var offset = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\r\n var current={ index:-1, group:[] };\r\n var spacing = opts.chartData.eachSpacing / 2;\r\n let yAxisPoints = opts.chartData.yAxisPoints;\r\n if (calPoints && calPoints.length > 0) {\r\n if (isInExactChartArea(currentPoints, opts, config)) {\r\n yAxisPoints.forEach(function(item, index) {\r\n if (currentPoints.y + offset + spacing > item) {\r\n current.index = index;\r\n }\r\n });\r\n }\r\n }\r\n return current;\r\n}\r\n\r\nfunction findLegendIndex(currentPoints, legendData, opts) {\r\n let currentIndex = -1;\r\n let gap = 0;\r\n if (isInExactLegendArea(currentPoints, legendData.area)) {\r\n let points = legendData.points;\r\n let index = -1;\r\n for (let i = 0, len = points.length; i < len; i++) {\r\n let item = points[i];\r\n for (let j = 0; j < item.length; j++) {\r\n index += 1;\r\n let area = item[j]['area'];\r\n if (area && currentPoints.x > area[0] - gap && currentPoints.x < area[2] + gap && currentPoints.y > area[1] - gap && currentPoints.y < area[3] + gap) {\r\n currentIndex = index;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction isInExactLegendArea(currentPoints, area) {\r\n return currentPoints.x > area.start.x && currentPoints.x < area.end.x && currentPoints.y > area.start.y && currentPoints.y < area.end.y;\r\n}\r\n\r\nfunction isInExactChartArea(currentPoints, opts, config) {\r\n return currentPoints.x <= opts.width - opts.area[1] + 10 && currentPoints.x >= opts.area[3] - 10 && currentPoints.y >= opts.area[0] && currentPoints.y <= opts.height - opts.area[2];\r\n}\r\n\r\nfunction findRadarChartCurrentIndex(currentPoints, radarData, count) {\r\n var eachAngleArea = 2 * Math.PI / count;\r\n var currentIndex = -1;\r\n if (isInExactPieChartArea(currentPoints, radarData.center, radarData.radius)) {\r\n var fixAngle = function fixAngle(angle) {\r\n if (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n if (angle > 2 * Math.PI) {\r\n angle -= 2 * Math.PI;\r\n }\r\n return angle;\r\n };\r\n var angle = Math.atan2(radarData.center.y - currentPoints.y, currentPoints.x - radarData.center.x);\r\n angle = -1 * angle;\r\n if (angle < 0) {\r\n angle += 2 * Math.PI;\r\n }\r\n var angleList = radarData.angleList.map(function(item) {\r\n item = fixAngle(-1 * item);\r\n return item;\r\n });\r\n angleList.forEach(function(item, index) {\r\n var rangeStart = fixAngle(item - eachAngleArea / 2);\r\n var rangeEnd = fixAngle(item + eachAngleArea / 2);\r\n if (rangeEnd < rangeStart) {\r\n rangeEnd += 2 * Math.PI;\r\n }\r\n if (angle >= rangeStart && angle <= rangeEnd || angle + 2 * Math.PI >= rangeStart && angle + 2 * Math.PI <= rangeEnd) {\r\n currentIndex = index;\r\n }\r\n });\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findFunnelChartCurrentIndex(currentPoints, funnelData) {\r\n var currentIndex = -1;\r\n for (var i = 0, len = funnelData.series.length; i < len; i++) {\r\n var item = funnelData.series[i];\r\n if (currentPoints.x > item.funnelArea[0] && currentPoints.x < item.funnelArea[2] && currentPoints.y > item.funnelArea[1] && currentPoints.y < item.funnelArea[3]) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findWordChartCurrentIndex(currentPoints, wordData) {\r\n var currentIndex = -1;\r\n for (var i = 0, len = wordData.length; i < len; i++) {\r\n var item = wordData[i];\r\n if (currentPoints.x > item.area[0] && currentPoints.x < item.area[2] && currentPoints.y > item.area[1] && currentPoints.y < item.area[3]) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findMapChartCurrentIndex(currentPoints, opts) {\r\n var currentIndex = -1;\r\n var cData = opts.chartData.mapData;\r\n var data = opts.series;\r\n var tmp = pointToCoordinate(currentPoints.y, currentPoints.x, cData.bounds, cData.scale, cData.xoffset, cData.yoffset);\r\n var poi = [tmp.x, tmp.y];\r\n for (var i = 0, len = data.length; i < len; i++) {\r\n var item = data[i].geometry.coordinates;\r\n if (isPoiWithinPoly(poi, item, opts.chartData.mapData.mercator)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findRoseChartCurrentIndex(currentPoints, pieData, opts) {\r\n var currentIndex = -1;\r\n var series = getRoseDataPoints(opts._series_, opts.extra.rose.type, pieData.radius, pieData.radius);\r\n if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {\r\n var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);\r\n angle = -angle;\r\n if(opts.extra.rose && opts.extra.rose.offsetAngle){\r\n angle = angle - opts.extra.rose.offsetAngle * Math.PI / 180;\r\n }\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._rose_proportion_ * 2 * Math.PI)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction findPieChartCurrentIndex(currentPoints, pieData, opts) {\r\n var currentIndex = -1;\r\n var series = getPieDataPoints(pieData.series);\r\n if (pieData && pieData.center && isInExactPieChartArea(currentPoints, pieData.center, pieData.radius)) {\r\n var angle = Math.atan2(pieData.center.y - currentPoints.y, currentPoints.x - pieData.center.x);\r\n angle = -angle;\r\n if(opts.extra.pie && opts.extra.pie.offsetAngle){\r\n angle = angle - opts.extra.pie.offsetAngle * Math.PI / 180;\r\n }\r\n if(opts.extra.ring && opts.extra.ring.offsetAngle){\r\n angle = angle - opts.extra.ring.offsetAngle * Math.PI / 180;\r\n }\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (isInAngleRange(angle, series[i]._start_, series[i]._start_ + series[i]._proportion_ * 2 * Math.PI)) {\r\n currentIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n return currentIndex;\r\n}\r\n\r\nfunction isInExactPieChartArea(currentPoints, center, radius) {\r\n return Math.pow(currentPoints.x - center.x, 2) + Math.pow(currentPoints.y - center.y, 2) <= Math.pow(radius, 2);\r\n}\r\n\r\n\r\nfunction splitPoints(points,eachSeries) {\r\n var newPoints = [];\r\n var items = [];\r\n points.forEach(function(item, index) {\r\n if(eachSeries.connectNulls){\r\n if (item !== null) {\r\n items.push(item);\r\n }\r\n }else{\r\n if (item !== null) {\r\n items.push(item);\r\n } else {\r\n if (items.length) {\r\n newPoints.push(items);\r\n }\r\n items = [];\r\n }\r\n }\r\n \r\n });\r\n if (items.length) {\r\n newPoints.push(items);\r\n }\r\n return newPoints;\r\n}\r\n\r\n\r\nfunction calLegendData(series, opts, config, chartData, context) {\r\n let legendData = {\r\n area: {\r\n start: {\r\n x: 0,\r\n y: 0\r\n },\r\n end: {\r\n x: 0,\r\n y: 0\r\n },\r\n width: 0,\r\n height: 0,\r\n wholeWidth: 0,\r\n wholeHeight: 0\r\n },\r\n points: [],\r\n widthArr: [],\r\n heightArr: []\r\n };\r\n if (opts.legend.show === false) {\r\n chartData.legendData = legendData;\r\n return legendData;\r\n }\r\n let padding = opts.legend.padding * opts.pix;\r\n let margin = opts.legend.margin * opts.pix;\r\n let fontSize = opts.legend.fontSize ? opts.legend.fontSize * opts.pix : config.fontSize;\r\n let shapeWidth = 15 * opts.pix;\r\n let shapeRight = 5 * opts.pix;\r\n let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n let legendList = [];\r\n let widthCount = 0;\r\n let widthCountArr = [];\r\n let currentRow = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n const legendText = item.legendText ? item.legendText : item.name;\r\n let itemWidth = shapeWidth + shapeRight + measureText(legendText || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;\r\n if (widthCount + itemWidth > opts.width - opts.area[1] - opts.area[3]) {\r\n legendList.push(currentRow);\r\n widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);\r\n widthCount = itemWidth;\r\n currentRow = [item];\r\n } else {\r\n widthCount += itemWidth;\r\n currentRow.push(item);\r\n }\r\n }\r\n if (currentRow.length) {\r\n legendList.push(currentRow);\r\n widthCountArr.push(widthCount - opts.legend.itemGap * opts.pix);\r\n legendData.widthArr = widthCountArr;\r\n let legendWidth = Math.max.apply(null, widthCountArr);\r\n switch (opts.legend.float) {\r\n case 'left':\r\n legendData.area.start.x = opts.area[3];\r\n legendData.area.end.x = opts.area[3] + legendWidth + 2 * padding;\r\n break;\r\n case 'right':\r\n legendData.area.start.x = opts.width - opts.area[1] - legendWidth - 2 * padding;\r\n legendData.area.end.x = opts.width - opts.area[1];\r\n break;\r\n default:\r\n legendData.area.start.x = (opts.width - legendWidth) / 2 - padding;\r\n legendData.area.end.x = (opts.width + legendWidth) / 2 + padding;\r\n }\r\n legendData.area.width = legendWidth + 2 * padding;\r\n legendData.area.wholeWidth = legendWidth + 2 * padding;\r\n legendData.area.height = legendList.length * lineHeight + 2 * padding;\r\n legendData.area.wholeHeight = legendList.length * lineHeight + 2 * padding + 2 * margin;\r\n legendData.points = legendList;\r\n }\r\n } else {\r\n let len = series.length;\r\n let maxHeight = opts.height - opts.area[0] - opts.area[2] - 2 * margin - 2 * padding;\r\n let maxLength = Math.min(Math.floor(maxHeight / lineHeight), len);\r\n legendData.area.height = maxLength * lineHeight + padding * 2;\r\n legendData.area.wholeHeight = maxLength * lineHeight + padding * 2;\r\n switch (opts.legend.float) {\r\n case 'top':\r\n legendData.area.start.y = opts.area[0] + margin;\r\n legendData.area.end.y = opts.area[0] + margin + legendData.area.height;\r\n break;\r\n case 'bottom':\r\n legendData.area.start.y = opts.height - opts.area[2] - margin - legendData.area.height;\r\n legendData.area.end.y = opts.height - opts.area[2] - margin;\r\n break;\r\n default:\r\n legendData.area.start.y = (opts.height - legendData.area.height) / 2;\r\n legendData.area.end.y = (opts.height + legendData.area.height) / 2;\r\n }\r\n let lineNum = len % maxLength === 0 ? len / maxLength : Math.floor((len / maxLength) + 1);\r\n let currentRow = [];\r\n for (let i = 0; i < lineNum; i++) {\r\n let temp = series.slice(i * maxLength, i * maxLength + maxLength);\r\n currentRow.push(temp);\r\n }\r\n legendData.points = currentRow;\r\n if (currentRow.length) {\r\n for (let i = 0; i < currentRow.length; i++) {\r\n let item = currentRow[i];\r\n let maxWidth = 0;\r\n for (let j = 0; j < item.length; j++) {\r\n let itemWidth = shapeWidth + shapeRight + measureText(item[j].name || 'undefined', fontSize, context) + opts.legend.itemGap * opts.pix;\r\n if (itemWidth > maxWidth) {\r\n maxWidth = itemWidth;\r\n }\r\n }\r\n legendData.widthArr.push(maxWidth);\r\n legendData.heightArr.push(item.length * lineHeight + padding * 2);\r\n }\r\n let legendWidth = 0\r\n for (let i = 0; i < legendData.widthArr.length; i++) {\r\n legendWidth += legendData.widthArr[i];\r\n }\r\n legendData.area.width = legendWidth - opts.legend.itemGap * opts.pix + 2 * padding;\r\n legendData.area.wholeWidth = legendData.area.width + padding;\r\n }\r\n }\r\n switch (opts.legend.position) {\r\n case 'top':\r\n legendData.area.start.y = opts.area[0] + margin;\r\n legendData.area.end.y = opts.area[0] + margin + legendData.area.height;\r\n break;\r\n case 'bottom':\r\n legendData.area.start.y = opts.height - opts.area[2] - legendData.area.height - margin;\r\n legendData.area.end.y = opts.height - opts.area[2] - margin;\r\n break;\r\n case 'left':\r\n legendData.area.start.x = opts.area[3];\r\n legendData.area.end.x = opts.area[3] + legendData.area.width;\r\n break;\r\n case 'right':\r\n legendData.area.start.x = opts.width - opts.area[1] - legendData.area.width;\r\n legendData.area.end.x = opts.width - opts.area[1];\r\n break;\r\n }\r\n chartData.legendData = legendData;\r\n return legendData;\r\n}\r\n\r\nfunction calCategoriesData(categories, opts, config, eachSpacing, context) {\r\n var result = {\r\n angle: 0,\r\n xAxisHeight: config.xAxisHeight\r\n };\r\n var fontSize = opts.xAxis.fontSize * opts.pix || config.fontSize;\r\n var categoriesTextLenth = categories.map(function(item,index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item;\r\n return measureText(String(xitem), fontSize, context);\r\n });\r\n \r\n var maxTextLength = Math.max.apply(this, categoriesTextLenth);\r\n if (opts.xAxis.rotateLabel == true) {\r\n result.angle = opts.xAxis.rotateAngle * Math.PI / 180;\r\n let tempHeight = 2 * config.xAxisTextPadding + Math.abs(maxTextLength * Math.sin(result.angle))\r\n tempHeight = tempHeight < fontSize + 2 * config.xAxisTextPadding ? tempHeight + 2 * config.xAxisTextPadding : tempHeight;\r\n if(opts.enableScroll == true && opts.xAxis.scrollShow == true){\r\n tempHeight += 12 * opts.pix;\r\n }\r\n result.xAxisHeight = tempHeight;\r\n }\r\n if (opts.xAxis.disabled){\r\n result.xAxisHeight = 0;\r\n }\r\n return result;\r\n}\r\n\r\nfunction getXAxisTextList(series, opts, config, stack) {\r\n var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\r\n var data;\r\n if (stack == 'stack') {\r\n data = dataCombineStack(series, opts.categories.length);\r\n } else {\r\n data = dataCombine(series);\r\n }\r\n var sorted = [];\r\n // remove null from data\r\n data = data.filter(function(item) {\r\n //return item !== null;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n return item !== null;\r\n } else {\r\n return item.value !== null;\r\n }\r\n } else {\r\n return item !== null;\r\n }\r\n });\r\n data.map(function(item) {\r\n if (typeof item === 'object') {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n if (opts.type == 'candle') {\r\n item.map(function(subitem) {\r\n sorted.push(subitem);\r\n })\r\n } else {\r\n sorted.push(item[0]);\r\n }\r\n } else {\r\n sorted.push(item.value);\r\n }\r\n } else {\r\n sorted.push(item);\r\n }\r\n })\r\n\r\n var minData = 0;\r\n var maxData = 0;\r\n if (sorted.length > 0) {\r\n minData = Math.min.apply(this, sorted);\r\n maxData = Math.max.apply(this, sorted);\r\n }\r\n //为了兼容v1.9.0之前的项目\r\n if (index > -1) {\r\n if (typeof opts.xAxis.data[index].min === 'number') {\r\n minData = Math.min(opts.xAxis.data[index].min, minData);\r\n }\r\n if (typeof opts.xAxis.data[index].max === 'number') {\r\n maxData = Math.max(opts.xAxis.data[index].max, maxData);\r\n }\r\n } else {\r\n if (typeof opts.xAxis.min === 'number') {\r\n minData = Math.min(opts.xAxis.min, minData);\r\n }\r\n if (typeof opts.xAxis.max === 'number') {\r\n maxData = Math.max(opts.xAxis.max, maxData);\r\n }\r\n }\r\n if (minData === maxData) {\r\n var rangeSpan = maxData || 10;\r\n maxData += rangeSpan;\r\n }\r\n //var dataRange = getDataRange(minData, maxData);\r\n var minRange = minData;\r\n var maxRange = maxData;\r\n var range = [];\r\n var eachRange = (maxRange - minRange) / opts.xAxis.splitNumber;\r\n for (var i = 0; i <= opts.xAxis.splitNumber; i++) {\r\n range.push(minRange + eachRange * i);\r\n }\r\n return range;\r\n}\r\n\r\nfunction calXAxisData(series, opts, config, context) {\r\n //堆叠图重算Y轴\r\n var columnstyle = assign({}, {\r\n type: \"\"\r\n }, opts.extra.bar);\r\n var result = {\r\n angle: 0,\r\n xAxisHeight: config.xAxisHeight\r\n };\r\n result.ranges = getXAxisTextList(series, opts, config, columnstyle.type);\r\n result.rangesFormat = result.ranges.map(function(item) {\r\n //item = opts.xAxis.formatter ? opts.xAxis.formatter(item) : util.toFixed(item, 2);\r\n item = util.toFixed(item, 2);\r\n return item;\r\n });\r\n var xAxisScaleValues = result.ranges.map(function(item) {\r\n // 如果刻度值是浮点数,则保留两位小数\r\n item = util.toFixed(item, 2);\r\n // 若有自定义格式则调用自定义的格式化函数\r\n //item = opts.xAxis.formatter ? opts.xAxis.formatter(Number(item)) : item;\r\n return item;\r\n });\r\n result = Object.assign(result, getXAxisPoints(xAxisScaleValues, opts, config));\r\n // 计算X轴刻度的属性譬如每个刻度的间隔,刻度的起始点\\结束点以及总长\r\n var eachSpacing = result.eachSpacing;\r\n var textLength = xAxisScaleValues.map(function(item) {\r\n return measureText(item, opts.xAxis.fontSize * opts.pix || config.fontSize, context);\r\n });\r\n // get max length of categories text\r\n var maxTextLength = Math.max.apply(this, textLength);\r\n // 如果刻度值文本内容过长,则将其逆时针旋转45°\r\n if (maxTextLength + 2 * config.xAxisTextPadding > eachSpacing) {\r\n result.angle = 45 * Math.PI / 180;\r\n result.xAxisHeight = 2 * config.xAxisTextPadding + maxTextLength * Math.sin(result.angle);\r\n }\r\n if (opts.xAxis.disabled === true) {\r\n result.xAxisHeight = 0;\r\n }\r\n return result;\r\n}\r\n\r\nfunction getRadarDataPoints(angleList, center, radius, series, opts) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var radarOption = opts.extra.radar || {};\r\n radarOption.max = radarOption.max || 0;\r\n var maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));\r\n var data = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let each = series[i];\r\n let listItem = {};\r\n listItem.color = each.color;\r\n listItem.legendShape = each.legendShape;\r\n listItem.pointShape = each.pointShape;\r\n listItem.data = [];\r\n each.data.forEach(function(item, index) {\r\n let tmp = {};\r\n tmp.angle = angleList[index];\r\n tmp.proportion = item / maxData;\r\n tmp.value = item;\r\n tmp.position = convertCoordinateOrigin(radius * tmp.proportion * process * Math.cos(tmp.angle), radius * tmp.proportion * process * Math.sin(tmp.angle), center);\r\n listItem.data.push(tmp);\r\n });\r\n data.push(listItem);\r\n }\r\n return data;\r\n}\r\n\r\nfunction getPieDataPoints(series, radius) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n var count = 0;\r\n var _start_ = 0;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n count += item.data;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (count === 0) {\r\n item._proportion_ = 1 / series.length * process;\r\n } else {\r\n item._proportion_ = item.data / count * process;\r\n }\r\n item._radius_ = radius;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item._start_ = _start_;\r\n _start_ += 2 * item._proportion_ * Math.PI;\r\n }\r\n return series;\r\n}\r\n\r\nfunction getFunnelDataPoints(series, radius, option, eachSpacing) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n for (let i = 0; i < series.length; i++) {\r\n if(option.type == 'funnel'){\r\n series[i].radius = series[i].data / series[0].data * radius * process;\r\n }else{\r\n series[i].radius = (eachSpacing * (series.length - i)) / (eachSpacing * series.length) * radius * process;\r\n }\r\n series[i]._proportion_ = series[i].data / series[0].data;\r\n }\r\n // if(option.type !== 'pyramid'){\r\n // series.reverse();\r\n // }\r\n return series;\r\n}\r\n\r\nfunction getRoseDataPoints(series, type, minRadius, radius) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var count = 0;\r\n var _start_ = 0;\r\n var dataArr = [];\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n count += item.data;\r\n dataArr.push(item.data);\r\n }\r\n var minData = Math.min.apply(null, dataArr);\r\n var maxData = Math.max.apply(null, dataArr);\r\n var radiusLength = radius - minRadius;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (count === 0) {\r\n item._proportion_ = 1 / series.length * process;\r\n item._rose_proportion_ = 1 / series.length * process;\r\n } else {\r\n item._proportion_ = item.data / count * process;\r\n if(type == 'area'){\r\n item._rose_proportion_ = 1 / series.length * process;\r\n }else{\r\n item._rose_proportion_ = item.data / count * process;\r\n }\r\n }\r\n item._radius_ = minRadius + radiusLength * ((item.data - minData) / (maxData - minData)) || radius;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item._start_ = _start_;\r\n _start_ += 2 * item._rose_proportion_ * Math.PI;\r\n }\r\n return series;\r\n}\r\n\r\nfunction getArcbarDataPoints(series, arcbarOption) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n if (process == 1) {\r\n process = 0.999999;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n let totalAngle;\r\n if (arcbarOption.type == 'circle') {\r\n totalAngle = 2;\r\n } else {\r\n if(arcbarOption.direction == 'ccw'){\r\n if (arcbarOption.startAngle < arcbarOption.endAngle) {\r\n totalAngle = 2 + arcbarOption.startAngle - arcbarOption.endAngle;\r\n } else {\r\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\r\n }\r\n }else{\r\n if (arcbarOption.endAngle < arcbarOption.startAngle) {\r\n totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;\r\n } else {\r\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\r\n }\r\n }\r\n }\r\n item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;\r\n if(arcbarOption.direction == 'ccw'){\r\n item._proportion_ = arcbarOption.startAngle - totalAngle * item.data * process ;\r\n }\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getGaugeArcbarDataPoints(series, arcbarOption) {\r\n var process = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;\r\n if (process == 1) {\r\n process = 0.999999;\r\n }\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n let totalAngle;\r\n if (arcbarOption.type == 'circle') {\r\n totalAngle = 2;\r\n } else {\r\n if (arcbarOption.endAngle < arcbarOption.startAngle) {\r\n totalAngle = 2 + arcbarOption.endAngle - arcbarOption.startAngle;\r\n } else {\r\n totalAngle = arcbarOption.startAngle - arcbarOption.endAngle;\r\n }\r\n }\r\n item._proportion_ = totalAngle * item.data * process + arcbarOption.startAngle;\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getGaugeAxisPoints(categories, startAngle, endAngle) {\r\n let totalAngle = startAngle - endAngle + 1;\r\n let tempStartAngle = startAngle;\r\n for (let i = 0; i < categories.length; i++) {\r\n categories[i].value = categories[i].value === null ? 0 : categories[i].value;\r\n categories[i]._startAngle_ = tempStartAngle;\r\n categories[i]._endAngle_ = totalAngle * categories[i].value + startAngle;\r\n if (categories[i]._endAngle_ >= 2) {\r\n categories[i]._endAngle_ = categories[i]._endAngle_ % 2;\r\n }\r\n tempStartAngle = categories[i]._endAngle_;\r\n }\r\n return categories;\r\n}\r\n\r\nfunction getGaugeDataPoints(series, categories, gaugeOption) {\r\n let process = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 1;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n item.data = item.data === null ? 0 : item.data;\r\n if (gaugeOption.pointer.color == 'auto') {\r\n for (let i = 0; i < categories.length; i++) {\r\n if (item.data <= categories[i].value) {\r\n item.color = categories[i].color;\r\n break;\r\n }\r\n }\r\n } else {\r\n item.color = gaugeOption.pointer.color;\r\n }\r\n let totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\r\n item._endAngle_ = totalAngle * item.data + gaugeOption.startAngle;\r\n item._oldAngle_ = gaugeOption.oldAngle;\r\n if (gaugeOption.oldAngle < gaugeOption.endAngle) {\r\n item._oldAngle_ += 2;\r\n }\r\n if (item.data >= gaugeOption.oldData) {\r\n item._proportion_ = (item._endAngle_ - item._oldAngle_) * process + gaugeOption.oldAngle;\r\n } else {\r\n item._proportion_ = item._oldAngle_ - (item._oldAngle_ - item._endAngle_) * process;\r\n }\r\n if (item._proportion_ >= 2) {\r\n item._proportion_ = item._proportion_ % 2;\r\n }\r\n }\r\n return series;\r\n}\r\n\r\nfunction getPieTextMaxLength(series, config, context, opts) {\r\n series = getPieDataPoints(series);\r\n let maxLength = 0;\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n let text = item.formatter ? item.formatter(+item._proportion_.toFixed(2)) : util.toFixed(item._proportion_ * 100) + '%';\r\n maxLength = Math.max(maxLength, measureText(text, item.textSize * opts.pix || config.fontSize, context));\r\n }\r\n return maxLength;\r\n}\r\n\r\nfunction fixColumeData(points, eachSpacing, columnLen, index, config, opts) {\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n var seriesGap = 0;\r\n var categoryGap = 0;\r\n if (opts.type == 'mix') {\r\n seriesGap = opts.extra.mix.column.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.mix.column.categoryGap * opts.pix || 0;\r\n } else {\r\n seriesGap = opts.extra.column.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n }\r\n seriesGap = Math.min(seriesGap, eachSpacing / columnLen)\r\n categoryGap = Math.min(categoryGap, eachSpacing / columnLen)\r\n item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);\r\n if (opts.extra.mix && opts.extra.mix.column.width && +opts.extra.mix.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.mix.column.width * opts.pix);\r\n }\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n item.x += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixBarData(points, eachSpacing, columnLen, index, config, opts) {\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n var seriesGap = 0;\r\n var categoryGap = 0;\r\n seriesGap = opts.extra.bar.seriesGap * opts.pix || 0;\r\n categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;\r\n seriesGap = Math.min(seriesGap, eachSpacing / columnLen)\r\n categoryGap = Math.min(categoryGap, eachSpacing / columnLen)\r\n item.width = Math.ceil((eachSpacing - 2 * categoryGap - seriesGap * (columnLen - 1)) / columnLen);\r\n if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n item.y += (index + 0.5 - columnLen / 2) * (item.width + seriesGap);\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixColumeMeterData(points, eachSpacing, columnLen, index, config, opts, border) {\r\n var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n return points.map(function(item) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = eachSpacing - 2 * categoryGap;\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (index > 0) {\r\n item.width -= border;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixColumeStackData(points, eachSpacing, columnLen, index, config, opts, series) {\r\n var categoryGap = opts.extra.column.categoryGap * opts.pix || 0;\r\n return points.map(function(item, indexn) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = Math.ceil(eachSpacing - 2 * categoryGap);\r\n if (opts.extra.column && opts.extra.column.width && +opts.extra.column.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.column.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction fixBarStackData(points, eachSpacing, columnLen, index, config, opts, series) {\r\n var categoryGap = opts.extra.bar.categoryGap * opts.pix || 0;\r\n return points.map(function(item, indexn) {\r\n if (item === null) {\r\n return null;\r\n }\r\n item.width = Math.ceil(eachSpacing - 2 * categoryGap);\r\n if (opts.extra.bar && opts.extra.bar.width && +opts.extra.bar.width > 0) {\r\n item.width = Math.min(item.width, +opts.extra.bar.width * opts.pix);\r\n }\r\n if (item.width <= 0) {\r\n item.width = 1;\r\n }\r\n return item;\r\n });\r\n}\r\n\r\nfunction getXAxisPoints(categories, opts, config) {\r\n var spacingValid = opts.width - opts.area[1] - opts.area[3];\r\n var dataCount = opts.enableScroll ? Math.min(opts.xAxis.itemCount, categories.length) : categories.length;\r\n if ((opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' || opts.type == 'bar') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') {\r\n dataCount -= 1;\r\n }\r\n var widthRatio = 0;\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n widthRatio = opts.extra.mount.widthRatio - 1;\r\n dataCount += widthRatio;\r\n }\r\n var eachSpacing = spacingValid / dataCount;\r\n var xAxisPoints = [];\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n categories.forEach(function(item, index) {\r\n xAxisPoints.push(startX + widthRatio / 2 * eachSpacing + index * eachSpacing);\r\n });\r\n if (opts.xAxis.boundaryGap !== 'justify') {\r\n if (opts.enableScroll === true) {\r\n xAxisPoints.push(startX + widthRatio * eachSpacing + categories.length * eachSpacing);\r\n } else {\r\n xAxisPoints.push(endX);\r\n }\r\n }\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n startX: startX,\r\n endX: endX,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var cPoints = [];\r\n item.forEach(function(items, indexs) {\r\n var point = {};\r\n point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);\r\n var value = items.value || items;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - Math.round(height) - opts.area[2];\r\n cPoints.push(point);\r\n });\r\n points.push(cPoints);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var boundaryGap = 'center';\r\n if (opts.type == 'line' || opts.type == 'area' || opts.type == 'scatter' || opts.type == 'bubble' ) {\r\n boundaryGap = opts.xAxis.boundaryGap;\r\n }\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n let xranges, xminRange, xmaxRange;\r\n xranges = [].concat(opts.chartData.xAxisData.ranges);\r\n xminRange = xranges.shift();\r\n xmaxRange = xranges.pop();\r\n value = item[1];\r\n point.x = opts.area[3] + validWidth * (item[0] - xminRange) / (xmaxRange - xminRange);\r\n if(opts.type == 'bubble'){\r\n point.r = item[2];\r\n point.t = item[3];\r\n }\r\n } else {\r\n value = item.value;\r\n }\r\n }\r\n if (boundaryGap == 'center') {\r\n point.x += eachSpacing / 2;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - height - opts.area[2];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n var mountWidth = eachSpacing * mountOption.widthRatio;\r\n series.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index];\r\n point.x += eachSpacing / 2;\r\n var value = item.data;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.y = opts.height - height - opts.area[2];\r\n point.value = value;\r\n point.width = mountWidth;\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config) {\r\n var process = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n var validWidth = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.y = yAxisPoints[index];\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n value = item.value;\r\n }\r\n var height = validWidth * (value - minRange) / (maxRange - minRange);\r\n height *= process;\r\n point.height = height;\r\n point.value = value;\r\n point.x = height + opts.area[3];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {\r\n var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;\r\n var points = [];\r\n var validHeight = opts.height - opts.area[0] - opts.area[2];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.x = xAxisPoints[index] + Math.round(eachSpacing / 2);\r\n\r\n if (seriesIndex > 0) {\r\n var value = 0;\r\n for (let i = 0; i <= seriesIndex; i++) {\r\n value += stackSeries[i].data[index];\r\n }\r\n var value0 = value - item;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);\r\n } else {\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n value = item.value;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = 0;\r\n }\r\n var heightc = height0;\r\n height *= process;\r\n heightc *= process;\r\n point.y = opts.height - Math.round(height) - opts.area[2];\r\n point.y0 = opts.height - Math.round(heightc) - opts.area[2];\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, stackSeries) {\r\n var process = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : 1;\r\n var points = [];\r\n var validHeight = opts.width - opts.area[1] - opts.area[3];\r\n data.forEach(function(item, index) {\r\n if (item === null) {\r\n points.push(null);\r\n } else {\r\n var point = {};\r\n point.color = item.color;\r\n point.y = yAxisPoints[index];\r\n if (seriesIndex > 0) {\r\n var value = 0;\r\n for (let i = 0; i <= seriesIndex; i++) {\r\n value += stackSeries[i].data[index];\r\n }\r\n var value0 = value - item;\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = validHeight * (value0 - minRange) / (maxRange - minRange);\r\n } else {\r\n var value = item;\r\n if (typeof item === 'object' && item !== null) {\r\n value = item.value;\r\n }\r\n var height = validHeight * (value - minRange) / (maxRange - minRange);\r\n var height0 = 0;\r\n }\r\n var heightc = height0;\r\n height *= process;\r\n heightc *= process;\r\n point.height = height - heightc;\r\n point.x = opts.area[3] + height;\r\n point.x0 = opts.area[3] + heightc;\r\n points.push(point);\r\n }\r\n });\r\n return points;\r\n}\r\n\r\nfunction getYAxisTextList(series, opts, config, stack, yData) {\r\n var index = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : -1;\r\n var data;\r\n if (stack == 'stack') {\r\n data = dataCombineStack(series, opts.categories.length);\r\n } else {\r\n data = dataCombine(series);\r\n }\r\n var sorted = [];\r\n // remove null from data\r\n data = data.filter(function(item) {\r\n //return item !== null;\r\n if (typeof item === 'object' && item !== null) {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n return item !== null;\r\n } else {\r\n return item.value !== null;\r\n }\r\n } else {\r\n return item !== null;\r\n }\r\n });\r\n data.map(function(item) {\r\n if (typeof item === 'object') {\r\n if (item.constructor.toString().indexOf('Array') > -1) {\r\n if (opts.type == 'candle') {\r\n item.map(function(subitem) {\r\n sorted.push(subitem);\r\n })\r\n } else {\r\n sorted.push(item[1]);\r\n }\r\n } else {\r\n sorted.push(item.value);\r\n }\r\n } else {\r\n sorted.push(item);\r\n }\r\n })\r\n var minData = yData.min || 0;\r\n var maxData = yData.max || 0;\r\n if (sorted.length > 0) {\r\n minData = Math.min.apply(this, sorted);\r\n maxData = Math.max.apply(this, sorted);\r\n }\r\n if (minData === maxData) {\r\n if(maxData == 0){\r\n maxData = 10;\r\n }else{\r\n minData = 0;\r\n }\r\n }\r\n var dataRange = getDataRange(minData, maxData);\r\n var minRange = (yData.min === undefined || yData.min === null) ? dataRange.minRange : yData.min;\r\n var maxRange = (yData.max === undefined || yData.max === null) ? dataRange.maxRange : yData.max;\r\n var eachRange = (maxRange - minRange) / opts.yAxis.splitNumber;\r\n var range = [];\r\n for (var i = 0; i <= opts.yAxis.splitNumber; i++) {\r\n range.push(minRange + eachRange * i);\r\n }\r\n return range.reverse();\r\n}\r\n\r\nfunction calYAxisData(series, opts, config, context) {\r\n //堆叠图重算Y轴\r\n var columnstyle = assign({}, {\r\n type: \"\"\r\n }, opts.extra.column);\r\n //如果是多Y轴,重新计算\r\n var YLength = opts.yAxis.data.length;\r\n var newSeries = new Array(YLength);\r\n if (YLength > 0) {\r\n for (let i = 0; i < YLength; i++) {\r\n newSeries[i] = [];\r\n for (let j = 0; j < series.length; j++) {\r\n if (series[j].index == i) {\r\n newSeries[i].push(series[j]);\r\n }\r\n }\r\n }\r\n var rangesArr = new Array(YLength);\r\n var rangesFormatArr = new Array(YLength);\r\n var yAxisWidthArr = new Array(YLength);\r\n\r\n for (let i = 0; i < YLength; i++) {\r\n let yData = opts.yAxis.data[i];\r\n //如果总开关不显示,强制每个Y轴为不显示\r\n if (opts.yAxis.disabled == true) {\r\n yData.disabled = true;\r\n }\r\n if(yData.type === 'categories'){\r\n if(!yData.formatter){\r\n yData.formatter = (val,index,opts) => {return val + (yData.unit || '')};\r\n }\r\n yData.categories = yData.categories || opts.categories;\r\n rangesArr[i] = yData.categories;\r\n }else{\r\n if(!yData.formatter){\r\n yData.formatter = (val,index,opts) => {return util.toFixed(val, yData.tofix || 0) + (yData.unit || '')};\r\n }\r\n rangesArr[i] = getYAxisTextList(newSeries[i], opts, config, columnstyle.type, yData, i);\r\n }\r\n let yAxisFontSizes = yData.fontSize * opts.pix || config.fontSize;\r\n yAxisWidthArr[i] = {\r\n position: yData.position ? yData.position : 'left',\r\n width: 0\r\n };\r\n rangesFormatArr[i] = rangesArr[i].map(function(items,index) {\r\n items = yData.formatter(items,index,opts);\r\n yAxisWidthArr[i].width = Math.max(yAxisWidthArr[i].width, measureText(items, yAxisFontSizes, context) + 5);\r\n return items;\r\n });\r\n let calibration = yData.calibration ? 4 * opts.pix : 0;\r\n yAxisWidthArr[i].width += calibration + 3 * opts.pix;\r\n if (yData.disabled === true) {\r\n yAxisWidthArr[i].width = 0;\r\n }\r\n }\r\n } else {\r\n var rangesArr = new Array(1);\r\n var rangesFormatArr = new Array(1);\r\n var yAxisWidthArr = new Array(1);\r\n if(opts.type === 'bar'){\r\n rangesArr[0] = opts.categories;\r\n }else{\r\n rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type, {});\r\n }\r\n yAxisWidthArr[0] = {\r\n position: 'left',\r\n width: 0\r\n };\r\n \r\n if (opts.yAxis.disabled === true) {\r\n yAxisWidthArr[0] = {\r\n position: 'left',\r\n width: 0\r\n };\r\n opts.yAxis.data[0] = {\r\n disabled: true\r\n };\r\n } else {\r\n opts.yAxis.data[0] = {\r\n disabled: false,\r\n position: 'left',\r\n max: opts.yAxis.max,\r\n min: opts.yAxis.min,\r\n formatter: (val,index,opts) => {return val}\r\n };\r\n if(opts.type === 'bar'){\r\n opts.yAxis.data[0].categories = opts.categories;\r\n opts.yAxis.data[0].type = 'categories';\r\n }\r\n }\r\n var yAxisFontSize = opts.yAxis.fontSize * opts.pix || config.fontSize;\r\n rangesFormatArr[0] = rangesArr[0].map(function(item,index) {\r\n item = opts.yAxis.data[0].formatter(item,index,opts);\r\n yAxisWidthArr[0].width = Math.max(yAxisWidthArr[0].width, measureText(item, yAxisFontSize, context) + 5);\r\n return item;\r\n });\r\n yAxisWidthArr[0].width += 3 * opts.pix;\r\n }\r\n return {\r\n rangesFormat: rangesFormatArr,\r\n ranges: rangesArr,\r\n yAxisWidth: yAxisWidthArr\r\n };\r\n}\r\n\r\nfunction calTooltipYAxisData(point, series, opts, config, eachSpacing) {\r\n let ranges = [].concat(opts.chartData.yAxisData.ranges);\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let minAxis = opts.area[0];\r\n let items = [];\r\n for (let i = 0; i < ranges.length; i++) {\r\n let maxVal = Math.max.apply(this, ranges[i]);\r\n let minVal = Math.min.apply(this, ranges[i]);\r\n let item = maxVal - (maxVal - minVal) * (point - minAxis) / spacingValid;\r\n item = opts.yAxis.data && opts.yAxis.data[i].formatter ? opts.yAxis.data[i].formatter(item, i, opts) : item.toFixed(0);\r\n items.push(String(item))\r\n }\r\n return items;\r\n}\r\n\r\nfunction calMarkLineData(points, opts) {\r\n let minRange, maxRange;\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n for (let i = 0; i < points.length; i++) {\r\n points[i].yAxisIndex = points[i].yAxisIndex ? points[i].yAxisIndex : 0;\r\n let range = [].concat(opts.chartData.yAxisData.ranges[points[i].yAxisIndex]);\r\n minRange = range.pop();\r\n maxRange = range.shift();\r\n let height = spacingValid * (points[i].value - minRange) / (maxRange - minRange);\r\n points[i].y = opts.height - Math.round(height) - opts.area[2];\r\n }\r\n return points;\r\n}\r\n\r\nfunction contextRotate(context, opts) {\r\n if (opts.rotateLock !== true) {\r\n context.translate(opts.height, 0);\r\n context.rotate(90 * Math.PI / 180);\r\n } else if (opts._rotate_ !== true) {\r\n context.translate(opts.height, 0);\r\n context.rotate(90 * Math.PI / 180);\r\n opts._rotate_ = true;\r\n }\r\n}\r\n\r\nfunction drawPointShape(points, color, shape, context, opts) {\r\n context.beginPath();\r\n if (opts.dataPointShapeType == 'hollow') {\r\n context.setStrokeStyle(color);\r\n context.setFillStyle(opts.background);\r\n context.setLineWidth(2 * opts.pix);\r\n } else {\r\n context.setStrokeStyle(\"#ffffff\");\r\n context.setFillStyle(color);\r\n context.setLineWidth(1 * opts.pix);\r\n }\r\n if (shape === 'diamond') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y);\r\n context.lineTo(item.x, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'circle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x + 2.5 * opts.pix, item.y);\r\n context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);\r\n }\r\n });\r\n } else if (shape === 'square') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x - 3.5, item.y - 3.5);\r\n context.rect(item.x - 3.5, item.y - 3.5, 7, 7);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y + 4.5);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'none') {\r\n return;\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n}\r\n\r\nfunction drawRingTitle(opts, config, context, center) {\r\n var titlefontSize = opts.title.fontSize || config.titleFontSize;\r\n var subtitlefontSize = opts.subtitle.fontSize || config.subtitleFontSize;\r\n var title = opts.title.name || '';\r\n var subtitle = opts.subtitle.name || '';\r\n var titleFontColor = opts.title.color || opts.fontColor;\r\n var subtitleFontColor = opts.subtitle.color || opts.fontColor;\r\n var titleHeight = title ? titlefontSize : 0;\r\n var subtitleHeight = subtitle ? subtitlefontSize : 0;\r\n var margin = 5;\r\n if (subtitle) {\r\n var textWidth = measureText(subtitle, subtitlefontSize * opts.pix, context);\r\n var startX = center.x - textWidth / 2 + (opts.subtitle.offsetX|| 0) * opts.pix ;\r\n var startY = center.y + subtitlefontSize * opts.pix / 2 + (opts.subtitle.offsetY || 0) * opts.pix;\r\n if (title) {\r\n startY += (titleHeight * opts.pix + margin) / 2;\r\n }\r\n context.beginPath();\r\n context.setFontSize(subtitlefontSize * opts.pix);\r\n context.setFillStyle(subtitleFontColor);\r\n context.fillText(subtitle, startX, startY);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n if (title) {\r\n var _textWidth = measureText(title, titlefontSize * opts.pix, context);\r\n var _startX = center.x - _textWidth / 2 + (opts.title.offsetX || 0);\r\n var _startY = center.y + titlefontSize * opts.pix / 2 + (opts.title.offsetY || 0) * opts.pix;\r\n if (subtitle) {\r\n _startY -= (subtitleHeight * opts.pix + margin) / 2;\r\n }\r\n context.beginPath();\r\n context.setFontSize(titlefontSize * opts.pix);\r\n context.setFillStyle(titleFontColor);\r\n context.fillText(title, _startX, _startY);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawPointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.textColor || opts.fontColor);\r\n var value = data[index]\r\n if (typeof data[index] === 'object' && data[index] !== null) {\r\n if (data[index].constructor.toString().indexOf('Array')>-1) {\r\n value = data[index][1];\r\n } else {\r\n value = data[index].value\r\n }\r\n }\r\n var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;\r\n context.setTextAlign('center');\r\n context.fillText(String(formatVal), item.x, item.y - 4 + textOffset * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n });\r\n}\r\n\r\nfunction drawMountPointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series[index].textSize ? series[index].textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series[index].textColor || opts.fontColor);\r\n var value = item.value\r\n var formatVal = series[index].formatter ? series[index].formatter(value,index,series,opts) : value;\r\n context.setTextAlign('center');\r\n context.fillText(String(formatVal), item.x, item.y - 4 + textOffset * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n });\r\n}\r\n\r\nfunction drawBarPointText(points, series, config, context, opts) {\r\n // 绘制数据文案\r\n var data = series.data;\r\n var textOffset = series.textOffset ? series.textOffset : 0;\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.beginPath();\r\n var fontSize = series.textSize ? series.textSize * opts.pix : config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.textColor || opts.fontColor);\r\n var value = data[index]\r\n if (typeof data[index] === 'object' && data[index] !== null) {\r\n value = data[index].value ;\r\n }\r\n var formatVal = series.formatter ? series.formatter(value,index,series,opts) : value;\r\n context.setTextAlign('left');\r\n context.fillText(String(formatVal), item.x + 4 * opts.pix , item.y + fontSize / 2 - 3 );\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n}\r\n\r\nfunction drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) {\r\n radius -= gaugeOption.width / 2 + gaugeOption.labelOffset * opts.pix;\r\n radius = radius < 10 ? 10 : radius;\r\n let totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let totalNumber = gaugeOption.endNumber - gaugeOption.startNumber;\r\n let splitNumber = totalNumber / gaugeOption.splitLine.splitNumber;\r\n let nowAngle = gaugeOption.startAngle;\r\n let nowNumber = gaugeOption.startNumber;\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {\r\n var pos = {\r\n x: radius * Math.cos(nowAngle * Math.PI),\r\n y: radius * Math.sin(nowAngle * Math.PI)\r\n };\r\n var labelText = gaugeOption.formatter ? gaugeOption.formatter(nowNumber,i,opts) : nowNumber;\r\n pos.x += centerPosition.x - measureText(labelText, config.fontSize, context) / 2;\r\n pos.y += centerPosition.y;\r\n var startX = pos.x;\r\n var startY = pos.y;\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(gaugeOption.labelColor || opts.fontColor);\r\n context.fillText(labelText, startX, startY + config.fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n nowAngle += splitAngle;\r\n if (nowAngle >= 2) {\r\n nowAngle = nowAngle % 2;\r\n }\r\n nowNumber += splitNumber;\r\n }\r\n}\r\n\r\nfunction drawRadarLabel(angleList, radius, centerPosition, opts, config, context) {\r\n var radarOption = opts.extra.radar || {};\r\n angleList.forEach(function(angle, index) {\r\n if(radarOption.labelPointShow === true && opts.categories[index] !== ''){\r\n var posPoint = {\r\n x: radius * Math.cos(angle),\r\n y: radius * Math.sin(angle)\r\n };\r\n var posPointAxis = convertCoordinateOrigin(posPoint.x, posPoint.y, centerPosition);\r\n context.setFillStyle(radarOption.labelPointColor);\r\n context.beginPath();\r\n context.arc(posPointAxis.x, posPointAxis.y, radarOption.labelPointRadius * opts.pix, 0, 2 * Math.PI, false);\r\n context.closePath();\r\n context.fill();\r\n }\r\n var pos = {\r\n x: (radius + config.radarLabelTextMargin * opts.pix) * Math.cos(angle),\r\n y: (radius + config.radarLabelTextMargin * opts.pix) * Math.sin(angle)\r\n };\r\n var posRelativeCanvas = convertCoordinateOrigin(pos.x, pos.y, centerPosition);\r\n var startX = posRelativeCanvas.x;\r\n var startY = posRelativeCanvas.y;\r\n if (util.approximatelyEqual(pos.x, 0)) {\r\n startX -= measureText(opts.categories[index] || '', config.fontSize, context) / 2;\r\n } else if (pos.x < 0) {\r\n startX -= measureText(opts.categories[index] || '', config.fontSize, context);\r\n }\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(radarOption.labelColor || opts.fontColor);\r\n context.fillText(opts.categories[index] || '', startX, startY + config.fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n });\r\n\r\n}\r\n\r\nfunction drawPieText(series, opts, config, context, radius, center) {\r\n var lineRadius = config.pieChartLinePadding;\r\n var textObjectCollection = [];\r\n var lastTextObject = null;\r\n var seriesConvert = series.map(function(item,index) {\r\n var text = item.formatter ? item.formatter(item,index,series,opts) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%';\r\n text = item.labelText ? item.labelText : text;\r\n var arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._proportion_ / 2);\r\n if (item._rose_proportion_) {\r\n arc = 2 * Math.PI - (item._start_ + 2 * Math.PI * item._rose_proportion_ / 2);\r\n }\r\n var color = item.color;\r\n var radius = item._radius_;\r\n return {\r\n arc: arc,\r\n text: text,\r\n color: color,\r\n radius: radius,\r\n textColor: item.textColor,\r\n textSize: item.textSize,\r\n labelShow: item.labelShow\r\n };\r\n });\r\n for (let i = 0; i < seriesConvert.length; i++) {\r\n let item = seriesConvert[i];\r\n // line end\r\n let orginX1 = Math.cos(item.arc) * (item.radius + lineRadius);\r\n let orginY1 = Math.sin(item.arc) * (item.radius + lineRadius);\r\n // line start\r\n let orginX2 = Math.cos(item.arc) * item.radius;\r\n let orginY2 = Math.sin(item.arc) * item.radius;\r\n // text start\r\n let orginX3 = orginX1 >= 0 ? orginX1 + config.pieChartTextPadding : orginX1 - config.pieChartTextPadding;\r\n let orginY3 = orginY1;\r\n let textWidth = measureText(item.text, item.textSize * opts.pix || config.fontSize, context);\r\n let startY = orginY3;\r\n if (lastTextObject && util.isSameXCoordinateArea(lastTextObject.start, {\r\n x: orginX3\r\n })) {\r\n if (orginX3 > 0) {\r\n startY = Math.min(orginY3, lastTextObject.start.y);\r\n } else if (orginX1 < 0) {\r\n startY = Math.max(orginY3, lastTextObject.start.y);\r\n } else {\r\n if (orginY3 > 0) {\r\n startY = Math.max(orginY3, lastTextObject.start.y);\r\n } else {\r\n startY = Math.min(orginY3, lastTextObject.start.y);\r\n }\r\n }\r\n }\r\n if (orginX3 < 0) {\r\n orginX3 -= textWidth;\r\n }\r\n let textObject = {\r\n lineStart: {\r\n x: orginX2,\r\n y: orginY2\r\n },\r\n lineEnd: {\r\n x: orginX1,\r\n y: orginY1\r\n },\r\n start: {\r\n x: orginX3,\r\n y: startY\r\n },\r\n width: textWidth,\r\n height: config.fontSize,\r\n text: item.text,\r\n color: item.color,\r\n textColor: item.textColor,\r\n textSize: item.textSize\r\n };\r\n lastTextObject = avoidCollision(textObject, lastTextObject);\r\n textObjectCollection.push(lastTextObject);\r\n }\r\n for (let i = 0; i < textObjectCollection.length; i++) {\r\n if(seriesConvert[i].labelShow === false){\r\n continue;\r\n }\r\n let item = textObjectCollection[i];\r\n let lineStartPoistion = convertCoordinateOrigin(item.lineStart.x, item.lineStart.y, center);\r\n let lineEndPoistion = convertCoordinateOrigin(item.lineEnd.x, item.lineEnd.y, center);\r\n let textPosition = convertCoordinateOrigin(item.start.x, item.start.y, center);\r\n context.setLineWidth(1 * opts.pix);\r\n context.setFontSize(item.textSize * opts.pix || config.fontSize);\r\n context.beginPath();\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.moveTo(lineStartPoistion.x, lineStartPoistion.y);\r\n let curveStartX = item.start.x < 0 ? textPosition.x + item.width : textPosition.x;\r\n let textStartX = item.start.x < 0 ? textPosition.x - 5 : textPosition.x + 5;\r\n context.quadraticCurveTo(lineEndPoistion.x, lineEndPoistion.y, curveStartX, textPosition.y);\r\n context.moveTo(lineStartPoistion.x, lineStartPoistion.y);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(textPosition.x + item.width, textPosition.y);\r\n context.arc(curveStartX, textPosition.y, 2 * opts.pix, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(item.textSize * opts.pix || config.fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(item.text, textStartX, textPosition.y + 3);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n}\r\n\r\nfunction drawToolTipSplitLine(offsetX, opts, config, context) {\r\n var toolTipOption = opts.extra.tooltip || {};\r\n toolTipOption.gridType = toolTipOption.gridType == undefined ? 'solid' : toolTipOption.gridType;\r\n toolTipOption.dashLength = toolTipOption.dashLength == undefined ? 4 : toolTipOption.dashLength;\r\n var startY = opts.area[0];\r\n var endY = opts.height - opts.area[2];\r\n if (toolTipOption.gridType == 'dash') {\r\n context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);\r\n }\r\n context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(offsetX, startY);\r\n context.lineTo(offsetX, endY);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (toolTipOption.xAxisLabel) {\r\n let labelText = opts.categories[opts.tooltip.index];\r\n context.setFontSize(config.fontSize);\r\n let textWidth = measureText(labelText, config.fontSize, context);\r\n let textX = offsetX - 0.5 * textWidth;\r\n let textY = endY + 2 * opts.pix;\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));\r\n context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);\r\n context.setLineWidth(1 * opts.pix);\r\n context.rect(textX - config.toolTipPadding, textY, textWidth + 2 * config.toolTipPadding, config.fontSize + 2 * config.toolTipPadding);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);\r\n context.fillText(String(labelText), textX, textY + config.toolTipPadding + config.fontSize);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawMarkLine(opts, config, context) {\r\n let markLineOption = assign({}, {\r\n type: 'solid',\r\n dashLength: 4,\r\n data: []\r\n }, opts.extra.markLine);\r\n let startX = opts.area[3];\r\n let endX = opts.width - opts.area[1];\r\n let points = calMarkLineData(markLineOption.data, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = assign({}, {\r\n lineColor: '#DE4A42',\r\n showLabel: false,\r\n labelFontColor: '#666666',\r\n labelBgColor: '#DFE8FF',\r\n labelBgOpacity: 0.8,\r\n labelAlign: 'left',\r\n labelOffsetX: 0,\r\n labelOffsetY: 0,\r\n }, points[i]);\r\n if (markLineOption.type == 'dash') {\r\n context.setLineDash([markLineOption.dashLength, markLineOption.dashLength]);\r\n }\r\n context.setStrokeStyle(item.lineColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(startX, item.y);\r\n context.lineTo(endX, item.y);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (item.showLabel) {\r\n let labelText = item.labelText ? item.labelText : item.value;\r\n context.setFontSize(config.fontSize);\r\n let textWidth = measureText(labelText, config.fontSize, context);\r\n let bgWidth = textWidth + config.toolTipPadding * 2;\r\n let bgStartX = item.labelAlign == 'left' ? opts.area[3] - bgWidth : opts.width - opts.area[1];\r\n bgStartX += item.labelOffsetX;\r\n let bgStartY = item.y - 0.5 * config.fontSize - config.toolTipPadding;\r\n bgStartY += item.labelOffsetY;\r\n let textX = bgStartX + config.toolTipPadding;\r\n let textY = item.y;\r\n context.setFillStyle(hexToRgb(item.labelBgColor, item.labelBgOpacity));\r\n context.setStrokeStyle(item.labelBgColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.rect(bgStartX, bgStartY, bgWidth, config.fontSize + 2 * config.toolTipPadding);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.setFontSize(config.fontSize);\r\n context.setTextAlign('left');\r\n context.setFillStyle(item.labelFontColor);\r\n context.fillText(String(labelText), textX, bgStartY + config.fontSize + config.toolTipPadding/2);\r\n context.stroke();\r\n context.setTextAlign('left');\r\n }\r\n }\r\n}\r\n\r\nfunction drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints) {\r\n var toolTipOption = assign({}, {\r\n gridType: 'solid',\r\n dashLength: 4\r\n }, opts.extra.tooltip);\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n if (toolTipOption.gridType == 'dash') {\r\n context.setLineDash([toolTipOption.dashLength, toolTipOption.dashLength]);\r\n }\r\n context.setStrokeStyle(toolTipOption.gridColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n context.beginPath();\r\n context.moveTo(startX, opts.tooltip.offset.y);\r\n context.lineTo(endX, opts.tooltip.offset.y);\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (toolTipOption.yAxisLabel) {\r\n let labelText = calTooltipYAxisData(opts.tooltip.offset.y, opts.series, opts, config, eachSpacing);\r\n let widthArr = opts.chartData.yAxisData.yAxisWidth;\r\n let tStartLeft = opts.area[3];\r\n let tStartRight = opts.width - opts.area[1];\r\n for (let i = 0; i < labelText.length; i++) {\r\n context.setFontSize(config.fontSize);\r\n let textWidth = measureText(labelText[i], config.fontSize, context);\r\n let bgStartX, bgEndX, bgWidth;\r\n if (widthArr[i].position == 'left') {\r\n bgStartX = tStartLeft - (textWidth + config.toolTipPadding * 2) - 2 * opts.pix;\r\n bgEndX = Math.max(bgStartX, bgStartX + textWidth + config.toolTipPadding * 2);\r\n } else {\r\n bgStartX = tStartRight + 2 * opts.pix;\r\n bgEndX = Math.max(bgStartX + widthArr[i].width, bgStartX + textWidth + config.toolTipPadding * 2);\r\n }\r\n bgWidth = bgEndX - bgStartX;\r\n let textX = bgStartX + (bgWidth - textWidth) / 2;\r\n let textY = opts.tooltip.offset.y;\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.labelBgColor || config.toolTipBackground, toolTipOption.labelBgOpacity || config.toolTipOpacity));\r\n context.setStrokeStyle(toolTipOption.labelBgColor || config.toolTipBackground);\r\n context.setLineWidth(1 * opts.pix);\r\n context.rect(bgStartX, textY - 0.5 * config.fontSize - config.toolTipPadding, bgWidth, config.fontSize + 2 * config.toolTipPadding);\r\n context.closePath();\r\n context.stroke();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(toolTipOption.labelFontColor || opts.fontColor);\r\n context.fillText(labelText[i], textX, textY + 0.5 * config.fontSize);\r\n context.closePath();\r\n context.stroke();\r\n if (widthArr[i].position == 'left') {\r\n tStartLeft -= (widthArr[i].width + opts.yAxis.padding * opts.pix);\r\n } else {\r\n tStartRight += widthArr[i].width + opts.yAxis.padding * opts.pix;\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction drawToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {\r\n var toolTipOption = assign({}, {\r\n activeBgColor: '#000000',\r\n activeBgOpacity: 0.08,\r\n activeWidth: eachSpacing\r\n }, opts.extra.column);\r\n toolTipOption.activeWidth = toolTipOption.activeWidth > eachSpacing ? eachSpacing : toolTipOption.activeWidth;\r\n var startY = opts.area[0];\r\n var endY = opts.height - opts.area[2];\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));\r\n context.rect(offsetX - toolTipOption.activeWidth / 2, startY, toolTipOption.activeWidth, endY - startY);\r\n context.closePath();\r\n context.fill();\r\n context.setFillStyle(\"#FFFFFF\");\r\n}\r\n\r\nfunction drawBarToolTipSplitArea(offsetX, opts, config, context, eachSpacing) {\r\n var toolTipOption = assign({}, {\r\n activeBgColor: '#000000',\r\n activeBgOpacity: 0.08\r\n }, opts.extra.bar);\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.activeBgColor, toolTipOption.activeBgOpacity));\r\n context.rect( startX ,offsetX - eachSpacing / 2 , endX - startX,eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n context.setFillStyle(\"#FFFFFF\");\r\n}\r\n\r\n\r\nfunction drawToolTip(textList, offset, opts, config, context, eachSpacing, xAxisPoints) {\r\n var toolTipOption = assign({}, {\r\n showBox: true,\r\n showArrow: true,\r\n showCategory: false,\r\n bgColor: '#000000',\r\n bgOpacity: 0.7,\r\n borderColor: '#000000',\r\n borderWidth: 0,\r\n borderRadius: 0,\r\n borderOpacity: 0.7,\r\n fontColor: '#FFFFFF',\r\n splitLine: true,\r\n }, opts.extra.tooltip);\r\n if(toolTipOption.showCategory==true && opts.categories){\r\n textList.unshift({text:opts.categories[opts.tooltip.index],color:null})\r\n }\r\n var legendWidth = 4 * opts.pix;\r\n var legendMarginRight = 5 * opts.pix;\r\n var arrowWidth = toolTipOption.showArrow ? 8 * opts.pix : 0;\r\n var isOverRightBorder = false;\r\n if (opts.type == 'line' || opts.type == 'mount' || opts.type == 'area' || opts.type == 'candle' || opts.type == 'mix') {\r\n if (toolTipOption.splitLine == true) {\r\n drawToolTipSplitLine(opts.tooltip.offset.x, opts, config, context);\r\n }\r\n }\r\n offset = assign({\r\n x: 0,\r\n y: 0\r\n }, offset);\r\n offset.y -= 8 * opts.pix;\r\n var textWidth = textList.map(function(item) {\r\n return measureText(item.text, config.fontSize, context);\r\n });\r\n var toolTipWidth = legendWidth + legendMarginRight + 4 * config.toolTipPadding + Math.max.apply(null, textWidth);\r\n var toolTipHeight = 2 * config.toolTipPadding + textList.length * config.toolTipLineHeight;\r\n if (toolTipOption.showBox == false) {\r\n return\r\n }\r\n // if beyond the right border\r\n if (offset.x - Math.abs(opts._scrollDistance_ || 0) + arrowWidth + toolTipWidth > opts.width) {\r\n isOverRightBorder = true;\r\n }\r\n if (toolTipHeight + offset.y > opts.height) {\r\n offset.y = opts.height - toolTipHeight;\r\n }\r\n // draw background rect\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(toolTipOption.bgColor || config.toolTipBackground, toolTipOption.bgOpacity || config.toolTipOpacity));\r\n context.setLineWidth(toolTipOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(hexToRgb(toolTipOption.borderColor, toolTipOption.borderOpacity));\r\n var radius = toolTipOption.borderRadius;\r\n if (isOverRightBorder) {\r\n // 增加左侧仍然超出的判断\r\n if(toolTipWidth + arrowWidth > opts.width){\r\n offset.x = opts.width + Math.abs(opts._scrollDistance_ || 0) + arrowWidth + (toolTipWidth - opts.width)\r\n }\r\n if (toolTipOption.showArrow) {\r\n context.moveTo(offset.x, offset.y + 10 * opts.pix);\r\n context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);\r\n }\r\n context.arc(offset.x - arrowWidth - radius, offset.y + toolTipHeight - radius, radius, 0, Math.PI / 2, false);\r\n context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + toolTipHeight - radius, radius,\r\n Math.PI / 2, Math.PI, false);\r\n context.arc(offset.x - arrowWidth - Math.round(toolTipWidth) + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);\r\n context.arc(offset.x - arrowWidth - radius, offset.y + radius, radius, -Math.PI / 2, 0, false);\r\n if (toolTipOption.showArrow) {\r\n context.lineTo(offset.x - arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);\r\n context.lineTo(offset.x, offset.y + 10 * opts.pix);\r\n }\r\n } else {\r\n if (toolTipOption.showArrow) {\r\n context.moveTo(offset.x, offset.y + 10 * opts.pix);\r\n context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix - 5 * opts.pix);\r\n }\r\n context.arc(offset.x + arrowWidth + radius, offset.y + radius, radius, -Math.PI, -Math.PI / 2, false);\r\n context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + radius, radius, -Math.PI / 2, 0,\r\n false);\r\n context.arc(offset.x + arrowWidth + Math.round(toolTipWidth) - radius, offset.y + toolTipHeight - radius, radius, 0,\r\n Math.PI / 2, false);\r\n context.arc(offset.x + arrowWidth + radius, offset.y + toolTipHeight - radius, radius, Math.PI / 2, Math.PI, false);\r\n if (toolTipOption.showArrow) {\r\n context.lineTo(offset.x + arrowWidth, offset.y + 10 * opts.pix + 5 * opts.pix);\r\n context.lineTo(offset.x, offset.y + 10 * opts.pix);\r\n }\r\n }\r\n context.closePath();\r\n context.fill();\r\n if (toolTipOption.borderWidth > 0) {\r\n context.stroke();\r\n }\r\n // draw legend\r\n textList.forEach(function(item, index) {\r\n if (item.color !== null) {\r\n context.beginPath();\r\n context.setFillStyle(item.color);\r\n var startX = offset.x + arrowWidth + 2 * config.toolTipPadding;\r\n var startY = offset.y + (config.toolTipLineHeight - config.fontSize) / 2 + config.toolTipLineHeight * index + config.toolTipPadding + 1;\r\n if (isOverRightBorder) {\r\n startX = offset.x - toolTipWidth - arrowWidth + 2 * config.toolTipPadding;\r\n }\r\n context.fillRect(startX, startY, legendWidth, config.fontSize);\r\n // 圆形图例请注释上行,并把下行取消注释\r\n // context.arc(startX + legendWidth / 2 , startY + opts.fontSize / 2, 4 * opts.pix, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n });\r\n // draw text list\r\n textList.forEach(function(item, index) {\r\n var startX = offset.x + arrowWidth + 2 * config.toolTipPadding + legendWidth + legendMarginRight;\r\n if (isOverRightBorder) {\r\n startX = offset.x - toolTipWidth - arrowWidth + 2 * config.toolTipPadding + +legendWidth + legendMarginRight;\r\n }\r\n var startY = offset.y + (config.toolTipLineHeight - config.fontSize) / 2 + config.toolTipLineHeight * index + config.toolTipPadding;\r\n context.beginPath();\r\n context.setFontSize(config.fontSize);\r\n context.setFillStyle(toolTipOption.fontColor);\r\n context.fillText(item.text, startX, startY + config.fontSize);\r\n context.closePath();\r\n context.stroke();\r\n });\r\n}\r\n\r\nfunction drawColumnDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let columnOption = assign({}, {\r\n type: 'group',\r\n width: eachSpacing / 2,\r\n meterBorder: 4,\r\n meterFillColor: '#FFFFFF',\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.column);\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n }\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawToolTipSplitArea(opts.tooltip.offset.x, opts, config, context, eachSpacing);\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n var tooltipPoints = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(tooltipPoints);\r\n points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n //fix issues/I27B1N yyoinge & Joeshu\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = opts.height - opts.area[2] - item.y;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.lineTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(startX, item.y);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n //context.stroke();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'stack':\r\n // 绘制堆叠数据图\r\n var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(points);\r\n points = fixColumeStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color;\r\n var startX = item.x - item.width / 2 + 1;\r\n var height = opts.height - item.y - opts.area[2];\r\n var height0 = opts.height - item.y0 - opts.area[2];\r\n if (seriesIndex > 0) {\r\n height -= height0;\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(startX, item.y);\r\n context.fillRect(startX, item.y, item.width, height);\r\n context.closePath();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'meter':\r\n // 绘制温度计数据图\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n points = fixColumeMeterData(points, eachSpacing, series.length, seriesIndex, config, opts, columnOption.meterBorder);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n //画背景颜色\r\n context.beginPath();\r\n if (seriesIndex == 0 && columnOption.meterBorder > 0) {\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(columnOption.meterBorder * opts.pix);\r\n }\r\n if(seriesIndex == 0){\r\n context.setFillStyle(columnOption.meterFillColor);\r\n }else{\r\n context.setFillStyle(item.color || eachSeries.color);\r\n }\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = opts.height - opts.area[2] - item.y;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n context.fill();\r\n }else{\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.lineTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(startX, item.y);\r\n context.fill();\r\n }\r\n if (seriesIndex == 0 && columnOption.meterBorder > 0) {\r\n context.closePath();\r\n context.stroke();\r\n }\r\n }\r\n }\r\n break;\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n points = fixColumeData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'stack':\r\n var points = getStackDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'meter':\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n break;\r\n }\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawMountDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let mountOption = assign({}, {\r\n type: 'mount',\r\n widthRatio: 1,\r\n borderWidth: 1,\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.mount);\r\n mountOption.widthRatio = mountOption.widthRatio <= 0 ? 0 : mountOption.widthRatio;\r\n mountOption.widthRatio = mountOption.widthRatio >= 2 ? 2 : mountOption.widthRatio;\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n }\r\n mountOption.customColor = fillCustomColor(mountOption.linearType, mountOption.customColor, series, config);\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[0]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, process);\r\n switch (mountOption.type) {\r\n case 'bar':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((mountOption.barBorderRadius && mountOption.barBorderRadius.length === 4) || mountOption.barBorderCircle === true) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = opts.height - opts.area[2] - item.y - mountOption.borderWidth * opts.pix / 2; \r\n if (mountOption.barBorderCircle) {\r\n mountOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = mountOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.lineTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(startX, item.y);\r\n }\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'triangle':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(item.x, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'mount':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, opts.height - opts.area[2]);\r\n context.bezierCurveTo(item.x - item.width/4, opts.height - opts.area[2], item.x - item.width/4, item.y, item.x, item.y);\r\n context.bezierCurveTo(item.x + item.width/4, item.y, item.x + item.width/4, opts.height - opts.area[2], startX + item.width, opts.height - opts.area[2]);\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'sharp':\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - eachSpacing*mountOption.widthRatio/2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || series[i].color\r\n var strokeColor = item.color || series[i].color\r\n if (mountOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (mountOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(mountOption.customColor[series[i].linearIndex], mountOption.linearOpacity));\r\n grd.addColorStop(mountOption.colorStop, hexToRgb(mountOption.customColor[series[i].linearIndex],mountOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n context.moveTo(startX, opts.height - opts.area[2]);\r\n context.quadraticCurveTo(item.x - 0, opts.height - opts.area[2] - height/4, item.x, item.y);\r\n context.quadraticCurveTo(item.x + 0, opts.height - opts.area[2] - height/4, startX + item.width, opts.height - opts.area[2])\r\n context.setStrokeStyle(strokeColor);\r\n context.setFillStyle(fillColor);\r\n if(mountOption.borderWidth > 0){\r\n context.setLineWidth(mountOption.borderWidth * opts.pix);\r\n context.stroke();\r\n }\r\n context.fill();\r\n }\r\n };\r\n break;\r\n }\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[0]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var points = getMountDataPoints(series, minRange, maxRange, xAxisPoints, eachSpacing, opts, mountOption, process);\r\n drawMountPointText(points, series, config, context, opts);\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: points,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawBarDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let yAxisPoints = [];\r\n let eachSpacing = (opts.height - opts.area[0] - opts.area[2])/opts.categories.length;\r\n for (let i = 0; i < opts.categories.length; i++) {\r\n yAxisPoints.push(opts.area[0] + eachSpacing / 2 + eachSpacing * i);\r\n }\r\n let columnOption = assign({}, {\r\n type: 'group',\r\n width: eachSpacing / 2,\r\n meterBorder: 4,\r\n meterFillColor: '#FFFFFF',\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.bar);\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = yAxisPoints.length + 2;\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawBarToolTipSplitArea(opts.tooltip.offset.y, opts, config, context, eachSpacing);\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.xAxisData.ranges);\r\n maxRange = ranges.pop();\r\n minRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);\r\n var tooltipPoints = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(tooltipPoints);\r\n points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n //fix issues/I27B1N yyoinge & Joeshu\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n //var startX = item.x - item.width / 2;\r\n var startX = opts.area[3];\r\n var startY = item.y - item.width / 2;\r\n var height = item.height;\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, item.x, item.y);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex],columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle === true) {\r\n const left = startX;\r\n const width = item.width;\r\n const top = item.y - item.width / 2;\r\n const height = item.height;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n \r\n context.arc(left + r3, top + r3, r3, -Math.PI, -Math.PI / 2);\r\n context.arc(item.x - r0, top + r0, r0, -Math.PI / 2, 0);\r\n context.arc(item.x - r1, top + width - r1, r1, 0, Math.PI / 2);\r\n context.arc(left + r2, top + width - r2, r2, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, startY);\r\n context.lineTo(item.x, startY);\r\n context.lineTo(item.x, startY + item.width);\r\n context.lineTo(startX, startY + item.width);\r\n context.lineTo(startX, startY);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n //context.stroke();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n case 'stack':\r\n // 绘制堆叠数据图\r\n var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n calPoints.push(points);\r\n points = fixBarStackData(points, eachSpacing, series.length, seriesIndex, config, opts, series);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color;\r\n var startX = item.x0;\r\n context.setFillStyle(fillColor);\r\n context.moveTo(startX, item.y - item.width/2);\r\n context.fillRect(startX, item.y - item.width/2, item.height , item.width);\r\n context.closePath();\r\n context.fill();\r\n }\r\n };\r\n break;\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.xAxisData.ranges);\r\n maxRange = ranges.pop();\r\n minRange = ranges.shift();\r\n var data = eachSeries.data;\r\n switch (columnOption.type) {\r\n case 'group':\r\n var points = getBarDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, process);\r\n points = fixBarData(points, eachSpacing, series.length, seriesIndex, config, opts);\r\n drawBarPointText(points, eachSeries, config, context, opts);\r\n break;\r\n case 'stack':\r\n var points = getBarStackDataPoints(data, minRange, maxRange, yAxisPoints, eachSpacing, opts, config, seriesIndex, series, process);\r\n drawBarPointText(points, eachSeries, config, context, opts);\r\n break;\r\n }\r\n });\r\n }\r\n return {\r\n yAxisPoints: yAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawCandleDataPoints(series, seriesMA, opts, config, context) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var candleOption = assign({}, {\r\n color: {},\r\n average: {}\r\n }, opts.extra.candle);\r\n candleOption.color = assign({}, {\r\n upLine: '#f04864',\r\n upFill: '#f04864',\r\n downLine: '#2fc25b',\r\n downFill: '#2fc25b'\r\n }, candleOption.color);\r\n candleOption.average = assign({}, {\r\n show: false,\r\n name: [],\r\n day: [],\r\n color: config.color\r\n }, candleOption.average);\r\n opts.extra.candle = candleOption;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let calPoints = [];\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n //画均线\r\n if (candleOption.average.show || seriesMA) { //Merge pull request !12 from 邱贵翔\r\n seriesMA.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(1);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x,\r\n item.y);\r\n }\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n }\r\n //画K线\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getCandleDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList[0].length; i++) {\r\n if (i > leftNum && i < rightNum) {\r\n let item = splitPointList[0][i];\r\n context.beginPath();\r\n //如果上涨\r\n if (data[i][1] - data[i][0] > 0) {\r\n context.setStrokeStyle(candleOption.color.upLine);\r\n context.setFillStyle(candleOption.color.upFill);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点\r\n context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[2].x, item[2].y); //底点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点\r\n context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n } else {\r\n context.setStrokeStyle(candleOption.color.downLine);\r\n context.setFillStyle(candleOption.color.downFill);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.lineTo(item[0].x - eachSpacing / 4, item[0].y); //开盘左侧点\r\n context.lineTo(item[1].x - eachSpacing / 4, item[1].y); //收盘左侧点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[2].x, item[2].y); //底点\r\n context.lineTo(item[1].x, item[1].y); //收盘中间点\r\n context.lineTo(item[1].x + eachSpacing / 4, item[1].y); //收盘右侧点\r\n context.lineTo(item[0].x + eachSpacing / 4, item[0].y); //开盘右侧点\r\n context.lineTo(item[0].x, item[0].y); //开盘中间点\r\n context.moveTo(item[3].x, item[3].y); //顶点\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n }\r\n }\r\n });\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawAreaDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var areaOption = assign({}, {\r\n type: 'straight',\r\n opacity: 0.2,\r\n addLine: false,\r\n width: 2,\r\n gradient: false\r\n }, opts.extra.area);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let endY = opts.height - opts.area[2];\r\n let calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n let data = eachSeries.data;\r\n let points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n let splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n // 绘制区域数\r\n context.beginPath();\r\n context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n if (areaOption.gradient) {\r\n let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);\r\n gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n } else {\r\n context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n }\r\n context.setLineWidth(areaOption.width * opts.pix);\r\n if (points.length > 1) {\r\n let firstPoint = points[0];\r\n let lastPoint = points[points.length - 1];\r\n context.moveTo(firstPoint.x, firstPoint.y);\r\n let startPoint = 0;\r\n if (areaOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n let ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n } \r\n if (areaOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.lineTo(lastPoint.x, endY);\r\n context.lineTo(firstPoint.x, endY);\r\n context.lineTo(firstPoint.x, firstPoint.y);\r\n } else {\r\n let item = points[0];\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n context.lineTo(item.x + eachSpacing / 2, item.y);\r\n context.lineTo(item.x + eachSpacing / 2, endY);\r\n context.lineTo(item.x - eachSpacing / 2, endY);\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n }\r\n context.closePath();\r\n context.fill();\r\n //画连线\r\n if (areaOption.addLine) {\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(areaOption.width * opts.pix);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (areaOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n let ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (areaOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.stroke();\r\n context.setLineDash([]);\r\n }\r\n }\r\n //画点\r\n if (opts.dataPointShape !== false) {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawScatterDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var scatterOption = assign({}, {\r\n type: 'circle'\r\n }, opts.extra.scatter);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setFillStyle(eachSeries.color);\r\n context.setLineWidth(1 * opts.pix);\r\n var shape = eachSeries.pointShape;\r\n if (shape === 'diamond') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y);\r\n context.lineTo(item.x, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'circle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x + 2.5 * opts.pix, item.y);\r\n context.arc(item.x, item.y, 3 * opts.pix, 0, 2 * Math.PI, false);\r\n }\r\n });\r\n } else if (shape === 'square') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x - 3.5, item.y - 3.5);\r\n context.rect(item.x - 3.5, item.y - 3.5, 7, 7);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n points.forEach(function(item, index) {\r\n if (item !== null) {\r\n context.moveTo(item.x, item.y - 4.5);\r\n context.lineTo(item.x - 4.5, item.y + 4.5);\r\n context.lineTo(item.x + 4.5, item.y + 4.5);\r\n context.lineTo(item.x, item.y - 4.5);\r\n }\r\n });\r\n } else if (shape === 'triangle') {\r\n return;\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawBubbleDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var bubbleOption = assign({}, {\r\n opacity: 1,\r\n border:2\r\n }, opts.extra.bubble);\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(bubbleOption.border * opts.pix);\r\n context.setFillStyle(hexToRgb(eachSeries.color, bubbleOption.opacity));\r\n points.forEach(function(item, index) {\r\n context.moveTo(item.x + item.r, item.y);\r\n context.arc(item.x, item.y, item.r * opts.pix, 0, 2 * Math.PI, false);\r\n });\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n \r\n if (opts.dataLabel !== false && process === 1) {\r\n points.forEach(function(item, index) {\r\n context.beginPath();\r\n var fontSize = eachSeries.textSize * opts.pix || config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(eachSeries.textColor || \"#FFFFFF\");\r\n context.setTextAlign('center');\r\n context.fillText(String(item.t), item.x, item.y + fontSize/2);\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n });\r\n }\r\n });\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawLineDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var lineOption = assign({}, {\r\n type: 'straight',\r\n width: 2\r\n }, opts.extra.line);\r\n lineOption.width *= opts.pix;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var calPoints = [];\r\n context.save();\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n var splitPointList = splitPoints(points,eachSeries);\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(lineOption.width);\r\n splitPointList.forEach(function(points, index) {\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (lineOption.type === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n }\r\n if (lineOption.type === 'straight') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n if (lineOption.type === 'step') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, points[j - 1].y);\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n });\r\n context.stroke();\r\n context.setLineDash([]);\r\n if (opts.dataPointShape !== false) {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing\r\n };\r\n}\r\n\r\nfunction drawMixDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n eachSpacing = xAxisData.eachSpacing;\r\n let columnOption = assign({}, {\r\n width: eachSpacing / 2,\r\n barBorderCircle: false,\r\n barBorderRadius: [],\r\n seriesGap: 2,\r\n linearType: 'none',\r\n linearOpacity: 1,\r\n customColor: [],\r\n colorStop: 0,\r\n }, opts.extra.mix.column);\r\n let areaOption = assign({}, {\r\n opacity: 0.2,\r\n gradient: false\r\n }, opts.extra.mix.area);\r\n let lineOption = assign({}, {\r\n width: 2\r\n }, opts.extra.mix.line);\r\n let endY = opts.height - opts.area[2];\r\n let calPoints = [];\r\n var columnIndex = 0;\r\n var columnLength = 0;\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (eachSeries.type == 'column') {\r\n columnLength += 1;\r\n }\r\n });\r\n context.save();\r\n let leftNum = -2;\r\n let rightNum = xAxisPoints.length + 2;\r\n let leftSpace = 0;\r\n let rightSpace = opts.width + eachSpacing;\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n leftNum = Math.floor(-opts._scrollDistance_ / eachSpacing) - 2;\r\n rightNum = leftNum + opts.xAxis.itemCount + 4;\r\n leftSpace = -opts._scrollDistance_ - eachSpacing * 2 + opts.area[3];\r\n rightSpace = leftSpace + (opts.xAxis.itemCount + 4) * eachSpacing;\r\n }\r\n columnOption.customColor = fillCustomColor(columnOption.linearType, columnOption.customColor, series, config);\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n calPoints.push(points);\r\n // 绘制柱状数据图\r\n if (eachSeries.type == 'column') {\r\n points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);\r\n for (let i = 0; i < points.length; i++) {\r\n let item = points[i];\r\n if (item !== null && i > leftNum && i < rightNum) {\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\r\n context.beginPath();\r\n var fillColor = item.color || eachSeries.color\r\n var strokeColor = item.color || eachSeries.color\r\n if (columnOption.linearType !== 'none') {\r\n var grd = context.createLinearGradient(startX, item.y, startX, opts.height - opts.area[2]);\r\n //透明渐变\r\n if (columnOption.linearType == 'opacity') {\r\n grd.addColorStop(0, hexToRgb(fillColor, columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n } else {\r\n grd.addColorStop(0, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(columnOption.colorStop, hexToRgb(columnOption.customColor[eachSeries.linearIndex], columnOption.linearOpacity));\r\n grd.addColorStop(1, hexToRgb(fillColor, 1));\r\n }\r\n fillColor = grd\r\n }\r\n // 圆角边框\r\n if ((columnOption.barBorderRadius && columnOption.barBorderRadius.length === 4) || columnOption.barBorderCircle) {\r\n const left = startX;\r\n const top = item.y;\r\n const width = item.width;\r\n const height = opts.height - opts.area[2] - item.y;\r\n if (columnOption.barBorderCircle) {\r\n columnOption.barBorderRadius = [width / 2, width / 2, 0, 0];\r\n }\r\n let [r0, r1, r2, r3] = columnOption.barBorderRadius;\r\n let minRadius = Math.min(width/2,height/2);\r\n r0 = r0 > minRadius ? minRadius : r0;\r\n r1 = r1 > minRadius ? minRadius : r1;\r\n r2 = r2 > minRadius ? minRadius : r2;\r\n r3 = r3 > minRadius ? minRadius : r3;\r\n r0 = r0 < 0 ? 0 : r0;\r\n r1 = r1 < 0 ? 0 : r1;\r\n r2 = r2 < 0 ? 0 : r2;\r\n r3 = r3 < 0 ? 0 : r3;\r\n context.arc(left + r0, top + r0, r0, -Math.PI, -Math.PI / 2);\r\n context.arc(left + width - r1, top + r1, r1, -Math.PI / 2, 0);\r\n context.arc(left + width - r2, top + height - r2, r2, 0, Math.PI / 2);\r\n context.arc(left + r3, top + height - r3, r3, Math.PI / 2, Math.PI);\r\n } else {\r\n context.moveTo(startX, item.y);\r\n context.lineTo(startX + item.width, item.y);\r\n context.lineTo(startX + item.width, opts.height - opts.area[2]);\r\n context.lineTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(startX, item.y);\r\n context.setLineWidth(1)\r\n context.setStrokeStyle(strokeColor);\r\n }\r\n context.setFillStyle(fillColor);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n columnIndex += 1;\r\n }\r\n //绘制区域图数据\r\n if (eachSeries.type == 'area') {\r\n let splitPointList = splitPoints(points,eachSeries);\r\n for (let i = 0; i < splitPointList.length; i++) {\r\n let points = splitPointList[i];\r\n // 绘制区域数据\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setStrokeStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n if (areaOption.gradient) {\r\n let gradient = context.createLinearGradient(0, opts.area[0], 0, opts.height - opts.area[2]);\r\n gradient.addColorStop('0', hexToRgb(eachSeries.color, areaOption.opacity));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n } else {\r\n context.setFillStyle(hexToRgb(eachSeries.color, areaOption.opacity));\r\n }\r\n context.setLineWidth(2 * opts.pix);\r\n if (points.length > 1) {\r\n var firstPoint = points[0];\r\n let lastPoint = points[points.length - 1];\r\n context.moveTo(firstPoint.x, firstPoint.y);\r\n let startPoint = 0;\r\n if (eachSeries.style === 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y, item.x, item.y);\r\n }\r\n };\r\n } else {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n };\r\n }\r\n context.lineTo(lastPoint.x, endY);\r\n context.lineTo(firstPoint.x, endY);\r\n context.lineTo(firstPoint.x, firstPoint.y);\r\n } else {\r\n let item = points[0];\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n context.lineTo(item.x + eachSpacing / 2, item.y);\r\n context.lineTo(item.x + eachSpacing / 2, endY);\r\n context.lineTo(item.x - eachSpacing / 2, endY);\r\n context.moveTo(item.x - eachSpacing / 2, item.y);\r\n }\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n // 绘制折线数据图\r\n if (eachSeries.type == 'line') {\r\n var splitPointList = splitPoints(points,eachSeries);\r\n splitPointList.forEach(function(points, index) {\r\n if (eachSeries.lineType == 'dash') {\r\n let dashLength = eachSeries.dashLength ? eachSeries.dashLength : 8;\r\n dashLength *= opts.pix;\r\n context.setLineDash([dashLength, dashLength]);\r\n }\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(lineOption.width * opts.pix);\r\n if (points.length === 1) {\r\n context.moveTo(points[0].x, points[0].y);\r\n context.arc(points[0].x, points[0].y, 1, 0, 2 * Math.PI);\r\n } else {\r\n context.moveTo(points[0].x, points[0].y);\r\n let startPoint = 0;\r\n if (eachSeries.style == 'curve') {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n var ctrlPoint = createCurveControlPoints(points, j - 1);\r\n context.bezierCurveTo(ctrlPoint.ctrA.x, ctrlPoint.ctrA.y, ctrlPoint.ctrB.x, ctrlPoint.ctrB.y,\r\n item.x, item.y);\r\n }\r\n }\r\n } else {\r\n for (let j = 0; j < points.length; j++) {\r\n let item = points[j];\r\n if (startPoint == 0 && item.x > leftSpace) {\r\n context.moveTo(item.x, item.y);\r\n startPoint = 1;\r\n }\r\n if (j > 0 && item.x > leftSpace && item.x < rightSpace) {\r\n context.lineTo(item.x, item.y);\r\n }\r\n }\r\n }\r\n context.moveTo(points[0].x, points[0].y);\r\n }\r\n context.stroke();\r\n context.setLineDash([]);\r\n });\r\n }\r\n // 绘制点数据图\r\n if (eachSeries.type == 'point') {\r\n eachSeries.addPoint = true;\r\n }\r\n if (eachSeries.addPoint == true && eachSeries.type !== 'column') {\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n if (opts.dataLabel !== false && process === 1) {\r\n var columnIndex = 0;\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n let ranges, minRange, maxRange;\r\n ranges = [].concat(opts.chartData.yAxisData.ranges[eachSeries.index]);\r\n minRange = ranges.pop();\r\n maxRange = ranges.shift();\r\n var data = eachSeries.data;\r\n var points = getDataPoints(data, minRange, maxRange, xAxisPoints, eachSpacing, opts, config, process);\r\n if (eachSeries.type !== 'column') {\r\n drawPointText(points, eachSeries, config, context, opts);\r\n } else {\r\n points = fixColumeData(points, eachSpacing, columnLength, columnIndex, config, opts);\r\n drawPointText(points, eachSeries, config, context, opts);\r\n columnIndex += 1;\r\n }\r\n });\r\n }\r\n context.restore();\r\n return {\r\n xAxisPoints: xAxisPoints,\r\n calPoints: calPoints,\r\n eachSpacing: eachSpacing,\r\n }\r\n}\r\n\r\n\r\nfunction drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints) {\r\n var toolTipOption = opts.extra.tooltip || {};\r\n if (toolTipOption.horizentalLine && opts.tooltip && process === 1 && (opts.type == 'line' || opts.type == 'area' || opts.type == 'column' || opts.type == 'mount' || opts.type == 'candle' || opts.type == 'mix')) {\r\n drawToolTipHorizentalLine(opts, config, context, eachSpacing, xAxisPoints)\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0 && opts.enableScroll === true) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n if (opts.tooltip && opts.tooltip.textList && opts.tooltip.textList.length && process === 1) {\r\n drawToolTip(opts.tooltip.textList, opts.tooltip.offset, opts, config, context, eachSpacing, xAxisPoints);\r\n }\r\n context.restore();\r\n\r\n}\r\n\r\nfunction drawXAxis(categories, opts, config, context) {\r\n\r\n let xAxisData = opts.chartData.xAxisData,\r\n xAxisPoints = xAxisData.xAxisPoints,\r\n startX = xAxisData.startX,\r\n endX = xAxisData.endX,\r\n eachSpacing = xAxisData.eachSpacing;\r\n var boundaryGap = 'center';\r\n if (opts.type == 'bar' || opts.type == 'line' || opts.type == 'area'|| opts.type == 'scatter' || opts.type == 'bubble') {\r\n boundaryGap = opts.xAxis.boundaryGap;\r\n }\r\n var startY = opts.height - opts.area[2];\r\n var endY = opts.area[0];\r\n\r\n //绘制滚动条\r\n if (opts.enableScroll && opts.xAxis.scrollShow) {\r\n var scrollY = opts.height - opts.area[2] + config.xAxisHeight;\r\n var scrollScreenWidth = endX - startX;\r\n var scrollTotalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n scrollTotalWidth += (opts.extra.mount.widthRatio - 1)*eachSpacing;\r\n }\r\n var scrollWidth = scrollScreenWidth * scrollScreenWidth / scrollTotalWidth;\r\n var scrollLeft = 0;\r\n if (opts._scrollDistance_) {\r\n scrollLeft = -opts._scrollDistance_ * (scrollScreenWidth) / scrollTotalWidth;\r\n }\r\n context.beginPath();\r\n context.setLineCap('round');\r\n context.setLineWidth(6 * opts.pix);\r\n context.setStrokeStyle(opts.xAxis.scrollBackgroundColor || \"#EFEBEF\");\r\n context.moveTo(startX, scrollY);\r\n context.lineTo(endX, scrollY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.setLineCap('round');\r\n context.setLineWidth(6 * opts.pix);\r\n context.setStrokeStyle(opts.xAxis.scrollColor || \"#A6A6A6\");\r\n context.moveTo(startX + scrollLeft, scrollY);\r\n context.lineTo(startX + scrollLeft + scrollWidth, scrollY);\r\n context.stroke();\r\n context.closePath();\r\n context.setLineCap('butt');\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n //绘制X轴刻度线\r\n if (opts.xAxis.calibration === true) {\r\n context.setStrokeStyle(opts.xAxis.gridColor || \"#cccccc\");\r\n context.setLineCap('butt');\r\n context.setLineWidth(1 * opts.pix);\r\n xAxisPoints.forEach(function(item, index) {\r\n if (index > 0) {\r\n context.beginPath();\r\n context.moveTo(item - eachSpacing / 2, startY);\r\n context.lineTo(item - eachSpacing / 2, startY + 3 * opts.pix);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n }\r\n //绘制X轴网格\r\n if (opts.xAxis.disableGrid !== true) {\r\n context.setStrokeStyle(opts.xAxis.gridColor || \"#cccccc\");\r\n context.setLineCap('butt');\r\n context.setLineWidth(1 * opts.pix);\r\n if (opts.xAxis.gridType == 'dash') {\r\n context.setLineDash([opts.xAxis.dashLength * opts.pix, opts.xAxis.dashLength * opts.pix]);\r\n }\r\n opts.xAxis.gridEval = opts.xAxis.gridEval || 1;\r\n xAxisPoints.forEach(function(item, index) {\r\n if (index % opts.xAxis.gridEval == 0) {\r\n context.beginPath();\r\n context.moveTo(item, startY);\r\n context.lineTo(item, endY);\r\n context.stroke();\r\n }\r\n });\r\n context.setLineDash([]);\r\n }\r\n //绘制X轴文案\r\n if (opts.xAxis.disabled !== true) {\r\n // 对X轴列表做抽稀处理\r\n //默认全部显示X轴标签\r\n let maxXAxisListLength = categories.length;\r\n //如果设置了X轴单屏数量\r\n if (opts.xAxis.labelCount) {\r\n //如果设置X轴密度\r\n if (opts.xAxis.itemCount) {\r\n maxXAxisListLength = Math.ceil(categories.length / opts.xAxis.itemCount * opts.xAxis.labelCount);\r\n } else {\r\n maxXAxisListLength = opts.xAxis.labelCount;\r\n }\r\n maxXAxisListLength -= 1;\r\n }\r\n\r\n let ratio = Math.ceil(categories.length / maxXAxisListLength);\r\n\r\n let newCategories = [];\r\n let cgLength = categories.length;\r\n for (let i = 0; i < cgLength; i++) {\r\n if (i % ratio !== 0) {\r\n newCategories.push(\"\");\r\n } else {\r\n newCategories.push(categories[i]);\r\n }\r\n }\r\n newCategories[cgLength - 1] = categories[cgLength - 1];\r\n var xAxisFontSize = opts.xAxis.fontSize * opts.pix || config.fontSize;\r\n if (config._xAxisTextAngle_ === 0) {\r\n newCategories.forEach(function(item, index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item,index,opts) : item;\r\n var offset = -measureText(String(xitem), xAxisFontSize, context) / 2;\r\n if (boundaryGap == 'center') {\r\n offset += eachSpacing / 2;\r\n }\r\n var scrollHeight = 0;\r\n if (opts.xAxis.scrollShow) {\r\n scrollHeight = 6 * opts.pix;\r\n }\r\n // 如果在主视图区域内\r\n var _scrollDistance_ = opts._scrollDistance_ || 0;\r\n var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index];\r\n if((truePoints - Math.abs(_scrollDistance_)) >= opts.area[3] && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1])){\r\n context.beginPath();\r\n context.setFontSize(xAxisFontSize);\r\n context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);\r\n context.fillText(String(xitem), xAxisPoints[index] + offset, startY + xAxisFontSize + (config.xAxisHeight - scrollHeight - xAxisFontSize) / 2);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n });\r\n } else {\r\n newCategories.forEach(function(item, index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(item) : item;\r\n // 如果在主视图区域内\r\n var _scrollDistance_ = opts._scrollDistance_ || 0;\r\n var truePoints = boundaryGap == 'center' ? xAxisPoints[index] + eachSpacing / 2 : xAxisPoints[index];\r\n if((truePoints - Math.abs(_scrollDistance_)) >= opts.area[3] && (truePoints - Math.abs(_scrollDistance_)) <= (opts.width - opts.area[1])){\r\n context.save();\r\n context.beginPath();\r\n context.setFontSize(xAxisFontSize);\r\n context.setFillStyle(opts.xAxis.fontColor || opts.fontColor);\r\n var textWidth = measureText(String(xitem), xAxisFontSize, context);\r\n var offsetX = xAxisPoints[index];\r\n if (boundaryGap == 'center') {\r\n offsetX = xAxisPoints[index] + eachSpacing / 2;\r\n }\r\n var scrollHeight = 0;\r\n if (opts.xAxis.scrollShow) {\r\n scrollHeight = 6 * opts.pix;\r\n }\r\n var offsetY = startY + 6 * opts.pix + xAxisFontSize - xAxisFontSize * Math.abs(Math.sin(config._xAxisTextAngle_));\r\n if(opts.xAxis.rotateAngle < 0){\r\n offsetX -= xAxisFontSize / 2;\r\n textWidth = 0;\r\n }else{\r\n offsetX += xAxisFontSize / 2;\r\n textWidth = -textWidth;\r\n }\r\n context.translate(offsetX, offsetY);\r\n context.rotate(-1 * config._xAxisTextAngle_);\r\n context.fillText(String(xitem), textWidth , 0 );\r\n context.closePath();\r\n context.stroke();\r\n context.restore();\r\n }\r\n });\r\n }\r\n }\r\n context.restore();\r\n //绘制X轴轴线\r\n if (opts.xAxis.axisLine) {\r\n context.beginPath();\r\n context.setStrokeStyle(opts.xAxis.axisLineColor);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(startX, opts.height - opts.area[2]);\r\n context.lineTo(endX, opts.height - opts.area[2]);\r\n context.stroke();\r\n }\r\n}\r\n\r\nfunction drawYAxisGrid(categories, opts, config, context) {\r\n if (opts.yAxis.disableGrid === true) {\r\n return;\r\n }\r\n let spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n let eachSpacing = spacingValid / opts.yAxis.splitNumber;\r\n let startX = opts.area[3];\r\n let xAxisPoints = opts.chartData.xAxisData.xAxisPoints,\r\n xAxiseachSpacing = opts.chartData.xAxisData.eachSpacing;\r\n let TotalWidth = xAxiseachSpacing * (xAxisPoints.length - 1);\r\n if(opts.type == 'mount' && opts.extra && opts.extra.mount && opts.extra.mount.widthRatio && opts.extra.mount.widthRatio > 1 ){\r\n if(opts.extra.mount.widthRatio>2) opts.extra.mount.widthRatio = 2\r\n TotalWidth += (opts.extra.mount.widthRatio - 1)*xAxiseachSpacing;\r\n }\r\n let endX = startX + TotalWidth;\r\n let points = [];\r\n let startY = 1\r\n if (opts.xAxis.axisLine === false) {\r\n startY = 0\r\n }\r\n for (let i = startY; i < opts.yAxis.splitNumber + 1; i++) {\r\n points.push(opts.height - opts.area[2] - eachSpacing * i);\r\n }\r\n context.save();\r\n if (opts._scrollDistance_ && opts._scrollDistance_ !== 0) {\r\n context.translate(opts._scrollDistance_, 0);\r\n }\r\n if (opts.yAxis.gridType == 'dash') {\r\n context.setLineDash([opts.yAxis.dashLength * opts.pix, opts.yAxis.dashLength * opts.pix]);\r\n }\r\n context.setStrokeStyle(opts.yAxis.gridColor);\r\n context.setLineWidth(1 * opts.pix);\r\n points.forEach(function(item, index) {\r\n context.beginPath();\r\n context.moveTo(startX, item);\r\n context.lineTo(endX, item);\r\n context.stroke();\r\n });\r\n context.setLineDash([]);\r\n context.restore();\r\n}\r\n\r\nfunction drawYAxis(series, opts, config, context) {\r\n if (opts.yAxis.disabled === true) {\r\n return;\r\n }\r\n var spacingValid = opts.height - opts.area[0] - opts.area[2];\r\n var eachSpacing = spacingValid / opts.yAxis.splitNumber;\r\n var startX = opts.area[3];\r\n var endX = opts.width - opts.area[1];\r\n var endY = opts.height - opts.area[2];\r\n // set YAxis background\r\n context.beginPath();\r\n context.setFillStyle(opts.background);\r\n if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'left') {\r\n context.fillRect(0, 0, startX, endY + 2 * opts.pix);\r\n }\r\n if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'right') {\r\n context.fillRect(endX, 0, opts.width, endY + 2 * opts.pix);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n \r\n let tStartLeft = opts.area[3];\r\n let tStartRight = opts.width - opts.area[1];\r\n let tStartCenter = opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2;\r\n if (opts.yAxis.data) {\r\n for (let i = 0; i < opts.yAxis.data.length; i++) {\r\n let yData = opts.yAxis.data[i];\r\n var points = [];\r\n if(yData.type === 'categories'){\r\n for (let i = 0; i <= yData.categories.length; i++) {\r\n points.push(opts.area[0] + spacingValid / yData.categories.length / 2 + spacingValid / yData.categories.length * i);\r\n }\r\n }else{\r\n for (let i = 0; i <= opts.yAxis.splitNumber; i++) {\r\n points.push(opts.area[0] + eachSpacing * i);\r\n }\r\n }\r\n if (yData.disabled !== true) {\r\n let rangesFormat = opts.chartData.yAxisData.rangesFormat[i];\r\n let yAxisFontSize = yData.fontSize ? yData.fontSize * opts.pix : config.fontSize;\r\n let yAxisWidth = opts.chartData.yAxisData.yAxisWidth[i];\r\n let textAlign = yData.textAlign || \"right\";\r\n //画Y轴刻度及文案\r\n rangesFormat.forEach(function(item, index) {\r\n var pos = points[index];\r\n context.beginPath();\r\n context.setFontSize(yAxisFontSize);\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(yData.axisLineColor || '#cccccc');\r\n context.setFillStyle(yData.fontColor || opts.fontColor);\r\n let tmpstrat = 0;\r\n let gapwidth = 4 * opts.pix;\r\n if (yAxisWidth.position == 'left') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartLeft, pos);\r\n context.lineTo(tStartLeft - 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n //画文字\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartLeft - yAxisWidth.width\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartLeft - gapwidth\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartLeft - yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n\r\n } else if (yAxisWidth.position == 'right') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartRight, pos);\r\n context.lineTo(tStartRight + 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartRight + gapwidth\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartRight + yAxisWidth.width\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartRight + yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n } else if (yAxisWidth.position == 'center') {\r\n //画刻度线\r\n if (yData.calibration == true) {\r\n context.moveTo(tStartCenter, pos);\r\n context.lineTo(tStartCenter - 3 * opts.pix, pos);\r\n gapwidth += 3 * opts.pix;\r\n }\r\n //画文字\r\n switch (textAlign) {\r\n case \"left\":\r\n context.setTextAlign('left');\r\n tmpstrat = tStartCenter - yAxisWidth.width\r\n break;\r\n case \"right\":\r\n context.setTextAlign('right');\r\n tmpstrat = tStartCenter - gapwidth\r\n break;\r\n default:\r\n context.setTextAlign('center');\r\n tmpstrat = tStartCenter - yAxisWidth.width / 2\r\n }\r\n context.fillText(String(item), tmpstrat, pos + yAxisFontSize / 2 - 3 * opts.pix);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n context.setTextAlign('left');\r\n });\r\n //画Y轴轴线\r\n if (yData.axisLine !== false) {\r\n context.beginPath();\r\n context.setStrokeStyle(yData.axisLineColor || '#cccccc');\r\n context.setLineWidth(1 * opts.pix);\r\n if (yAxisWidth.position == 'left') {\r\n context.moveTo(tStartLeft, opts.height - opts.area[2]);\r\n context.lineTo(tStartLeft, opts.area[0]);\r\n } else if (yAxisWidth.position == 'right') {\r\n context.moveTo(tStartRight, opts.height - opts.area[2]);\r\n context.lineTo(tStartRight, opts.area[0]);\r\n } else if (yAxisWidth.position == 'center') {\r\n context.moveTo(tStartCenter, opts.height - opts.area[2]);\r\n context.lineTo(tStartCenter, opts.area[0]);\r\n }\r\n context.stroke();\r\n }\r\n //画Y轴标题\r\n if (opts.yAxis.showTitle) {\r\n let titleFontSize = yData.titleFontSize * opts.pix || config.fontSize;\r\n let title = yData.title;\r\n context.beginPath();\r\n context.setFontSize(titleFontSize);\r\n context.setFillStyle(yData.titleFontColor || opts.fontColor);\r\n if (yAxisWidth.position == 'left') {\r\n context.fillText(title, tStartLeft - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n } else if (yAxisWidth.position == 'right') {\r\n context.fillText(title, tStartRight - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n } else if (yAxisWidth.position == 'center') {\r\n context.fillText(title, tStartCenter - measureText(title, titleFontSize, context) / 2 + (yData.titleOffsetX || 0), opts.area[0] - (10 - (yData.titleOffsetY || 0)) * opts.pix);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n }\r\n if (yAxisWidth.position == 'left') {\r\n tStartLeft -= (yAxisWidth.width + opts.yAxis.padding * opts.pix);\r\n } else {\r\n tStartRight += yAxisWidth.width + opts.yAxis.padding * opts.pix;\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction drawLegend(series, opts, config, context, chartData) {\r\n if (opts.legend.show === false) {\r\n return;\r\n }\r\n let legendData = chartData.legendData;\r\n let legendList = legendData.points;\r\n let legendArea = legendData.area;\r\n let padding = opts.legend.padding * opts.pix;\r\n let fontSize = opts.legend.fontSize * opts.pix;\r\n let shapeWidth = 15 * opts.pix;\r\n let shapeRight = 5 * opts.pix;\r\n let itemGap = opts.legend.itemGap * opts.pix;\r\n let lineHeight = Math.max(opts.legend.lineHeight * opts.pix, fontSize);\r\n //画背景及边框\r\n context.beginPath();\r\n context.setLineWidth(opts.legend.borderWidth * opts.pix);\r\n context.setStrokeStyle(opts.legend.borderColor);\r\n context.setFillStyle(opts.legend.backgroundColor);\r\n context.moveTo(legendArea.start.x, legendArea.start.y);\r\n context.rect(legendArea.start.x, legendArea.start.y, legendArea.width, legendArea.height);\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n legendList.forEach(function(itemList, listIndex) {\r\n let width = 0;\r\n let height = 0;\r\n width = legendData.widthArr[listIndex];\r\n height = legendData.heightArr[listIndex];\r\n let startX = 0;\r\n let startY = 0;\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n switch (opts.legend.float) {\r\n case 'left':\r\n startX = legendArea.start.x + padding;\r\n break;\r\n case 'right':\r\n startX = legendArea.start.x + legendArea.width - width;\r\n break;\r\n default:\r\n startX = legendArea.start.x + (legendArea.width - width) / 2;\r\n }\r\n startY = legendArea.start.y + padding + listIndex * lineHeight;\r\n } else {\r\n if (listIndex == 0) {\r\n width = 0;\r\n } else {\r\n width = legendData.widthArr[listIndex - 1];\r\n }\r\n startX = legendArea.start.x + padding + width;\r\n startY = legendArea.start.y + padding + (legendArea.height - height) / 2;\r\n }\r\n context.setFontSize(config.fontSize);\r\n for (let i = 0; i < itemList.length; i++) {\r\n let item = itemList[i];\r\n item.area = [0, 0, 0, 0];\r\n item.area[0] = startX;\r\n item.area[1] = startY;\r\n item.area[3] = startY + lineHeight;\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.show ? item.color : opts.legend.hiddenColor);\r\n context.setFillStyle(item.show ? item.color : opts.legend.hiddenColor);\r\n switch (item.legendShape) {\r\n case 'line':\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 2 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 2 * opts.pix, 15 * opts.pix, 4 * opts.pix);\r\n break;\r\n case 'triangle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n break;\r\n case 'diamond':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.lineTo(startX + 2.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight + 5 * opts.pix);\r\n context.lineTo(startX + 12.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.lineTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n break;\r\n case 'circle':\r\n context.moveTo(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight);\r\n context.arc(startX + 7.5 * opts.pix, startY + 0.5 * lineHeight, 5 * opts.pix, 0, 2 * Math.PI);\r\n break;\r\n case 'rect':\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n break;\r\n case 'square':\r\n context.moveTo(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX + 5 * opts.pix, startY + 0.5 * lineHeight - 5 * opts.pix, 10 * opts.pix, 10 * opts.pix);\r\n break;\r\n case 'none':\r\n break;\r\n default:\r\n context.moveTo(startX, startY + 0.5 * lineHeight - 5 * opts.pix);\r\n context.fillRect(startX, startY + 0.5 * lineHeight - 5 * opts.pix, 15 * opts.pix, 10 * opts.pix);\r\n }\r\n context.closePath();\r\n context.fill();\r\n context.stroke();\r\n startX += shapeWidth + shapeRight;\r\n let fontTrans = 0.5 * lineHeight + 0.5 * fontSize - 2;\r\n const legendText = item.legendText ? item.legendText : item.name;\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor);\r\n context.fillText(legendText, startX, startY + fontTrans);\r\n context.closePath();\r\n context.stroke();\r\n if (opts.legend.position == 'top' || opts.legend.position == 'bottom') {\r\n startX += measureText(legendText, fontSize, context) + itemGap;\r\n item.area[2] = startX;\r\n } else {\r\n item.area[2] = startX + measureText(legendText, fontSize, context) + itemGap;;\r\n startX -= shapeWidth + shapeRight;\r\n startY += lineHeight;\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction drawPieDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var pieOption = assign({}, {\r\n activeOpacity: 0.5,\r\n activeRadius: 10,\r\n offsetAngle: 0,\r\n labelWidth: 15,\r\n ringWidth: 30,\r\n customRadius: 0,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n centerColor: '#FFFFFF',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.type == \"pie\" ? opts.extra.pie : opts.extra.ring);\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n if (config.pieChartLinePadding == 0) {\r\n config.pieChartLinePadding = pieOption.activeRadius * opts.pix;\r\n }\r\n\r\n var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);\r\n radius = radius < 10 ? 10 : radius;\r\n if (pieOption.customRadius > 0) {\r\n radius = pieOption.customRadius * opts.pix;\r\n }\r\n series = getPieDataPoints(series, radius, process);\r\n var activeRadius = pieOption.activeRadius * opts.pix;\r\n pieOption.customColor = fillCustomColor(pieOption.linearType, pieOption.customColor, series, config);\r\n series = series.map(function(eachSeries) {\r\n eachSeries._start_ += (pieOption.offsetAngle) * Math.PI / 180;\r\n return eachSeries;\r\n });\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == seriesIndex) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(eachSeries.color, pieOption.activeOpacity || 0.5));\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_ + activeRadius, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n context.beginPath();\r\n context.setLineWidth(pieOption.borderWidth * opts.pix);\r\n context.lineJoin = \"round\";\r\n context.setStrokeStyle(pieOption.borderColor);\r\n var fillcolor = eachSeries.color;\r\n if (pieOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }\r\n grd.addColorStop(0, hexToRgb(pieOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, 1))\r\n fillcolor = grd\r\n }\r\n context.setFillStyle(fillcolor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n if (pieOption.border == true) {\r\n context.stroke();\r\n }\r\n });\r\n if (opts.type === 'ring') {\r\n var innerPieWidth = radius * 0.6;\r\n if (typeof pieOption.ringWidth === 'number' && pieOption.ringWidth > 0) {\r\n innerPieWidth = Math.max(0, radius - pieOption.ringWidth * opts.pix);\r\n }\r\n context.beginPath();\r\n context.setFillStyle(pieOption.centerColor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, innerPieWidth, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\r\n if (process === 1 && opts.type === 'ring') {\r\n drawRingTitle(opts, config, context, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawRoseDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var roseOption = assign({}, {\r\n type: 'area',\r\n activeOpacity: 0.5,\r\n activeRadius: 10,\r\n offsetAngle: 0,\r\n labelWidth: 15,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.rose);\r\n if (config.pieChartLinePadding == 0) {\r\n config.pieChartLinePadding = roseOption.activeRadius * opts.pix;\r\n }\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n var radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding - config._pieTextMaxLength_, (opts.height - opts.area[0] - opts.area[2]) / 2 - config.pieChartLinePadding - config.pieChartTextPadding);\r\n radius = radius < 10 ? 10 : radius;\r\n var minRadius = roseOption.minRadius || radius * 0.5;\r\n series = getRoseDataPoints(series, roseOption.type, minRadius, radius, process);\r\n var activeRadius = roseOption.activeRadius * opts.pix;\r\n roseOption.customColor = fillCustomColor(roseOption.linearType, roseOption.customColor, series, config);\r\n series = series.map(function(eachSeries) {\r\n eachSeries._start_ += (roseOption.offsetAngle || 0) * Math.PI / 180;\r\n return eachSeries;\r\n });\r\n series.forEach(function(eachSeries, seriesIndex) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == seriesIndex) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(eachSeries.color, roseOption.activeOpacity || 0.5));\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, activeRadius + eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n context.beginPath();\r\n context.setLineWidth(roseOption.borderWidth * opts.pix);\r\n context.lineJoin = \"round\";\r\n context.setStrokeStyle(roseOption.borderColor);\r\n var fillcolor = eachSeries.color;\r\n if (roseOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, eachSeries._radius_)\r\n }\r\n grd.addColorStop(0, hexToRgb(roseOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, 1))\r\n fillcolor = grd\r\n }\r\n context.setFillStyle(fillcolor);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.arc(centerPosition.x, centerPosition.y, eachSeries._radius_, eachSeries._start_, eachSeries._start_ + 2 * eachSeries._rose_proportion_ * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n if (roseOption.border == true) {\r\n context.stroke();\r\n }\r\n });\r\n\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawArcbarDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var arcbarOption = assign({}, {\r\n startAngle: 0.75,\r\n endAngle: 0.25,\r\n type: 'default',\r\n direction: 'cw',\r\n lineCap: 'round',\r\n width: 12 ,\r\n gap: 2 ,\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.arcbar);\r\n series = getArcbarDataPoints(series, arcbarOption, process);\r\n var centerPosition;\r\n if (arcbarOption.centerX || arcbarOption.centerY) {\r\n centerPosition = {\r\n x: arcbarOption.centerX ? arcbarOption.centerX : opts.width / 2,\r\n y: arcbarOption.centerY ? arcbarOption.centerY : opts.height / 2\r\n };\r\n } else {\r\n centerPosition = {\r\n x: opts.width / 2,\r\n y: opts.height / 2\r\n };\r\n }\r\n var radius;\r\n if (arcbarOption.radius) {\r\n radius = arcbarOption.radius;\r\n } else {\r\n radius = Math.min(centerPosition.x, centerPosition.y);\r\n radius -= 5 * opts.pix;\r\n radius -= arcbarOption.width / 2;\r\n }\r\n radius = radius < 10 ? 10 : radius;\r\n arcbarOption.customColor = fillCustomColor(arcbarOption.linearType, arcbarOption.customColor, series, config);\r\n \r\n for (let i = 0; i < series.length; i++) {\r\n let eachSeries = series[i];\r\n //背景颜色\r\n context.setLineWidth(arcbarOption.width * opts.pix);\r\n context.setStrokeStyle(arcbarOption.backgroundColor || '#E9E9E9');\r\n context.setLineCap(arcbarOption.lineCap);\r\n context.beginPath();\r\n if (arcbarOption.type == 'default') {\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, arcbarOption.endAngle * Math.PI, arcbarOption.direction == 'ccw');\r\n } else {\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, 0, 2 * Math.PI, arcbarOption.direction == 'ccw');\r\n }\r\n context.stroke();\r\n //进度条\r\n var fillColor = eachSeries.color\r\n if(arcbarOption.linearType == 'custom'){\r\n var grd = context.createLinearGradient(centerPosition.x - radius, centerPosition.y, centerPosition.x + radius, centerPosition.y);\r\n grd.addColorStop(1, hexToRgb(arcbarOption.customColor[eachSeries.linearIndex], 1))\r\n grd.addColorStop(0, hexToRgb(eachSeries.color, 1))\r\n fillColor = grd;\r\n }\r\n context.setLineWidth(arcbarOption.width * opts.pix);\r\n context.setStrokeStyle(fillColor);\r\n context.setLineCap(arcbarOption.lineCap);\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, radius - (arcbarOption.width * opts.pix + arcbarOption.gap * opts.pix) * i, arcbarOption.startAngle * Math.PI, eachSeries._proportion_ * Math.PI, arcbarOption.direction == 'ccw');\r\n context.stroke();\r\n }\r\n drawRingTitle(opts, config, context, centerPosition);\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: series\r\n };\r\n}\r\n\r\nfunction drawGaugeDataPoints(categories, series, opts, config, context) {\r\n var process = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : 1;\r\n var gaugeOption = assign({}, {\r\n type: 'default',\r\n startAngle: 0.75,\r\n endAngle: 0.25,\r\n width: 15,\r\n labelOffset:13,\r\n splitLine: {\r\n fixRadius: 0,\r\n splitNumber: 10,\r\n width: 15,\r\n color: '#FFFFFF',\r\n childNumber: 5,\r\n childWidth: 5\r\n },\r\n pointer: {\r\n width: 15,\r\n color: 'auto'\r\n }\r\n }, opts.extra.gauge);\r\n if (gaugeOption.oldAngle == undefined) {\r\n gaugeOption.oldAngle = gaugeOption.startAngle;\r\n }\r\n if (gaugeOption.oldData == undefined) {\r\n gaugeOption.oldData = 0;\r\n }\r\n categories = getGaugeAxisPoints(categories, gaugeOption.startAngle, gaugeOption.endAngle);\r\n var centerPosition = {\r\n x: opts.width / 2,\r\n y: opts.height / 2\r\n };\r\n var radius = Math.min(centerPosition.x, centerPosition.y);\r\n radius -= 5 * opts.pix;\r\n radius -= gaugeOption.width / 2;\r\n radius = radius < 10 ? 10 : radius;\r\n var innerRadius = radius - gaugeOption.width;\r\n var totalAngle = 0;\r\n //判断仪表盘的样式:default百度样式,progress新样式\r\n if (gaugeOption.type == 'progress') {\r\n //## 第一步画中心圆形背景和进度条背景\r\n //中心圆形背景\r\n var pieRadius = radius - gaugeOption.width * 3;\r\n context.beginPath();\r\n let gradient = context.createLinearGradient(centerPosition.x, centerPosition.y - pieRadius, centerPosition.x, centerPosition.y + pieRadius);\r\n //配置渐变填充(起点:中心点向上减半径;结束点中心点向下加半径)\r\n gradient.addColorStop('0', hexToRgb(series[0].color, 0.3));\r\n gradient.addColorStop('1.0', hexToRgb(\"#FFFFFF\", 0.1));\r\n context.setFillStyle(gradient);\r\n context.arc(centerPosition.x, centerPosition.y, pieRadius, 0, 2 * Math.PI, false);\r\n context.fill();\r\n //画进度条背景\r\n context.setLineWidth(gaugeOption.width);\r\n context.setStrokeStyle(hexToRgb(series[0].color, 0.3));\r\n context.setLineCap('round');\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, gaugeOption.endAngle * Math.PI, false);\r\n context.stroke();\r\n //## 第二步画刻度线\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;\r\n let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;\r\n let endX = -radius - gaugeOption.width - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n let len = gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1;\r\n let proc = series[0].data * process;\r\n for (let i = 0; i < len; i++) {\r\n context.beginPath();\r\n //刻度线随进度变色\r\n if (proc > (i / len)) {\r\n context.setStrokeStyle(hexToRgb(series[0].color, 1));\r\n } else {\r\n context.setStrokeStyle(hexToRgb(series[0].color, 0.3));\r\n }\r\n context.setLineWidth(3 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(endX, 0);\r\n context.stroke();\r\n context.rotate(childAngle * Math.PI);\r\n }\r\n context.restore();\r\n //## 第三步画进度条\r\n series = getGaugeArcbarDataPoints(series, gaugeOption, process);\r\n context.setLineWidth(gaugeOption.width);\r\n context.setStrokeStyle(series[0].color);\r\n context.setLineCap('round');\r\n context.beginPath();\r\n context.arc(centerPosition.x, centerPosition.y, innerRadius, gaugeOption.startAngle * Math.PI, series[0]._proportion_ * Math.PI, false);\r\n context.stroke();\r\n //## 第四步画指针\r\n let pointerRadius = radius - gaugeOption.width * 2.5;\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((series[0]._proportion_ - 1) * Math.PI);\r\n context.beginPath();\r\n context.setLineWidth(gaugeOption.width / 3);\r\n let gradient3 = context.createLinearGradient(0, -pointerRadius * 0.6, 0, pointerRadius * 0.6);\r\n gradient3.addColorStop('0', hexToRgb('#FFFFFF', 0));\r\n gradient3.addColorStop('0.5', hexToRgb(series[0].color, 1));\r\n gradient3.addColorStop('1.0', hexToRgb('#FFFFFF', 0));\r\n context.setStrokeStyle(gradient3);\r\n context.arc(0, 0, pointerRadius, 0.85 * Math.PI, 1.15 * Math.PI, false);\r\n context.stroke();\r\n context.beginPath();\r\n context.setLineWidth(1);\r\n context.setStrokeStyle(series[0].color);\r\n context.setFillStyle(series[0].color);\r\n context.moveTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2 - 4, 0);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, 4);\r\n context.lineTo(-pointerRadius - gaugeOption.width / 3 / 2, -4);\r\n context.stroke();\r\n context.fill();\r\n context.restore();\r\n //default百度样式\r\n } else {\r\n //画背景\r\n context.setLineWidth(gaugeOption.width);\r\n context.setLineCap('butt');\r\n for (let i = 0; i < categories.length; i++) {\r\n let eachCategories = categories[i];\r\n context.beginPath();\r\n context.setStrokeStyle(eachCategories.color);\r\n context.arc(centerPosition.x, centerPosition.y, radius, eachCategories._startAngle_ * Math.PI, eachCategories._endAngle_ * Math.PI, false);\r\n context.stroke();\r\n }\r\n context.save();\r\n //画刻度线\r\n totalAngle = gaugeOption.startAngle - gaugeOption.endAngle + 1;\r\n let splitAngle = totalAngle / gaugeOption.splitLine.splitNumber;\r\n let childAngle = totalAngle / gaugeOption.splitLine.splitNumber / gaugeOption.splitLine.childNumber;\r\n let startX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius;\r\n let endX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.width;\r\n let childendX = -radius - gaugeOption.width * 0.5 - gaugeOption.splitLine.fixRadius + gaugeOption.splitLine.childWidth;\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber + 1; i++) {\r\n context.beginPath();\r\n context.setStrokeStyle(gaugeOption.splitLine.color);\r\n context.setLineWidth(2 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(endX, 0);\r\n context.stroke();\r\n context.rotate(splitAngle * Math.PI);\r\n }\r\n context.restore();\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((gaugeOption.startAngle - 1) * Math.PI);\r\n for (let i = 0; i < gaugeOption.splitLine.splitNumber * gaugeOption.splitLine.childNumber + 1; i++) {\r\n context.beginPath();\r\n context.setStrokeStyle(gaugeOption.splitLine.color);\r\n context.setLineWidth(1 * opts.pix);\r\n context.moveTo(startX, 0);\r\n context.lineTo(childendX, 0);\r\n context.stroke();\r\n context.rotate(childAngle * Math.PI);\r\n }\r\n context.restore();\r\n //画指针\r\n series = getGaugeDataPoints(series, categories, gaugeOption, process);\r\n for (let i = 0; i < series.length; i++) {\r\n let eachSeries = series[i];\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n context.rotate((eachSeries._proportion_ - 1) * Math.PI);\r\n context.beginPath();\r\n context.setFillStyle(eachSeries.color);\r\n context.moveTo(gaugeOption.pointer.width, 0);\r\n context.lineTo(0, -gaugeOption.pointer.width / 2);\r\n context.lineTo(-innerRadius, 0);\r\n context.lineTo(0, gaugeOption.pointer.width / 2);\r\n context.lineTo(gaugeOption.pointer.width, 0);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFillStyle('#FFFFFF');\r\n context.arc(0, 0, gaugeOption.pointer.width / 6, 0, 2 * Math.PI, false);\r\n context.fill();\r\n context.restore();\r\n }\r\n if (opts.dataLabel !== false) {\r\n drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context);\r\n }\r\n }\r\n //画仪表盘标题,副标题\r\n drawRingTitle(opts, config, context, centerPosition);\r\n if (process === 1 && opts.type === 'gauge') {\r\n opts.extra.gauge.oldAngle = series[0]._proportion_;\r\n opts.extra.gauge.oldData = series[0].data;\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n innerRadius: innerRadius,\r\n categories: categories,\r\n totalAngle: totalAngle\r\n };\r\n}\r\n\r\nfunction drawRadarDataPoints(series, opts, config, context) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n var radarOption = assign({}, {\r\n gridColor: '#cccccc',\r\n gridType: 'radar',\r\n gridEval:1,\r\n axisLabel:false,\r\n axisLabelTofix:0,\r\n labelColor:'#666666',\r\n labelPointShow:false,\r\n labelPointRadius:3,\r\n labelPointColor:'#cccccc',\r\n opacity: 0.2,\r\n gridCount: 3,\r\n border:false,\r\n borderWidth:2,\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.radar);\r\n var coordinateAngle = getRadarCoordinateSeries(opts.categories.length);\r\n var centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.area[0] + (opts.height - opts.area[0] - opts.area[2]) / 2\r\n };\r\n var xr = (opts.width - opts.area[1] - opts.area[3]) / 2\r\n var yr = (opts.height - opts.area[0] - opts.area[2]) / 2\r\n var radius = Math.min(xr - (getMaxTextListLength(opts.categories, config.fontSize, context) + config.radarLabelTextMargin), yr - config.radarLabelTextMargin);\r\n radius -= config.radarLabelTextMargin * opts.pix;\r\n radius = radius < 10 ? 10 : radius;\r\n // 画分割线\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(radarOption.gridColor);\r\n coordinateAngle.forEach(function(angle,index) {\r\n var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n if (index % radarOption.gridEval == 0) {\r\n context.lineTo(pos.x, pos.y);\r\n }\r\n });\r\n context.stroke();\r\n context.closePath();\r\n \r\n // 画背景网格\r\n var _loop = function _loop(i) {\r\n var startPos = {};\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(radarOption.gridColor);\r\n if (radarOption.gridType == 'radar') {\r\n coordinateAngle.forEach(function(angle, index) {\r\n var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(angle), radius /\r\n radarOption.gridCount * i * Math.sin(angle), centerPosition);\r\n if (index === 0) {\r\n startPos = pos;\r\n context.moveTo(pos.x, pos.y);\r\n } else {\r\n context.lineTo(pos.x, pos.y);\r\n }\r\n });\r\n context.lineTo(startPos.x, startPos.y);\r\n } else {\r\n var pos = convertCoordinateOrigin(radius / radarOption.gridCount * i * Math.cos(1.5), radius / radarOption.gridCount * i * Math.sin(1.5), centerPosition);\r\n context.arc(centerPosition.x, centerPosition.y, centerPosition.y - pos.y, 0, 2 * Math.PI, false);\r\n }\r\n context.stroke();\r\n context.closePath();\r\n };\r\n for (var i = 1; i <= radarOption.gridCount; i++) {\r\n _loop(i);\r\n }\r\n radarOption.customColor = fillCustomColor(radarOption.linearType, radarOption.customColor, series, config);\r\n var radarDataPoints = getRadarDataPoints(coordinateAngle, centerPosition, radius, series, opts, process);\r\n radarDataPoints.forEach(function(eachSeries, seriesIndex) {\r\n // 绘制区域数据\r\n context.beginPath();\r\n context.setLineWidth(radarOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(eachSeries.color);\r\n \r\n var fillcolor = hexToRgb(eachSeries.color, radarOption.opacity);\r\n if (radarOption.linearType == 'custom') {\r\n var grd;\r\n if(context.createCircularGradient){\r\n grd = context.createCircularGradient(centerPosition.x, centerPosition.y, radius)\r\n }else{\r\n grd = context.createRadialGradient(centerPosition.x, centerPosition.y, 0,centerPosition.x, centerPosition.y, radius)\r\n }\r\n grd.addColorStop(0, hexToRgb(radarOption.customColor[series[seriesIndex].linearIndex], radarOption.opacity))\r\n grd.addColorStop(1, hexToRgb(eachSeries.color, radarOption.opacity))\r\n fillcolor = grd\r\n }\r\n \r\n context.setFillStyle(fillcolor);\r\n eachSeries.data.forEach(function(item, index) {\r\n if (index === 0) {\r\n context.moveTo(item.position.x, item.position.y);\r\n } else {\r\n context.lineTo(item.position.x, item.position.y);\r\n }\r\n });\r\n context.closePath();\r\n context.fill();\r\n if(radarOption.border === true){\r\n context.stroke();\r\n }\r\n context.closePath();\r\n if (opts.dataPointShape !== false) {\r\n var points = eachSeries.data.map(function(item) {\r\n return item.position;\r\n });\r\n drawPointShape(points, eachSeries.color, eachSeries.pointShape, context, opts);\r\n }\r\n });\r\n // 画刻度值\r\n if(radarOption.axisLabel === true){\r\n const maxData = Math.max(radarOption.max, Math.max.apply(null, dataCombine(series)));\r\n const stepLength = radius / radarOption.gridCount;\r\n const fontSize = opts.fontSize * opts.pix;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(opts.fontColor);\r\n context.setTextAlign('left');\r\n for (var i = 0; i < radarOption.gridCount + 1; i++) {\r\n let label = i * maxData / radarOption.gridCount;\r\n label = label.toFixed(radarOption.axisLabelTofix);\r\n context.fillText(String(label), centerPosition.x + 3 * opts.pix, centerPosition.y - i * stepLength + fontSize / 2);\r\n }\r\n }\r\n \r\n // draw label text\r\n drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context);\r\n \r\n // draw dataLabel\r\n if (opts.dataLabel !== false && process === 1) {\r\n radarDataPoints.forEach(function(eachSeries, seriesIndex) {\r\n context.beginPath();\r\n var fontSize = eachSeries.textSize * opts.pix || config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(eachSeries.textColor || opts.fontColor);\r\n eachSeries.data.forEach(function(item, index) {\r\n //如果是中心点垂直的上下点位\r\n if(Math.abs(item.position.x - centerPosition.x)<2){\r\n //如果在上面\r\n if(item.position.y < centerPosition.y){\r\n context.setTextAlign('center');\r\n context.fillText(item.value, item.position.x, item.position.y - 4);\r\n }else{\r\n context.setTextAlign('center');\r\n context.fillText(item.value, item.position.x, item.position.y + fontSize + 2);\r\n }\r\n }else{\r\n //如果在左侧\r\n if(item.position.x < centerPosition.x){\r\n context.setTextAlign('right');\r\n context.fillText(item.value, item.position.x - 4, item.position.y + fontSize / 2 - 2);\r\n }else{\r\n context.setTextAlign('left');\r\n context.fillText(item.value, item.position.x + 4, item.position.y + fontSize / 2 - 2);\r\n }\r\n }\r\n });\r\n context.closePath();\r\n context.stroke();\r\n });\r\n context.setTextAlign('left');\r\n }\r\n \r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n angleList: coordinateAngle\r\n };\r\n}\r\n\r\n// 经纬度转墨卡托\r\nfunction lonlat2mercator(longitude, latitude) {\r\n var mercator = Array(2);\r\n var x = longitude * 20037508.34 / 180;\r\n var y = Math.log(Math.tan((90 + latitude) * Math.PI / 360)) / (Math.PI / 180);\r\n y = y * 20037508.34 / 180;\r\n mercator[0] = x;\r\n mercator[1] = y;\r\n return mercator;\r\n}\r\n\r\n// 墨卡托转经纬度\r\nfunction mercator2lonlat(longitude, latitude) {\r\n var lonlat = Array(2)\r\n var x = longitude / 20037508.34 * 180;\r\n var y = latitude / 20037508.34 * 180;\r\n y = 180 / Math.PI * (2 * Math.atan(Math.exp(y * Math.PI / 180)) - Math.PI / 2);\r\n lonlat[0] = x;\r\n lonlat[1] = y;\r\n return lonlat;\r\n}\r\n\r\nfunction getBoundingBox(data) {\r\n var bounds = {},coords;\r\n bounds.xMin = 180;\r\n bounds.xMax = 0;\r\n bounds.yMin = 90;\r\n bounds.yMax = 0\r\n for (var i = 0; i < data.length; i++) {\r\n var coorda = data[i].geometry.coordinates\r\n for (var k = 0; k < coorda.length; k++) {\r\n coords = coorda[k];\r\n if (coords.length == 1) {\r\n coords = coords[0]\r\n }\r\n for (var j = 0; j < coords.length; j++) {\r\n var longitude = coords[j][0];\r\n var latitude = coords[j][1];\r\n var point = {\r\n x: longitude,\r\n y: latitude\r\n }\r\n bounds.xMin = bounds.xMin < point.x ? bounds.xMin : point.x;\r\n bounds.xMax = bounds.xMax > point.x ? bounds.xMax : point.x;\r\n bounds.yMin = bounds.yMin < point.y ? bounds.yMin : point.y;\r\n bounds.yMax = bounds.yMax > point.y ? bounds.yMax : point.y;\r\n }\r\n }\r\n }\r\n return bounds;\r\n}\r\n\r\nfunction coordinateToPoint(latitude, longitude, bounds, scale, xoffset, yoffset) {\r\n return {\r\n x: (longitude - bounds.xMin) * scale + xoffset,\r\n y: (bounds.yMax - latitude) * scale + yoffset\r\n };\r\n}\r\n\r\nfunction pointToCoordinate(pointY, pointX, bounds, scale, xoffset, yoffset) {\r\n return {\r\n x: (pointX - xoffset) / scale + bounds.xMin,\r\n y: bounds.yMax - (pointY - yoffset) / scale\r\n };\r\n}\r\n\r\nfunction isRayIntersectsSegment(poi, s_poi, e_poi) {\r\n if (s_poi[1] == e_poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] > poi[1] && e_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] < poi[1] && e_poi[1] < poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[1] == poi[1] && e_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (e_poi[1] == poi[1] && s_poi[1] > poi[1]) {\r\n return false;\r\n }\r\n if (s_poi[0] < poi[0] && e_poi[1] < poi[1]) {\r\n return false;\r\n }\r\n let xseg = e_poi[0] - (e_poi[0] - s_poi[0]) * (e_poi[1] - poi[1]) / (e_poi[1] - s_poi[1]);\r\n if (xseg < poi[0]) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\nfunction isPoiWithinPoly(poi, poly, mercator) {\r\n let sinsc = 0;\r\n for (let i = 0; i < poly.length; i++) {\r\n let epoly = poly[i][0];\r\n if (poly.length == 1) {\r\n epoly = poly[i][0]\r\n }\r\n for (let j = 0; j < epoly.length - 1; j++) {\r\n let s_poi = epoly[j];\r\n let e_poi = epoly[j + 1];\r\n if (mercator) {\r\n s_poi = lonlat2mercator(epoly[j][0], epoly[j][1]);\r\n e_poi = lonlat2mercator(epoly[j + 1][0], epoly[j + 1][1]);\r\n }\r\n if (isRayIntersectsSegment(poi, s_poi, e_poi)) {\r\n sinsc += 1;\r\n }\r\n }\r\n }\r\n if (sinsc % 2 == 1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\nfunction drawMapDataPoints(series, opts, config, context) {\r\n var mapOption = assign({}, {\r\n border: true,\r\n mercator: false,\r\n borderWidth: 1,\r\n active:true,\r\n borderColor: '#666666',\r\n fillOpacity: 0.6,\r\n activeBorderColor: '#f04864',\r\n activeFillColor: '#facc14',\r\n activeFillOpacity: 1\r\n }, opts.extra.map);\r\n var coords, point;\r\n var data = series;\r\n var bounds = getBoundingBox(data);\r\n if (mapOption.mercator) {\r\n var max = lonlat2mercator(bounds.xMax, bounds.yMax)\r\n var min = lonlat2mercator(bounds.xMin, bounds.yMin)\r\n bounds.xMax = max[0]\r\n bounds.yMax = max[1]\r\n bounds.xMin = min[0]\r\n bounds.yMin = min[1]\r\n }\r\n var xScale = opts.width / Math.abs(bounds.xMax - bounds.xMin);\r\n var yScale = opts.height / Math.abs(bounds.yMax - bounds.yMin);\r\n var scale = xScale < yScale ? xScale : yScale;\r\n var xoffset = opts.width / 2 - Math.abs(bounds.xMax - bounds.xMin) / 2 * scale;\r\n var yoffset = opts.height / 2 - Math.abs(bounds.yMax - bounds.yMin) / 2 * scale;\r\n for (var i = 0; i < data.length; i++) {\r\n context.beginPath();\r\n context.setLineWidth(mapOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(mapOption.borderColor);\r\n context.setFillStyle(hexToRgb(series[i].color, series[i].fillOpacity||mapOption.fillOpacity));\r\n if (mapOption.active == true && opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.setStrokeStyle(mapOption.activeBorderColor);\r\n context.setFillStyle(hexToRgb(mapOption.activeFillColor, mapOption.activeFillOpacity));\r\n }\r\n }\r\n var coorda = data[i].geometry.coordinates\r\n for (var k = 0; k < coorda.length; k++) {\r\n coords = coorda[k];\r\n if (coords.length == 1) {\r\n coords = coords[0]\r\n }\r\n for (var j = 0; j < coords.length; j++) {\r\n var gaosi = Array(2);\r\n if (mapOption.mercator) {\r\n gaosi = lonlat2mercator(coords[j][0], coords[j][1])\r\n } else {\r\n gaosi = coords[j]\r\n }\r\n point = coordinateToPoint(gaosi[1], gaosi[0], bounds, scale, xoffset, yoffset)\r\n if (j === 0) {\r\n context.beginPath();\r\n context.moveTo(point.x, point.y);\r\n } else {\r\n context.lineTo(point.x, point.y);\r\n }\r\n }\r\n context.fill();\r\n if (mapOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n }\r\n if (opts.dataLabel == true) {\r\n for (var i = 0; i < data.length; i++) {\r\n var centerPoint = data[i].properties.centroid;\r\n if (centerPoint) {\r\n if (mapOption.mercator) {\r\n centerPoint = lonlat2mercator(data[i].properties.centroid[0], data[i].properties.centroid[1])\r\n }\r\n point = coordinateToPoint(centerPoint[1], centerPoint[0], bounds, scale, xoffset, yoffset);\r\n let fontSize = data[i].textSize * opts.pix || config.fontSize;\r\n let fontColor = data[i].textColor || opts.fontColor;\r\n if(mapOption.active && mapOption.activeTextColor && opts.tooltip && opts.tooltip.index == i){\r\n fontColor = mapOption.activeTextColor;\r\n }\r\n let text = data[i].properties.name;\r\n context.beginPath();\r\n context.setFontSize(fontSize)\r\n context.setFillStyle(fontColor)\r\n context.fillText(text, point.x - measureText(text, fontSize, context) / 2, point.y + fontSize / 2);\r\n context.closePath();\r\n context.stroke();\r\n }\r\n }\r\n }\r\n opts.chartData.mapData = {\r\n bounds: bounds,\r\n scale: scale,\r\n xoffset: xoffset,\r\n yoffset: yoffset,\r\n mercator: mapOption.mercator\r\n }\r\n drawToolTipBridge(opts, config, context, 1);\r\n context.draw();\r\n}\r\n\r\nfunction normalInt(min, max, iter) {\r\n iter = iter == 0 ? 1 : iter;\r\n var arr = [];\r\n for (var i = 0; i < iter; i++) {\r\n arr[i] = Math.random();\r\n };\r\n return Math.floor(arr.reduce(function(i, j) {\r\n return i + j\r\n }) / iter * (max - min)) + min;\r\n};\r\n\r\nfunction collisionNew(area, points, width, height) {\r\n var isIn = false;\r\n for (let i = 0; i < points.length; i++) {\r\n if (points[i].area) {\r\n if (area[3] < points[i].area[1] || area[0] > points[i].area[2] || area[1] > points[i].area[3] || area[2] < points[i].area[0]) {\r\n if (area[0] < 0 || area[1] < 0 || area[2] > width || area[3] > height) {\r\n isIn = true;\r\n break;\r\n } else {\r\n isIn = false;\r\n }\r\n } else {\r\n isIn = true;\r\n break;\r\n }\r\n }\r\n }\r\n return isIn;\r\n};\r\n\r\nfunction getWordCloudPoint(opts, type, context) {\r\n let points = opts.series;\r\n switch (type) {\r\n case 'normal':\r\n for (let i = 0; i < points.length; i++) {\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n let x, y;\r\n let area;\r\n let breaknum = 0;\r\n while (true) {\r\n breaknum++;\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 +\r\n opts.height / 2\r\n ];\r\n let isCollision = collisionNew(area, points, opts.width, opts.height);\r\n if (!isCollision) break;\r\n if (breaknum == 1000) {\r\n area = [-100, -100, -100, -100];\r\n break;\r\n }\r\n };\r\n points[i].area = area;\r\n }\r\n break;\r\n case 'vertical':\r\n function Spin() {\r\n //获取均匀随机值,是否旋转,旋转的概率为(1-0.5)\r\n if (Math.random() > 0.7) {\r\n return true;\r\n } else {\r\n return false\r\n };\r\n };\r\n for (let i = 0; i < points.length; i++) {\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n let isSpin = Spin();\r\n let x, y, area, areav;\r\n let breaknum = 0;\r\n while (true) {\r\n breaknum++;\r\n let isCollision;\r\n if (isSpin) {\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [y - 5 - tWidth + opts.width / 2, (-x - 5 + opts.height / 2), y + 5 + opts.width / 2, (-x + tHeight + 5 + opts.height / 2)];\r\n areav = [opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) - 5, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) - 5, opts.width - (opts.width / 2 - opts.height / 2) - (-x + tHeight + 5 + opts.height / 2) + tHeight, (opts.height / 2 - opts.width / 2) + (y - 5 - tWidth + opts.width / 2) + tWidth + 5];\r\n isCollision = collisionNew(areav, points, opts.height, opts.width);\r\n } else {\r\n x = normalInt(-opts.width / 2, opts.width / 2, 5) - tWidth / 2;\r\n y = normalInt(-opts.height / 2, opts.height / 2, 5) + tHeight / 2;\r\n area = [x - 5 + opts.width / 2, y - 5 - tHeight + opts.height / 2, x + tWidth + 5 + opts.width / 2, y + 5 + opts.height / 2];\r\n isCollision = collisionNew(area, points, opts.width, opts.height);\r\n }\r\n if (!isCollision) break;\r\n if (breaknum == 1000) {\r\n area = [-1000, -1000, -1000, -1000];\r\n break;\r\n }\r\n };\r\n if (isSpin) {\r\n points[i].area = areav;\r\n points[i].areav = area;\r\n } else {\r\n points[i].area = area;\r\n }\r\n points[i].rotate = isSpin;\r\n };\r\n break;\r\n }\r\n return points;\r\n}\r\n\r\nfunction drawWordCloudDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let wordOption = assign({}, {\r\n type: 'normal',\r\n autoColors: true\r\n }, opts.extra.word);\r\n if (!opts.chartData.wordCloudData) {\r\n opts.chartData.wordCloudData = getWordCloudPoint(opts, wordOption.type, context);\r\n }\r\n context.beginPath();\r\n context.setFillStyle(opts.background);\r\n context.rect(0, 0, opts.width, opts.height);\r\n context.fill();\r\n context.save();\r\n let points = opts.chartData.wordCloudData;\r\n context.translate(opts.width / 2, opts.height / 2);\r\n for (let i = 0; i < points.length; i++) {\r\n context.save();\r\n if (points[i].rotate) {\r\n context.rotate(90 * Math.PI / 180);\r\n }\r\n let text = points[i].name;\r\n let tHeight = points[i].textSize * opts.pix;\r\n let tWidth = measureText(text, tHeight, context);\r\n context.beginPath();\r\n context.setStrokeStyle(points[i].color);\r\n context.setFillStyle(points[i].color);\r\n context.setFontSize(tHeight);\r\n if (points[i].rotate) {\r\n if (points[i].areav[0] > 0) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.strokeText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n } else {\r\n context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n } else {\r\n context.fillText(text, (points[i].areav[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].areav[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n }\r\n } else {\r\n if (points[i].area[0] > 0) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.strokeText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n } else {\r\n context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n } else {\r\n context.fillText(text, (points[i].area[0] + 5 - opts.width / 2) * process - tWidth * (1 - process) / 2, (points[i].area[1] + 5 + tHeight - opts.height / 2) * process);\r\n }\r\n }\r\n }\r\n context.stroke();\r\n context.restore();\r\n }\r\n context.restore();\r\n}\r\n\r\nfunction drawFunnelDataPoints(series, opts, config, context) {\r\n let process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n let funnelOption = assign({}, {\r\n type:'funnel',\r\n activeWidth: 10,\r\n activeOpacity: 0.3,\r\n border: false,\r\n borderWidth: 2,\r\n borderColor: '#FFFFFF',\r\n fillOpacity: 1,\r\n minSize: 0,\r\n labelAlign: 'right',\r\n linearType: 'none',\r\n customColor: [],\r\n }, opts.extra.funnel);\r\n let eachSpacing = (opts.height - opts.area[0] - opts.area[2]) / series.length;\r\n let centerPosition = {\r\n x: opts.area[3] + (opts.width - opts.area[1] - opts.area[3]) / 2,\r\n y: opts.height - opts.area[2]\r\n };\r\n let activeWidth = funnelOption.activeWidth * opts.pix;\r\n let radius = Math.min((opts.width - opts.area[1] - opts.area[3]) / 2 - activeWidth, (opts.height - opts.area[0] - opts.area[2]) / 2 - activeWidth);\r\n let seriesNew = getFunnelDataPoints(series, radius, funnelOption, eachSpacing, process);\r\n context.save();\r\n context.translate(centerPosition.x, centerPosition.y);\r\n funnelOption.customColor = fillCustomColor(funnelOption.linearType, funnelOption.customColor, series, config);\r\n if(funnelOption.type == 'pyramid'){\r\n for (let i = 0; i < seriesNew.length; i++) {\r\n if (i == seriesNew.length -1) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(-activeWidth, -eachSpacing);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, 0);\r\n context.lineTo(seriesNew[i].radius + activeWidth, 0);\r\n context.lineTo(activeWidth, -eachSpacing);\r\n context.lineTo(-activeWidth, -eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, -eachSpacing);\r\n context.lineTo(-seriesNew[i].radius, 0);\r\n context.lineTo(seriesNew[i].radius, 0);\r\n context.lineTo(0, -eachSpacing);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n } else {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, 0);\r\n context.lineTo(-seriesNew[i + 1].radius - activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius + activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius + activeWidth, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * i];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i].radius, 0);\r\n context.lineTo(-seriesNew[i + 1].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n context.translate(0, -eachSpacing)\r\n }\r\n }else{\r\n context.translate(0, - (seriesNew.length - 1) * eachSpacing);\r\n for (let i = 0; i < seriesNew.length; i++) {\r\n if (i == seriesNew.length - 1) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(-activeWidth - funnelOption.minSize/2, 0);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing);\r\n context.lineTo(activeWidth + funnelOption.minSize/2, 0);\r\n context.lineTo(-activeWidth - funnelOption.minSize/2, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing, centerPosition.x + seriesNew[i].radius, centerPosition.y ];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-funnelOption.minSize/2, 0);\r\n context.lineTo(-seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(funnelOption.minSize/2, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n } else {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(seriesNew[i].color, funnelOption.activeOpacity));\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i + 1].radius - activeWidth, 0);\r\n context.lineTo(-seriesNew[i].radius - activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius + activeWidth, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius + activeWidth, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n seriesNew[i].funnelArea = [centerPosition.x - seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i), centerPosition.x + seriesNew[i].radius, centerPosition.y - eachSpacing * (seriesNew.length - i - 1)];\r\n context.beginPath();\r\n context.setLineWidth(funnelOption.borderWidth * opts.pix);\r\n context.setStrokeStyle(funnelOption.borderColor);\r\n var fillColor = hexToRgb(seriesNew[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(seriesNew[i].radius, -eachSpacing, -seriesNew[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[seriesNew[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(seriesNew[i].color, funnelOption.fillOpacity));\r\n fillColor = grd\r\n }\r\n context.setFillStyle(fillColor);\r\n context.moveTo(0, 0);\r\n context.lineTo(-seriesNew[i + 1].radius, 0);\r\n context.lineTo(-seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i].radius, -eachSpacing);\r\n context.lineTo(seriesNew[i + 1].radius, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n if (funnelOption.border == true) {\r\n context.stroke();\r\n }\r\n }\r\n context.translate(0, eachSpacing)\r\n }\r\n }\r\n \r\n context.restore();\r\n if (opts.dataLabel !== false && process === 1) {\r\n drawFunnelText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);\r\n }\r\n if (process === 1) {\r\n drawFunnelCenterText(seriesNew, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, centerPosition);\r\n }\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n series: seriesNew\r\n };\r\n}\r\n\r\nfunction drawFunnelText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n if(item.labelShow === false){\r\n continue;\r\n }\r\n let startX, endX, startY, fontSize;\r\n let text = item.formatter ? item.formatter(item,i,series,opts) : util.toFixed(item._proportion_ * 100) + '%';\r\n text = item.labelText ? item.labelText : text;\r\n if (labelAlign == 'right') {\r\n if (i == series.length -1) {\r\n startX = (item.funnelArea[2] + centerPosition.x) / 2;\r\n } else {\r\n startX = (item.funnelArea[2] + series[i + 1].funnelArea[2]) / 2;\r\n }\r\n endX = startX + activeWidth * 2;\r\n startY = item.funnelArea[1] + eachSpacing / 2;\r\n fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.beginPath();\r\n context.moveTo(startX, startY);\r\n context.lineTo(endX, startY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(endX, startY);\r\n context.arc(endX, startY, 2 * opts.pix, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(text, endX + 5, startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n if (labelAlign == 'left') {\r\n if (i == series.length -1) {\r\n startX = (item.funnelArea[0] + centerPosition.x) / 2;\r\n } else {\r\n startX = (item.funnelArea[0] + series[i + 1].funnelArea[0]) / 2;\r\n }\r\n endX = startX - activeWidth * 2;\r\n startY = item.funnelArea[1] + eachSpacing / 2;\r\n fontSize = item.textSize * opts.pix || opts.fontSize * opts.pix;\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(item.color);\r\n context.setFillStyle(item.color);\r\n context.beginPath();\r\n context.moveTo(startX, startY);\r\n context.lineTo(endX, startY);\r\n context.stroke();\r\n context.closePath();\r\n context.beginPath();\r\n context.moveTo(endX, startY);\r\n context.arc(endX, startY, 2, 0, 2 * Math.PI);\r\n context.closePath();\r\n context.fill();\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.textColor || opts.fontColor);\r\n context.fillText(text, endX - 5 - measureText(text, fontSize, context), startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n }\r\n}\r\n\r\nfunction drawFunnelCenterText(series, opts, context, eachSpacing, labelAlign, activeWidth, centerPosition) {\r\n for (let i = 0; i < series.length; i++) {\r\n let item = series[i];\r\n let startY, fontSize;\r\n if (item.centerText) {\r\n startY = item.funnelArea[1] + eachSpacing / 2;\r\n fontSize = item.centerTextSize * opts.pix || opts.fontSize * opts.pix;\r\n context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.centerTextColor || \"#FFFFFF\");\r\n context.fillText(item.centerText, centerPosition.x - measureText(item.centerText, fontSize, context) / 2, startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n }\r\n }\r\n}\r\n\r\n\r\nfunction drawCanvas(opts, context) {\r\n context.draw();\r\n}\r\n\r\nvar Timing = {\r\n easeIn: function easeIn(pos) {\r\n return Math.pow(pos, 3);\r\n },\r\n easeOut: function easeOut(pos) {\r\n return Math.pow(pos - 1, 3) + 1;\r\n },\r\n easeInOut: function easeInOut(pos) {\r\n if ((pos /= 0.5) < 1) {\r\n return 0.5 * Math.pow(pos, 3);\r\n } else {\r\n return 0.5 * (Math.pow(pos - 2, 3) + 2);\r\n }\r\n },\r\n linear: function linear(pos) {\r\n return pos;\r\n }\r\n};\r\n\r\nfunction Animation(opts) {\r\n this.isStop = false;\r\n opts.duration = typeof opts.duration === 'undefined' ? 1000 : opts.duration;\r\n opts.timing = opts.timing || 'easeInOut';\r\n var delay = 17;\r\n function createAnimationFrame() {\r\n if (typeof setTimeout !== 'undefined') {\r\n return function(step, delay) {\r\n setTimeout(function() {\r\n var timeStamp = +new Date();\r\n step(timeStamp);\r\n }, delay);\r\n };\r\n } else if (typeof requestAnimationFrame !== 'undefined') {\r\n return requestAnimationFrame;\r\n } else {\r\n return function(step) {\r\n step(null);\r\n };\r\n }\r\n };\r\n var animationFrame = createAnimationFrame();\r\n var startTimeStamp = null;\r\n var _step = function step(timestamp) {\r\n if (timestamp === null || this.isStop === true) {\r\n opts.onProcess && opts.onProcess(1);\r\n opts.onAnimationFinish && opts.onAnimationFinish();\r\n return;\r\n }\r\n if (startTimeStamp === null) {\r\n startTimeStamp = timestamp;\r\n }\r\n if (timestamp - startTimeStamp < opts.duration) {\r\n var process = (timestamp - startTimeStamp) / opts.duration;\r\n var timingFunction = Timing[opts.timing];\r\n process = timingFunction(process);\r\n opts.onProcess && opts.onProcess(process);\r\n animationFrame(_step, delay);\r\n } else {\r\n opts.onProcess && opts.onProcess(1);\r\n opts.onAnimationFinish && opts.onAnimationFinish();\r\n }\r\n };\r\n _step = _step.bind(this);\r\n animationFrame(_step, delay);\r\n}\r\n\r\nAnimation.prototype.stop = function() {\r\n this.isStop = true;\r\n};\r\n\r\nfunction drawCharts(type, opts, config, context) {\r\n var _this = this;\r\n var series = opts.series;\r\n //兼容ECharts饼图类数据格式\r\n if (type === 'pie' || type === 'ring' || type === 'mount' || type === 'rose' || type === 'funnel') {\r\n series = fixPieSeries(series, opts, config);\r\n }\r\n var categories = opts.categories;\r\n if (type === 'mount') {\r\n categories = [];\r\n for (let j = 0; j < series.length; j++) {\r\n if(series[j].show !== false) categories.push(series[j].name)\r\n }\r\n opts.categories = categories;\r\n }\r\n series = fillSeries(series, opts, config);\r\n var duration = opts.animation ? opts.duration : 0;\r\n _this.animationInstance && _this.animationInstance.stop();\r\n var seriesMA = null;\r\n if (type == 'candle') {\r\n let average = assign({}, opts.extra.candle.average);\r\n if (average.show) {\r\n seriesMA = calCandleMA(average.day, average.name, average.color, series[0].data);\r\n seriesMA = fillSeries(seriesMA, opts, config);\r\n opts.seriesMA = seriesMA;\r\n } else if (opts.seriesMA) {\r\n seriesMA = opts.seriesMA = fillSeries(opts.seriesMA, opts, config);\r\n } else {\r\n seriesMA = series;\r\n }\r\n } else {\r\n seriesMA = series;\r\n }\r\n /* 过滤掉show=false的series */\r\n opts._series_ = series = filterSeries(series);\r\n //重新计算图表区域\r\n opts.area = new Array(4);\r\n //复位绘图区域\r\n for (let j = 0; j < 4; j++) {\r\n opts.area[j] = opts.padding[j] * opts.pix;\r\n }\r\n //通过计算三大区域:图例、X轴、Y轴的大小,确定绘图区域\r\n var _calLegendData = calLegendData(seriesMA, opts, config, opts.chartData, context),\r\n legendHeight = _calLegendData.area.wholeHeight,\r\n legendWidth = _calLegendData.area.wholeWidth;\r\n\r\n switch (opts.legend.position) {\r\n case 'top':\r\n opts.area[0] += legendHeight;\r\n break;\r\n case 'bottom':\r\n opts.area[2] += legendHeight;\r\n break;\r\n case 'left':\r\n opts.area[3] += legendWidth;\r\n break;\r\n case 'right':\r\n opts.area[1] += legendWidth;\r\n break;\r\n }\r\n\r\n let _calYAxisData = {},\r\n yAxisWidth = 0;\r\n if (opts.type === 'line' || opts.type === 'column'|| opts.type === 'mount' || opts.type === 'area' || opts.type === 'mix' || opts.type === 'candle' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') {\r\n _calYAxisData = calYAxisData(series, opts, config, context);\r\n yAxisWidth = _calYAxisData.yAxisWidth;\r\n //如果显示Y轴标题\r\n if (opts.yAxis.showTitle) {\r\n let maxTitleHeight = 0;\r\n for (let i = 0; i < opts.yAxis.data.length; i++) {\r\n maxTitleHeight = Math.max(maxTitleHeight, opts.yAxis.data[i].titleFontSize ? opts.yAxis.data[i].titleFontSize * opts.pix : config.fontSize)\r\n }\r\n opts.area[0] += maxTitleHeight;\r\n }\r\n let rightIndex = 0,\r\n leftIndex = 0;\r\n //计算主绘图区域左右位置\r\n for (let i = 0; i < yAxisWidth.length; i++) {\r\n if (yAxisWidth[i].position == 'left') {\r\n if (leftIndex > 0) {\r\n opts.area[3] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix;\r\n } else {\r\n opts.area[3] += yAxisWidth[i].width;\r\n }\r\n leftIndex += 1;\r\n } else if (yAxisWidth[i].position == 'right') {\r\n if (rightIndex > 0) {\r\n opts.area[1] += yAxisWidth[i].width + opts.yAxis.padding * opts.pix;\r\n } else {\r\n opts.area[1] += yAxisWidth[i].width;\r\n }\r\n rightIndex += 1;\r\n }\r\n }\r\n } else {\r\n config.yAxisWidth = yAxisWidth;\r\n }\r\n opts.chartData.yAxisData = _calYAxisData;\r\n\r\n if (opts.categories && opts.categories.length && opts.type !== 'radar' && opts.type !== 'gauge' && opts.type !== 'bar') {\r\n opts.chartData.xAxisData = getXAxisPoints(opts.categories, opts, config);\r\n let _calCategoriesData = calCategoriesData(opts.categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),\r\n xAxisHeight = _calCategoriesData.xAxisHeight,\r\n angle = _calCategoriesData.angle;\r\n config.xAxisHeight = xAxisHeight;\r\n config._xAxisTextAngle_ = angle;\r\n opts.area[2] += xAxisHeight;\r\n opts.chartData.categoriesData = _calCategoriesData;\r\n } else {\r\n if (opts.type === 'line' || opts.type === 'area' || opts.type === 'scatter' || opts.type === 'bubble' || opts.type === 'bar') {\r\n opts.chartData.xAxisData = calXAxisData(series, opts, config, context);\r\n categories = opts.chartData.xAxisData.rangesFormat;\r\n let _calCategoriesData = calCategoriesData(categories, opts, config, opts.chartData.xAxisData.eachSpacing, context),\r\n xAxisHeight = _calCategoriesData.xAxisHeight,\r\n angle = _calCategoriesData.angle;\r\n config.xAxisHeight = xAxisHeight;\r\n config._xAxisTextAngle_ = angle;\r\n opts.area[2] += xAxisHeight;\r\n opts.chartData.categoriesData = _calCategoriesData;\r\n } else {\r\n opts.chartData.xAxisData = {\r\n xAxisPoints: []\r\n };\r\n }\r\n }\r\n\r\n //计算右对齐偏移距离\r\n if (opts.enableScroll && opts.xAxis.scrollAlign == 'right' && opts._scrollDistance_ === undefined) {\r\n let offsetLeft = 0,\r\n xAxisPoints = opts.chartData.xAxisData.xAxisPoints,\r\n startX = opts.chartData.xAxisData.startX,\r\n endX = opts.chartData.xAxisData.endX,\r\n eachSpacing = opts.chartData.xAxisData.eachSpacing;\r\n let totalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n let screenWidth = endX - startX;\r\n offsetLeft = screenWidth - totalWidth;\r\n _this.scrollOption.currentOffset = offsetLeft;\r\n _this.scrollOption.startTouchX = offsetLeft;\r\n _this.scrollOption.distance = 0;\r\n _this.scrollOption.lastMoveTime = 0;\r\n opts._scrollDistance_ = offsetLeft;\r\n }\r\n\r\n if (type === 'pie' || type === 'ring' || type === 'rose') {\r\n config._pieTextMaxLength_ = opts.dataLabel === false ? 0 : getPieTextMaxLength(seriesMA, config, context, opts);\r\n }\r\n \r\n switch (type) {\r\n case 'word':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawWordCloudDataPoints(series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'map':\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n drawMapDataPoints(series, opts, config, context);\r\n setTimeout(()=>{\r\n this.uevent.trigger('renderComplete');\r\n },50)\r\n break;\r\n case 'funnel':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.funnelData = drawFunnelDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'line':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawLineDataPoints = drawLineDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawLineDataPoints.xAxisPoints,\r\n calPoints = _drawLineDataPoints.calPoints,\r\n eachSpacing = _drawLineDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'scatter':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawScatterDataPoints = drawScatterDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawScatterDataPoints.xAxisPoints,\r\n calPoints = _drawScatterDataPoints.calPoints,\r\n eachSpacing = _drawScatterDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'bubble':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawBubbleDataPoints = drawBubbleDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawBubbleDataPoints.xAxisPoints,\r\n calPoints = _drawBubbleDataPoints.calPoints,\r\n eachSpacing = _drawBubbleDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'mix':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawMixDataPoints = drawMixDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawMixDataPoints.xAxisPoints,\r\n calPoints = _drawMixDataPoints.calPoints,\r\n eachSpacing = _drawMixDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'column':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawColumnDataPoints = drawColumnDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawColumnDataPoints.xAxisPoints,\r\n calPoints = _drawColumnDataPoints.calPoints,\r\n eachSpacing = _drawColumnDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'mount':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawMountDataPoints = drawMountDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawMountDataPoints.xAxisPoints,\r\n calPoints = _drawMountDataPoints.calPoints,\r\n eachSpacing = _drawMountDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'bar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawXAxis(categories, opts, config, context);\r\n var _drawBarDataPoints = drawBarDataPoints(series, opts, config, context, process),\r\n yAxisPoints = _drawBarDataPoints.yAxisPoints,\r\n calPoints = _drawBarDataPoints.calPoints,\r\n eachSpacing = _drawBarDataPoints.eachSpacing;\r\n opts.chartData.yAxisPoints = yAxisPoints;\r\n opts.chartData.xAxisPoints = opts.chartData.xAxisData.xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, yAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'area':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawAreaDataPoints = drawAreaDataPoints(series, opts, config, context, process),\r\n xAxisPoints = _drawAreaDataPoints.xAxisPoints,\r\n calPoints = _drawAreaDataPoints.calPoints,\r\n eachSpacing = _drawAreaDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'ring':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'pie':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawPieDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'rose':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.pieData = drawRoseDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'radar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.radarData = drawRadarDataPoints(series, opts, config, context, process);\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n drawToolTipBridge(opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'arcbar':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.arcbarData = drawArcbarDataPoints(series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'gauge':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n opts.chartData.gaugeData = drawGaugeDataPoints(categories, series, opts, config, context, process);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n case 'candle':\r\n this.animationInstance = new Animation({\r\n timing: opts.timing,\r\n duration: duration,\r\n onProcess: function onProcess(process) {\r\n context.clearRect(0, 0, opts.width, opts.height);\r\n if (opts.rotate) {\r\n contextRotate(context, opts);\r\n }\r\n drawYAxisGrid(categories, opts, config, context);\r\n drawXAxis(categories, opts, config, context);\r\n var _drawCandleDataPoints = drawCandleDataPoints(series, seriesMA, opts, config, context, process),\r\n xAxisPoints = _drawCandleDataPoints.xAxisPoints,\r\n calPoints = _drawCandleDataPoints.calPoints,\r\n eachSpacing = _drawCandleDataPoints.eachSpacing;\r\n opts.chartData.xAxisPoints = xAxisPoints;\r\n opts.chartData.calPoints = calPoints;\r\n opts.chartData.eachSpacing = eachSpacing;\r\n drawYAxis(series, opts, config, context);\r\n if (opts.enableMarkLine !== false && process === 1) {\r\n drawMarkLine(opts, config, context);\r\n }\r\n if (seriesMA) {\r\n drawLegend(seriesMA, opts, config, context, opts.chartData);\r\n } else {\r\n drawLegend(opts.series, opts, config, context, opts.chartData);\r\n }\r\n drawToolTipBridge(opts, config, context, process, eachSpacing, xAxisPoints);\r\n drawCanvas(opts, context);\r\n },\r\n onAnimationFinish: function onAnimationFinish() {\r\n _this.uevent.trigger('renderComplete');\r\n }\r\n });\r\n break;\r\n }\r\n}\r\n\r\nfunction uChartsEvent() {\r\n this.events = {};\r\n}\r\n\r\nuChartsEvent.prototype.addEventListener = function(type, listener) {\r\n this.events[type] = this.events[type] || [];\r\n this.events[type].push(listener);\r\n};\r\n\r\nuChartsEvent.prototype.delEventListener = function(type) {\r\n this.events[type] = [];\r\n};\r\n\r\nuChartsEvent.prototype.trigger = function() {\r\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\r\n args[_key] = arguments[_key];\r\n }\r\n var type = args[0];\r\n var params = args.slice(1);\r\n if (!!this.events[type]) {\r\n this.events[type].forEach(function(listener) {\r\n try {\r\n listener.apply(null, params);\r\n } catch (e) {\r\n //console.log('[uCharts] '+e);\r\n }\r\n });\r\n }\r\n};\r\n\r\nvar uCharts = function uCharts(opts) {\r\n opts.pix = opts.pixelRatio ? opts.pixelRatio : 1;\r\n opts.fontSize = opts.fontSize ? opts.fontSize : 13;\r\n opts.fontColor = opts.fontColor ? opts.fontColor : config.fontColor;\r\n if (opts.background == \"\" || opts.background == \"none\") {\r\n opts.background = \"#FFFFFF\"\r\n }\r\n opts.title = assign({}, opts.title);\r\n opts.subtitle = assign({}, opts.subtitle);\r\n opts.duration = opts.duration ? opts.duration : 1000;\r\n opts.yAxis = assign({}, {\r\n data: [],\r\n showTitle: false,\r\n disabled: false,\r\n disableGrid: false,\r\n gridSet: 'number',\r\n splitNumber: 5,\r\n gridType: 'solid',\r\n dashLength: 4 * opts.pix,\r\n gridColor: '#cccccc',\r\n padding: 10,\r\n fontColor: '#666666'\r\n }, opts.yAxis);\r\n opts.xAxis = assign({}, {\r\n rotateLabel: false,\r\n rotateAngle:45,\r\n disabled: false,\r\n disableGrid: false,\r\n splitNumber: 5,\r\n calibration:false,\r\n gridType: 'solid',\r\n dashLength: 4,\r\n scrollAlign: 'left',\r\n boundaryGap: 'center',\r\n axisLine: true,\r\n axisLineColor: '#cccccc'\r\n }, opts.xAxis);\r\n opts.xAxis.scrollPosition = opts.xAxis.scrollAlign;\r\n opts.legend = assign({}, {\r\n show: true,\r\n position: 'bottom',\r\n float: 'center',\r\n backgroundColor: 'rgba(0,0,0,0)',\r\n borderColor: 'rgba(0,0,0,0)',\r\n borderWidth: 0,\r\n padding: 5,\r\n margin: 5,\r\n itemGap: 10,\r\n fontSize: opts.fontSize,\r\n lineHeight: opts.fontSize,\r\n fontColor: opts.fontColor,\r\n formatter: {},\r\n hiddenColor: '#CECECE'\r\n }, opts.legend);\r\n opts.extra = assign({}, opts.extra);\r\n opts.rotate = opts.rotate ? true : false;\r\n opts.animation = opts.animation ? true : false;\r\n opts.rotate = opts.rotate ? true : false;\r\n opts.canvas2d = opts.canvas2d ? true : false;\r\n \r\n let config$$1 = assign({}, config);\r\n config$$1.color = opts.color ? opts.color : config$$1.color;\r\n if (opts.type == 'pie') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.pie.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n if (opts.type == 'ring') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.ring.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n if (opts.type == 'rose') {\r\n config$$1.pieChartLinePadding = opts.dataLabel === false ? 0 : opts.extra.rose.labelWidth * opts.pix || config$$1.pieChartLinePadding * opts.pix;\r\n }\r\n config$$1.pieChartTextPadding = opts.dataLabel === false ? 0 : config$$1.pieChartTextPadding * opts.pix;\r\n\r\n //屏幕旋转\r\n config$$1.rotate = opts.rotate;\r\n if (opts.rotate) {\r\n let tempWidth = opts.width;\r\n let tempHeight = opts.height;\r\n opts.width = tempHeight;\r\n opts.height = tempWidth;\r\n }\r\n\r\n //适配高分屏\r\n opts.padding = opts.padding ? opts.padding : config$$1.padding;\r\n config$$1.yAxisWidth = config.yAxisWidth * opts.pix;\r\n config$$1.xAxisHeight = config.xAxisHeight * opts.pix;\r\n if (opts.enableScroll && opts.xAxis.scrollShow) {\r\n config$$1.xAxisHeight += 6 * opts.pix;\r\n }\r\n config$$1.fontSize = opts.fontSize * opts.pix;\r\n config$$1.titleFontSize = config.titleFontSize * opts.pix;\r\n config$$1.subtitleFontSize = config.subtitleFontSize * opts.pix;\r\n config$$1.toolTipPadding = config.toolTipPadding * opts.pix;\r\n config$$1.toolTipLineHeight = config.toolTipLineHeight * opts.pix;\r\n if(!opts.context){\r\n throw new Error('[uCharts] 未获取到context!注意:v2.0版本后,需要自行获取canvas的绘图上下文并传入opts.context!');\r\n }\r\n this.context = opts.context;\r\n if (!this.context.setTextAlign) {\r\n this.context.setStrokeStyle = function(e) {\r\n return this.strokeStyle = e;\r\n }\r\n this.context.setLineWidth = function(e) {\r\n return this.lineWidth = e;\r\n }\r\n this.context.setLineCap = function(e) {\r\n return this.lineCap = e;\r\n }\r\n this.context.setFontSize = function(e) {\r\n return this.font = e + \"px sans-serif\";\r\n }\r\n this.context.setFillStyle = function(e) {\r\n return this.fillStyle = e;\r\n }\r\n this.context.setTextAlign = function(e) {\r\n return this.textAlign = e;\r\n }\r\n this.context.draw = function() {}\r\n }\r\n //兼容NVUEsetLineDash\r\n if(!this.context.setLineDash){\r\n this.context.setLineDash = function(e) {}\r\n }\r\n opts.chartData = {};\r\n this.uevent = new uChartsEvent();\r\n this.scrollOption = {\r\n currentOffset: 0,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n this.opts = opts;\r\n this.config = config$$1;\r\n drawCharts.call(this, opts.type, opts, config$$1, this.context);\r\n};\r\n\r\nuCharts.prototype.updateData = function() {\r\n let data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\r\n this.opts = assign({}, this.opts, data);\r\n this.opts.updateData = true;\r\n let scrollPosition = data.scrollPosition || 'current';\r\n switch (scrollPosition) {\r\n case 'current':\r\n this.opts._scrollDistance_ = this.scrollOption.currentOffset;\r\n break;\r\n case 'left':\r\n this.opts._scrollDistance_ = 0;\r\n this.scrollOption = {\r\n currentOffset: 0,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n break;\r\n case 'right':\r\n let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context), yAxisWidth = _calYAxisData.yAxisWidth;\r\n this.config.yAxisWidth = yAxisWidth;\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config), xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let totalWidth = eachSpacing * (xAxisPoints.length - 1);\r\n let screenWidth = endX - startX;\r\n offsetLeft = screenWidth - totalWidth;\r\n this.scrollOption = {\r\n currentOffset: offsetLeft,\r\n startTouchX: offsetLeft,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n this.opts._scrollDistance_ = offsetLeft;\r\n break;\r\n }\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.zoom = function() {\r\n var val = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.opts.xAxis.itemCount;\r\n if (this.opts.enableScroll !== true) {\r\n console.log('[uCharts] 请启用滚动条后使用')\r\n return;\r\n }\r\n //当前屏幕中间点\r\n let centerPoint = Math.round(Math.abs(this.scrollOption.currentOffset) / this.opts.chartData.eachSpacing) + Math.round(this.opts.xAxis.itemCount / 2);\r\n this.opts.animation = false;\r\n this.opts.xAxis.itemCount = val.itemCount;\r\n //重新计算x轴偏移距离\r\n let _calYAxisData = calYAxisData(this.opts.series, this.opts, this.config, this.context),\r\n yAxisWidth = _calYAxisData.yAxisWidth;\r\n this.config.yAxisWidth = yAxisWidth;\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),\r\n xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let centerLeft = eachSpacing * centerPoint;\r\n let screenWidth = endX - startX;\r\n let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);\r\n offsetLeft = screenWidth / 2 - centerLeft;\r\n if (offsetLeft > 0) {\r\n offsetLeft = 0;\r\n }\r\n if (offsetLeft < MaxLeft) {\r\n offsetLeft = MaxLeft;\r\n }\r\n this.scrollOption = {\r\n currentOffset: offsetLeft,\r\n startTouchX: 0,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);\r\n this.opts._scrollDistance_ = offsetLeft;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.dobuleZoom = function(e) {\r\n if (this.opts.enableScroll !== true) {\r\n console.log('[uCharts] 请启用滚动条后使用')\r\n return;\r\n }\r\n const tcs = e.changedTouches;\r\n if (tcs.length < 2) {\r\n return;\r\n }\r\n for (var i = 0; i < tcs.length; i++) {\r\n tcs[i].x = tcs[i].x ? tcs[i].x : tcs[i].clientX;\r\n tcs[i].y = tcs[i].y ? tcs[i].y : tcs[i].clientY;\r\n }\r\n const ntcs = [getTouches(tcs[0], this.opts, e),getTouches(tcs[1], this.opts, e)]; \r\n const xlength = Math.abs(ntcs[0].x - ntcs[1].x);\r\n // 记录初始的两指之间的数据\r\n if(!this.scrollOption.moveCount){\r\n let cts0 = {changedTouches:[{x:tcs[0].x,y:this.opts.area[0] / this.opts.pix + 2}]};\r\n let cts1 = {changedTouches:[{x:tcs[1].x,y:this.opts.area[0] / this.opts.pix + 2}]};\r\n if(this.opts.rotate){\r\n cts0 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[0].y}]};\r\n cts1 = {changedTouches:[{x:this.opts.height / this.opts.pix - this.opts.area[0] / this.opts.pix - 2,y:tcs[1].y}]};\r\n }\r\n const moveCurrent1 = this.getCurrentDataIndex(cts0).index;\r\n const moveCurrent2 = this.getCurrentDataIndex(cts1).index;\r\n const moveCount = Math.abs(moveCurrent1 - moveCurrent2);\r\n this.scrollOption.moveCount = moveCount;\r\n this.scrollOption.moveCurrent1 = Math.min(moveCurrent1, moveCurrent2);\r\n this.scrollOption.moveCurrent2 = Math.max(moveCurrent1, moveCurrent2);\r\n return;\r\n }\r\n \r\n let currentEachSpacing = xlength / this.scrollOption.moveCount;\r\n let itemCount = (this.opts.width - this.opts.area[1] - this.opts.area[3]) / currentEachSpacing;\r\n itemCount = itemCount <= 2 ? 2 : itemCount;\r\n itemCount = itemCount >= this.opts.categories.length ? this.opts.categories.length : itemCount;\r\n this.opts.animation = false;\r\n this.opts.xAxis.itemCount = itemCount;\r\n // 重新计算滚动条偏移距离\r\n let offsetLeft = 0;\r\n let _getXAxisPoints0 = getXAxisPoints(this.opts.categories, this.opts, this.config),\r\n xAxisPoints = _getXAxisPoints0.xAxisPoints,\r\n startX = _getXAxisPoints0.startX,\r\n endX = _getXAxisPoints0.endX,\r\n eachSpacing = _getXAxisPoints0.eachSpacing;\r\n let currentLeft = eachSpacing * this.scrollOption.moveCurrent1;\r\n let screenWidth = endX - startX;\r\n let MaxLeft = screenWidth - eachSpacing * (xAxisPoints.length - 1);\r\n offsetLeft = -currentLeft+Math.min(ntcs[0].x,ntcs[1].x)-this.opts.area[3]-eachSpacing;\r\n if (offsetLeft > 0) {\r\n offsetLeft = 0;\r\n }\r\n if (offsetLeft < MaxLeft) {\r\n offsetLeft = MaxLeft;\r\n }\r\n this.scrollOption.currentOffset= offsetLeft;\r\n this.scrollOption.startTouchX= 0;\r\n this.scrollOption.distance=0;\r\n calValidDistance(this, offsetLeft, this.opts.chartData, this.config, this.opts);\r\n this.opts._scrollDistance_ = offsetLeft;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n}\r\n\r\nuCharts.prototype.stopAnimation = function() {\r\n this.animationInstance && this.animationInstance.stop();\r\n};\r\n\r\nuCharts.prototype.addEventListener = function(type, listener) {\r\n this.uevent.addEventListener(type, listener);\r\n};\r\n\r\nuCharts.prototype.delEventListener = function(type) {\r\n this.uevent.delEventListener(type);\r\n};\r\n\r\nuCharts.prototype.getCurrentDataIndex = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n let _touches$ = getTouches(touches, this.opts, e);\r\n if (this.opts.type === 'pie' || this.opts.type === 'ring') {\r\n return findPieChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.pieData, this.opts);\r\n } else if (this.opts.type === 'rose') {\r\n return findRoseChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.pieData, this.opts);\r\n } else if (this.opts.type === 'radar') {\r\n return findRadarChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.radarData, this.opts.categories.length);\r\n } else if (this.opts.type === 'funnel') {\r\n return findFunnelChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.funnelData);\r\n } else if (this.opts.type === 'map') {\r\n return findMapChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts);\r\n } else if (this.opts.type === 'word') {\r\n return findWordChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.wordCloudData);\r\n } else if (this.opts.type === 'bar') {\r\n return findBarChartCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));\r\n } else {\r\n return findCurrentIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.calPoints, this.opts, this.config, Math.abs(this.scrollOption.currentOffset));\r\n }\r\n }\r\n return -1;\r\n};\r\n\r\nuCharts.prototype.getLegendDataIndex = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n let _touches$ = getTouches(touches, this.opts, e);\r\n return findLegendIndex({\r\n x: _touches$.x,\r\n y: _touches$.y\r\n }, this.opts.chartData.legendData);\r\n }\r\n return -1;\r\n};\r\n\r\nuCharts.prototype.touchLegend = function(e) {\r\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches) {\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var index = this.getLegendDataIndex(e);\r\n if (index >= 0) {\r\n if (this.opts.type == 'candle') {\r\n this.opts.seriesMA[index].show = !this.opts.seriesMA[index].show;\r\n } else {\r\n this.opts.series[index].show = !this.opts.series[index].show;\r\n }\r\n this.opts.animation = option.animation ? true : false;\r\n this.opts._scrollDistance_ = this.scrollOption.currentOffset;\r\n drawCharts.call(this, this.opts.type, this.opts, this.config, this.context);\r\n }\r\n }\r\n\r\n};\r\n\r\nuCharts.prototype.showToolTip = function(e) {\r\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (!touches) {\r\n console.log(\"[uCharts] 未获取到event坐标信息\");\r\n }\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n if (this.opts.type === 'line' || this.opts.type === 'area' || this.opts.type === 'column' || this.opts.type === 'scatter' || this.opts.type === 'bubble') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1 || index.length>0) {\r\n var seriesData = getSeriesDataItem(this.opts.series, index, current.group);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList !== undefined ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'mount') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e).index : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, opts._series_[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,\r\n color: seriesData.color\r\n }];\r\n var offset = {\r\n x: opts.chartData.calPoints[index].x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n \r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'bar') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1 || index.length>0) {\r\n var seriesData = getSeriesDataItem(this.opts.series, index, current.group);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getToolTipData(seriesData, this.opts, index, current.group, this.opts.categories, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.x = _touches$.x;\r\n opts.tooltip = {\r\n textList: option.textList !== undefined ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'mix') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1) {\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var _getMixToolTipData = getMixToolTipData(seriesData, this.opts, index, this.opts.categories, option),\r\n textList = _getMixToolTipData.textList,\r\n offset = _getMixToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'candle') {\r\n var current = this.getCurrentDataIndex(e);\r\n var index = option.index == undefined ? current.index : option.index;\r\n if (index > -1) {\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset,\r\n animation: false\r\n });\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var _getToolTipData = getCandleToolTipData(this.opts.series[0].data, seriesData, this.opts, index, this.opts.categories, this.opts.extra.candle, option),\r\n textList = _getToolTipData.textList,\r\n offset = _getToolTipData.offset;\r\n offset.y = _touches$.y;\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'pie' || this.opts.type === 'ring' || this.opts.type === 'rose' || this.opts.type === 'funnel') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, opts._series_[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, opts) : seriesData.name + ': ' + seriesData.data,\r\n color: seriesData.color\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'map') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, this.opts.series[index]);\r\n seriesData.name = seriesData.properties.name\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,\r\n color: seriesData.color\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n opts.updateData = false;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'word') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = assign({}, this.opts.series[index]);\r\n var textList = [{\r\n text: option.formatter ? option.formatter(seriesData, undefined, index, this.opts) : seriesData.name,\r\n color: seriesData.color\r\n }];\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n opts.updateData = false;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n if (this.opts.type === 'radar') {\r\n var index = option.index == undefined ? this.getCurrentDataIndex(e) : option.index;\r\n if (index > -1) {\r\n var opts = assign({}, this.opts, {animation: false});\r\n var seriesData = getSeriesDataItem(this.opts.series, index);\r\n if (seriesData.length !== 0) {\r\n var textList = seriesData.map((item) => {\r\n return {\r\n text: option.formatter ? option.formatter(item, this.opts.categories[index], index, this.opts) : item.name + ': ' + item.data,\r\n color: item.color\r\n };\r\n });\r\n var offset = {\r\n x: _touches$.x,\r\n y: _touches$.y\r\n };\r\n opts.tooltip = {\r\n textList: option.textList ? option.textList : textList,\r\n offset: option.offset !== undefined ? option.offset : offset,\r\n option: option,\r\n index: index\r\n };\r\n }\r\n }\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n }\r\n};\r\n\r\nuCharts.prototype.translate = function(distance) {\r\n this.scrollOption = {\r\n currentOffset: distance,\r\n startTouchX: distance,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\r\n let opts = assign({}, this.opts, {\r\n _scrollDistance_: distance,\r\n animation: false\r\n });\r\n drawCharts.call(this, this.opts.type, opts, this.config, this.context);\r\n};\r\n\r\nuCharts.prototype.scrollStart = function(e) {\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n if (touches && this.opts.enableScroll === true) {\r\n this.scrollOption.startTouchX = _touches$.x;\r\n }\r\n};\r\n\r\nuCharts.prototype.scroll = function(e) {\r\n if (this.scrollOption.lastMoveTime === 0) {\r\n this.scrollOption.lastMoveTime = Date.now();\r\n }\r\n let Limit = this.opts.touchMoveLimit || 60;\r\n let currMoveTime = Date.now();\r\n let duration = currMoveTime - this.scrollOption.lastMoveTime;\r\n if (duration < Math.floor(1000 / Limit)) return;\r\n if (this.scrollOption.startTouchX == 0) return;\r\n this.scrollOption.lastMoveTime = currMoveTime;\r\n var touches = null;\r\n if (e.changedTouches) {\r\n touches = e.changedTouches[0];\r\n } else {\r\n touches = e.mp.changedTouches[0];\r\n }\r\n if (touches && this.opts.enableScroll === true) {\r\n var _touches$ = getTouches(touches, this.opts, e);\r\n var _distance;\r\n _distance = _touches$.x - this.scrollOption.startTouchX;\r\n var currentOffset = this.scrollOption.currentOffset;\r\n var validDistance = calValidDistance(this, currentOffset + _distance, this.opts.chartData, this.config, this.opts);\r\n this.scrollOption.distance = _distance = validDistance - currentOffset;\r\n var opts = assign({}, this.opts, {\r\n _scrollDistance_: currentOffset + _distance,\r\n animation: false\r\n });\r\n\t\tthis.opts = opts;\r\n drawCharts.call(this, opts.type, opts, this.config, this.context);\r\n return currentOffset + _distance;\r\n }\r\n};\r\n\r\nuCharts.prototype.scrollEnd = function(e) {\r\n if (this.opts.enableScroll === true) {\r\n var _scrollOption = this.scrollOption,\r\n currentOffset = _scrollOption.currentOffset,\r\n distance = _scrollOption.distance;\r\n this.scrollOption.currentOffset = currentOffset + distance;\r\n this.scrollOption.distance = 0;\r\n this.scrollOption.moveCount = 0;\r\n }\r\n};\r\n\r\nexport default uCharts;","/*\r\n * uCharts®\r\n * 高性能跨平台图表库,支持H5、APP、小程序(微信/支付宝/百度/头条/QQ/360)、Vue、Taro等支持canvas的框架平台\r\n * Copyright (c) 2021 QIUN®秋云 https://www.ucharts.cn All rights reserved.\r\n * Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )\r\n * 复制使用请保留本段注释,感谢支持开源!\r\n * \r\n * uCharts®官方网站\r\n * https://www.uCharts.cn\r\n * \r\n * 开源地址:\r\n * https://gitee.com/uCharts/uCharts\r\n * \r\n * uni-app插件市场地址:\r\n * http://ext.dcloud.net.cn/plugin?id=271\r\n * \r\n */\r\n\r\n// 主题颜色配置:如每个图表类型需要不同主题,请在对应图表类型上更改color属性\r\nconst color = ['#1890FF', '#91CB74', '#FAC858', '#EE6666', '#73C0DE', '#3CA272', '#FC8452', '#9A60B4', '#ea7ccc'];\r\n\r\n//事件转换函数,主要用作格式化x轴为时间轴,根据需求自行修改\r\nconst formatDateTime = (timeStamp, returnType)=>{\r\n var date = new Date();\r\n date.setTime(timeStamp * 1000);\r\n var y = date.getFullYear();\r\n var m = date.getMonth() + 1;\r\n m = m < 10 ? ('0' + m) : m;\r\n var d = date.getDate();\r\n d = d < 10 ? ('0' + d) : d;\r\n var h = date.getHours();\r\n h = h < 10 ? ('0' + h) : h;\r\n var minute = date.getMinutes();\r\n var second = date.getSeconds();\r\n minute = minute < 10 ? ('0' + minute) : minute;\r\n second = second < 10 ? ('0' + second) : second;\r\n if(returnType == 'full'){return y + '-' + m + '-' + d + ' '+ h +':' + minute + ':' + second;}\r\n if(returnType == 'y-m-d'){return y + '-' + m + '-' + d;}\r\n if(returnType == 'h:m'){return h +':' + minute;}\r\n if(returnType == 'h:m:s'){return h +':' + minute +':' + second;}\r\n return [y, m, d, h, minute, second];\r\n}\r\n\r\nconst cfu = {\r\n //demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可\r\n\t\"type\":[\"pie\",\"ring\",\"rose\",\"word\",\"funnel\",\"map\",\"arcbar\",\"line\",\"column\",\"mount\",\"bar\",\"area\",\"radar\",\"gauge\",\"candle\",\"mix\",\"tline\",\"tarea\",\"scatter\",\"bubble\",\"demotype\"],\r\n\t\"range\":[\"饼状图\",\"圆环图\",\"玫瑰图\",\"词云图\",\"漏斗图\",\"地图\",\"圆弧进度条\",\"折线图\",\"柱状图\",\"山峰图\",\"条状图\",\"区域图\",\"雷达图\",\"仪表盘\",\"K线图\",\"混合图\",\"时间轴折线\",\"时间轴区域\",\"散点图\",\"气泡图\",\"自定义类型\"],\r\n //增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的\"demotype\"\r\n //自定义类型时需要注意\"tline\",\"tarea\",\"scatter\",\"bubble\"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories\r\n\t\"categories\":[\"line\",\"column\",\"mount\",\"bar\",\"area\",\"radar\",\"gauge\",\"candle\",\"mix\",\"demotype\"],\r\n //instance为实例变量承载属性,不要删除\r\n \"instance\":{},\r\n //option为opts及eopts承载属性,不要删除\r\n \"option\":{},\r\n //下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换\r\n \"formatter\":{\r\n \"yAxisDemo1\":function(val, index, opts){return val+'元'},\r\n \"yAxisDemo2\":function(val, index, opts){return val.toFixed(2)},\r\n \"xAxisDemo1\":function(val, index, opts){return val+'年';},\r\n \"xAxisDemo2\":function(val, index, opts){return formatDateTime(val,'h:m')},\r\n \"seriesDemo1\":function(val, index, series, opts){return val+'元'},\r\n \"tooltipDemo1\":function(item, category, index, opts){\r\n if(index==0){\r\n \treturn '随便用'+item.data+'年'\r\n }else{\r\n \treturn '其他我没改'+item.data+'天'\r\n }\r\n },\r\n \"pieDemo\":function(val, index, series, opts){\r\n if(index !== undefined){\r\n return series[index].name+':'+series[index].data+'元'\r\n }\r\n },\r\n },\r\n //这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type=\"demotype\" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。\r\n \"demotype\":{\r\n //我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置\r\n \"type\": \"line\",\r\n \"color\": color,\r\n \"padding\": [15,10,0,15],\r\n \"xAxis\": {\r\n \"disableGrid\": true,\r\n },\r\n \"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"line\": {\r\n \t\t\"type\": \"curve\",\r\n \t\t\"width\": 2\r\n \t},\r\n }\r\n },\r\n //下面是自定义配置,请添加项目所需的通用配置\r\n\t\"pie\":{\r\n\t\t\"type\": \"pie\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"extra\": {\r\n\t\t\t\"pie\": {\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 3,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"ring\":{\r\n\t\t\"type\": \"ring\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"rotate\": false,\r\n\t\t\"dataLabel\": true,\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"right\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"收益率\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#666666\"\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"70%\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#7cb5ec\"\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"ring\": {\r\n\t\t\t\t\"ringWidth\":30,\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 3,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n\t\"rose\":{\r\n\t\t\"type\": \"rose\",\r\n \"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"left\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"rose\": {\r\n\t\t\t\t\"type\": \"area\",\r\n\t\t\t\t\"minRadius\": 50,\r\n\t\t\t\t\"activeOpacity\": 0.5,\r\n\t\t\t\t\"activeRadius\": 10,\r\n\t\t\t\t\"offsetAngle\": 0,\r\n\t\t\t\t\"labelWidth\": 15,\r\n\t\t\t\t\"border\": false,\r\n\t\t\t\t\"borderWidth\": 2,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"word\":{\r\n\t\t\"type\": \"word\",\r\n \"color\": color,\r\n\t\t\"extra\": {\r\n\t\t\t\"word\": {\r\n\t\t\t\t\"type\": \"normal\",\r\n\t\t\t\t\"autoColors\": false\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"funnel\":{\r\n\t\t\"type\": \"funnel\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"extra\": {\r\n\t\t\t\"funnel\": {\r\n\t\t\t\t\"activeOpacity\": 0.3,\r\n\t\t\t\t\"activeWidth\": 10,\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 2,\r\n\t\t\t\t\"borderColor\": \"#FFFFFF\",\r\n\t\t\t\t\"fillOpacity\": 1,\r\n\t\t\t\t\"labelAlign\": \"right\"\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"map\":{\r\n\t\t\"type\": \"map\",\r\n \"color\": color,\r\n\t\t\"padding\": [0,0,0,0],\r\n \"dataLabel\": true,\r\n\t\t\"extra\": {\r\n\t\t\t\"map\": {\r\n\t\t\t\t\"border\": true,\r\n\t\t\t\t\"borderWidth\": 1,\r\n\t\t\t\t\"borderColor\": \"#666666\",\r\n\t\t\t\t\"fillOpacity\": 0.6,\r\n\t\t\t\t\"activeBorderColor\": \"#F04864\",\r\n\t\t\t\t\"activeFillColor\": \"#FACC14\",\r\n\t\t\t\t\"activeFillOpacity\": 1\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"arcbar\":{\r\n\t\t\"type\": \"arcbar\",\r\n \"color\": color,\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"百分比\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#00FF00\"\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"默认标题\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#666666\"\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"arcbar\": {\r\n\t\t\t\t\"type\": \"default\",\r\n\t\t\t\t\"width\": 12,\r\n\t\t\t\t\"backgroundColor\": \"#E9E9E9\",\r\n\t\t\t\t\"startAngle\": 0.75,\r\n\t\t\t\t\"endAngle\": 0.25,\r\n\t\t\t\t\"gap\": 2\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"line\":{\r\n\t\t\"type\": \"line\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,10,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"line\": {\r\n\t\t\t\t\"type\": \"straight\",\r\n\t\t\t\t\"width\": 2\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n \"tline\":{\r\n \t\"type\": \"line\",\r\n \"color\": color,\r\n \t\"padding\": [15,10,0,15],\r\n \t\"xAxis\": {\r\n \"disableGrid\": false,\r\n \"boundaryGap\":\"justify\",\r\n \t},\r\n \t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n \"data\":[\r\n {\r\n \"min\":0,\r\n \"max\":80\r\n }\r\n ]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"line\": {\r\n \t\t\t\"type\": \"curve\",\r\n \t\t\t\"width\": 2\r\n \t\t},\r\n \t}\r\n },\r\n \"tarea\":{\r\n \t\"type\": \"area\",\r\n \"color\": color,\r\n \t\"padding\": [15,10,0,15],\r\n \t\"xAxis\": {\r\n \"disableGrid\": true,\r\n \"boundaryGap\":\"justify\",\r\n \t},\r\n \t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n \"data\":[\r\n {\r\n \"min\":0,\r\n \"max\":80\r\n }\r\n ]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"area\": {\r\n \t\t\t\"type\": \"curve\",\r\n \t\t\t\"opacity\": 0.2,\r\n \t\t\t\"addLine\": true,\r\n \t\t\t\"width\": 2,\r\n \t\t\t\"gradient\": true\r\n \t\t},\r\n \t}\r\n },\r\n\t\"column\":{\r\n\t\t\"type\": \"column\",\r\n \"color\": color,\r\n\t\t\"padding\": [15,15,0,5],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"data\":[{\"min\":0}]\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"column\": {\r\n\t\t\t\t\"type\": \"group\",\r\n\t\t\t\t\"width\": 30,\r\n\t\t\t\t\"activeBgColor\": \"#000000\",\r\n\t\t\t\t\"activeBgOpacity\": 0.08\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n \"mount\":{\r\n \t\"type\": \"mount\",\r\n \"color\": color,\r\n \t\"padding\": [15,15,0,5],\r\n \t\"xAxis\": {\r\n \"disableGrid\": true,\r\n \t},\r\n \t\"yAxis\": {\r\n \"data\":[{\"min\":0}]\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"mount\": {\r\n \t\t\t\"type\": \"mount\",\r\n \t\t\t\"widthRatio\": 1.5,\r\n \t\t},\r\n \t}\r\n },\r\n \"bar\":{\r\n \t\"type\": \"bar\",\r\n \"color\": color,\r\n \t\"padding\": [15,30,0,5],\r\n \t\"xAxis\": {\r\n \"boundaryGap\":\"justify\",\r\n \"disableGrid\":false,\r\n \"min\":0,\r\n \"axisLine\":false\r\n \t},\r\n \t\"yAxis\": {\r\n \t},\r\n \t\"legend\": {\r\n \t},\r\n \t\"extra\": {\r\n \t\t\"bar\": {\r\n \t\t\t\"type\": \"group\",\r\n \t\t\t\"width\": 30,\r\n \t\t\t\"meterBorde\": 1,\r\n \t\t\t\"meterFillColor\": \"#FFFFFF\",\r\n \t\t\t\"activeBgColor\": \"#000000\",\r\n \t\t\t\"activeBgOpacity\": 0.08\r\n \t\t},\r\n \t}\r\n },\r\n\t\"area\":{\r\n\t\t\"type\": \"area\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n \"gridType\": \"dash\",\r\n \"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"area\": {\r\n\t\t\t\t\"type\": \"straight\",\r\n\t\t\t\t\"opacity\": 0.2,\r\n\t\t\t\t\"addLine\": true,\r\n\t\t\t\t\"width\": 2,\r\n\t\t\t\t\"gradient\": false\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"radar\":{\r\n\t\t\"type\": \"radar\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [5,5,5,5],\r\n \"dataLabel\": false,\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"right\",\r\n \"lineHeight\": 25,\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"radar\": {\r\n\t\t\t\t\"gridType\": \"radar\",\r\n\t\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\t\"gridCount\": 3,\r\n\t\t\t\t\"opacity\": 0.2,\r\n\t\t\t\t\"max\": 200\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"gauge\":{\r\n\t\t\"type\": \"gauge\",\r\n\t\t\"color\": color,\r\n\t\t\"title\": {\r\n\t\t\t\"name\": \"66Km/H\",\r\n\t\t\t\"fontSize\": 25,\r\n\t\t\t\"color\": \"#2fc25b\",\r\n\t\t\t\"offsetY\": 50\r\n\t\t},\r\n\t\t\"subtitle\": {\r\n\t\t\t\"name\": \"实时速度\",\r\n\t\t\t\"fontSize\": 15,\r\n\t\t\t\"color\": \"#1890ff\",\r\n\t\t\t\"offsetY\": -50\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"gauge\": {\r\n\t\t\t\t\"type\": \"default\",\r\n\t\t\t\t\"width\": 30,\r\n\t\t\t\t\"labelColor\": \"#666666\",\r\n\t\t\t\t\"startAngle\": 0.75,\r\n\t\t\t\t\"endAngle\": 0.25,\r\n\t\t\t\t\"startNumber\": 0,\r\n\t\t\t\t\"endNumber\": 100,\r\n\t\t\t\t\"labelFormat\": \"\",\r\n\t\t\t\t\"splitLine\": {\r\n\t\t\t\t\t\"fixRadius\": 0,\r\n\t\t\t\t\t\"splitNumber\": 10,\r\n\t\t\t\t\t\"width\": 30,\r\n\t\t\t\t\t\"color\": \"#FFFFFF\",\r\n\t\t\t\t\t\"childNumber\": 5,\r\n\t\t\t\t\t\"childWidth\": 12\r\n\t\t\t\t},\r\n\t\t\t\t\"pointer\": {\r\n\t\t\t\t\t\"width\": 24,\r\n\t\t\t\t\t\"color\": \"auto\"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"candle\":{\r\n\t\t\"type\": \"candle\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"enableScroll\": true,\r\n\t\t\"enableMarkLine\": true,\r\n\t\t\"dataLabel\": false,\r\n\t\t\"xAxis\": {\r\n\t\t\t\"labelCount\": 4,\r\n\t\t\t\"itemCount\": 40,\r\n\t\t\t\"disableGrid\": true,\r\n\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\"gridType\": \"solid\",\r\n\t\t\t\"dashLength\": 4,\r\n\t\t\t\"scrollShow\": true,\r\n\t\t\t\"scrollAlign\": \"left\",\r\n\t\t\t\"scrollColor\": \"#A6A6A6\",\r\n\t\t\t\"scrollBackgroundColor\": \"#EFEBEF\"\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"candle\": {\r\n\t\t\t\t\"color\": {\r\n\t\t\t\t\t\"upLine\": \"#f04864\",\r\n\t\t\t\t\t\"upFill\": \"#f04864\",\r\n\t\t\t\t\t\"downLine\": \"#2fc25b\",\r\n\t\t\t\t\t\"downFill\": \"#2fc25b\"\r\n\t\t\t\t},\r\n\t\t\t\t\"average\": {\r\n\t\t\t\t\t\"show\": true,\r\n\t\t\t\t\t\"name\": [\"MA5\",\"MA10\",\"MA30\"],\r\n\t\t\t\t\t\"day\": [5,10,20],\r\n\t\t\t\t\t\"color\": [\"#1890ff\",\"#2fc25b\",\"#facc14\"]\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\"markLine\": {\r\n\t\t\t\t\"type\": \"dash\",\r\n\t\t\t\t\"dashLength\": 5,\r\n\t\t\t\t\"data\": [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"value\": 2150,\r\n\t\t\t\t\t\t\"lineColor\": \"#f04864\",\r\n\t\t\t\t\t\t\"showLabel\": true\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"value\": 2350,\r\n\t\t\t\t\t\t\"lineColor\": \"#f04864\",\r\n\t\t\t\t\t\t\"showLabel\": true\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"mix\":{\r\n\t\t\"type\": \"mix\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15,15,0,15],\r\n\t\t\"xAxis\": {\r\n \"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"disabled\": false,\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"splitNumber\": 5,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 4,\r\n\t\t\t\"gridColor\": \"#CCCCCC\",\r\n\t\t\t\"padding\": 10,\r\n\t\t\t\"showTitle\": true,\r\n\t\t\t\"data\": []\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"mix\": {\r\n\t\t\t\t\"column\": {\r\n\t\t\t\t\t\"width\": 20\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"scatter\":{\r\n\t\t\"type\": \"scatter\",\r\n\t\t\"color\":color,\r\n\t\t\"padding\":[15,15,0,15],\r\n \"dataLabel\":false,\r\n \"xAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"splitNumber\":5,\r\n \"boundaryGap\":\"justify\",\r\n \"min\":0\r\n },\r\n \"yAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"scatter\": {\r\n \t},\r\n }\r\n\t},\r\n\t\"bubble\":{\r\n\t\t\"type\": \"bubble\",\r\n\t\t\"color\":color,\r\n\t\t\"padding\":[15,15,0,15],\r\n \"xAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"splitNumber\":5,\r\n \"boundaryGap\":\"justify\",\r\n \"min\":0,\r\n \"max\":250\r\n },\r\n \"yAxis\": {\r\n \"disableGrid\": false,\r\n \"gridType\":\"dash\",\r\n \"data\":[{\r\n \"min\":0,\r\n \"max\":150\r\n }]\r\n },\r\n \"legend\": {\r\n },\r\n \"extra\": {\r\n \t\"bubble\": {\r\n \"border\":2,\r\n \"opacity\": 0.5,\r\n \t},\r\n }\r\n\t}\r\n}\r\n\r\nexport default cfu;"],"sourceRoot":""}
|