From 5dcf30fb785624496770f1843a2dc4b988292cb9 Mon Sep 17 00:00:00 2001
From: qiaocl <3189782663@qq.com>
Date: Mon, 6 Jan 2025 15:07:32 +0800
Subject: [PATCH] =?UTF-8?q?=E6=9C=80=E6=96=B0=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../.sourcemap/mp-weixin/common/main.js.map | 2 +-
.../.sourcemap/mp-weixin/common/vendor.js.map | 2 +-
.../mp-weixin/components/bluetooth.js.map | 2 +-
.../mp-weixin/components/list.js.map | 2 +-
.../mp-weixin/components/search.js.map | 2 +-
.../mp-weixin/pageTwo/count/KcalEdit.js.map | 2 +-
.../mp-weixin/pageTwo/count/food.js.map | 2 +-
.../mp-weixin/pageTwo/count/setting.js.map | 2 +-
.../mp-weixin/pageTwo/login/login.js.map | 2 +-
.../mp-weixin/pageTwo/me/feedBack.js.map | 2 +-
.../mp-weixin/pageTwo/me/foodlist.js.map | 2 +-
.../mp-weixin/pageTwo/me/menudetail.js.map | 2 +-
.../mp-weixin/pageTwo/me/mymenu.js.map | 2 +-
.../mp-weixin/pageTwo/me/record.js.map | 2 +-
.../mp-weixin/pageTwo/me/userEdit.js.map | 2 +-
.../.sourcemap/mp-weixin/pages/add/add.js.map | 2 +-
.../mp-weixin/pages/count/count.js.map | 2 +-
.../mp-weixin/pages/index/index.js.map | 2 +-
.../.sourcemap/mp-weixin/pages/me/me.js.map | 2 +-
.../mp-weixin/pages/menu/menu.js.map | 2 +-
.../components/qiun-data-charts.js.map | 2 +-
.../ren-calendar/ren-calendar.js.map | 2 +-
.../uni-file-picker/uni-file-picker.js.map | 2 +-
.../uni-file-picker/upload-file.js.map | 2 +-
.../uni-file-picker/upload-image.js.map | 2 +-
.../components/uni-icons/uni-icons.js.map | 2 +-
unpackage/dist/dev/mp-weixin/common/vendor.js | 4424 +++++++++--------
.../dev/mp-weixin/pageTwo/me/feedBack.wxml | 2 +-
.../dist/dev/mp-weixin/pages/count/count.wxml | 2 +-
unpackage/dist/dev/mp-weixin/pages/me/me.wxml | 2 +-
30 files changed, 2515 insertions(+), 1967 deletions(-)
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
index 6275b4c..18958c8 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
@@ -1 +1 @@
-{"version":3,"sources":["uni-app:///main.js",null,"webpack:///E:/qiaocongli/小程序/天晟厨房秤/kitchendDevice/App.vue?fd72","uni-app:///App.vue","webpack:///E:/qiaocongli/小程序/天晟厨房秤/kitchendDevice/App.vue?a366","webpack:///E:/qiaocongli/小程序/天晟厨房秤/kitchendDevice/App.vue?2521"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","Vue","prototype","$store","store","$tools","tools","$http","http","$model","model","$json","json","config","productionTip","App","mpType","app","$mount","onLaunch","console","onShow","onHide"],"mappings":";;;;;;;;;;;;;;AAAA;AAE2D;AAC3D;AACA;AACA;AACA;AACA;AAGA;AAGA;AAGA;AAGA;AAKA;AAAqB;AAAA;AAvBrB;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAM1DC,YAAG,CAACC,SAAS,CAACC,MAAM,GAAGC,cAAK;AAC5B;;AAEAH,YAAG,CAACC,SAAS,CAACG,MAAM,GAAGC,cAAK;AAC5B;;AAEAL,YAAG,CAACC,SAAS,CAACK,KAAK,GAAGC,cAAI;AAC1B;;AAEAP,YAAG,CAACC,SAAS,CAACO,MAAM,GAAGC,cAAK;AAC5B;;AAEAT,YAAG,CAACC,SAAS,CAACS,KAAK,GAAGC,aAAI;AAK1BX,YAAG,CAACY,MAAM,CAACC,aAAa,GAAG,KAAK;AAChCC,YAAG,CAACC,MAAM,GAAG,KAAK;AAClB,IAAMC,GAAG,GAAG,IAAIhB,YAAG,mBACfc,YAAG,EACL;AACF,UAAAE,GAAG,EAACC,MAAM,EAAE,C;;;;;;;;;;;;;AC9BZ;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACuD;AACL;AACa;;;AAG/D;AACoM;AACpM,gBAAgB,wMAAU;AAC1B,EAAE,yEAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAwvB,CAAgB,ovBAAG,EAAC,C;;;;;;;;;;;;;;;;;;eCC5wB;EACAC;IACAC;EACA;EACAC;IACAD;EACA;EACAE;IACAF;EACA;AACA;AAAA,2B;;;;;;;;;;;;ACXA;AAAA;AAAA;AAAA;AAAwkC,CAAgB,+hCAAG,EAAC,C;;;;;;;;;;;ACA5lC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"common/main.js","sourcesContent":["import 'uni-pages';\r\n// @ts-ignore\r\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;import App from './App'\r\nimport './uni.scss';\r\nimport './assets/common.scss'\r\nimport './assets/iconfont.css'\r\nimport './assets/iconfont-weapp-icon.css'\r\nimport store from './store'\r\nVue.prototype.$store = store;\r\n// js\r\nimport tools from '@/tools/tools.js'\r\nVue.prototype.$tools = tools;\r\n//请求\r\nimport http from '@/tools/https.js'\r\nVue.prototype.$http = http;\r\n//接口\r\nimport model from '@/tools/model.js'\r\nVue.prototype.$model = model;\r\n//模拟数据\r\nimport json from '@/data.json'\r\nVue.prototype.$json = json;\r\n\r\n\r\n\r\nimport Vue from 'vue'\r\nVue.config.productionTip = false\r\nApp.mpType = 'app'\r\nconst app = new Vue({\r\n\t...App\r\n})\r\napp.$mount()","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import mod from \"-!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"","\r\n\r\n\n","import mod from \"-!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1694069742627\n var cssReload = require(\"D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["uni-app:///main.js",null,"webpack:///E:/qiaocongli/小程序/天晟厨房秤/kitchendDevice/App.vue?627e","uni-app:///App.vue","webpack:///E:/qiaocongli/小程序/天晟厨房秤/kitchendDevice/App.vue?06e7","webpack:///E:/qiaocongli/小程序/天晟厨房秤/kitchendDevice/App.vue?8cf4"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","Vue","prototype","$store","store","$tools","tools","$http","http","$model","model","$json","json","config","productionTip","App","mpType","app","$mount","onLaunch","console","onShow","onHide"],"mappings":";;;;;;;;;;;;;;AAAA;AAE2D;AAC3D;AACA;AACA;AACA;AACA;AAGA;AAGA;AAGA;AAGA;AAKA;AAAqB;AAAA;AAvBrB;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAM1DC,YAAG,CAACC,SAAS,CAACC,MAAM,GAAGC,cAAK;AAC5B;;AAEAH,YAAG,CAACC,SAAS,CAACG,MAAM,GAAGC,cAAK;AAC5B;;AAEAL,YAAG,CAACC,SAAS,CAACK,KAAK,GAAGC,cAAI;AAC1B;;AAEAP,YAAG,CAACC,SAAS,CAACO,MAAM,GAAGC,cAAK;AAC5B;;AAEAT,YAAG,CAACC,SAAS,CAACS,KAAK,GAAGC,aAAI;AAK1BX,YAAG,CAACY,MAAM,CAACC,aAAa,GAAG,KAAK;AAChCC,YAAG,CAACC,MAAM,GAAG,KAAK;AAClB,IAAMC,GAAG,GAAG,IAAIhB,YAAG,mBACfc,YAAG,EACL;AACF,UAAAE,GAAG,EAACC,MAAM,EAAE,C;;;;;;;;;;;;;AC9BZ;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACuD;AACL;AACa;;;AAG/D;AACoM;AACpM,gBAAgB,wMAAU;AAC1B,EAAE,yEAAM;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACe,gF;;;;;;;;;;;;ACvBf;AAAA;AAAA;AAAA;AAAwvB,CAAgB,ovBAAG,EAAC,C;;;;;;;;;;;;;;;;;;eCC5wB;EACAC;IACAC;EACA;EACAC;IACAD;EACA;EACAE;IACAF;EACA;AACA;AAAA,2B;;;;;;;;;;;;ACXA;AAAA;AAAA;AAAA;AAAwkC,CAAgB,+hCAAG,EAAC,C;;;;;;;;;;;ACA5lC;AACA,OAAO,KAAU,EAAE,kBAKd","file":"common/main.js","sourcesContent":["import 'uni-pages';\r\n// @ts-ignore\r\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;import App from './App'\r\nimport './uni.scss';\r\nimport './assets/common.scss'\r\nimport './assets/iconfont.css'\r\nimport './assets/iconfont-weapp-icon.css'\r\nimport store from './store'\r\nVue.prototype.$store = store;\r\n// js\r\nimport tools from '@/tools/tools.js'\r\nVue.prototype.$tools = tools;\r\n//请求\r\nimport http from '@/tools/https.js'\r\nVue.prototype.$http = http;\r\n//接口\r\nimport model from '@/tools/model.js'\r\nVue.prototype.$model = model;\r\n//模拟数据\r\nimport json from '@/data.json'\r\nVue.prototype.$json = json;\r\n\r\n\r\n\r\nimport Vue from 'vue'\r\nVue.config.productionTip = false\r\nApp.mpType = 'app'\r\nconst app = new Vue({\r\n\t...App\r\n})\r\napp.$mount()","var render, staticRenderFns, recyclableRender, components\nvar renderjs\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\runtime\\\\componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null,\n false,\n components,\n renderjs\n)\n\ncomponent.options.__file = \"App.vue\"\nexport default component.exports","import mod from \"-!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\babel-loader\\\\lib\\\\index.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--13-1!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\script.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=script&lang=js&\"","\r\n\r\n\n","import mod from \"-!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\mini-css-extract-plugin\\\\dist\\\\loader.js??ref--6-oneOf-1-0!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\css-loader\\\\dist\\\\cjs.js??ref--6-oneOf-1-1!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\loaders\\\\stylePostLoader.js!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\webpack-preprocess-loader\\\\index.js??ref--6-oneOf-1-2!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\postcss-loader\\\\src\\\\index.js??ref--6-oneOf-1-3!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\vue-cli-plugin-uni\\\\packages\\\\vue-loader\\\\lib\\\\index.js??vue-loader-options!D:\\\\软件包\\\\HBuilderX.3.6.4.20220922\\\\HBuilderX\\\\plugins\\\\uniapp-cli\\\\node_modules\\\\@dcloudio\\\\webpack-uni-mp-loader\\\\lib\\\\style.js!./App.vue?vue&type=style&index=0&lang=css&\"","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1736142566675\n var cssReload = require(\"D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"/\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n "],"sourceRoot":""}
\ No newline at end of file
diff --git a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
index 313160a..86205cb 100644
--- a/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
+++ b/unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
@@ -1 +1 @@
-{"version":3,"sources":["uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-weixin/dist/wx.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/nonIterableRest.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/defineProperty.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toPropertyKey.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/typeof.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toPrimitive.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/construct.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/setPrototypeOf.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/uni-cloud/dist/index.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/@babel/runtime/regenerator/index.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/toConsumableArray.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/assertThisInitialized.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/asyncToGenerator.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/inherits.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/getPrototypeOf.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/wrapNativeSuper.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/isNativeFunction.js","uni-app:///pages.json","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","uni-app:///uni_modules/uni-file-picker/components/uni-file-picker/choose-and-upload-file.js","uni-app:///uni_modules/uni-file-picker/components/uni-file-picker/utils.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-mp-weixin/dist/index.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/iterableToArray.js","uni-app:///uni_modules/qiun-data-charts/js_sdk/u-charts.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/webpack/buildin/module.js","uni-app:///uni_modules/qiun-data-charts/js_sdk/config-ucharts.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/nonIterableSpread.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/uni-i18n/dist/uni-i18n.es.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/classCallCheck.js","uni-app:///uni_modules/uni-icons/components/uni-icons/icons.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/createClass.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/mp-vue/dist/mp.runtime.esm.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/webpack/buildin/global.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js","webpack:///E:/qiaocongli/小程序/天晟厨房秤/kitchendDevice/uni.scss?39b6","webpack:///E:/qiaocongli/小程序/天晟厨房秤/kitchendDevice/assets/common.scss?6f10","webpack:///E:/qiaocongli/小程序/天晟厨房秤/kitchendDevice/assets/iconfont.css?e03c","webpack:///E:/qiaocongli/小程序/天晟厨房秤/kitchendDevice/assets/iconfont-weapp-icon.css?cb84","uni-app:///store/index.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vuex3/dist/vuex.common.js","uni-app:///store/actions.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/interopRequireDefault.js","uni-app:///tools/model.js","uni-app:///tools/https.js","uni-app:///tools/tools.js","uni-app:///config.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/slicedToArray.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayWithHoles.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","uni-app:///D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/@babel/runtime/helpers/arrayLikeToArray.js"],"names":["objectKeys","singlePageDisableKey","target","globalThis","key","join","oldWx","launchOption","getLaunchOptionsSync","isWxKey","scene","includes","indexOf","initWx","newWx","_nonIterableRest","TypeError","module","exports","__esModule","toPropertyKey","require","_defineProperty","obj","value","Object","defineProperty","enumerable","configurable","writable","_typeof","toPrimitive","_toPropertyKey","arg","String","Symbol","iterator","constructor","prototype","_toPrimitive","input","hint","prim","undefined","res","call","Number","setPrototypeOf","isNativeReflectConstruct","_construct","Parent","args","Class","Reflect","construct","bind","a","push","apply","Constructor","Function","instance","arguments","_setPrototypeOf","o","p","__proto__","_isNativeReflectConstruct","sham","Proxy","Boolean","valueOf","e","window","global","self","n","hasOwnProperty","default","s","t","path","Error","r","create","lib","i","Base","extend","mixIn","init","$super","toString","clone","WordArray","words","sigBytes","length","c","stringify","concat","clamp","ceil","slice","random","enc","Hex","parse","parseInt","substr","u","Latin1","fromCharCode","charCodeAt","h","Utf8","decodeURIComponent","escape","unescape","encodeURIComponent","l","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","blockSize","max","_minBufferSize","min","_doProcessBlock","splice","Hasher","cfg","_doReset","update","finalize","_doFinalize","_createHelper","_createHmacHelper","d","HMAC","algo","Math","abs","sin","MD5","_hash","f","g","m","y","_","w","v","I","S","b","k","C","T","P","A","E","O","floor","HmacMD5","_hasher","_oKey","_iKey","Base64","_map","charAt","_reverseMap","toLowerCase","console","error","createPromise","retryRule","status","promise","needRetry","then","Promise","resolve","reject","JSON","process","x","appid","R","U","uni","_globalUniCloudObj","L","N","D","keys","forEach","F","q","reduce","M","K","j","B","$","W","z","J","H","G","V","Y","Q","X","Z","ee","getCurrentPages","setTimeout","te","ne","message","errMsg","code","errCode","errSubject","subject","cause","requestId","toJson","se","request","uploadFile","setStorageSync","getStorageSync","removeStorageSync","clearStorageSync","re","token","tokenExpired","ie","oe","ae","ce","getSystemInfoSync","ue","channel","he","getLocale","locale","LOCALE","deviceId","osName","uniPlatform","appId","PLATFORM","OS","APPID","DEVICEID","le","sign","sort","wrappedRequest","assign","complete","warn","data","header","statusCode","result","toBase64","de","en","fr","es","ja","pe","fe","param","config","endpoint","spaceId","provider","requestUrl","envType","accessTokenKey","adapter","_getAccessTokenPromiseHub","requestAuth","setupRequest","method","params","accessToken","setAccessToken","requestWrapped","hasAccessToken","catch","getAccessToken","rebuildRequest","clientSecret","timestamp","Date","now","url","dataType","exec","functionTarget","name","functionArgs","formData","filePath","fileType","onUploadProgress","success","fail","onProgressUpdate","loaded","totalBytesSent","total","totalBytesExpectedToSend","cloudPath","cloudPathAsRealPath","trim","test","getOSSUploadOptionsFromPath","env","filename","split","pop","fileId","cdnDomain","ossPath","securityToken","accessKeyId","signature","host","id","policy","ossCallbackUrl","OSSAccessKeyId","Signature","success_action_status","callbackUrl","callbackBody","callbackBodyType","callback","fileName","uploadFileToOSS","fileID","reportOSSUpload","fileList","Array","isArray","map","tempFileURL","ge","signInAnonymously","authorize","getLoginState","auth","customAuth","me","location","protocol","ye","local","none","session","_e","we","get","ve","Ie","Se","be","isMatch","genAdapter","runtime","WEB","WX_MP","ke","Ce","Te","root","tcbObject","Pe","localStorage","sessionStorage","Ae","_storage","_persistence","primaryStorage","persistence","accessTokenExpireKey","refreshTokenKey","anonymousUuidKey","loginTypeKey","userInfoKey","getItem","setItem","removeItem","version","content","Ee","Oe","xe","Re","Ue","Le","_listeners","_listens","Ne","on","De","fire","Fe","off","qe","Me","Ke","je","Be","$e","ANONYMOUS","WECHAT","WECHAT_PUBLIC","WECHAT_OPEN","CUSTOM","EMAIL","USERNAME","NULL","We","ze","Je","headers","append","He","seqId","Ge","_reqClass","reqClass","timeout","timeoutMsg","restrictedMethods","_cache","_localCache","post","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","Ve","Ye","Qe","_request","setLocalUserInfo","Xe","_envId","setUserInfo","ticket","signInWithRedirect","oldPassword","newPassword","newEmail","username","users","wxOpenId","wxPublicId","hasPrimaryUid","uid","platform","nickName","gender","avatarUrl","province","country","city","Ze","credential","refreshToken","user","loginType","et","updatePersistence","uuid","_setAnonymousUUID","refresh","_clearAnonymousUUID","tt","refreshUserInfo","nt","email","password","st","rt","_onAnonymousConverted","_onLoginTypeChanged","hasLoginState","signIn","_anonymousAuthProvider","linkAndRetrieveDataWithTicket","isRegistered","it","authorization","cosFileId","file","ot","at","fileid_list","delete_list","ct","fileid","max_age","maxAge","file_list","download_list","ut","download_url","encodeURI","ht","query","function_name","request_data","response_data","lt","dt","pt","authObj","requestClient","invoke","ft","gt","mt","yt","clear","_t","useAdapters","wt","vt","It","St","fileUrl","bt","kt","clientInfo","uniIdToken","Ct","__dev__","initLocalNetwork","localAddress","localPort","aliyun","tencent","_callCloudFunction","Tt","rule","mode","Pt","At","RegExp","source","Et","replace","Ot","xt","Rt","Ut","Lt","secretType","uniCloudIns","clientType","scopedGlobalCache","_systemInfo","getSystemInfo","platformEncryptData","platformDecryptResult","prepare","platformGetSignOption","_uniCloudOptions","isClientKeyNotFound","forceUpdate","encryptData","decryptResult","Nt","Dt","Ft","buffer","Uint8Array","qt","Mt","set","Kt","jt","toBytes","fromBytes","Bt","$t","Wt","zt","Jt","Ht","Gt","Vt","Yt","Qt","Xt","Zt","tn","nn","sn","rn","an","_prepare","_Ke","_Kd","cn","description","_aes","encrypt","decrypt","un","_lastCipherblock","hn","segmentSize","_shiftRegister","ln","_lastPrecipher","_lastPrecipherIndex","dn","_counter","setValue","setBytes","MAX_SAFE_INTEGER","pn","_remainingCounter","_remainingCounterIndex","increment","fn","AES","Counter","ModeOfOperation","ecb","cbc","cfb","ofb","ctr","utils","hex","utf8","padding","pkcs7","pad","strip","_arrayTest","coerceArray","createArray","copyArray","gn","base64ToArrayBuffer","arrayBufferToBase64","mn","yn","_n","wn","vn","In","Sn","bn","kn","userEncryptKey","mpWeixinCode","mpWeixinOpenid","isLogin","initPromise","expireTime","getUserCryptoManager","getLatestUserKey","wx","getAccountInfoSync","miniProgram","getUserEncryptKey","encryptKey","iv","verifyClientSign","wxAppId","getWxAppId","simulator","encryptKeyId","Cn","type","Tn","appUtils","requireNativePlugin","systemInfo","hasClientKey","_hasClientKey","encryptGetClientKeyPayload","callFunction","redirectTo","clientKey","setClientKey","initStatus","getAppClientKey","ensureClientKey","Pn","An","En","functionName","find","accessControl","enable","function","On","logPvd","debugLog","log","xn","tcb","extraInfo","formatter","match","debugInfo","forceRemote","_callLocalFunction","wrapEncryptDataCallFunction","wrapVerifyClientCallFunction","Rn","Un","_internalType","inspect","__ob__","Ln","Nn","Dn","Fn","$regexp","flags","$date","toISOString","qn","$method","Mn","prevStage","udb","_database","$db","reverse","$param","toJSON","filter","Kn","from","isAggregate","getNextStageFn","_send","isCommand","getAction","getCommand","command","jn","$newDb","Bn","$n","_isJQL","multiCommand","queryList","setResult","dataList","_callback","_uniClient","level","detail","_callbackAuth","prop","tips","_parseResult","uniClient","isJQL","_authCallBacks","_dbCallBacks","_isDefault","$env","Geo","serverDate","Wn","zn","Jn","TOKEN_INVALID_TOKEN_EXPIRED","TOKEN_INVALID_INVALID_CLIENTID","TOKEN_INVALID","TOKEN_INVALID_WRONG_TOKEN","TOKEN_INVALID_ANONYMOUS_USER","Hn","Gn","Vn","needLogin","needLoginPage","notNeedLoginPage","Yn","Qn","$page","fullPath","Xn","Zn","list","some","pagePath","uniIdRouter","pages","subPackages","tabBar","loginPage","resToLogin","routerNeedLogin","loginPageInTabBar","ts","ns","ss","rs","is","os","as","shift","cs","us","redirect","hs","api","navigateTo","switchTab","reLaunch","ls","abortLoginPageJump","autoToLoginPage","uniIdRedirectUrl","ds","addInterceptor","ps","onResponse","fs","offResponse","onNeedLogin","offNeedLogin","needLoginInit","onRefreshToken","offRefreshToken","gs","ms","ys","_s","role","permission","exp","iat","atob","ws","tempFiles","substring","lastIndexOf","tempFilePaths","onChooseFile","index","tempFile","tempFilePath","initChooseAndUploadFile","count","sizeType","sourceType","extension","chooseImage","camera","compressed","maxDuration","chooseVideo","duration","size","height","width","chooseFile","chooseMessageFile","vs","Is","Ss","props","localdata","options","spaceInfo","collection","field","orderby","where","pageData","pageCurrent","pageSize","getcount","gettree","gettreepath","startwith","limitlevel","groupby","groupField","distinct","foreignKey","loadtime","manual","mixinDatacomLoading","mixinDatacomHasMore","mixinDatacomResData","mixinDatacomErrorMessage","mixinDatacomPage","created","current","$watch","onMixinDatacomPropsChange","methods","mixinDatacomEasyGet","getone","mixinDatacomGet","database","groupBy","orderBy","getCount","limitLevel","startWith","getTree","getTreePath","skip","limit","bs","customUI","parseSystemError","loadingOptions","errorOptions","secretMethods","title","mask","retry","interceptorName","getCallbackArgs","showLoading","newToken","hideLoading","objectName","methodName","showToast","icon","showCancel","cancelText","confirmText","showModal","confirm","cancel","ks","Cs","openid","callLoginByWeixin","login","importObject","secureNetworkHandshakeByWeixin","Ts","Ps","As","getPushClientId","Es","_uniPushMessageCallback","_receivePushMessage","_currentMessageId","_payloadQueue","all","cid","_appId","_pushClientId","_seqId","emit","_initMessageListener","close","payload","_isUniCloudSSE","messageId","_consumMessage","_parseMessagePayload","_end","_appendMessage","onPushMessage","offPushMessage","pushClientId","_destroy","addListener","removeListener","Os","xs","osVersion","address","servePort","port","initialLaunchType","Rs","_initPromiseHub","Us","private","Ls","navigator","userAgent","databaseForJQL","_databaseForJQL","getCurrentUserInfo","chooseAndUploadFile","mixinDatacom","SSEChannel","initSecureNetworkByWeixin","removeInterceptor","interceptObject","uniCloud","Ns","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_toConsumableArray","arr","_regeneratorRuntime","Op","hasOwn","desc","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","err","wrap","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","record","__await","unwrapped","previousPromise","callInvokeWithMethodAndArg","state","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isNaN","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","iter","val","object","skipTempReset","prev","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","finish","_catch","thrown","delegateYield","_assertThisInitialized","ReferenceError","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","_inherits","subClass","superClass","assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","isNativeFunction","_wrapNativeSuper","Map","has","Wrapper","_isNativeFunction","arrayLikeToArray","_arrayWithoutHoles","ERR_MSG_OK","ERR_MSG_FAIL","opts","normalizeChooseAndUploadFileRes","chooseAll","item","uploadCloudFiles","files","len","cur","fileItem","findIndex","uploadFiles","choosePromise","customChooseRes","chooseRes","get_file_ext","last_len","ext","get_extname","fileExtname","extname","get_files_and_is_max","_extname","filePaths","fileFullName","get_file_info","filepath","getImageInfo","src","get_file_data","filedata","image","video","imageinfo","realAtob","b64","b64re","str","bitmap","r1","r2","b64DecodeUnicode","tokenArr","userInfo","uniIdMixin","Vue","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","_toString","isFn","isStr","isObject","isPlainObject","noop","cached","cache","cachedFn","hit","camelizeRE","camelize","toUpperCase","sortObject","sortObj","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","dedupeHooks","hooks","removeHook","hook","mergeInterceptorHook","interceptor","option","removeInterceptorHook","wrapperHook","isPromise","queue","wrapperOptions","oldCallback","callbackInterceptor","wrapperReturnValue","returnValue","returnValueHooks","getApiInterceptorHooks","scopedInterceptor","invokeApi","promiseInterceptor","SYNC_API_RE","CONTEXT_API_RE","CONTEXT_API_RE_EXC","ASYNC_API","CALLBACK_API_RE","isContextApi","isSyncApi","isCallbackApi","handlePromise","shouldPromise","finally","reason","promisify","promiseApi","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","pixelRatio","windowWidth","upx2px","number","newDeviceWidth","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","normalizeLocale","language","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","i18n","initVueI18n","i18nMixin","mixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$once","$$t","setLocale","initAppLocale","appVm","observable","localeWatchers","$watchLocale","watch","include","parts","part","startsWith","lang","getLocale$1","getApp","app","allowDefault","$vm","$locale","setLocale$1","oldLocale","onLocaleChangeCallbacks","onLocaleChange","interceptors","baseApi","freeze","findExistsPageIndex","page","fromArgs","exists","delta","existsPageIndex","previewImage","currentIndex","urls","indicator","loop","UUID_KEY","useDeviceId","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","screenHeight","populateParameters","brand","model","system","theme","fontSizeSetting","SDKVersion","deviceOrientation","extraParam","hostVersion","deviceType","getGetDeviceType","deviceBrand","getDeviceBrand","_hostName","getHostName","_deviceOrientation","_devicePixelRatio","_SDKVersion","hostLanguage","parameters","appName","appVersion","appVersionCode","appLanguage","getAppLanguage","uniCompileVersion","uniRuntimeVersion","deviceModel","devicePixelRatio","toLocaleLowerCase","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","osTheme","ua","hostPackageName","browserName","browserVersion","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","showActionSheet","alertText","getAppBaseInfo","getDeviceInfo","getWindowInfo","getAppAuthorizeSetting","locationReducedAccuracy","locationAccuracy","compressImage","compressedHeight","compressHeight","compressedWidth","compressWidth","protocols","todos","canIUses","CALLBACKS","processCallback","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","keepReturnValue","wrapper","arg1","arg2","todoApis","TODOS","createTodoApi","todoApi","providers","oauth","share","payment","getProvider","service","extraApi","getEmitter","Emitter","getUniEmitter","ctx","$on","$off","$emit","eventApi","getApiCallbacks","apiCallbacks","cidErrMsg","enabled","normalizePushMessage","invokePushCallback","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","hasSuccess","hasFail","hasComplete","baseInfo","shareVideoMessage","miniapp","mocks","findVmByVueId","vm","vuePid","$children","childVm","$scope","_$vueId","parentVm","initBehavior","Behavior","isPage","route","initRelation","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","OB","SKIP","isExtensible","WORKLET_RE","initWorkletMethods","mpMethods","vueMethods","matches","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","extendOptions","super","mixins","initHooks","mpOptions","__call_hook","initUnknownHooks","excludes","findHooks","initHook$1","initVueComponent","VueComponent","initSlots","vueSlots","$slots","slotName","$scopedSlots","initVueIds","vueIds","_$vuePid","initData","VUE_APP_DEBUG","__lifecycle_hooks__","PROP_TYPES","createObserver","observer","newVal","oldVal","initBehaviors","vueBehaviors","behaviors","vueExtends","extends","vueMixins","vueProps","behavior","properties","initProperties","vueMixin","parsePropType","defaultValue","isBehavior","vueId","virtualHost","virtualHostStyle","virtualHostClass","scopedSlotsCompiler","setData","wrapper$1","mp","stopPropagation","preventDefault","markerId","getExtraValue","dataPathsArray","dataPathArray","dataPath","propPath","valuePath","vFor","isInteger","__get_value","vForItem","vForKey","processEventExtra","extra","__args__","extraObj","getObjByArray","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","ret","ONCE","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","once","eventChannels","getEventChannel","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","stringifyQuery","encodeStr","val2","parseBaseComponent","vueComponentOptions","needVueOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","__l","__e","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","copyQuery","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","createPlugin","canIUseApi","apiName","uni$1","_iterableToArray","yAxisWidth","yAxisSplit","xAxisHeight","xAxisLineHeight","legendHeight","yAxisTitleWidth","rotate","columePadding","fontSize","fontColor","dataPointShape","color","linearColor","pieChartLinePadding","pieChartTextPadding","xAxisTextPadding","titleColor","titleFontSize","subtitleColor","subtitleFontSize","toolTipPadding","toolTipBackground","toolTipOpacity","toolTipLineHeight","radarLabelTextMargin","gaugeLabelTextMargin","varArgs","deepAssign","obj1","obj2","util","toFixed","num","isFloat","approximatelyEqual","num1","num2","isSameSign","isSameXCoordinateArea","p1","p2","isCollision","end","start","flag","getH5Offset","changedTouches","offsetX","offsetY","lonlat2mercator","longitude","latitude","mercator","tan","PI","mercator2lonlat","lonlat","atan","hexToRgb","hexValue","opc","rgx","rgb","findRange","multiple","calCandleMA","dayArr","nameArr","colorArr","kdata","seriesTemp","seriesItem","sum","calValidDistance","distance","chartData","dataChartAreaWidth","area","dataChartWidth","eachSpacing","xAxisData","xAxisPoints","validDistance","uevent","trigger","scrollOption","position","xAxis","scrollPosition","isInAngleRange","angle","startAngle","endAngle","adjust","calRotateTranslate","xv","yv","transX","sqrt","transY","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","range","minRange","maxRange","measureText","text","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","offset","round","getMixToolTipData","getCandleToolTipData","upColor","upFill","downColor","downFill","text1","text2","text3","text4","validCalPoints","findCurrentIndex","currentPoints","spacing","boundaryGap","isInExactChartArea","timePoints","pointValue","pointIndex","minValue","findLegendIndex","legendData","gap","isInExactLegendArea","findRadarChartCurrentIndex","radarData","eachAngleArea","isInExactPieChartArea","radius","fixAngle","atan2","angleList","rangeStart","rangeEnd","findFunnelChartCurrentIndex","funnelData","funnelArea","findWordChartCurrentIndex","wordData","findMapChartCurrentIndex","cData","mapData","tmp","pointToCoordinate","bounds","scale","xoffset","yoffset","poi","geometry","coordinates","isPoiWithinPoly","findRoseChartCurrentIndex","pieData","getRoseDataPoints","_series_","rose","_start_","_rose_proportion_","findPieChartCurrentIndex","getPieDataPoints","_proportion_","pow","splitPoints","eachSeries","newPoints","items","connectNulls","calLegendData","wholeWidth","wholeHeight","widthArr","heightArr","legend","margin","shapeWidth","shapeRight","lineHeight","legendList","widthCount","widthCountArr","currentRow","itemWidth","itemGap","legendWidth","float","maxHeight","maxLength","lineNum","temp","maxWidth","calCategoriesData","categoriesTextLenth","maxTextLength","rotateLabel","getXAxisTextList","sorted","subitem","rangeSpan","eachRange","splitNumber","calXAxisData","ranges","rangesFormat","xAxisScaleValues","getXAxisPoints","textLength","disabled","getRadarDataPoints","radarOption","radar","each","listItem","proportion","cos","_radius_","getFunnelDataPoints","minRadius","dataArr","radiusLength","getArcbarDataPoints","arcbarOption","totalAngle","getGaugeAxisPoints","tempStartAngle","_startAngle_","_endAngle_","getGaugeDataPoints","gaugeOption","pointer","_oldAngle_","oldAngle","oldData","getPieTextMaxLength","textSize","fixColumeData","columnLen","seriesGap","categoryGap","mix","column","fixColumeMeterData","border","fixColumeStackData","indexn","spacingValid","dataCount","enableScroll","itemCount","startX","endX","getCandleDataPoints","validHeight","cPoints","indexs","point","getDataPoints","validWidth","xranges","xminRange","xmaxRange","getStackDataPoints","seriesIndex","stackSeries","value0","height0","heightc","y0","getYAxisTextList","stack","yData","dataRange","yAxis","calYAxisData","columnstyle","YLength","rangesArr","rangesFormatArr","yAxisWidthArr","tofix","unit","yAxisFontSizes","calibration","yAxisFontSize","calTooltipYAxisData","yAxisData","minAxis","maxVal","minVal","calMarkLineData","yAxisIndex","contextRotate","rotateLock","translate","_rotate_","drawPointShape","shape","beginPath","dataPointShapeType","setStrokeStyle","setFillStyle","background","setLineWidth","moveTo","lineTo","arc","rect","closePath","fill","stroke","drawRingTitle","titlefontSize","subtitlefontSize","subtitle","titleFontColor","subtitleFontColor","titleHeight","subtitleHeight","textWidth","startY","fillText","_textWidth","_startX","_startY","drawPointText","textOffset","textColor","formatVal","setTextAlign","drawGaugeLabel","centerPosition","labelOffset","splitAngle","splitLine","totalNumber","endNumber","startNumber","nowAngle","nowNumber","pos","labelText","labelColor","drawRadarLabel","posRelativeCanvas","drawPieText","lineRadius","textObjectCollection","lastTextObject","seriesConvert","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","bgStartX","bgEndX","bgWidth","drawToolTipHorizentalLine","yAxisLabel","tStartLeft","tStartRight","drawToolTipSplitArea","activeBgColor","activeBgOpacity","drawToolTip","showBox","showArrow","showCategory","bgColor","bgOpacity","borderColor","borderWidth","borderRadius","borderOpacity","unshift","legendMarginRight","arrowWidth","isOverRightBorder","toolTipWidth","toolTipHeight","_scrollDistance_","fillRect","drawColumnDataPoints","columnOption","meterBorder","meterFillColor","barBorderCircle","barBorderRadius","linearOpacity","colorStop","save","leftNum","rightNum","tooltipPoints","fillColor","strokeColor","grd","createLinearGradient","addColorStop","r0","r3","dataLabel","restore","drawCandleDataPoints","seriesMA","candleOption","average","candle","upLine","downLine","day","leftSpace","rightSpace","splitPointList","startPoint","ctrlPoint","bezierCurveTo","drawAreaDataPoints","areaOption","opacity","addLine","gradient","firstPoint","lastPoint","lineType","drawScatterDataPoints","scatterOption","scatter","drawBubbleDataPoints","bubbleOption","bubble","drawLineDataPoints","lineOption","line","drawMixDataPoints","columnIndex","columnLength","addPoint","drawToolTipBridge","horizentalLine","drawXAxis","scrollShow","scrollY","scrollScreenWidth","scrollTotalWidth","scrollWidth","scrollLeft","setLineCap","scrollBackgroundColor","scrollColor","disableGrid","gridEval","maxXAxisListLength","labelCount","ratio","newCategories","cgLength","xAxisFontSize","_xAxisTextAngle_","xitem","scrollHeight","_calRotateTranslate","axisLine","axisLineColor","drawYAxisGrid","xAxiseachSpacing","TotalWidth","drawYAxis","fillEndY","textAlign","tmpstrat","gapwidth","showTitle","titleOffsetX","titleOffsetY","drawLegend","legendArea","backgroundColor","itemList","listIndex","hiddenColor","fontTrans","drawPieDataPoints","pieOption","activeOpacity","activeRadius","offsetAngle","labelWidth","ringWidth","customRadius","centerColor","pie","ring","_pieTextMaxLength_","lineJoin","fillcolor","createCircularGradient","createRadialGradient","innerPieWidth","valid","drawRoseDataPoints","roseOption","drawArcbarDataPoints","arcbar","centerX","centerY","drawGaugeDataPoints","fixRadius","childNumber","childWidth","gauge","innerRadius","pieRadius","childAngle","proc","pointerRadius","gradient3","eachCategories","childendX","drawRadarDataPoints","gridCount","coordinateAngle","xr","yr","_loop","startPos","radarDataPoints","normalInt","collisionNew","isIn","getBoundingBox","coords","xMin","xMax","yMin","yMax","coorda","coordinateToPoint","pointY","pointX","isRayIntersectsSegment","s_poi","e_poi","xseg","poly","sinsc","epoly","drawMapDataPoints","mapOption","fillOpacity","activeBorderColor","activeFillColor","activeFillOpacity","xScale","yScale","gaosi","centerPoint","centroid","draw","getWordCloudPoint","tHeight","tWidth","breaknum","Spin","isSpin","areav","drawWordCloudDataPoints","wordOption","autoColors","word","wordCloudData","strokeText","drawFunnelDataPoints","funnelOption","activeWidth","labelAlign","funnel","drawFunnelText","drawCanvas","Timing","easeIn","easeOut","easeInOut","linear","Animation","isStop","timing","delay","createAnimationFrame","step","timeStamp","requestAnimationFrame","animationFrame","startTimeStamp","_step","onProcess","onAnimationFinish","timingFunction","drawCharts","_this","animation","animationInstance","_calLegendData","_calYAxisData","maxTitleHeight","rightIndex","leftIndex","_calCategoriesData","categoriesData","scrollAlign","offsetLeft","totalWidth","screenWidth","currentOffset","startTouchX","lastMoveTime","clearRect","_drawLineDataPoints","enableMarkLine","_drawScatterDataPoints","_drawBubbleDataPoints","_drawMixDataPoints","_drawColumnDataPoints","_drawAreaDataPoints","arcbarData","gaugeData","_drawCandleDataPoints","uChartsEvent","events","addEventListener","listener","delEventListener","_len","_key","uCharts","canvas2d","config$$1","tempWidth","tempHeight","strokeStyle","lineWidth","lineCap","font","fillStyle","updateData","_getXAxisPoints0","zoom","centerLeft","MaxLeft","stopAnimation","getCurrentDataIndex","_touches$","getLegendDataIndex","touchLegend","showToolTip","_getToolTipData","_getMixToolTipData","scrollStart","scroll","Limit","touchMoveLimit","currMoveTime","_distance","scrollEnd","_scrollOption","formatDateTime","returnType","date","setTime","getFullYear","getMonth","getDate","getHours","minute","getMinutes","second","getSeconds","category","_nonIterableSpread","defaultDelimiters","BaseFormatter","_caches","delimiters","tokens","compile","RE_TOKEN_LIST_VALUE","RE_TOKEN_NAMED_VALUE","format","startDelimiter","endDelimiter","char","sub","isClosed","compiled","defaultFormatter","I18n","fallbackLocale","watcher","formater","watchers","override","interpolate","watchAppLocale","newLocale","getDefaultLocale","isWatchedAppLocale","add","isString","hasI18nJson","jsonObj","walkJsonObj","isI18nStr","parseI18nJson","compileStr","compileI18nJsonStr","jsonStr","localeValues","compileJsonObj","compileValue","valueLocales","localValue","walk","resolveLocale","resolveLocaleChain","chain","_classCallCheck","_defineProperties","descriptor","_createClass","protoProps","staticProps","use","Vuex","Store","headimg","weight","age","sex","mage","iszan","zan","isedit","isLogout","isConnected","isBluetoothTyle","mutations","changePetInfo","newData","changeEdit","changeBluetooth","changeConnected","changeLogout","birthday","modules","actions","getsessionId","commit","onlogin","ress","sessionid","getPetInfo","account","conf","gethistoryList","getList","getPetList","pagenum","pagesize","getAlertList","rows","getNoticelist","getnoticelist","getConfig","getnumdata","_interopRequireDefault","http","getSendCode","getDeregister","getRegister","getoutlogin","uploadimg","submitadvice","getinfo","getAddinsect","getAddvaccion","getAddweight","getdelete","cidata","recordtime","ite","gettrandlist","getPetDelete","alertlist","insectlist","vaccionlist","petalerttype","enumdata","petinsecttype","vacciontype","tools","jsonList","getPetSubmit","getPetType","getNotepadList","getNotepadDelete","getNotepadSubmit","options2","getAlertDelete","getAlertStatus","getAlertSubmit","baseUrl","configPro","httpRequest","httpDefaultOpts","msg","response","ab2hex","getTime","GetDateStr","hexArr","bit","AddDayCount","dd","setDate","Min","year","month","dates","months","accountInfo","envVersion","arrayWithHoles","iterableToArrayLimit","nonIterableRest","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_i","_x","_r","_arr","_d","_unsupportedIterableToArray","minLen","_arrayLikeToArray","arr2"],"mappings":"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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;EAACC,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;EAACC,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;EAACC,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,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;EAACC,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;EAACC,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;EAAC/V,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;EAACgW,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,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A;;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,4IAAW;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,4IAAW;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,WAAW,4IAAW;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,4IAAW;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;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;ACnBA;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;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CA;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;AA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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","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;","import{initVueI18n as e}from\"@dcloudio/uni-i18n\";import t from\"@/pages.json\";\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self&&self;function n(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function s(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 r=s((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>>2]>>>24-i%4*8&255;t[s+i>>>2]|=o<<24-(s+i)%4*8}else for(i=0;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>>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>>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>>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>>2]|=(255&e.charCodeAt(s))<<24-s%4*8;return new o.init(n,t)}},h=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)))}},l=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new o.init,this._nDataBytes=0},_append:function(e){\"string\"==typeof e&&(e=h.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 h=0;h>>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],C=e[t+14],T=e[t+15],P=i[0],A=i[1],E=i[2],O=i[3];P=u(P,A,E,O,o,7,a[0]),O=u(O,P,A,E,c,12,a[1]),E=u(E,O,P,A,p,17,a[2]),A=u(A,E,O,P,f,22,a[3]),P=u(P,A,E,O,g,7,a[4]),O=u(O,P,A,E,m,12,a[5]),E=u(E,O,P,A,y,17,a[6]),A=u(A,E,O,P,_,22,a[7]),P=u(P,A,E,O,w,7,a[8]),O=u(O,P,A,E,v,12,a[9]),E=u(E,O,P,A,I,17,a[10]),A=u(A,E,O,P,S,22,a[11]),P=u(P,A,E,O,b,7,a[12]),O=u(O,P,A,E,k,12,a[13]),E=u(E,O,P,A,C,17,a[14]),P=h(P,A=u(A,E,O,P,T,22,a[15]),E,O,c,5,a[16]),O=h(O,P,A,E,y,9,a[17]),E=h(E,O,P,A,S,14,a[18]),A=h(A,E,O,P,o,20,a[19]),P=h(P,A,E,O,m,5,a[20]),O=h(O,P,A,E,I,9,a[21]),E=h(E,O,P,A,T,14,a[22]),A=h(A,E,O,P,g,20,a[23]),P=h(P,A,E,O,v,5,a[24]),O=h(O,P,A,E,C,9,a[25]),E=h(E,O,P,A,f,14,a[26]),A=h(A,E,O,P,w,20,a[27]),P=h(P,A,E,O,k,5,a[28]),O=h(O,P,A,E,p,9,a[29]),E=h(E,O,P,A,_,14,a[30]),P=l(P,A=h(A,E,O,P,b,20,a[31]),E,O,m,4,a[32]),O=l(O,P,A,E,w,11,a[33]),E=l(E,O,P,A,S,16,a[34]),A=l(A,E,O,P,C,23,a[35]),P=l(P,A,E,O,c,4,a[36]),O=l(O,P,A,E,g,11,a[37]),E=l(E,O,P,A,_,16,a[38]),A=l(A,E,O,P,I,23,a[39]),P=l(P,A,E,O,k,4,a[40]),O=l(O,P,A,E,o,11,a[41]),E=l(E,O,P,A,f,16,a[42]),A=l(A,E,O,P,y,23,a[43]),P=l(P,A,E,O,v,4,a[44]),O=l(O,P,A,E,b,11,a[45]),E=l(E,O,P,A,T,16,a[46]),P=d(P,A=l(A,E,O,P,p,23,a[47]),E,O,o,6,a[48]),O=d(O,P,A,E,_,10,a[49]),E=d(E,O,P,A,C,15,a[50]),A=d(A,E,O,P,m,21,a[51]),P=d(P,A,E,O,b,6,a[52]),O=d(O,P,A,E,f,10,a[53]),E=d(E,O,P,A,I,15,a[54]),A=d(A,E,O,P,c,21,a[55]),P=d(P,A,E,O,w,6,a[56]),O=d(O,P,A,E,T,10,a[57]),E=d(E,O,P,A,y,15,a[58]),A=d(A,E,O,P,k,21,a[59]),P=d(P,A,E,O,g,6,a[60]),O=d(O,P,A,E,S,10,a[61]),E=d(E,O,P,A,p,15,a[62]),A=d(A,E,O,P,v,21,a[63]),i[0]=i[0]+P|0,i[1]=i[1]+A|0,i[2]=i[2]+E|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 h=c[u];c[u]=16711935&(h<<8|h>>>24)|4278255360&(h<<24|h>>>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<>>32-i)+t}function h(e,t,n,s,r,i,o){var a=e+(t&s|n&~s)+r+o;return(a<>>32-i)+t}function l(e,t,n,s,r,i,o){var a=e+(t^n^s)+r+o;return(a<>>32-i)+t}function d(e,t,n,s,r,i,o){var a=e+(n^(t|~s))+r+o;return(a<>>32-i)+t}t.MD5=i._createHelper(c),t.HmacMD5=i._createHmacHelper(c)}(Math),n.MD5)})),s((function(e,t){var n;e.exports=(n=i,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>>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>>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>>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(this.status=p,Promise.resolve(e))),(e=>(this.status=f,Promise.reject(e)))),this.promise):this.promise}}function S(e){return e&&\"string\"==typeof e?JSON.parse(e):e}const b=\"development\"===process.env.NODE_ENV,k=process.env.VUE_APP_PLATFORM,C=\"true\"===process.env.UNI_SECURE_NETWORK_ENABLE||!0===process.env.UNI_SECURE_NETWORK_ENABLE,T=S(process.env.UNI_SECURE_NETWORK_CONFIG),P=\"h5\"===k?\"web\":\"app-plus\"===k?\"app\":k,A=S(process.env.UNICLOUD_DEBUG),E=S(process.env.UNI_CLOUD_PROVIDER)||[],O=process.env.RUN_BY_HBUILDERX;let x=\"\";try{x=(require(\"uni-stat-config\").default||require(\"uni-stat-config\")).appid}catch(e){}let R={};function U(e,t={}){var n,s;return n=R,s=e,Object.prototype.hasOwnProperty.call(n,s)||(R[e]=t),R[e]}\"app\"===P&&(R=uni._globalUniCloudObj?uni._globalUniCloudObj:uni._globalUniCloudObj={});const L=[\"invoke\",\"success\",\"fail\",\"complete\"],N=U(\"_globalUniCloudInterceptor\");function D(e,t){N[e]||(N[e]={}),m(t)&&Object.keys(t).forEach((n=>{L.indexOf(n)>-1&&function(e,t,n){let s=N[e][t];s||(s=N[e][t]=[]),-1===s.indexOf(n)&&y(n)&&s.push(n)}(e,n,t[n])}))}function F(e,t){N[e]||(N[e]={}),m(t)?Object.keys(t).forEach((n=>{L.indexOf(n)>-1&&function(e,t,n){const s=N[e][t];if(!s)return;const r=s.indexOf(n);r>-1&&s.splice(r,1)}(e,n,t[n])})):delete N[e]}function q(e,t){return e&&0!==e.length?e.reduce(((e,n)=>e.then((()=>n(t)))),Promise.resolve()):Promise.resolve()}function M(e,t){return N[e]&&N[e][t]||[]}function K(e){D(\"callObject\",e)}const j=U(\"_globalUniCloudListener\"),B=\"response\",$=\"needLogin\",W=\"refreshToken\",z=\"clientdb\",J=\"cloudfunction\",H=\"cloudobject\";function G(e){return j[e]||(j[e]=[]),j[e]}function V(e,t){const n=G(e);n.includes(t)||n.push(t)}function Y(e,t){const n=G(e),s=n.indexOf(t);-1!==s&&n.splice(s,1)}function Q(e,t){const n=G(e);for(let e=0;e{Z&&e(),function t(){if(\"function\"==typeof getCurrentPages){const t=getCurrentPages();t&&t[0]&&(Z=!0,e())}Z||setTimeout((()=>{t()}),30)}()})),X)}function te(e){const t={};for(const n in e){const s=e[n];y(s)&&(t[n]=_(s))}return t}class ne 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 se={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 re(){return{token:se.getStorageSync(\"uni_id_token\")||se.getStorageSync(\"uniIdToken\"),tokenExpired:se.getStorageSync(\"uni_id_token_expired\")}}function ie({token:e,tokenExpired:t}={}){e&&se.setStorageSync(\"uni_id_token\",e),t&&se.setStorageSync(\"uni_id_token_expired\",t)}let oe,ae;function ce(){return oe||(oe=uni.getSystemInfoSync()),oe}function ue(){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 he(){const e=uni.getLocale&&uni.getLocale()||\"en\";if(ae)return{...ae,locale:e,LOCALE:e};const t=ce(),{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{t(Object.assign(e,{complete(e){e||(e={}),b&&\"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 ne({code:\"SYS_ERR\",message:e.errMsg||\"request:fail\",requestId:t}));const r=e.data;if(r.error)return s(new ne({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 c.stringify(a.parse(e))}},de={\"uniCloud.init.paramRequired\":\"{param} required\",\"uniCloud.uploadFile.fileError\":\"filePath should be instance of File\"};const{t:pe}=e({\"zh-Hans\":{\"uniCloud.init.paramRequired\":\"缺少参数:{param}\",\"uniCloud.uploadFile.fileError\":\"filePath应为File对象\"},\"zh-Hant\":{\"uniCloud.init.paramRequired\":\"缺少参数:{param}\",\"uniCloud.uploadFile.fileError\":\"filePath应为File对象\"},en:de,fr:{\"uniCloud.init.paramRequired\":\"{param} required\",\"uniCloud.uploadFile.fileError\":\"filePath should be instance of File\"},es:{\"uniCloud.init.paramRequired\":\"{param} required\",\"uniCloud.uploadFile.fileError\":\"filePath should be instance of File\"},ja:de},\"zh-Hans\");var fe=class{constructor(e){[\"spaceId\",\"clientSecret\"].forEach((t=>{if(!Object.prototype.hasOwnProperty.call(e,t))throw new Error(pe(\"uniCloud.init.paramRequired\",{param:t}))})),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=se,this._getAccessTokenPromiseHub=new I({createPromise:()=>this.requestAuth(this.setupRequest({method:\"serverless.auth.user.anonymousAuthorize\",params:\"{}\"},\"auth\")).then((e=>{if(!e.result||!e.result.accessToken)throw new ne({code:\"AUTH_FAILED\",message:\"获取accessToken失败\"});this.setAccessToken(e.result.accessToken)})),retryRule:v})}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 ne({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new ne({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\"!==g(t))throw new ne({code:\"INVALID_PARAM\",message:\"cloudPath必须为字符串类型\"});if(!(t=t.trim()))throw new ne({code:\"INVALID_PARAM\",message:\"cloudPath不可为空\"});if(/:\\/\\//.test(t))throw new ne({code:\"INVALID_PARAM\",message:\"cloudPath不合法\"});const o=i&&i.envType||this.config.envType;if(s&&(\"/\"!==t[0]&&(t=\"/\"+t),t.indexOf(\"\\\\\")>-1))throw new ne({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:h,signature:l,host:d,ossPath:p,id:f,policy:m,ossCallbackUrl:y}=a,_={\"Cache-Control\":\"max-age=2592000\",\"Content-Disposition\":\"attachment\",OSSAccessKeyId:h,Signature:l,host:d,id:f,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:f,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:f})).success)return{success:!0,filePath:e,fileID:c};throw new ne({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"})}getTempFileURL({fileList:e}={}){return new Promise(((t,n)=>{Array.isArray(e)&&0!==e.length||n(new ne({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 ne({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 ge={init(e){const t=new fe(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 me=\"undefined\"!=typeof location&&\"http:\"===location.protocol?\"http:\":\"https:\";var ye;!function(e){e.local=\"local\",e.none=\"none\",e.session=\"session\"}(ye||(ye={}));var _e=function(){};const we=()=>{let e;if(!Promise){e=()=>{},e.promise={};const t=()=>{throw new ne({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},Ce=[\"anonymousUuidKey\"];class Te extends _e{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 Pe(e,t){switch(e){case\"local\":return t.localStorage||new Te;case\"none\":return new Te;default:return t.sessionStorage||new Te}}class Ae{constructor(e){if(!this._storage){this._persistence=ke.adapter.primaryStorage||e.persistence,this._storage=Pe(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=Pe(e,ke.adapter);for(const e in this.keys){const s=this.keys[e];if(t&&Ce.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 Ee={},Oe={};function xe(e){return Ee[e]}class Re{constructor(e,t){this.data=t||null,this.name=e}}class Ue extends Re{constructor(e,t){super(\"error\",{error:e,data:t}),this.error=e}}const Le=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 Ue)return console.error(e.error),this;const n=\"string\"==typeof e?new Re(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){Le.on(e,t)}function De(e,t={}){Le.fire(e,t)}function Fe(e,t){Le.off(e,t)}const qe=\"loginStateChanged\",Me=\"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\"],ze={\"X-SDK-Version\":\"1.3.5\"};function Je(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 He(){const e=Math.random().toString(16).slice(2);return{data:{seqId:e},headers:{...ze,\"x-seqid\":e}}}class Ge{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=xe(this.config.env),this._localCache=(t=this.config.env,Oe[t]),Je(this._reqClass,\"post\",[He]),Je(this._reqClass,\"upload\",[He]),Je(this._reqClass,\"download\",[He])}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 ne({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(Me),this._cache.removeStore(n)}throw new ne({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 ne({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{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 ne({code:\"PARAM_ERROR\",message:\"envId is not defined\"});this._cache=xe(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 ne({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 ne({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 ne({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 ne({message:\"自定义登录失败\"})}}class nt extends Qe{async signIn(e,t){if(\"string\"!=typeof e)throw new ne({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 ne({code:s.code,message:`邮箱登录失败: ${s.message}`}):new ne({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 ne({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 ne({code:s.code,message:`用户名密码登录失败: ${s.message}`}):new ne({message:\"用户名密码登录失败\"})}}class rt{constructor(e){this.config=e,this._cache=xe(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 ne({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(Me,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 ne({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:h,cosFileId:l},requestId:d}=e,p={key:s,signature:c,\"x-cos-meta-fileid\":l,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:h,requestId:d}):t(new ne({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}))},ht=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 ne({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 ne({message:\"response data must be json\"}))}}return o.promise})).catch((e=>{o(e)})),o.promise},lt={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={...lt,...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||lt.persistence;var n;return t!==this.config.persistence&&(this.config.persistence=t),function(e){const{env:t}=e;Ee[t]=new Ae(e),Oe[t]=new Ae({...e,persistence:\"local\"})}(this.config),n=this.config,Ve[n.env]=new Ge(n),this.authObj=new rt(this.config),this.authObj}on(e,t){return Ne.apply(this,[e,t])}off(e,t){return Fe.apply(this,[e,t])}callFunction(e,t){return ht.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 ne({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)=>{se.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=se.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){se.setStorageSync(e,t)},getItem:e=>se.getStorageSync(e),removeItem(e){se.removeStorageSync(e)},clear(){se.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}=te(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 fe{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=he();s[\"x-client-info\"]=encodeURIComponent(JSON.stringify(r));const{token:i}=re();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 ne({code:\"UPLOAD_FAILED\",message:\"文件上传失败\"}))},fail(e){a(new ne({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 ne({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 ne({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 ne({code:\"DELETE_FILE_FAILED\",message:\"删除文件失败\"})}))}getTempFileURL({fileList:e}={}){if(!Array.isArray(e)||0===e.length)throw new ne({code:\"INVALID_PARAM\",message:\"fileList的元素必须是非空的字符串\"});const t={method:\"serverless.file.resource.getTempFileURL\",params:JSON.stringify({fileList:e})};return this.request(this.setupRequest(t)).then((e=>{if(e.success)return{fileList:e.result.fileList.map((e=>({fileID:e.fileID,tempFileURL:e.tempFileURL})))};throw new ne({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}};function kt({data:e}){let t;t=he();const n=JSON.parse(JSON.stringify(e||{}));if(Object.assign(n,{clientInfo:t}),!n.uniIdToken){const{token:e}=re();e&&(n.uniIdToken=e)}return n}async function Ct({name:e,data:t}={}){await this.__dev__.initLocalNetwork();const{localAddress:n,localPort:s}=this.__dev__,r={aliyun:\"aliyun\",tencent:\"tcb\"}[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)=>{se.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=kt.call(this,{data:t});se.request({method:\"POST\",url:a,data:{provider:r,platform:P,param:s},success:({statusCode:t,data:s}={})=>!t||t>=400?n(new ne({code:s.code||\"SYS_ERR\",message:s.message||\"request:fail\"})):e({result:s}),fail(e){n(new ne({code:e.code||e.errCode||\"SYS_ERR\",message:e.message||e.errMsg||\"request:fail\"}))}})}))}))}const Tt=[{rule:/fc_function_not_found|FUNCTION_NOT_FOUND/,content:\",云函数[{functionName}]在云端不存在,请检查此云函数名称是否正确以及该云函数是否已上传到服务空间\",mode:\"append\"}];var Pt=/[\\\\^$.*+?()[\\]{}|]/g,At=RegExp(Pt.source);function Et(e,t,n){return e.replace(new RegExp((s=t)&&At.test(s)?s.replace(Pt,\"\\\\$&\"):s,\"g\"),n);var s}const Ot=\"none\",xt=\"request\",Rt=\"response\",Ut=\"both\";class Lt{constructor({secretType:e,uniCloudIns:t}={}){this.clientType=\"\",this.secretType=e||Ot,this.uniCloudIns=t;const{provider:n,spaceId:s}=this.uniCloudIns.config;var r;this.provider=n,this.spaceId=s,this.scopedGlobalCache=(r=this.uniCloudIns,U(\"_globalUniCloudSecureNetworkCache__{spaceId}\".replace(\"{spaceId}\",r.config.spaceId)))}getSystemInfo(){return this._systemInfo||(this._systemInfo=ce()),this._systemInfo}get appId(){return this.getSystemInfo().appId}get deviceId(){return this.getSystemInfo().deviceId}async encryptData(e){return this.secretType===Ot?e:this.platformEncryptData(e)}async decryptResult(e){if(this.secretType===Ot)return e;const{errCode:t,content:n}=e||{};return t||!n?e:this.secretType===xt?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 . See LICENSE.txt. */function Nt(e){return parseInt(e)===e}function Dt(e){if(!Nt(e.length))return!1;for(var t=0;t255)return!1;return!0}function Ft(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(!Dt(e))throw new Error(\"Array contains invalid value: \"+e);return new Uint8Array(e)}if(Nt(e.length)&&Dt(e))return new Uint8Array(e);throw new Error(\"unsupported array-like object\")}function qt(e){return new Uint8Array(e)}function Mt(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 Kt,jt={toBytes:function(e){var t=[],n=0;for(e=encodeURI(e);n191&&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(\"\")}},Bt=(Kt=\"0123456789abcdef\",{toBytes:function(e){for(var t=[],n=0;n>4]+Kt[15&s])}return t.join(\"\")}}),$t={16:10,24:12,32:14},Wt=[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],zt=[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],Jt=[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],Ht=[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],Gt=[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],Vt=[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],Yt=[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],Qt=[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],Xt=[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],Zt=[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],en=[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],tn=[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],nn=[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],sn=[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],rn=[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 on(e){for(var t=[],n=0;n>2,this._Ke[n][t%4]=i[t],this._Kd[e-n][t%4]=i[t];for(var o,a=0,c=r;c>16&255]<<24^zt[o>>8&255]<<16^zt[255&o]<<8^zt[o>>24&255]^Wt[a]<<24,a+=1,8!=r)for(t=1;t>8&255]<<8^zt[o>>16&255]<<16^zt[o>>24&255]<<24;for(t=r/2+1;t>2,h=c%4,this._Ke[u][h]=i[t],this._Kd[e-u][h]=i[t++],c++}for(var u=1;u>24&255]^nn[o>>16&255]^sn[o>>8&255]^rn[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=on(e),r=0;r<4;r++)s[r]^=this._Ke[0][r];for(var i=1;i>24&255]^Gt[s[(r+1)%4]>>16&255]^Vt[s[(r+2)%4]>>8&255]^Yt[255&s[(r+3)%4]]^this._Ke[i][r];s=n.slice()}var o,a=qt(16);for(r=0;r<4;r++)o=this._Ke[t][r],a[4*r]=255&(zt[s[r]>>24&255]^o>>24),a[4*r+1]=255&(zt[s[(r+1)%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+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=on(e),r=0;r<4;r++)s[r]^=this._Kd[0][r];for(var i=1;i>24&255]^Xt[s[(r+3)%4]>>16&255]^Zt[s[(r+2)%4]>>8&255]^en[255&s[(r+1)%4]]^this._Kd[i][r];s=n.slice()}var o,a=qt(16);for(r=0;r<4;r++)o=this._Kd[t][r],a[4*r]=255&(Jt[s[r]>>24&255]^o>>24),a[4*r+1]=255&(Jt[s[(r+3)%4]>>16&255]^o>>16),a[4*r+2]=255&(Jt[s[(r+2)%4]>>8&255]^o>>8),a[4*r+3]=255&(Jt[255&s[(r+1)%4]]^o);return a}}class cn{constructor(e){if(!(this instanceof cn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Electronic Code Block\",this.name=\"ecb\",this._aes=new an(e)}encrypt(e){if((e=Ft(e)).length%16!=0)throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");for(var t=qt(e.length),n=qt(16),s=0;sNumber.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=Ft(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 pn{constructor(e,t){if(!(this instanceof pn))throw Error(\"AES must be instanitated with `new`\");this.description=\"Counter\",this.name=\"ctr\",t instanceof dn||(t=new dn(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new an(e)}encrypt(e){for(var t=Ft(e,!0),n=0;n16)throw new Error(\"PKCS#7 padding byte out of range\");for(var n=e.length-t,s=0;s0)return this.userEncryptKey=bn,this.userEncryptKey}return new Promise(((e,t)=>{uni.getUserCryptoManager().getLatestUserKey({success:t=>{bn=t,this.userEncryptKey=t,e(this.userEncryptKey)},fail:e=>{t(vn({..._n,cause:e}))}})}))}getWxAppId(){return wx.getAccountInfoSync().miniProgram.appId}async platformGetSignOption(){const{encryptKey:e,iv:t,version:n}=await this.getUserEncryptKey();return{verifyClientSign:gn(JSON.stringify({data:JSON.stringify({}),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ce().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===Rt?{content:e,_uniCloudOptions:r}:{content:gn(JSON.stringify({data:JSON.stringify(e),appId:this.appId,deviceId:this.deviceId,wxAppId:this.getWxAppId(),simulator:\"devtools\"===ce().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=fn.utils.utf8.toBytes(n),o=new fn.ModeOfOperation.cbc(r,i),a=fn.padding.pkcs7.strip(o.decrypt(s));return fn.utils.utf8.fromBytes(a)}(t,n,s))}isClientKeyNotFound(){return!1}}function Cn(e){const t=[\"hasClientKey\",\"encryptGetClientKeyPayload\",\"setClientKey\",\"encrypt\",\"decrypt\"],n={};for(let s=0;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(vn({errCode:r,errMsg:wn[r]||i||a,errSubject:o}))})):s(vn({message:\"请检查manifest.json内是否开启安全网络模块,另外注意标准基座不支持安全网络模块\"}))}))}}return n}class Tn extends Lt{constructor(e){super(e),this.clientType=\"app\",this.appUtils={...Cn(uni.requireNativePlugin(\"plus\"))},this.systemInfo=In||(In=ce())}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 ne({subject:e.errSubject||\"uni-secure-network\",code:e.errCode||e.code||mn.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===d||!e&&this.scopedGlobalCache.initPromise&&this.scopedGlobalCache.initStatus!==f||(this.scopedGlobalCache.initPromise=this.getAppClientKey(),this.scopedGlobalCache.initPromise.then((e=>{this.scopedGlobalCache.initStatus=p})).catch((e=>{throw this.scopedGlobalCache.initStatus=f,e})),this.scopedGlobalCache.initStatus=d),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===Rt?{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 Pn({secretType:e}={}){return e===xt||e===Rt||e===Ut}function An({name:e,data:t={}}={}){return\"app\"===P&&\"DCloud-clientDB\"===e&&\"encryption\"===t.redirectTo&&\"getAppClientKey\"===t.action}function En({provider:e,spaceId:t,functionName:n}={}){const{appId:s,uniPlatform:r,osName:i}=ce();let o=r;\"app\"===r&&(o=i);const a=function({provider:e,spaceId:t}={}){const n=T;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 h=function(e,t){let n,s,r;for(let i=0;ie.trim())).indexOf(t)>-1&&(s=o):r=o:n=o}return n||s||r}(u,n);if(!h)return!1;if((c[h]||[]).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`),vn(yn)}function On({functionName:e,result:t,logPvd:n}){if(b&&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 xn(e){const t=e.callFunction,n=function(n){const s=n.name;n.data=kt.call(e,{data:n.data});const r={aliyun:\"aliyun\",tencent:\"tcb\",tcb:\"tcb\"}[this.config.provider],i=Pn(n),o=An(n),a=i||o;return t.call(this,n).then((e=>(e.errCode=0,!a&&On.call(this,{functionName:s,result:e,logPvd:r}),Promise.resolve(e))),(e=>(!a&&On.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(console.warn(\"当前返回结果为Promise类型,不可直接访问其result属性,详情请参考:https://uniapp.dcloud.net.cn/uniCloud/faq?id=promise\"),{})}),a}}Sn=\"mp-weixin\"!==P&&\"app\"!==P?class{constructor(){throw vn({message:`Platform ${P} is not supported by secure network`})}}:C?\"mp-weixin\"===P?kn:Tn:class{constructor(){throw vn({message:`Platform ${P} is not enabled, please check whether secure network module is enabled in your manifest.json`})}};const Rn=Symbol(\"CLIENT_DB_INTERNAL\");function Un(e,t){return e.then=\"DoNotReturnProxyWithAFunctionNamedThen\",e._internalType=Rn,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 Ln(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 Nn=[\"db.Geo\",\"db.command\",\"command.aggregate\"];function Dn(e,t){return Nn.indexOf(`${e}.${t}`)>-1}function Fn(e){switch(g(e)){case\"array\":return e.map((e=>Fn(e)));case\"object\":return e._internalType===Rn||Object.keys(e).forEach((t=>{e[t]=Fn(e[t])})),e;case\"regexp\":return{$regexp:{source:e.source,flags:e.flags}};case\"date\":return{$date:e.toISOString()};default:return e}}function qn(e){return e&&e.content&&e.content.$method}class Mn{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:Fn(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=qn(e),n=qn(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\"===qn(e))return!0;e=e.prevStage}return!1}get isAggregateCommand(){let e=this;for(;e;){const t=qn(e),n=qn(e.prevStage);if(\"aggregate\"===t&&\"command\"===n)return!0;e=e.prevStage}return!1}getNextStageFn(e){const t=this;return function(){return Kn({$method:e,$param:Fn(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:Fn(t)}),b){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 Kn(e,t,n){return Un(new Mn(e,t,n),{get(e,t){let s=\"db\";return e&&e.content&&(s=e.content.$method),Dn(s,t)?Kn({$method:t},e,n):function(){return Kn({$method:t,$param:Fn(Array.from(arguments))},e,n)}}})}function jn({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 Bn(e,t={}){return Un(new e(t),{get:(e,t)=>Dn(\"db\",t)?Kn({$method:t},null,e):function(){return Kn({$method:t,$param:Fn(Array.from(arguments))},null,e)}})}class $n extends class{constructor({uniClient:e={},isJQL:t=!1}={}){this._uniClient=e,this._authCallBacks={},this._dbCallBacks={},e._isDefault&&(this._dbCallBacks=U(\"_globalUniCloudDatabaseCallback\")),t||(this.auth=Ln(this._authCallBacks)),this._isJQL=t,Object.assign(this,Ln(this._dbCallBacks)),this.env=Un({},{get:(e,t)=>({$env:t})}),this.Geo=Un({},{get:(e,t)=>jn({path:[\"Geo\"],method:t})}),this.serverDate=jn({path:[],method:\"serverDate\"}),this.RegExp=jn({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;nq(M(o,\"complete\"),e))).then((()=>(r(null,e),Q(B,{type:z,content:e}),Promise.reject(e))))}const c=q(M(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(console.warn(s),t)})}}return function(e){return q(M(o,\"success\"),e).then((()=>q(M(o,\"complete\"),e))).then((()=>{r(e,null);const t=i._parseResult(e);return Q(B,{type:z,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 ne({code:e.code||\"SYSTEM_ERROR\",message:e.message,requestId:e.requestId}))}))}}const Wn=\"token无效,跳转登录页面\",zn=\"token过期,跳转登录页面\",Jn={TOKEN_INVALID_TOKEN_EXPIRED:zn,TOKEN_INVALID_INVALID_CLIENTID:Wn,TOKEN_INVALID:Wn,TOKEN_INVALID_WRONG_TOKEN:Wn,TOKEN_INVALID_ANONYMOUS_USER:Wn},Hn={\"uni-id-token-expired\":zn,\"uni-id-check-token-failed\":Wn,\"uni-id-token-not-exist\":Wn,\"uni-id-check-device-feature-failed\":Wn};function Gn(e,t){let n=\"\";return n=e?`${e}/${t}`:t,n.replace(/^\\//,\"\")}function Vn(e=[],t=\"\"){const n=[],s=[];return e.forEach((e=>{!0===e.needLogin?n.push(Gn(t,e.path)):!1===e.needLogin&&s.push(Gn(t,e.path))})),{needLoginPage:n,notNeedLoginPage:s}}function Yn(e){return e.split(\"?\")[0].replace(/^\\//,\"\")}function Qn(){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 Xn(){return Yn(Qn())}function Zn(e=\"\",t={}){if(!e)return!1;if(!(t&&t.list&&t.list.length))return!1;const n=t.list,s=Yn(e);return n.some((e=>e.pagePath===s))}const es=!!t.uniIdRouter;const{loginPage:ts,routerNeedLogin:ns,resToLogin:ss,needLoginPage:rs,notNeedLoginPage:is,loginPageInTabBar:os}=function({pages:e=[],subPackages:n=[],uniIdRouter:s={},tabBar:r={}}=t){const{loginPage:i,needLogin:o=[],resToLogin:a=!0}=s,{needLoginPage:c,notNeedLoginPage:u}=Vn(e),{needLoginPage:h,notNeedLoginPage:l}=function(e=[]){const t=[],n=[];return e.forEach((e=>{const{root:s,pages:r=[]}=e,{needLoginPage:i,notNeedLoginPage:o}=Vn(r,s);t.push(...i),n.push(...o)})),{needLoginPage:t,notNeedLoginPage:n}}(n);return{loginPage:i,routerNeedLogin:o,resToLogin:a,needLoginPage:[...c,...h],notNeedLoginPage:[...u,...l],loginPageInTabBar:Zn(i,r)}}();if(rs.indexOf(ts)>-1)throw new Error(`Login page [${ts}] should not be \"needLogin\", please check your pages.json`);function as(e){const t=Xn();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-1)&&(rs.indexOf(t)>-1||ns.some((t=>function(e,t){return new RegExp(t).test(e)}(e,t))))}function us({redirect:e}){const t=Yn(e),n=Yn(ts);return Xn()!==n&&t!==n}function hs({api:e,redirect:t}={}){if(!t||!us({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}(ts,t);os?\"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 ls({url:e}={}){const t={abortLoginPageJump:!1,autoToLoginPage:!1},n=function(){const{token:e,tokenExpired:t}=re();let n;if(e){if(t0)return setTimeout((()=>{Q($,n)}),0),t.abortLoginPageJump=!0,t;t.autoToLoginPage=!0}return t}function ds(){!function(){const e=Qn(),{abortLoginPageJump:t,autoToLoginPage:n}=ls({url:e});t||n&&hs({api:\"redirectTo\",redirect:e})}();const e=[\"navigateTo\",\"redirectTo\",\"reLaunch\",\"switchTab\"];for(let t=0;t{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 Hn}(n);break;case\"clientdb\":s=function(e){if(\"object\"!=typeof e)return!1;const{errCode:t}=e||{};return t in Jn}(n)}s&&function(e={}){const t=G($);ee().then((()=>{const n=Qn();if(n&&us({redirect:n}))return t.length>0?Q($,Object.assign({uniIdRedirectUrl:n},e)):void(ts&&hs({api:\"navigateTo\",redirect:n}))}))}(n)}))}function fs(e){!function(e){e.onResponse=function(e){V(B,e)},e.offResponse=function(e){Y(B,e)}}(e),function(e){e.onNeedLogin=function(e){V($,e)},e.offNeedLogin=function(e){Y($,e)},es&&(U(\"_globalUniCloudStatus\").needLoginInit||(U(\"_globalUniCloudStatus\").needLoginInit=!0,ee().then((()=>{ds.call(e)})),ss&&ps.call(e)))}(e),function(e){e.onRefreshToken=function(e){V(W,e)},e.offRefreshToken=function(e){Y(W,e)}}(e)}let gs;const ms=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",ys=/^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;function _s(){const e=re().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(gs(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}gs=\"function\"!=typeof atob?function(e){if(e=String(e).replace(/[\\t\\n\\f\\r ]+/g,\"\"),!ys.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>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 ws=s((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=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,onUploadProgress(e){e.index=s,e.tempFile=u,e.tempFilePath=u.path,r&&r(e)}}).then((e=>{u.url=e.fileID,s{u.errMsg=e.errMsg||e.message,s{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)}}})),vs=n(ws);const Is=\"manual\";function Ss(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===Is)return;let n=!1;const s=[];for(let r=2;r{this.mixinDatacomLoading=!1;const{data:s,count:r}=n.result;this.getcount&&(this.mixinDatacomPage.count=r),this.mixinDatacomHasMore=s.length{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 h=t.orderby||this.orderby;h&&(n=n.orderBy(h));const l=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*(l-1)).limit(d).get(m),n}}}}function bs(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 q(M(t,\"invoke\"),{...r}),i=await e(...s),await q(M(t,\"success\"),{...r,result:i}),i}catch(e){throw o=e,await q(M(t,\"fail\"),{...r,error:o}),o}finally{await q(M(t,\"complete\"),o?{...r,error:o}:{...r,result:i})}}}({fn:async function s(...u){let l;a&&uni.showLoading({title:r.title,mask:r.mask});const d={name:t,type:h,data:{method:c,params:u}};\"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{l=await e.callFunction(d)}catch(e){p=!0,l={result:new ne(e)}}const{errSubject:f,errCode:g,errMsg:m,newToken:y}=l.result||{};if(a&&uni.hideLoading(),y&&y.token&&y.tokenExpired&&(ie(y),Q(W,{...y})),g){let e=m;if(p&&o){e=(await o({objectName:t,methodName:c,params:u,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(...u)}}const n=new ne({subject:f,code:g,message:m,requestId:l.requestId});throw n.detail=l.result,Q(B,{type:H,content:n}),n}return Q(B,{type:H,content:l.result}),l.result},interceptorName:\"callObject\",getCallbackArgs:function({params:e}={}){return{objectName:t,methodName:c,params:e}}})})}}function ks(e){return U(\"_globalUniCloudSecureNetworkCache__{spaceId}\".replace(\"{spaceId}\",e.config.spaceId))}async function Cs({openid:e,callLoginByWeixin:t=!1}={}){const n=ks(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 Ts(e){const t=ks(this);return t.initPromise||(t.initPromise=Cs.call(this,e)),t.initPromise}function Ps(e){return function({openid:t,callLoginByWeixin:n=!1}={}){return Ts.call(e,{openid:t,callLoginByWeixin:n})}}function As(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 Es 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{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 Os(e,t){const n=`http://${e}:${t}/system/ping`;try{const e=await(s={url:n,timeout:500},new Promise(((e,t)=>{se.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 xs(e){if(!b)return Promise.resolve();if(\"app\"===P){const{osName:e,osVersion:t}=ce();\"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{setTimeout((()=>{e()}),n)}));const s=e.auth();return t.then((()=>s.getLoginState())).then((e=>e?Promise.resolve():s.signInAnonymously()))}}))}const Us={tcb:It,tencent:It,aliyun:ge,private:bt};let Ls=new class{init(e){let t={};const n=Us[e.provider];if(!n)throw new Error(\"未提供正确的provider参数\");t=n.init(e),b&&function(e){if(!b)return;const t={};e.__dev__=t,t.debugLog=b&&(\"web\"===P&&navigator.userAgent.indexOf(\"HBuilderX\")>0||\"app\"===P);const n=A;n&&!n.code&&(t.debugInfo=n);const s=new I({createPromise:function(){return xs(e)}});t.initLocalNetwork=function(){return s.exec()}}(t),Rs(t),xn(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=Bn($n,{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=Bn($n,{uniClient:e,isJQL:!0});return this._databaseForJQL=n,n}}(t),function(e){e.getCurrentUserInfo=_s,e.chooseAndUploadFile=vs.initChooseAndUploadFile(e),Object.assign(e,{get mixinDatacom(){return Ss(e)}}),e.SSEChannel=Es,e.initSecureNetworkByWeixin=Ps(e),e.importObject=bs(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||u;s=e!==u}const r=\"callFunction\"===t&&!s,i=this._initPromiseHub.exec();n=n||{};const{success:o,fail:a,complete:c}=te(n),h=i.then((()=>s?Promise.resolve():q(M(t,\"invoke\"),n))).then((()=>e.call(this,n))).then((e=>s?Promise.resolve(e):q(M(t,\"success\"),e).then((()=>q(M(t,\"complete\"),e))).then((()=>(r&&Q(B,{type:J,content:e}),Promise.resolve(e))))),(e=>s?Promise.reject(e):q(M(t,\"fail\"),e).then((()=>q(M(t,\"complete\"),e))).then((()=>(Q(B,{type:J,content:e}),Promise.reject(e))))));if(!(o||a||c))return h;h.then((e=>{o&&o(e),c&&c(e),r&&Q(B,{type:J,content:e})}),(e=>{a&&a(e),c&&c(e),r&&Q(B,{type:J,content:e})}))}}(t[e],e).bind(t)})),t.init=this.init,t}};(()=>{const e=E;let t={};if(e&&1===e.length)t=e[0],Ls=Ls.init(t),Ls._isDefault=!0;else{const t=[\"auth\",\"callFunction\",\"uploadFile\",\"deleteFile\",\"getTempFileURL\",\"downloadFile\",\"database\",\"getCurrentUSerInfo\",\"importObject\"];let n;n=e&&e.length>0?\"应用有多个服务空间,请通过uniCloud.init方法指定要使用的服务空间\":O?\"应用未关联服务空间,请在uniCloud目录右键关联服务空间\":\"uni-app cli项目内使用uniCloud需要使用HBuilderX的运行菜单运行项目,且需要在uniCloud目录关联服务空间\",t.forEach((e=>{Ls[e]=function(){return console.error(n),Promise.reject(new ne({code:\"SYS_ERR\",message:n}))}}))}Object.assign(Ls,{get mixinDatacom(){return Ss(Ls)}}),fs(Ls),Ls.addInterceptor=D,Ls.removeInterceptor=F,Ls.interceptObject=K,b&&\"web\"===P&&(window.uniCloud=Ls)})();var Ns=Ls;export{Ns as default};\n","// TODO(Babel 8): Remove this file.\n\nvar runtime = require('@babel/runtime/helpers/regeneratorRuntime')()\nmodule.exports = runtime\n","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 _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 _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;","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;","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;","","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;","'use strict';\r\n\r\nconst ERR_MSG_OK = 'chooseAndUploadFile:ok';\r\nconst ERR_MSG_FAIL = 'chooseAndUploadFile:fail';\r\n\r\nfunction chooseImage(opts) {\r\n\tconst {\r\n\t\tcount,\r\n\t\tsizeType = ['original', 'compressed'],\r\n\t\tsourceType,\r\n\t\textension\r\n\t} = opts\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tuni.chooseImage({\r\n\t\t\tcount,\r\n\t\t\tsizeType,\r\n\t\t\tsourceType,\r\n\t\t\textension,\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tresolve(normalizeChooseAndUploadFileRes(res, 'image'));\r\n\t\t\t},\r\n\t\t\tfail(res) {\r\n\t\t\t\treject({\r\n\t\t\t\t\terrMsg: res.errMsg.replace('chooseImage:fail', ERR_MSG_FAIL),\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t});\r\n}\r\n\r\nfunction chooseVideo(opts) {\r\n\tconst {\r\n\t\tcamera,\r\n\t\tcompressed,\r\n\t\tmaxDuration,\r\n\t\tsourceType,\r\n\t\textension\r\n\t} = opts;\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tuni.chooseVideo({\r\n\t\t\tcamera,\r\n\t\t\tcompressed,\r\n\t\t\tmaxDuration,\r\n\t\t\tsourceType,\r\n\t\t\textension,\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tconst {\r\n\t\t\t\t\ttempFilePath,\r\n\t\t\t\t\tduration,\r\n\t\t\t\t\tsize,\r\n\t\t\t\t\theight,\r\n\t\t\t\t\twidth\r\n\t\t\t\t} = res;\r\n\t\t\t\tresolve(normalizeChooseAndUploadFileRes({\r\n\t\t\t\t\terrMsg: 'chooseVideo:ok',\r\n\t\t\t\t\ttempFilePaths: [tempFilePath],\r\n\t\t\t\t\ttempFiles: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tname: (res.tempFile && res.tempFile.name) || '',\r\n\t\t\t\t\t\tpath: tempFilePath,\r\n\t\t\t\t\t\tsize,\r\n\t\t\t\t\t\ttype: (res.tempFile && res.tempFile.type) || '',\r\n\t\t\t\t\t\twidth,\r\n\t\t\t\t\t\theight,\r\n\t\t\t\t\t\tduration,\r\n\t\t\t\t\t\tfileType: 'video',\r\n\t\t\t\t\t\tcloudPath: '',\r\n\t\t\t\t\t}, ],\r\n\t\t\t\t}, 'video'));\r\n\t\t\t},\r\n\t\t\tfail(res) {\r\n\t\t\t\treject({\r\n\t\t\t\t\terrMsg: res.errMsg.replace('chooseVideo:fail', ERR_MSG_FAIL),\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t});\r\n}\r\n\r\nfunction chooseAll(opts) {\r\n\tconst {\r\n\t\tcount,\r\n\t\textension\r\n\t} = opts;\r\n\treturn new Promise((resolve, reject) => {\r\n\t\tlet chooseFile = uni.chooseFile;\r\n\t\tif (typeof wx !== 'undefined' &&\r\n\t\t\ttypeof wx.chooseMessageFile === 'function') {\r\n\t\t\tchooseFile = wx.chooseMessageFile;\r\n\t\t}\r\n\t\tif (typeof chooseFile !== 'function') {\r\n\t\t\treturn reject({\r\n\t\t\t\terrMsg: ERR_MSG_FAIL + ' 请指定 type 类型,该平台仅支持选择 image 或 video。',\r\n\t\t\t});\r\n\t\t}\r\n\t\tchooseFile({\r\n\t\t\ttype: 'all',\r\n\t\t\tcount,\r\n\t\t\textension,\r\n\t\t\tsuccess(res) {\r\n\t\t\t\tresolve(normalizeChooseAndUploadFileRes(res));\r\n\t\t\t},\r\n\t\t\tfail(res) {\r\n\t\t\t\treject({\r\n\t\t\t\t\terrMsg: res.errMsg.replace('chooseFile:fail', ERR_MSG_FAIL),\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t});\r\n\t});\r\n}\r\n\r\nfunction normalizeChooseAndUploadFileRes(res, fileType) {\r\n\tres.tempFiles.forEach((item, index) => {\r\n\t\tif (!item.name) {\r\n\t\t\titem.name = item.path.substring(item.path.lastIndexOf('/') + 1);\r\n\t\t}\r\n\t\tif (fileType) {\r\n\t\t\titem.fileType = fileType;\r\n\t\t}\r\n\t\titem.cloudPath =\r\n\t\t\tDate.now() + '_' + index + item.name.substring(item.name.lastIndexOf('.'));\r\n\t});\r\n\tif (!res.tempFilePaths) {\r\n\t\tres.tempFilePaths = res.tempFiles.map((file) => file.path);\r\n\t}\r\n\treturn res;\r\n}\r\n\r\nfunction uploadCloudFiles(files, max = 5, onUploadProgress) {\r\n\tfiles = JSON.parse(JSON.stringify(files))\r\n\tconst len = files.length\r\n\tlet count = 0\r\n\tlet self = this\r\n\treturn new Promise(resolve => {\r\n\t\twhile (count < max) {\r\n\t\t\tnext()\r\n\t\t}\r\n\r\n\t\tfunction next() {\r\n\t\t\tlet cur = count++\r\n\t\t\tif (cur >= len) {\r\n\t\t\t\t!files.find(item => !item.url && !item.errMsg) && resolve(files)\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t\tconst fileItem = files[cur]\r\n\t\t\tconst index = self.files.findIndex(v => v.uuid === fileItem.uuid)\r\n\t\t\tfileItem.url = ''\r\n\t\t\tdelete fileItem.errMsg\r\n\r\n\t\t\tuniCloud\r\n\t\t\t\t.uploadFile({\r\n\t\t\t\t\tfilePath: fileItem.path,\r\n\t\t\t\t\tcloudPath: fileItem.cloudPath,\r\n\t\t\t\t\tfileType: fileItem.fileType,\r\n\t\t\t\t\tonUploadProgress: res => {\r\n\t\t\t\t\t\tres.index = index\r\n\t\t\t\t\t\tonUploadProgress && onUploadProgress(res)\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.then(res => {\r\n\t\t\t\t\tfileItem.url = res.fileID\r\n\t\t\t\t\tfileItem.index = index\r\n\t\t\t\t\tif (cur < len) {\r\n\t\t\t\t\t\tnext()\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(res => {\r\n\t\t\t\t\tfileItem.errMsg = res.errMsg || res.message\r\n\t\t\t\t\tfileItem.index = index\r\n\t\t\t\t\tif (cur < len) {\r\n\t\t\t\t\t\tnext()\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t}\r\n\t})\r\n}\r\n\r\n\r\n\r\n\r\n\r\nfunction uploadFiles(choosePromise, {\r\n\tonChooseFile,\r\n\tonUploadProgress\r\n}) {\r\n\treturn choosePromise\r\n\t\t.then((res) => {\r\n\t\t\tif (onChooseFile) {\r\n\t\t\t\tconst customChooseRes = onChooseFile(res);\r\n\t\t\t\tif (typeof customChooseRes !== 'undefined') {\r\n\t\t\t\t\treturn Promise.resolve(customChooseRes).then((chooseRes) => typeof chooseRes === 'undefined' ?\r\n\t\t\t\t\t\tres : chooseRes);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn res;\r\n\t\t})\r\n\t\t.then((res) => {\r\n\t\t\tif (res === false) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\terrMsg: ERR_MSG_OK,\r\n\t\t\t\t\ttempFilePaths: [],\r\n\t\t\t\t\ttempFiles: [],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn res\r\n\t\t})\r\n}\r\n\r\nfunction chooseAndUploadFile(opts = {\r\n\ttype: 'all'\r\n}) {\r\n\tif (opts.type === 'image') {\r\n\t\treturn uploadFiles(chooseImage(opts), opts);\r\n\t}\r\n\telse if (opts.type === 'video') {\r\n\t\treturn uploadFiles(chooseVideo(opts), opts);\r\n\t}\r\n\treturn uploadFiles(chooseAll(opts), opts);\r\n}\r\n\r\nexport {\r\n\tchooseAndUploadFile,\r\n\tuploadCloudFiles\r\n};\r\n","/**\n * 获取文件名和后缀\n * @param {String} name\n */\nexport const get_file_ext = (name) => {\n\tconst last_len = name.lastIndexOf('.')\n\tconst len = name.length\n\treturn {\n\t\tname: name.substring(0, last_len),\n\t\text: name.substring(last_len + 1, len)\n\t}\n}\n\n/**\n * 获取扩展名\n * @param {Array} fileExtname\n */\nexport const get_extname = (fileExtname) => {\n\tif (!Array.isArray(fileExtname)) {\n\t\tlet extname = fileExtname.replace(/(\\[|\\])/g, '')\n\t\treturn extname.split(',')\n\t} else {\n\t\treturn fileExtname\n\t}\n\treturn []\n}\n\n/**\n * 获取文件和检测是否可选\n */\nexport const get_files_and_is_max = (res, _extname) => {\n\tlet filePaths = []\n\tlet files = []\n\tif(!_extname || _extname.length === 0){\n\t\treturn {\n\t\t\tfilePaths,\n\t\t\tfiles\n\t\t}\n\t}\n\tres.tempFiles.forEach(v => {\n\t\tlet fileFullName = get_file_ext(v.name)\n\t\tconst extname = fileFullName.ext.toLowerCase()\n\t\tif (_extname.indexOf(extname) !== -1) {\n\t\t\tfiles.push(v)\n\t\t\tfilePaths.push(v.path)\n\t\t}\n\t})\n\tif (files.length !== res.tempFiles.length) {\n\t\tuni.showToast({\n\t\t\ttitle: `当前选择了${res.tempFiles.length}个文件 ,${res.tempFiles.length - files.length} 个文件格式不正确`,\n\t\t\ticon: 'none',\n\t\t\tduration: 5000\n\t\t})\n\t}\n\n\treturn {\n\t\tfilePaths,\n\t\tfiles\n\t}\n}\n\n\n/**\n * 获取图片信息\n * @param {Object} filepath\n */\nexport const get_file_info = (filepath) => {\n\treturn new Promise((resolve, reject) => {\n\t\tuni.getImageInfo({\n\t\t\tsrc: filepath,\n\t\t\tsuccess(res) {\n\t\t\t\tresolve(res)\n\t\t\t},\n\t\t\tfail(err) {\n\t\t\t\treject(err)\n\t\t\t}\n\t\t})\n\t})\n}\n/**\n * 获取封装数据\n */\nexport const get_file_data = async (files, type = 'image') => {\n\t// 最终需要上传数据库的数据\n\tlet fileFullName = get_file_ext(files.name)\n\tconst extname = fileFullName.ext.toLowerCase()\n\tlet filedata = {\n\t\tname: files.name,\n\t\tuuid: files.uuid,\n\t\textname: extname || '',\n\t\tcloudPath: files.cloudPath,\n\t\tfileType: files.fileType,\n\t\turl: files.path || files.path,\n\t\tsize: files.size, //单位是字节\n\t\timage: {},\n\t\tpath: files.path,\n\t\tvideo: {}\n\t}\n\tif (type === 'image') {\n\t\tconst imageinfo = await get_file_info(files.path)\n\t\tdelete filedata.video\n\t\tfiledata.image.width = imageinfo.width\n\t\tfiledata.image.height = imageinfo.height\n\t\tfiledata.image.location = imageinfo.path\n\t} else {\n\t\tdelete filedata.image\n\t}\n\treturn filedata\n}\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","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;","/*\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'use strict';\r\n\r\nvar config = {\r\n version: 'v2.1.5-20210517',\r\n yAxisWidth: 15,\r\n yAxisSplit: 5,\r\n xAxisHeight: 22,\r\n xAxisLineHeight: 22,\r\n legendHeight: 15,\r\n yAxisTitleWidth: 15,\r\n padding: [10, 10, 10, 10],\r\n pixelRatio: 1,\r\n rotate: false,\r\n columePadding: 3,\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 xAxisTextPadding: 3,\r\n titleColor: '#333333',\r\n titleFontSize: 20,\r\n subtitleColor: '#999999',\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 gaugeLabelTextMargin: 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// 经纬度转墨卡托\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\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 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 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 calRotateTranslate(x, y, h) {\r\n var xv = x;\r\n var yv = h - y;\r\n var transX = xv + (h - yv - xv) / Math.sqrt(2);\r\n transX *= -1;\r\n var transY = (h - yv) * (Math.sqrt(2) - 1) - (h - yv - xv) / Math.sqrt(2);\r\n return {\r\n transX: transX,\r\n transY: transY\r\n };\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\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 item.legendShape = \"rect\";\r\n break;\r\n case 'area':\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 points = calPoints[0][index];\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 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 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) {\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 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\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\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 let itemWidth = shapeWidth + shapeRight + measureText(item.name || '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 categoriesTextLenth = categories.map(function(item) {\r\n return measureText(item, opts.xAxis.fontSize * opts.pix || config.fontSize, context);\r\n });\r\n var maxTextLength = Math.max.apply(this, categoriesTextLenth);\r\n\r\n if (opts.xAxis.rotateLabel == true && 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 return result;\r\n}\r\n\r\nfunction getXAxisTextList(series, opts, config) {\r\n var index = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;\r\n var data = dataCombine(series);\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 var result = {\r\n angle: 0,\r\n xAxisHeight: config.xAxisHeight\r\n };\r\n result.ranges = getXAxisTextList(series, opts, config);\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.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, type, eachSpacing) {\r\n var process = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1;\r\n series = series.sort(function(a, b) {\r\n return parseInt(b.data) - parseInt(a.data);\r\n });\r\n for (let i = 0; i < series.length; i++) {\r\n if(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(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.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 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 = 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 (index > 0) {\r\n item.width -= 2 * 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 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') && dataCount > 1 && opts.xAxis.boundaryGap == 'justify') {\r\n dataCount -= 1;\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 + index * eachSpacing);\r\n });\r\n if (opts.xAxis.boundaryGap !== 'justify') {\r\n if (opts.enableScroll === true) {\r\n xAxisPoints.push(startX + 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 += Math.round(eachSpacing / 2);\r\n }\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 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 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\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 //为了兼容v1.9.0之前的项目\r\n // if (index > -1) {\r\n // if (typeof opts.yAxis.data[index].min === 'number') {\r\n // minData = Math.min(opts.yAxis.data[index].min, minData);\r\n // }\r\n // if (typeof opts.yAxis.data[index].max === 'number') {\r\n // maxData = Math.max(opts.yAxis.data[index].max, maxData);\r\n // }\r\n // } else {\r\n // if (typeof opts.yAxis.min === 'number') {\r\n // minData = Math.min(opts.yAxis.min, minData);\r\n // }\r\n // if (typeof opts.yAxis.max === 'number') {\r\n // maxData = Math.max(opts.yAxis.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 = yData.min === undefined ? dataRange.minRange : yData.min;\r\n var maxRange = yData.max === undefined ? dataRange.maxRange : yData.max;\r\n var range = [];\r\n var eachRange = (maxRange - minRange) / opts.yAxis.splitNumber;\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.formatter){\r\n yData.formatter = (val) => {return val.toFixed(yData.tofix) + (yData.unit || '')}\r\n }\r\n rangesArr[i] = getYAxisTextList(newSeries[i], opts, config, columnstyle.type, yData, i);\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) {\r\n items = yData.formatter(Number(items));\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.yAxis.formatter){\r\n opts.yAxis.formatter = (val) => {return val.toFixed(opts.yAxis.tofix ) + (opts.yAxis.unit || '')}\r\n }\r\n rangesArr[0] = getYAxisTextList(series, opts, config, columnstyle.type, {});\r\n yAxisWidthArr[0] = {\r\n position: 'left',\r\n width: 0\r\n };\r\n var yAxisFontSize = opts.yAxis.fontSize * opts.pix || config.fontSize;\r\n rangesFormatArr[0] = rangesArr[0].map(function(item) {\r\n item = opts.yAxis.formatter(Number(item));\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 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: opts.yAxis.formatter\r\n };\r\n }\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 = ranges[i].shift();\r\n let minVal = ranges[i].pop();\r\n let item = maxVal - (maxVal - minVal) * (point - minAxis) / spacingValid;\r\n item = opts.yAxis.data[i].formatter ? opts.yAxis.data[i].formatter(Number(item)) : 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 === 'triangle') {\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) : 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\n\r\nfunction drawGaugeLabel(gaugeOption, radius, centerPosition, opts, config, context) {\r\n radius -= gaugeOption.width / 2 + gaugeOption.labelOffset * opts.pix;\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) : 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\n\r\nfunction drawRadarLabel(angleList, radius, centerPosition, opts, config, context) {\r\n var radarOption = opts.extra.radar || {};\r\n radius += config.radarLabelTextMargin * opts.pix;\r\n angleList.forEach(function(angle, index) {\r\n var pos = {\r\n x: radius * Math.cos(angle),\r\n y: radius * 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,series) {\r\n var text = item.formatter ? item.formatter(item,index,series) : util.toFixed(item._proportion_.toFixed(4) * 100) + '%';\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 };\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 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, 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;\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 yAxisIndex: 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 = opts.yAxis.formatter ? opts.yAxis.formatter(Number(item.value)) : item.value;\r\n context.setFontSize(config.fontSize);\r\n let textWidth = measureText(labelText, config.fontSize, context);\r\n let yAxisWidth = opts.chartData.yAxisData.yAxisWidth[0].width;\r\n let bgStartX = opts.area[3] - textWidth - config.toolTipPadding * 2;\r\n let bgEndX = opts.area[3];\r\n let bgWidth = bgEndX - bgStartX;\r\n let textX = bgEndX - 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, 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.setFontSize(config.fontSize);\r\n context.setTextAlign('right');\r\n context.setFillStyle(item.labelFontColor);\r\n context.fillText(String(labelText), textX, textY + 0.5 * config.fontSize);\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 - widthArr[i].width;\r\n bgEndX = Math.max(bgStartX, bgStartX + textWidth + config.toolTipPadding * 2);\r\n } else {\r\n bgStartX = tStartRight;\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 *\r\n 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 }, opts.extra.column);\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 - eachSpacing / 2, startY, eachSpacing, endY - startY);\r\n context.closePath();\r\n context.fill();\r\n context.setFillStyle(\"#FFFFFF\");\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 == '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 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 context.closePath();\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 if (r0 + r2 > height) {\r\n r0 = height;\r\n r2 = 0;\r\n r1 = height;\r\n r3 = 0;\r\n }\r\n if (r0 + r2 > width / 2) {\r\n r0 = width / 2;\r\n r2 = 0;\r\n r1 = width / 2;\r\n r3 = 0;\r\n }\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 - 2, item.y);\r\n context.lineTo(startX + item.width - 2, 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 - 2, 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 if (seriesIndex == 0) {\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 context.setFillStyle(columnOption.meterFillColor);\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\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 if (columnOption.meterBorder > 0) {\r\n context.beginPath();\r\n context.setStrokeStyle(eachSeries.color);\r\n context.setLineWidth(columnOption.meterBorder * opts.pix);\r\n context.moveTo(startX + columnOption.meterBorder * 0.5, item.y + height);\r\n context.lineTo(startX + columnOption.meterBorder * 0.5, item.y + columnOption.meterBorder * 0.5);\r\n context.lineTo(startX + item.width - columnOption.meterBorder * 0.5, item.y + columnOption.meterBorder * 0.5);\r\n context.lineTo(startX + item.width - columnOption.meterBorder * 0.5, item.y + height);\r\n context.stroke();\r\n }\r\n }\r\n };\r\n } else {\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 context.setFillStyle(item.color || eachSeries.color);\r\n var startX = item.x - item.width / 2;\r\n var height = opts.height - item.y - opts.area[2];\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 }\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 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 = series.textSize * opts.pix || config.fontSize;\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(series.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\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 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 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 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 if (r0 + r2 > height) {\r\n r0 = height;\r\n r2 = 0;\r\n r1 = height;\r\n r3 = 0;\r\n }\r\n if (r0 + r2 > width / 2) {\r\n r0 = width / 2;\r\n r2 = 0;\r\n r1 = width / 2;\r\n r3 = 0;\r\n }\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 - 2, item.y);\r\n context.lineTo(startX + item.width - 2, 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.setFillStyle(hexToRgb(eachSeries.color, 0.2));\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(2 * 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\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 == '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 == '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 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) : 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 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 } else {\r\n newCategories.forEach(function(item, index) {\r\n var xitem = opts.xAxis.formatter ? opts.xAxis.formatter(Number(item)) : item;\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 offset = -textWidth;\r\n if (boundaryGap == 'center') {\r\n offset += eachSpacing / 2;\r\n }\r\n var _calRotateTranslate = calRotateTranslate(xAxisPoints[index] + eachSpacing / 2, startY + xAxisFontSize / 2 + 5, opts.height),\r\n transX = _calRotateTranslate.transX,\r\n transY = _calRotateTranslate.transY;\r\n\r\n context.rotate(-1 * config._xAxisTextAngle_);\r\n context.translate(transX, transY);\r\n context.fillText(String(xitem), xAxisPoints[index] + offset, startY + xAxisFontSize + 5);\r\n context.closePath();\r\n context.stroke();\r\n context.restore();\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 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 var fillEndY = endY + config.xAxisHeight;\r\n if (opts.xAxis.scrollShow) {\r\n fillEndY -= 3 * opts.pix;\r\n }\r\n if (opts.xAxis.rotateLabel) {\r\n fillEndY = opts.height - opts.area[2] + opts.fontSize * opts.pix / 2;\r\n }\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, fillEndY);\r\n }\r\n if (opts.enableScroll == true && opts.xAxis.scrollPosition && opts.xAxis.scrollPosition !== 'right') {\r\n context.fillRect(endX, 0, opts.width, fillEndY);\r\n }\r\n context.closePath();\r\n context.stroke();\r\n var points = [];\r\n for (let i = 0; i <= opts.yAxis.splitNumber; i++) {\r\n points.push(opts.area[0] + eachSpacing * i);\r\n }\r\n let tStartLeft = opts.area[3];\r\n let tStartRight = opts.width - opts.area[1];\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 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] ? points[index] : endY;\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 {\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 }\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 {\r\n context.moveTo(tStartRight, opts.height - opts.area[2]);\r\n context.lineTo(tStartRight, 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 {\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 }\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 context.beginPath();\r\n context.setFontSize(fontSize);\r\n context.setFillStyle(item.show ? opts.legend.fontColor : opts.legend.hiddenColor);\r\n context.fillText(item.name, 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(item.name, fontSize, context) + itemGap;\r\n item.area[2] = startX;\r\n } else {\r\n item.area[2] = startX + measureText(item.name, 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 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 var valid = false;\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (series[i].data > 0) {\r\n valid = true;\r\n break;\r\n }\r\n }\r\n if (valid) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\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 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 var valid = false;\r\n for (var i = 0, len = series.length; i < len; i++) {\r\n if (series[i].data > 0) {\r\n valid = true;\r\n break;\r\n }\r\n }\r\n if (valid) {\r\n drawPieText(series, opts, config, context, radius, centerPosition);\r\n }\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 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 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('round');\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, false);\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, false);\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('round');\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, false);\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 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 = getArcbarDataPoints(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 opacity: 0.2,\r\n gridCount: 3,\r\n border:false,\r\n borderWidth:2\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 // 画分割线\r\n context.beginPath();\r\n context.setLineWidth(1 * opts.pix);\r\n context.setStrokeStyle(radarOption.gridColor);\r\n coordinateAngle.forEach(function(angle) {\r\n var pos = convertCoordinateOrigin(radius * Math.cos(angle), radius * Math.sin(angle), centerPosition);\r\n context.moveTo(centerPosition.x, centerPosition.y);\r\n context.lineTo(pos.x, pos.y);\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 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 context.setFillStyle(hexToRgb(eachSeries.color, radarOption.opacity));\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 // draw label text\r\n drawRadarLabel(coordinateAngle, radius, centerPosition, opts, config, context);\r\n return {\r\n center: centerPosition,\r\n radius: radius,\r\n angleList: coordinateAngle\r\n };\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 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\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 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, mapOption.fillOpacity));\r\n if (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 if (opts.dataLabel == true) {\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 text = data[i].properties.name;\r\n context.beginPath();\r\n context.setFontSize(fontSize)\r\n context.setFillStyle(data[i].textColor || opts.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 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\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 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 series = getFunnelDataPoints(series, radius, funnelOption.type, 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 < series.length; i++) {\r\n if (i == series.length -1) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(series[i].color, funnelOption.activeOpacity));\r\n context.moveTo(-activeWidth, -eachSpacing);\r\n context.lineTo(-series[i].radius - activeWidth, 0);\r\n context.lineTo(series[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 series[i].funnelArea = [centerPosition.x - series[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + series[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(series[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(series[i].radius, -eachSpacing, -series[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[series[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(series[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(-series[i].radius, 0);\r\n context.lineTo(series[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(series[i].color, funnelOption.activeOpacity));\r\n context.moveTo(0, 0);\r\n context.lineTo(-series[i].radius - activeWidth, 0);\r\n context.lineTo(-series[i + 1].radius - activeWidth, -eachSpacing);\r\n context.lineTo(series[i + 1].radius + activeWidth, -eachSpacing);\r\n context.lineTo(series[i].radius + activeWidth, 0);\r\n context.lineTo(0, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n series[i].funnelArea = [centerPosition.x - series[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + series[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(series[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(series[i].radius, -eachSpacing, -series[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[series[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(series[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(-series[i].radius, 0);\r\n context.lineTo(-series[i + 1].radius, -eachSpacing);\r\n context.lineTo(series[i + 1].radius, -eachSpacing);\r\n context.lineTo(series[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 for (let i = 0; i < series.length; i++) {\r\n if (i == 0) {\r\n if (opts.tooltip) {\r\n if (opts.tooltip.index == i) {\r\n context.beginPath();\r\n context.setFillStyle(hexToRgb(series[i].color, funnelOption.activeOpacity));\r\n context.moveTo(-activeWidth, 0);\r\n context.lineTo(-series[i].radius - activeWidth, -eachSpacing);\r\n context.lineTo(series[i].radius + activeWidth, -eachSpacing);\r\n context.lineTo(activeWidth, 0);\r\n context.lineTo(-activeWidth, 0);\r\n context.closePath();\r\n context.fill();\r\n }\r\n }\r\n series[i].funnelArea = [centerPosition.x - series[i].radius, centerPosition.y - eachSpacing, centerPosition.x + series[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(series[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(series[i].radius, -eachSpacing, -series[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[series[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(series[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(-series[i].radius, -eachSpacing);\r\n context.lineTo(series[i].radius, -eachSpacing);\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(series[i].color, funnelOption.activeOpacity));\r\n context.moveTo(0, 0);\r\n context.lineTo(-series[i - 1].radius - activeWidth, 0);\r\n context.lineTo(-series[i].radius - activeWidth, -eachSpacing);\r\n context.lineTo(series[i].radius + activeWidth, -eachSpacing);\r\n context.lineTo(series[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 series[i].funnelArea = [centerPosition.x - series[i].radius, centerPosition.y - eachSpacing * (i + 1), centerPosition.x + series[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(series[i].color, funnelOption.fillOpacity);\r\n if (funnelOption.linearType == 'custom') {\r\n var grd = context.createLinearGradient(series[i].radius, -eachSpacing, -series[i].radius, -eachSpacing);\r\n grd.addColorStop(0, hexToRgb(series[i].color, funnelOption.fillOpacity));\r\n grd.addColorStop(0.5, hexToRgb(funnelOption.customColor[series[i].linearIndex], funnelOption.fillOpacity));\r\n grd.addColorStop(1, hexToRgb(series[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(-series[i - 1].radius, 0);\r\n context.lineTo(-series[i].radius, -eachSpacing);\r\n context.lineTo(series[i].radius, -eachSpacing);\r\n context.lineTo(series[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(series, opts, context, eachSpacing, funnelOption.labelAlign, activeWidth, 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 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 let startX, endX, startY, fontSize;\r\n let text = item.formatter ? item.formatter(item,i,series) : util.toFixed(item._proportion_ * 100) + '%';\r\n if (labelAlign == 'right') {\r\n if(opts.extra.funnel.type === 'pyramid'){\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 }else{\r\n if (i == 0) {\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 }\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, startY + fontSize / 2 - 2);\r\n context.closePath();\r\n context.stroke();\r\n context.closePath();\r\n } else {\r\n if(opts.extra.funnel.type === 'pyramid'){\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 }else{\r\n if (i == 0) {\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 }\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\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 === 'rose' || type === 'funnel') {\r\n series = fixPieSeries(series, opts, config);\r\n }\r\n var categories = opts.categories;\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 === 'area' || opts.type === 'mix' || opts.type === 'candle' || opts.type === 'scatter' || opts.type === 'bubble' ) {\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 {\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') {\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') {\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 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 = {\r\n currentOffset: offsetLeft,\r\n startTouchX: offsetLeft,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\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 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 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 '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 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 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 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 = JSON.parse(JSON.stringify(config));\r\n config$$1.color = opts.color ? opts.color : config$$1.color;\r\n config$$1.yAxisTitleWidth = opts.yAxis.disabled !== true && opts.yAxis.title ? config$$1.yAxisTitleWidth : 0;\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 config$$1.yAxisSplit = opts.yAxis.splitNumber ? opts.yAxis.splitNumber : config.yAxisSplit;\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.xAxisLineHeight = config.xAxisLineHeight * opts.pix;\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 config$$1.columePadding = config.columePadding * opts.pix;\r\n //this.context = opts.context ? opts.context : uni.createCanvasContext(opts.canvasId, opts.$this);\r\n //v2.0版本后需要自行获取context并传入opts进行初始化,这么做是为了确保uCharts可以跨更多端使用,并保证了自定义组件this实例不被循环嵌套。如果您觉得不便请取消上面注释,采用v1.0版本的方式使用,对此给您带来的不便敬请谅解!\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 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: offsetLeft,\r\n distance: 0,\r\n lastMoveTime: 0\r\n };\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);\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 {\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 === '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 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 }\r\n};\r\n\r\nif (typeof module === \"object\" && typeof module.exports === \"object\") {\r\n module.exports = uCharts;\r\n //export default uCharts;//建议使用nodejs的module导出方式,如报错请使用export方式导出\r\n}\r\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","/*\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\tvar date = new Date();\r\n\tdate.setTime(timeStamp * 1000);\r\n\tvar y = date.getFullYear();\r\n\tvar m = date.getMonth() + 1;\r\n\tm = m < 10 ? ('0' + m) : m;\r\n\tvar d = date.getDate();\r\n\td = d < 10 ? ('0' + d) : d;\r\n\tvar h = date.getHours();\r\n\th = h < 10 ? ('0' + h) : h;\r\n\tvar minute = date.getMinutes();\r\n\tvar second = date.getSeconds();\r\n\tminute = minute < 10 ? ('0' + minute) : minute;\r\n\tsecond = second < 10 ? ('0' + second) : second;\r\n\tif (returnType == 'full') {\r\n\t\treturn y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second;\r\n\t}\r\n\tif (returnType == 'y-m-d') {\r\n\t\treturn y + '-' + m + '-' + d;\r\n\t}\r\n\tif (returnType == 'h:m') {\r\n\t\treturn h + ':' + minute;\r\n\t}\r\n\tif (returnType == 'h:m:s') {\r\n\t\treturn h + ':' + minute + ':' + second;\r\n\t}\r\n\treturn [y, m, d, h, minute, second];\r\n}\r\n\r\nmodule.exports = {\r\n\t//demotype为自定义图表类型,一般不需要自定义图表类型,只需要改根节点上对应的类型即可\r\n\t\"type\": [\"pie\", \"ring\", \"rose\", \"word\", \"funnel\", \"map\", \"arcbar\", \"line\", \"column\", \"area\", \"radar\", \"gauge\",\r\n\t\t\"candle\", \"mix\", \"tline\", \"tarea\", \"scatter\", \"bubble\", \"demotype\"\r\n\t],\r\n\t\"range\": [\"饼状图\", \"圆环图\", \"玫瑰图\", \"词云图\", \"漏斗图\", \"地图\", \"圆弧进度条\", \"折线图\", \"柱状图\", \"区域图\", \"雷达图\", \"仪表盘\", \"K线图\", \"混合图\",\r\n\t\t\"时间轴折线\", \"时间轴区域\", \"散点图\", \"气泡图\", \"自定义类型\"\r\n\t],\r\n\t//增加自定义图表类型,如果需要categories,请在这里加入您的图表类型,例如最后的\"demotype\"\r\n\t//自定义类型时需要注意\"tline\",\"tarea\",\"scatter\",\"bubble\"等时间轴(矢量x轴)类图表,没有categories,不需要加入categories\r\n\t\"categories\": [\"line\", \"column\", \"area\", \"radar\", \"gauge\", \"candle\", \"mix\", \"demotype\"],\r\n\t//instance为实例变量承载属性,不要删除\r\n\t\"instance\": {},\r\n\t//option为opts及eopts承载属性,不要删除\r\n\t\"option\": {},\r\n\t//下面是自定义format配置,因除H5端外的其他端无法通过props传递函数,只能通过此属性对应下标的方式来替换\r\n\t\"formatter\": {\r\n\t\t\"yAxisDemo1\": function(val) {\r\n\t\t\treturn val + '元'\r\n\t\t},\r\n\t\t\"yAxisDemo2\": function(val) {\r\n\t\t\treturn val.toFixed(2)\r\n\t\t},\r\n\t\t\"xAxisDemo1\": function(val) {\r\n\t\t\treturn val + '年'\r\n\t\t},\r\n\t\t\"xAxisDemo2\": function(val) {\r\n\t\t\treturn formatDateTime(val, 'h:m')\r\n\t\t},\r\n\t\t\"seriesDemo1\": function(val) {\r\n\t\t\treturn val + '元'\r\n\t\t},\r\n\t\t\"tooltipDemo1\": function(item, category, index, opts) {\r\n\t\t\tif (index == 0) {\r\n\t\t\t\treturn '随便用' + item.data + '年'\r\n\t\t\t} else {\r\n\t\t\t\treturn '其他我没改' + item.data + '天'\r\n\t\t\t}\r\n\t\t},\r\n\t\t\"pieDemo\": function(val, index, series) {\r\n\t\t\tif (index !== undefined) {\r\n\t\t\t\treturn series[index].name + ':' + series[index].data + '元'\r\n\t\t\t}\r\n\t\t},\r\n\t},\r\n\t//这里演示了自定义您的图表类型的option,可以随意命名,之后在组件上 type=\"demotype\" 后,组件会调用这个花括号里的option,如果组件上还存在opts参数,会将demotype与opts中option合并后渲染图表。\r\n\t\"demotype\": {\r\n\t\t//我这里把曲线图当做了自定义图表类型,您可以根据需要随意指定类型或配置\r\n\t\t\"type\": \"line\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15, 10, 0, 15],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {},\r\n\t\t\"extra\": {\r\n\t\t\t\"line\": {\r\n\t\t\t\t\"type\": \"curve\",\r\n\t\t\t\t\"width\": 2\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t//下面是自定义配置,请添加项目所需的通用配置\r\n\t\"pie\": {\r\n\t\t\"type\": \"pie\",\r\n\t\t\"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\t\t\"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\t\t\t\"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\t\t\"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\t\t\t\"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\t\t\"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\t\t\"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\t\t\"color\": color,\r\n\t\t\"padding\": [0, 0, 0, 0],\r\n\t\t\"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\t\t\"color\": \"#ff4c4f\",\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\": \"circle\",\r\n\t\t\t\t\"width\": 15,\r\n\t\t\t\t\"backgroundColor\": \"#E9E9E9\",\r\n\t\t\t\t\"startAngle\":1.5,\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\t\t\"color\": color,\r\n\t\t\"padding\": [15, 10, 0, 15],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 2,\r\n\t\t},\r\n\t\t\"legend\": {},\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\t\"tline\": {\r\n\t\t\"type\": \"line\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15, 10, 0, 15],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"boundaryGap\": \"justify\",\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 2,\r\n\t\t\t\"data\": [{\r\n\t\t\t\t\"min\": 0,\r\n\t\t\t\t\"max\": 80\r\n\t\t\t}]\r\n\t\t},\r\n\t\t\"legend\": {},\r\n\t\t\"extra\": {\r\n\t\t\t\"line\": {\r\n\t\t\t\t\"type\": \"curve\",\r\n\t\t\t\t\"width\": 2\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"tarea\": {\r\n\t\t\"type\": \"area\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [0, 15, 15, 5],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": true,\r\n\t\t\t\"boundaryGap\": \"justify\",\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"dashLength\": 2,\r\n\t\t\t\"data\": [{\r\n\t\t\t\t\"min\": 0,\r\n\t\t\t\t\"max\": 80\r\n\t\t\t}]\r\n\t\t},\r\n\t\t\"legend\": {},\r\n\t\t\"extra\": {\r\n\t\t\t\"area\": {\r\n\t\t\t\t\"type\": \"curve\",\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\": true\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"column\": {\r\n\t\t\"type\": \"column\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [15, 15, 0, 5],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"disableGrid\": true,\r\n\t\t\t\"gridColor\": '#ffffff',\r\n\t\t\t\"data\": [{\r\n\t\t\t\t\"tofix\": 1,\r\n\t\t\t\t\"min\": 0\r\n\t\t\t}],\r\n\t\t},\r\n\t\t\"legend\": {},\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\": 20,\r\n\t\t\t\t\"seriesGap\": 5,\r\n\t\t\t\t\"meterFillColor\": \"#FFFFFF\",\r\n\t\t\t\t\"activeBgColor\": \"#000000\",\r\n\t\t\t\t\"activeBgOpacity\": 0.5,\r\n\t\t\t\t\"barBorderCircle\": true,\r\n\t\t\t\t\"linearType\": \"opacity\",\r\n\t\t\t\t// \"customColor\": \"#ff9f40\",\r\n\t\t\t\t\"linearOpacity\": 1,\r\n\t\t\t},\r\n\t\t}\r\n\t},\r\n\t\"area\": {\r\n\t\t\"type\": \"area\",\r\n\t\t\"color\": color,\r\n\t\t\"padding\": [20, 15, 5, 10],\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": true,\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"disableGrid\": true,\r\n\t\t\t\"gridColor\": '#ffffff',\r\n\t\t\t\"data\": [{\r\n\t\t\t\t\"tofix\": 1,\r\n\t\t\t\t\"min\": 0\r\n\t\t\t}],\r\n\t\t},\r\n\t\t\"legend\": {\r\n\t\t\t\"show\": false,\r\n\t\t},\r\n\t\t\"extra\": {\r\n\t\t\t\"area\": {\r\n\t\t\t\t\"type\": \"curve\",\r\n\t\t\t\t\"opacity\": 0.2,\r\n\t\t\t\t\"addLine\": true,\r\n\t\t\t\t\"width\": 1,\r\n\t\t\t\t\"gradient\": true\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\t\t\"legend\": {\r\n\t\t\t\"show\": true,\r\n\t\t\t\"position\": \"right\",\r\n\t\t\t\"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\"legend\": {},\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\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\t\t\t\"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\"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\t\t\"dataLabel\": false,\r\n\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"splitNumber\": 5,\r\n\t\t\t\"boundaryGap\": \"justify\",\r\n\t\t\t\"min\": 0\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t},\r\n\t\t\"legend\": {},\r\n\t\t\"extra\": {\r\n\t\t\t\"scatter\": {},\r\n\t\t}\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\t\t\"xAxis\": {\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"splitNumber\": 5,\r\n\t\t\t\"boundaryGap\": \"justify\",\r\n\t\t\t\"min\": 0,\r\n\t\t\t\"max\": 250\r\n\t\t},\r\n\t\t\"yAxis\": {\r\n\t\t\t\"disableGrid\": false,\r\n\t\t\t\"gridType\": \"dash\",\r\n\t\t\t\"data\": [{\r\n\t\t\t\t\"min\": 0,\r\n\t\t\t\t\"max\": 150\r\n\t\t\t}]\r\n\t\t},\r\n\t\t\"legend\": {},\r\n\t\t\"extra\": {\r\n\t\t\t\"bubble\": {\r\n\t\t\t\t\"border\": 2,\r\n\t\t\t\t\"opacity\": 0.5,\r\n\t\t\t},\r\n\t\t}\r\n\t}\r\n}\r\n","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;","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","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 ''\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)) + \">\") : \"\") +\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. 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. , , 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 \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","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","/* 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","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1694069744479\n var cssReload = require(\"D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1694069744505\n var cssReload = require(\"D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1694069742622\n var cssReload = require(\"D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","// extracted by mini-css-extract-plugin\n if(module.hot) {\n // 1694069742625\n var cssReload = require(\"D:/软件包/HBuilderX.3.6.4.20220922/HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"hmr\":true,\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","import Vue from 'vue'\r\nimport Vuex from 'vuex'\r\nimport actions from './actions.js'\r\nVue.use(Vuex)\r\nexport default new Vuex.Store({\r\n\t// state: 存储基本数据\r\n\tstate: {\r\n\t\tuser: {\r\n\t\t\theadimg: \"../../static/dan.png\",\r\n\t\t\tname: \"季总蛋先生\",\r\n\t\t\tweight: 68,\r\n\t\t\tage: 26,\r\n\t\t\theight: 178,\r\n\t\t\tsex: 1,\r\n\t\t\tid: \"\",\r\n\t\t\tmage: \"\",\r\n\t\t\tiszan: false,\r\n\t\t\tzan: 0\r\n\t\t},\r\n\t\tisedit: false,\r\n\t\tisLogout: true,\r\n\t\tisConnected: false,\r\n\t\tisBluetoothTyle: false,\r\n\t},\r\n\t// mutations: Store中更改state数据状态的唯一方法(必须是同步函数)\r\n\tmutations: {\r\n\t\t/* 用户信息 */\r\n\t\tchangePetInfo(state, newData) {\r\n\t\t\tstate.user = newData\r\n\t\t},\r\n\t\t// 手动添加\r\n\t\tchangeEdit(state, newData) {\r\n\t\t\tstate.isedit = newData\r\n\t\t},\r\n\t\t//蓝牙状态\r\n\t\tchangeBluetooth(state, newData) {\r\n\t\t\tstate.isBluetoothTyle = newData\r\n\t\t},\r\n\t\t// 蓝牙连接状态\r\n\t\tchangeConnected(state, newData) {\r\n\t\t\tstate.isConnected = newData\r\n\t\t},\r\n\t\t// 退出登录\r\n\t\tchangeLogout(state, newData) {\r\n\t\t\tif (newData == false) {\r\n\t\t\t\tstate.user = {\r\n\t\t\t\t\theadimg: null,\r\n\t\t\t\t\tname: \"\",\r\n\t\t\t\t\tweight: 0,\r\n\t\t\t\t\tbirthday: \"\",\r\n\t\t\t\t\theight: 0,\r\n\t\t\t\t\tsex: 0,\r\n\t\t\t\t\tid: \"\",\r\n\t\t\t\t\tmage: \"\",\r\n\t\t\t\t\tiszan: false,\r\n\t\t\t\t\tzan: 0\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tstate.isLogout = newData\r\n\t\t},\r\n\r\n\t},\r\n\t// 模块化vuex\r\n\tmodules: {},\r\n\tactions\r\n})\r\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