From 90d35884d63a22c56ab6699286afba42a106ad61 Mon Sep 17 00:00:00 2001 From: weipengfei <2187978347@qq.com> Date: Thu, 21 Sep 2023 17:28:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- manifest.json | 11 +- pages/index/index.vue | 23 +- unpackage/dist/dev/app-plus/app-service.js | 5045 +------------------- unpackage/dist/dev/app-plus/manifest.json | 2 +- 4 files changed, 51 insertions(+), 5030 deletions(-) diff --git a/manifest.json b/manifest.json index fcfe7e5..d682dc5 100644 --- a/manifest.json +++ b/manifest.json @@ -38,12 +38,17 @@ "", "", "" - ] + ], + "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ] }, /* ios打包配置 */ - "ios" : {}, + "ios" : { + "dSYMs" : false + }, /* SDK配置 */ - "sdkConfigs" : {} + "sdkConfigs" : { + "ad" : {} + } } }, /* 快应用特有相关 */ diff --git a/pages/index/index.vue b/pages/index/index.vue index c8f42b7..8aa5fc5 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -40,8 +40,6 @@ import CryptoJS from '../../static/crypto-js/crypto-js.js' import parser from '../../static/fast-xml-parser/src/parser' import * as utf8 from "utf8" - import fetch from 'miniprogram-fetch'; - import axios from 'axios'; import BingMath from "@/components/bing-math/bing-math.vue" export default { components: { @@ -51,7 +49,7 @@ return { talkList: [], ajax: { - rows: 10, //每页数量 + rows: 100, //每页数量 page: 1, //页码 flag: false, // 请求开关 loading: false, // 加载中 @@ -225,9 +223,14 @@ }) }, focus(){ - uni.pageScrollTo({ - top: this.keyboardHeight - }) + // this.$nextTick(()=>{ + // setTimeout(()=>{ + // uni.pageScrollTo({ + // scrollTop: 9999999, // 当前位置向下滚动 + // duration: 300 // 滚动过渡时间为300ms,默认值为300ms + // }); + // }, 0) + // }) }, // 设置页面滚动位置 setPageScrollTo(selector) { @@ -298,10 +301,10 @@ this.$nextTick(() => { // 清空内容框中的内容 this.content = ''; - uni.pageScrollTo({ - scrollTop: 999999, // 设置一个超大值,以保证滚动条滚动到底部 - duration: 0 - }); + // uni.pageScrollTo({ + // scrollTop: 999999, // 设置一个超大值,以保证滚动条滚动到底部 + // duration: 0 + // }); }) this.sendToSpark(); diff --git a/unpackage/dist/dev/app-plus/app-service.js b/unpackage/dist/dev/app-plus/app-service.js index 0c92433..029194d 100644 --- a/unpackage/dist/dev/app-plus/app-service.js +++ b/unpackage/dist/dev/app-plus/app-service.js @@ -7,7 +7,7 @@ /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\n__webpack_require__(/*! uni-pages */ 6);\nvar _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 258));\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 206));\n__webpack_require__(/*! ./uni.promisify.adaptor */ 261);\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n_vue.default.config.productionTip = false;\n_App.default.mpType = 'app';\nvar app = new _vue.default(_objectSpread({}, _App.default));\napp.$mount();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyJdLCJuYW1lcyI6WyJWdWUiLCJjb25maWciLCJwcm9kdWN0aW9uVGlwIiwiQXBwIiwibXBUeXBlIiwiYXBwIiwiJG1vdW50Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFBbUI7QUFHbkI7QUFDQTtBQUFnQztBQUFBO0FBQ2hDQSxZQUFHLENBQUNDLE1BQU0sQ0FBQ0MsYUFBYSxHQUFHLEtBQUs7QUFDaENDLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHLEtBQUs7QUFDbEIsSUFBTUMsR0FBRyxHQUFHLElBQUlMLFlBQUcsbUJBQ2RHLFlBQUcsRUFDTjtBQUNGRSxHQUFHLENBQUNDLE1BQU0sRUFBRSIsImZpbGUiOiIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd1bmktcGFnZXMnO2ltcG9ydCBBcHAgZnJvbSAnLi9BcHAnXG5cblxuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXG5pbXBvcnQgJy4vdW5pLnByb21pc2lmeS5hZGFwdG9yJ1xuVnVlLmNvbmZpZy5wcm9kdWN0aW9uVGlwID0gZmFsc2VcbkFwcC5tcFR5cGUgPSAnYXBwJ1xuY29uc3QgYXBwID0gbmV3IFZ1ZSh7XG4gIC4uLkFwcFxufSlcbmFwcC4kbW91bnQoKVxuXG5cblxuXG5cblxuXG5cblxuXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///0\n"); +eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\n__webpack_require__(/*! uni-pages */ 6);\nvar _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 205));\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 208));\n__webpack_require__(/*! ./uni.promisify.adaptor */ 209);\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n_vue.default.config.productionTip = false;\n_App.default.mpType = 'app';\nvar app = new _vue.default(_objectSpread({}, _App.default));\napp.$mount();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyJdLCJuYW1lcyI6WyJWdWUiLCJjb25maWciLCJwcm9kdWN0aW9uVGlwIiwiQXBwIiwibXBUeXBlIiwiYXBwIiwiJG1vdW50Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFBbUI7QUFHbkI7QUFDQTtBQUFnQztBQUFBO0FBQ2hDQSxZQUFHLENBQUNDLE1BQU0sQ0FBQ0MsYUFBYSxHQUFHLEtBQUs7QUFDaENDLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHLEtBQUs7QUFDbEIsSUFBTUMsR0FBRyxHQUFHLElBQUlMLFlBQUcsbUJBQ2RHLFlBQUcsRUFDTjtBQUNGRSxHQUFHLENBQUNDLE1BQU0sRUFBRSIsImZpbGUiOiIwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICd1bmktcGFnZXMnO2ltcG9ydCBBcHAgZnJvbSAnLi9BcHAnXG5cblxuaW1wb3J0IFZ1ZSBmcm9tICd2dWUnXG5pbXBvcnQgJy4vdW5pLnByb21pc2lmeS5hZGFwdG9yJ1xuVnVlLmNvbmZpZy5wcm9kdWN0aW9uVGlwID0gZmFsc2VcbkFwcC5tcFR5cGUgPSAnYXBwJ1xuY29uc3QgYXBwID0gbmV3IFZ1ZSh7XG4gIC4uLkFwcFxufSlcbmFwcC4kbW91bnQoKVxuXG5cblxuXG5cblxuXG5cblxuXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///0\n"); /***/ }), /* 1 */ @@ -149,7 +149,7 @@ __definePage('pages/index/index', function () { return Vue.extend(__webpack_require__(/*! pages/index/index.vue?mpType=page */ 7).default); }); __definePage('pages/index/chat', function () { - return Vue.extend(__webpack_require__(/*! pages/index/chat.vue?mpType=page */ 253).default); + return Vue.extend(__webpack_require__(/*! pages/index/chat.vue?mpType=page */ 200).default); }); /***/ }), @@ -681,7 +681,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBu /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nvar _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 4);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 19));\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 21));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 27));\nvar base64 = _interopRequireWildcard(__webpack_require__(/*! base-64 */ 28));\nvar _cryptoJs = _interopRequireDefault(__webpack_require__(/*! ../../static/crypto-js/crypto-js.js */ 32));\nvar _parser = _interopRequireDefault(__webpack_require__(/*! ../../static/fast-xml-parser/src/parser */ 190));\nvar utf8 = _interopRequireWildcard(__webpack_require__(/*! utf8 */ 199));\nvar _miniprogramFetch = _interopRequireDefault(__webpack_require__(/*! miniprogram-fetch */ 200));\nvar _axios = _interopRequireDefault(__webpack_require__(/*! axios */ 210));\nvar _bingMath = _interopRequireDefault(__webpack_require__(/*! @/components/bing-math/bing-math.vue */ 10));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n components: {\n 'bing-math': _bingMath.default\n },\n data: function data() {\n return {\n talkList: [],\n ajax: {\n rows: 10,\n //每页数量\n page: 1,\n //页码\n flag: false,\n // 请求开关\n loading: false,\n // 加载中\n loadText: '正在获取消息'\n },\n keyboardHeight: 0,\n showplc: true,\n content: '',\n c_content: '',\n n_content: '',\n timer: '',\n socketTask: {},\n TEXT: '',\n historyTextList: [],\n // 历史会话信息,由于最大token12000,可以结合实际使用,进行移出\n tempRes: '',\n // 临时答复保存\n scrollTop: 0,\n shouldScrollToBottom: true\n };\n },\n mounted: function mounted() {\n var _this = this;\n this.$nextTick(function () {\n _this.getHistoryMsg();\n });\n uni.onKeyboardHeightChange(function (e) {\n var h = _this.keyboardHeight;\n _this.keyboardHeight = e.height;\n _this.$nextTick(function () {\n setTimeout(function () {\n uni.pageScrollTo({\n scrollTop: 9999999,\n // 当前位置向下滚动\n duration: 300 // 滚动过渡时间为300ms,默认值为300ms\n });\n }, 0);\n });\n });\n },\n beforeDestroy: function beforeDestroy() {\n uni.offKeyboardHeightChange();\n },\n onPageScroll: function onPageScroll(e) {\n if (e.scrollTop < 5) {\n this.getHistoryMsg();\n }\n },\n watch: {\n n_content: function n_content(n, o) {\n var _this2 = this;\n // this.c_content = n;\n if (this.timer) clearInterval(this.timer);\n var cl = this.c_content.length;\n var nc = this.n_content.split('');\n this.timer = setInterval(function () {\n if (cl < nc.length) {\n _this2.c_content += nc[cl];\n cl++;\n if (cl % 6 == 0) _this2.$nextTick(function () {\n uni.pageScrollTo({\n scrollTop: 999999\n });\n });\n } else {\n clearInterval(_this2.timer);\n _this2.$nextTick(function () {\n uni.pageScrollTo({\n scrollTop: 9999999\n });\n });\n }\n }, 60);\n }\n },\n methods: {\n copyText: function copyText(str) {\n uni.setClipboardData({\n data: str,\n success: function success() {\n uni.showToast({\n icon: 'none',\n title: '复制成功'\n });\n }\n });\n },\n // 获取历史消息\n getHistoryMsg: function getHistoryMsg() {\n var _this3 = this;\n return;\n if (this.ajax.flag) {\n return; //\n }\n\n var get = /*#__PURE__*/function () {\n var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var data, selector;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this3.hideLoadTips();\n _this3.ajax.flag = false;\n _context.next = 4;\n return _this3.joinHistoryMsg();\n case 4:\n data = _context.sent;\n __f__(\"log\", '----- 模拟数据格式,供参考 -----', \" at pages/index/index.vue:151\");\n __f__(\"log\", data, \" at pages/index/index.vue:152\"); // 查看请求返回的数据结构 \n\n // 获取待滚动元素选择器,解决插入数据后,滚动条定位时使用\n selector = '';\n if (_this3.ajax.page > 1) {\n // 非第一页,则取历史消息数据的第一条信息元素\n selector = \"#msg-\".concat(_this3.talkList[0].id);\n } else {\n // 第一页,则取当前消息数据的最后一条信息元素\n selector = \"#msg-\".concat(data[data.length - 1].id);\n }\n\n // 将获取到的消息数据合并到消息数组中\n _this3.talkList = [].concat((0, _toConsumableArray2.default)(data), (0, _toConsumableArray2.default)(_this3.talkList));\n\n // 数据挂载后执行,不懂的请自行阅读 Vue.js 文档对 Vue.nextTick 函数说明。\n _this3.$nextTick(function () {\n // 设置当前滚动的位置\n _this3.setPageScrollTo(selector);\n _this3.hideLoadTips(true);\n if (data.length < _this3.ajax.rows) {\n // 当前消息数据条数小于请求要求条数时,则无更多消息,不再允许请求。\n // 可在此处编写无更多消息数据时的逻辑\n } else {\n _this3.ajax.page++;\n\n // 延迟 200ms ,以保证设置窗口滚动已完成\n setTimeout(function () {\n _this3.ajax.flag = true;\n }, 200);\n }\n });\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return function get() {\n return _ref.apply(this, arguments);\n };\n }();\n get();\n },\n // 拼接历史记录消息\n joinHistoryMsg: function joinHistoryMsg() {\n var _this4 = this;\n var join = function join() {\n var arr = [];\n\n //通过当前页码及页数,模拟数据内容\n var startIndex = (_this4.ajax.page - 1) * _this4.ajax.rows;\n var endIndex = startIndex + _this4.ajax.rows;\n for (var i = startIndex; i < endIndex; i++) {\n arr.push({\n \"id\": i,\n // 消息的ID\n \"content\": \"\\u8FD9\\u662F\\u5386\\u53F2\\u8BB0\\u5F55\\u7684\\u7B2C\".concat(i + 1, \"\\u6761\\u6D88\\u606F\"),\n // 消息内容\n \"type\": Math.random() > 0.5 ? 1 : 0,\n // 此为消息类别,设 1 为发出去的消息,0 为收到对方的消息,\n \"pic\": \"/static/avatar.png\" // 头像\n });\n }\n\n /*\n \t颠倒数组中元素的顺序。将最新的数据排在本次接口返回数据的最后面。\n \t后端接口按 消息的时间降序查找出当前页的数据后,再将本页数据按消息时间降序排序返回。\n \t这是数据的重点,因为页面滚动条和上拉加载历史的问题。\n */\n arr.reverse();\n return arr;\n };\n\n // 此处用到 ES6 的 Promise 知识,不懂的请自行学习。\n return new Promise(function (done, fail) {\n // 无数据请求接口,由 setTimeout 模拟,正式项目替换为 ajax 即可。\n setTimeout(function () {\n var data = join();\n done(data);\n }, 1500);\n });\n },\n focus: function focus() {\n uni.pageScrollTo({\n top: this.keyboardHeight\n });\n },\n // 设置页面滚动位置\n setPageScrollTo: function setPageScrollTo(selector) {\n var view = uni.createSelectorQuery().in(this).select(selector);\n view.boundingClientRect(function (res) {\n uni.pageScrollTo({\n scrollTop: res.top - 30,\n // -30 为多显示出大半个消息的高度,示意上面还有信息。\n duration: 0\n });\n }).exec();\n },\n // 隐藏加载提示\n hideLoadTips: function hideLoadTips(flag) {\n var _this5 = this;\n if (flag) {\n this.ajax.loadText = '消息获取成功';\n setTimeout(function () {\n _this5.ajax.loading = false;\n }, 300);\n } else {\n this.ajax.loading = true;\n this.ajax.loadText = '正在获取消息';\n }\n },\n // 发送信息\n send: function send() {\n var _this6 = this;\n if (!this.content) {\n uni.showToast({\n title: '请输入有效的内容',\n icon: 'none'\n });\n return;\n }\n try {\n clearInterval(this.timer);\n this.talkList[this.talkList.length - 1].content = this.c_content + '';\n this.c_content = '';\n this.n_content = '';\n this.socketTask.close({\n success: function success(res) {\n __f__(\"log\", '关闭成功', res, \" at pages/index/index.vue:270\");\n _this6.wsLiveFlag = false;\n },\n fail: function fail(err) {\n __f__(\"log\", '关闭失败', err, \" at pages/index/index.vue:274\");\n }\n });\n } catch (e) {\n //TODO handle the exception\n }\n // 将当前发送信息 添加到消息列表。\n var data = {\n \"id\": new Date().getTime(),\n \"content\": this.content,\n \"type\": 1,\n \"pic\": \"/static/avatar.png\"\n };\n this.TEXT = this.content;\n this.n_content = '';\n this.c_content = '';\n this.talkList.push(data);\n this.talkList.push({\n \"id\": new Date().getTime(),\n \"content\": '',\n \"type\": 2,\n \"pic\": \"/static/avatar.png\"\n });\n // return ;\n this.$nextTick(function () {\n // 清空内容框中的内容\n _this6.content = '';\n uni.pageScrollTo({\n scrollTop: 999999,\n // 设置一个超大值,以保证滚动条滚动到底部\n duration: 0\n });\n });\n this.sendToSpark();\n },\n sendToSpark: function sendToSpark() {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var realThis;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n // let myUrl = await this.getWebSocketUrl();\n _this7.tempRes = \"\";\n realThis = _this7;\n _this7.socketTask = uni.connectSocket({\n //url: encodeURI(encodeURI(myUrl).replace(/\\+/g, '%2B')),\n url: 'wss://chat.lihaink.cn/chat',\n method: 'GET',\n success: function success(res) {\n __f__(\"log\", res, \"ws成功连接...\", \" at pages/index/index.vue:318\");\n realThis.wsLiveFlag = true;\n }\n });\n realThis.socketTask.onError(function (res) {\n __f__(\"log\", \"连接发生错误,请检查appid是否填写\", res, \" at pages/index/index.vue:323\");\n });\n realThis.socketTask.onOpen(function (res) {\n _this7.historyTextList.push({\n \"role\": \"user\",\n \"content\": _this7.TEXT\n });\n // 第一帧..........................................\n __f__(\"log\", '连接成功...', \" at pages/index/index.vue:331\");\n // let params = {\n // \"header\": {\n // \"app_id\": this.APPID,\n // \"uid\": \"aef9f963-7\"\n // },\n // \"parameter\": {\n // \"chat\": {\n // \"domain\": \"generalv2\",\n // \"temperature\": 0.5,\n // \"max_tokens\": 1024\n // }\n // },\n // \"payload\": {\n // \"message\": {\n // \"text\": this.historyTextList\n // }\n // }\n // };\n var params = _this7.TEXT;\n realThis.socketTask.send({\n // 发送消息,,都用uni的官方版本\n data: JSON.stringify(params),\n success: function success() {\n __f__(\"log\", '第一帧发送成功', \" at pages/index/index.vue:354\");\n }\n });\n });\n\n // 接受到消息时\n realThis.socketTask.onMessage(function (res) {\n __f__(\"log\", '收到API返回的内容:', res.data, \" at pages/index/index.vue:361\");\n var obj = JSON.parse(res.data);\n // console.log(\"我打印的\"+obj.payload);\n var dataArray = obj.payload.choices.text;\n for (var i = 0; i < dataArray.length; i++) {\n _this7.talkList[_this7.talkList.length - 1].content += dataArray[i].content;\n _this7.n_content = _this7.talkList[_this7.talkList.length - 1].content;\n realThis.tempRes = realThis.tempRes + dataArray[i].content;\n }\n var temp = JSON.parse(res.data);\n // console.log(\"0726\",temp.header.code)\n if (temp.header.code !== 0) {\n __f__(\"log\", \"\".concat(temp.header.code, \":\").concat(temp.message), \" at pages/index/index.vue:373\");\n realThis.socketTask.close({\n success: function success(res) {\n __f__(\"log\", '关闭成功', res, \" at pages/index/index.vue:376\");\n realThis.wsLiveFlag = false;\n },\n fail: function fail(err) {\n __f__(\"log\", '关闭失败', err, \" at pages/index/index.vue:380\");\n }\n });\n }\n if (temp.header.code === 0) {\n if (res.data && temp.header.status === 2) {\n _this7.historyTextList.push({\n \"role\": \"assistant\",\n \"content\": _this7.tempRes\n });\n setTimeout(function () {\n realThis.socketTask.close({\n success: function success(res) {\n __f__(\"log\", '关闭成功', res, \" at pages/index/index.vue:393\");\n },\n fail: function fail(err) {\n // console.log('关闭失败', err)\n }\n });\n }, 1000);\n }\n }\n });\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n // 鉴权\n getWebSocketUrl: function getWebSocketUrl() {\n var _this8 = this;\n return new Promise(function (resolve, reject) {\n // https://spark-api.xf-yun.com/v1.1/chat V1.5 domain general\n // https://spark-api.xf-yun.com/v2.1/chat V2.0 domain generalv2\n var url = \"wss://spark-api.xf-yun.com/v2.1/chat\";\n var host = \"spark-api.xf-yun.com\";\n var apiKeyName = \"api_key\";\n var date = new Date().toGMTString();\n var algorithm = \"hmac-sha256\";\n var headers = \"host date request-line\";\n var signatureOrigin = \"host: \".concat(host, \"\\ndate: \").concat(date, \"\\nGET /v2.1/chat HTTP/1.1\");\n var signatureSha = _cryptoJs.default.HmacSHA256(signatureOrigin, _this8.APISecret);\n var signature = _cryptoJs.default.enc.Base64.stringify(signatureSha);\n var authorizationOrigin = \"\".concat(apiKeyName, \"=\\\"\").concat(_this8.APIKey, \"\\\", algorithm=\\\"\").concat(algorithm, \"\\\", headers=\\\"\").concat(headers, \"\\\", signature=\\\"\").concat(signature, \"\\\"\");\n var authorization = base64.encode(authorizationOrigin);\n url = \"\".concat(url, \"?authorization=\").concat(authorization, \"&date=\").concat(encodeURI(date), \"&host=\").concat(host);\n\n // console.log(url)\n resolve(url);\n });\n },\n // 滚动到头部\n bindScroll: function bindScroll() {\n if (this.userId == 0) {\n this.getHistory();\n this.getproductInfo();\n this.getOrderInfo();\n this.getRefundDetail();\n this.getStoreDetail();\n } else {\n this.getMerHistory();\n }\n },\n touchmove: function touchmove(e) {\n uni.hideKeyboard();\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 18)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbImNvbXBvbmVudHMiLCJkYXRhIiwidGFsa0xpc3QiLCJhamF4Iiwicm93cyIsInBhZ2UiLCJmbGFnIiwibG9hZGluZyIsImxvYWRUZXh0Iiwia2V5Ym9hcmRIZWlnaHQiLCJzaG93cGxjIiwiY29udGVudCIsImNfY29udGVudCIsIm5fY29udGVudCIsInRpbWVyIiwic29ja2V0VGFzayIsIlRFWFQiLCJoaXN0b3J5VGV4dExpc3QiLCJ0ZW1wUmVzIiwic2Nyb2xsVG9wIiwic2hvdWxkU2Nyb2xsVG9Cb3R0b20iLCJtb3VudGVkIiwidW5pIiwic2V0VGltZW91dCIsImR1cmF0aW9uIiwiYmVmb3JlRGVzdHJveSIsIm9uUGFnZVNjcm9sbCIsIndhdGNoIiwiY2wiLCJjbGVhckludGVydmFsIiwibWV0aG9kcyIsImNvcHlUZXh0Iiwic3VjY2VzcyIsImljb24iLCJ0aXRsZSIsImdldEhpc3RvcnlNc2ciLCJzZWxlY3RvciIsImdldCIsImpvaW5IaXN0b3J5TXNnIiwiYXJyIiwiZG9uZSIsImZvY3VzIiwidG9wIiwic2V0UGFnZVNjcm9sbFRvIiwidmlldyIsImhpZGVMb2FkVGlwcyIsInNlbmQiLCJmYWlsIiwic2VuZFRvU3BhcmsiLCJyZWFsVGhpcyIsInVybCIsIm1ldGhvZCIsImdldFdlYlNvY2tldFVybCIsImFwaUtleU5hbWUiLCJyZXNvbHZlIiwiYmluZFNjcm9sbCIsInRvdWNobW92ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFzQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQUNBO0VBQ0FBO0lBQ0E7RUFDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO1FBQ0FDO1FBQUE7UUFDQUM7UUFBQTtRQUNBQztRQUFBO1FBQ0FDO1FBQUE7UUFDQUM7TUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUFBO01BQ0FDO01BQUE7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQUE7SUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7UUFDQUM7VUFDQUQ7WUFDQUg7WUFBQTtZQUNBSztVQUNBO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFFQUg7RUFFQTtFQUNBSTtJQUNBO01BQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FkO01BQUE7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBZTtVQUNBO1lBQ0FOO2NBQ0FIO1lBQ0E7VUFDQTtRQUNBO1VBQ0FVO1VBQ0E7WUFDQVA7Y0FDQUg7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQVc7SUFDQUM7TUFDQVQ7UUFDQXJCO1FBQ0ErQjtVQUNBVjtZQUNBVztZQUNBQztVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7UUFDQTtNQUNBOztNQUVBO1FBQUE7VUFBQTtVQUFBO1lBQUE7Y0FBQTtnQkFBQTtrQkFDQTtrQkFDQTtrQkFBQTtrQkFBQSxPQUNBO2dCQUFBO2tCQUFBbEM7a0JBRUE7a0JBQ0E7O2tCQUVBO2tCQUNBbUM7a0JBRUE7b0JBQ0E7b0JBQ0FBO2tCQUNBO29CQUNBO29CQUNBQTtrQkFDQTs7a0JBRUE7a0JBQ0E7O2tCQUVBO2tCQUNBO29CQUNBO29CQUNBO29CQUVBO29CQUVBO3NCQUNBO3NCQUNBO29CQUFBLENBQ0E7c0JBQ0E7O3NCQUVBO3NCQUNBYjt3QkFDQTtzQkFDQTtvQkFDQTtrQkFFQTtnQkFBQTtnQkFBQTtrQkFBQTtjQUFBO1lBQUE7VUFBQTtRQUFBLENBQ0E7UUFBQSxnQkExQ0FjO1VBQUE7UUFBQTtNQUFBLEdBMENBO01BQ0FBO0lBQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQTs7UUFFQTtRQUNBO1FBQ0E7UUFDQTtVQUNBQztZQUNBO1lBQUE7WUFDQTtZQUFBO1lBQ0E7WUFBQTtZQUNBO1VBQ0E7UUFDQTs7UUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO1FBQ0FBO1FBRUE7TUFDQTs7TUFFQTtNQUNBO1FBQ0E7UUFDQWhCO1VBQ0E7VUFDQWlCO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0FuQjtRQUNBb0I7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBQztRQUNBdEI7VUFDQUg7VUFBQTtVQUNBSztRQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FxQjtNQUFBO01BQ0E7UUFDQTtRQUNBdEI7VUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0F1QjtNQUFBO01BQ0E7UUFDQXhCO1VBQ0FZO1VBQ0FEO1FBQ0E7UUFDQTtNQUNBO01BQ0E7UUFDQUo7UUFDQTtRQUNBO1FBQ0E7UUFDQTtVQUNBRztZQUNBO1lBQ0E7VUFDQTtVQUNBZTtZQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7TUFBQTtNQUVBO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBekI7VUFDQUg7VUFBQTtVQUNBSztRQUNBO01BQ0E7TUFDQTtJQUVBO0lBQ0F3QjtNQUFBO01BQUE7UUFBQTtRQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUNBO2dCQUNBO2dCQUNBQztnQkFDQTtrQkFDQTtrQkFDQUM7a0JBQ0FDO2tCQUNBbkI7b0JBQ0E7b0JBQ0FpQjtrQkFDQTtnQkFDQTtnQkFDQUE7a0JBQ0E7Z0JBQ0E7Z0JBQ0FBO2tCQUNBO29CQUNBO29CQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBQTtvQkFBQTtvQkFDQWhEO29CQUNBK0I7c0JBQ0E7b0JBQ0E7a0JBQ0E7Z0JBQ0E7O2dCQUVBO2dCQUNBaUI7a0JBQ0E7a0JBQ0E7a0JBQ0E7a0JBQ0E7a0JBQ0E7b0JBQ0E7b0JBQ0E7b0JBQ0FBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO29CQUNBO29CQUNBQTtzQkFDQWpCO3dCQUNBO3dCQUNBaUI7c0JBQ0E7c0JBQ0FGO3dCQUNBO3NCQUNBO29CQUNBO2tCQUNBO2tCQUNBO29CQUNBO3NCQUNBO3dCQUNBO3dCQUNBO3NCQUNBO3NCQUNBeEI7d0JBQ0EwQjswQkFDQWpCOzRCQUNBOzBCQUNBOzBCQUNBZTs0QkFDQTswQkFBQTt3QkFFQTtzQkFDQTtvQkFDQTtrQkFDQTtnQkFDQTtjQUFBO2NBQUE7Z0JBQUE7WUFBQTtVQUFBO1FBQUE7TUFBQTtJQUNBO0lBQ0E7SUFDQUs7TUFBQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBLG9DQUNBQztRQUNBO1FBQ0FIOztRQUVBO1FBQ0FJO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQWxDO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMTcuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcbiAgPHZpZXcgY2xhc3M9XCJ3cmFwcGVyXCIgQHRvdWNobW92ZT1cInRvdWNobW92ZVwiPlxyXG4gICAgPHZpZXcgY2xhc3M9XCJ0aXBzIGNvbG9yX2ZmZiBzaXplXzEyIGFsaWduX2NcIiA6Y2xhc3M9XCJ7ICdzaG93JzphamF4LmxvYWRpbmcgfVwiIEB0YXA9XCJnZXRIaXN0b3J5TXNnXCI+e3thamF4LmxvYWRUZXh0fX1cclxuICAgIDwvdmlldz5cclxuICAgIDx2aWV3IGNsYXNzPVwicGxhY2Vob2xkZXJcIj48L3ZpZXc+XHJcbiAgICA8dmlldyBjbGFzcz1cImJveC0xXCIgaWQ9XCJsaXN0LWJveFwiIHJlZj1cImJveFwiPlxyXG4gICAgICA8dmlldyBjbGFzcz1cInRhbGstbGlzdFwiPlxyXG4gICAgICAgIDx2aWV3IHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHRhbGtMaXN0XCIgOmtleT1cImluZGV4XCIgOmlkPVwiYG1zZy0ke2l0ZW0uaWR9YFwiPlxyXG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJpdGVtIGZsZXhfY29sXCIgOmNsYXNzPVwiIGl0ZW0udHlwZSA9PSAxID8gJ3B1c2gnOidwdWxsJyBcIj5cclxuICAgICAgICAgICAgPGltYWdlIDpzcmM9XCJpdGVtLnBpY1wiIG1vZGU9XCJhc3BlY3RGaWxsXCIgY2xhc3M9XCJwaWNcIj48L2ltYWdlPlxyXG4gICAgICAgICAgICA8dmlldyB2LWlmPVwidGFsa0xpc3QubGVuZ3RoLTE9PWluZGV4XCIgY2xhc3M9XCJjb250ZW50IG11bHRpbGluZS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgPCEtLSA8cmljaC10ZXh0IDpub2Rlcz1cIml0ZW0uY29udGVudFwiPjwvcmljaC10ZXh0PiAtLT5cclxuICAgICAgICAgICAgICA8YmluZy1tYXRoIHYtaWY9XCJjX2NvbnRlbnQhPScnXCIgOmtleT1cImBtYXRoLSR7aXRlbS5pZH1gXCIgY2xhc3M9XCJiaW5nLW1hdGhcIiA6bGF0ZXg9XCJjX2NvbnRlbnRcIj48L2JpbmctbWF0aD5cclxuICAgICAgICAgICAgICA8dmlldyB2LWVsc2UgY2xhc3M9XCJibGlua2luZy1ib3hcIj58PC92aWV3PlxyXG4gICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgIDx2aWV3IHYtZWxzZSBjbGFzcz1cImNvbnRlbnQgbXVsdGlsaW5lLXRleHRcIj5cclxuICAgICAgICAgICAgICA8IS0tIDxyaWNoLXRleHQgOm5vZGVzPVwiaXRlbS5jb250ZW50XCI+PC9yaWNoLXRleHQ+IC0tPlxyXG4gICAgICAgICAgICAgIDxiaW5nLW1hdGggOmtleT1cImBtYXRoLSR7aXRlbS5pZH1gXCIgY2xhc3M9XCJiaW5nLW1hdGhcIiA6bGF0ZXg9XCJpdGVtLmNvbnRlbnRcIj48L2JpbmctbWF0aD5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDwvdmlldz5cclxuICAgICAgICA8dmlldyBpZD1cImJvdHRvbS1ib3hcIj48L3ZpZXc+XHJcbiAgICAgIDwvdmlldz5cclxuICAgIDwvdmlldz5cclxuICAgIDx2aWV3IGNsYXNzPVwiYm94LTJcIj5cclxuICAgICAgPHZpZXcgY2xhc3M9XCJmbGV4X2NvbFwiPlxyXG4gICAgICAgIDx2aWV3IGNsYXNzPVwiZmxleF9ncm93XCI+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImNvbnRlbnRcIiB2LW1vZGVsPVwiY29udGVudFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6IGK5aSp5YaF5a65XCIgQGZvY3VzPVwiZm9jdXNcIiBAY29uZmlybT1cInNlbmRcIlxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlci1zdHlsZT1cImNvbG9yOiNEREQ7XCIgOmN1cnNvci1zcGFjaW5nPVwiNlwiPlxyXG4gICAgICAgIDwvdmlldz5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwic2VuZFwiIEB0YXA9XCJzZW5kXCI+5Y+R6YCBPC9idXR0b24+XHJcbiAgICAgIDwvdmlldz5cclxuICAgIDwvdmlldz5cclxuICAgIDwhLS0gPHZpZXcgdi1zaG93PVwic2hvd3BsY1wiIDpzdHlsZT1cInsnbWluLWhlaWdodCc6IChrZXlib2FyZEhlaWdodCsyMDApKydweCd9XCIgY2xhc3M9XCJwbGFjZWhvbGRlclwiPuaYvuekujwvdmlldz4gLS0+XHJcbiAgPC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuICBpbXBvcnQgKiBhcyBiYXNlNjQgZnJvbSBcImJhc2UtNjRcIlxyXG4gIGltcG9ydCBDcnlwdG9KUyBmcm9tICcuLi8uLi9zdGF0aWMvY3J5cHRvLWpzL2NyeXB0by1qcy5qcydcclxuICBpbXBvcnQgcGFyc2VyIGZyb20gJy4uLy4uL3N0YXRpYy9mYXN0LXhtbC1wYXJzZXIvc3JjL3BhcnNlcidcclxuICBpbXBvcnQgKiBhcyB1dGY4IGZyb20gXCJ1dGY4XCJcclxuICBpbXBvcnQgZmV0Y2ggZnJvbSAnbWluaXByb2dyYW0tZmV0Y2gnO1xyXG4gIGltcG9ydCBheGlvcyBmcm9tICdheGlvcyc7XHJcbiAgaW1wb3J0IEJpbmdNYXRoIGZyb20gXCJAL2NvbXBvbmVudHMvYmluZy1tYXRoL2JpbmctbWF0aC52dWVcIlxyXG4gIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgJ2JpbmctbWF0aCc6IEJpbmdNYXRoXHJcbiAgICB9LFxyXG4gICAgZGF0YSgpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICB0YWxrTGlzdDogW10sXHJcbiAgICAgICAgYWpheDoge1xyXG4gICAgICAgICAgcm93czogMTAsIC8v5q+P6aG15pWw6YePXHJcbiAgICAgICAgICBwYWdlOiAxLCAvL+mhteeggVxyXG4gICAgICAgICAgZmxhZzogZmFsc2UsIC8vIOivt+axguW8gOWFs1xyXG4gICAgICAgICAgbG9hZGluZzogZmFsc2UsIC8vIOWKoOi9veS4rVxyXG4gICAgICAgICAgbG9hZFRleHQ6ICfmraPlnKjojrflj5bmtojmga8nXHJcbiAgICAgICAgfSxcclxuICAgICAgICBrZXlib2FyZEhlaWdodDogMCxcclxuICAgICAgICBzaG93cGxjOiB0cnVlLFxyXG4gICAgICAgIGNvbnRlbnQ6ICcnLFxyXG4gICAgICAgIGNfY29udGVudDogJycsXHJcbiAgICAgICAgbl9jb250ZW50OiAnJyxcclxuICAgICAgICB0aW1lcjogJycsXHJcbiAgICAgICAgc29ja2V0VGFzazoge30sXHJcbiAgICAgICAgVEVYVDogJycsXHJcbiAgICAgICAgaGlzdG9yeVRleHRMaXN0OiBbXSwgLy8g5Y6G5Y+y5Lya6K+d5L+h5oGv77yM55Sx5LqO5pyA5aSndG9rZW4xMjAwMCzlj6/ku6Xnu5PlkIjlrp7pmYXkvb/nlKjvvIzov5vooYznp7vlh7pcclxuICAgICAgICB0ZW1wUmVzOiAnJywgLy8g5Li05pe2562U5aSN5L+d5a2YXHJcbiAgICAgICAgc2Nyb2xsVG9wOiAwLFxyXG4gICAgICAgIHNob3VsZFNjcm9sbFRvQm90dG9tOiB0cnVlXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtb3VudGVkKCkge1xyXG4gICAgICB0aGlzLiRuZXh0VGljaygoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5nZXRIaXN0b3J5TXNnKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICB1bmkub25LZXlib2FyZEhlaWdodENoYW5nZShlID0+IHtcclxuICAgICAgICBsZXQgaCA9IHRoaXMua2V5Ym9hcmRIZWlnaHQ7XHJcbiAgICAgICAgdGhpcy5rZXlib2FyZEhlaWdodCA9IGUuaGVpZ2h0O1xyXG4gICAgICAgIHRoaXMuJG5leHRUaWNrKCgpPT57XHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgICAgIHVuaS5wYWdlU2Nyb2xsVG8oe1xyXG4gICAgICAgICAgICAgIHNjcm9sbFRvcDogOTk5OTk5OSwgLy8g5b2T5YmN5L2N572u5ZCR5LiL5rua5YqoXHJcbiAgICAgICAgICAgICAgZHVyYXRpb246IDMwMCAvLyDmu5rliqjov4fmuKHml7bpl7TkuLozMDBtc++8jOm7mOiupOWAvOS4ujMwMG1zXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSwgMClcclxuICAgICAgICB9KVxyXG4gICAgICB9KVxyXG4gICAgfSxcclxuICAgIGJlZm9yZURlc3Ryb3koKSB7XHJcbiAgICAgIC8vICNpZmRlZiBBUFAtUExVU1xyXG4gICAgICB1bmkub2ZmS2V5Ym9hcmRIZWlnaHRDaGFuZ2UoKTtcclxuICAgICAgLy8gI2VuZGlmXHJcbiAgICB9LFxyXG4gICAgb25QYWdlU2Nyb2xsKGUpIHtcclxuICAgICAgaWYgKGUuc2Nyb2xsVG9wIDwgNSkge1xyXG4gICAgICAgIHRoaXMuZ2V0SGlzdG9yeU1zZygpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgd2F0Y2g6IHtcclxuICAgICAgbl9jb250ZW50KG4sIG8pIHtcclxuICAgICAgICAvLyB0aGlzLmNfY29udGVudCA9IG47XHJcbiAgICAgICAgaWYgKHRoaXMudGltZXIpIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XHJcbiAgICAgICAgbGV0IGNsID0gdGhpcy5jX2NvbnRlbnQubGVuZ3RoO1xyXG4gICAgICAgIGxldCBuYyA9IHRoaXMubl9jb250ZW50LnNwbGl0KCcnKVxyXG4gICAgICAgIHRoaXMudGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB7XHJcbiAgICAgICAgICBpZiAoY2wgPCBuYy5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5jX2NvbnRlbnQgKz0gbmNbY2xdO1xyXG4gICAgICAgICAgICBjbCsrO1xyXG4gICAgICAgICAgICBpZiAoY2wgJSA2ID09IDApIHRoaXMuJG5leHRUaWNrKCgpPT57XHJcbiAgICAgICAgICAgICAgdW5pLnBhZ2VTY3JvbGxUbyh7XHJcbiAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IDk5OTk5OSxcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKTtcclxuICAgICAgICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHVuaS5wYWdlU2Nyb2xsVG8oe1xyXG4gICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiA5OTk5OTk5LFxyXG4gICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwgNjApXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBtZXRob2RzOiB7XHJcbiAgICAgIGNvcHlUZXh0KHN0cikge1xyXG4gICAgICAgIHVuaS5zZXRDbGlwYm9hcmREYXRhKHtcclxuICAgICAgICAgIGRhdGE6IHN0cixcclxuICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICBpY29uOiAnbm9uZScsXHJcbiAgICAgICAgICAgICAgdGl0bGU6ICflpI3liLbmiJDlip8nXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICAvLyDojrflj5bljoblj7Lmtojmga9cclxuICAgICAgZ2V0SGlzdG9yeU1zZygpIHtcclxuICAgICAgICByZXR1cm4gO1xyXG4gICAgICAgIGlmICh0aGlzLmFqYXguZmxhZykge1xyXG4gICAgICAgICAgcmV0dXJuOyAvL1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGdldCA9IGFzeW5jICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuaGlkZUxvYWRUaXBzKCk7XHJcbiAgICAgICAgICB0aGlzLmFqYXguZmxhZyA9IGZhbHNlO1xyXG4gICAgICAgICAgbGV0IGRhdGEgPSBhd2FpdCB0aGlzLmpvaW5IaXN0b3J5TXNnKCk7XHJcblxyXG4gICAgICAgICAgY29uc29sZS5sb2coJy0tLS0tIOaooeaLn+aVsOaNruagvOW8j++8jOS+m+WPguiAgyAtLS0tLScpO1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7IC8vIOafpeeci+ivt+axgui/lOWbnueahOaVsOaNrue7k+aehCBcclxuXHJcbiAgICAgICAgICAvLyDojrflj5blvoXmu5rliqjlhYPntKDpgInmi6nlmajvvIzop6PlhrPmj5LlhaXmlbDmja7lkI7vvIzmu5rliqjmnaHlrprkvY3ml7bkvb/nlKhcclxuICAgICAgICAgIGxldCBzZWxlY3RvciA9ICcnO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmFqYXgucGFnZSA+IDEpIHtcclxuICAgICAgICAgICAgLy8g6Z2e56ys5LiA6aG177yM5YiZ5Y+W5Y6G5Y+y5raI5oGv5pWw5o2u55qE56ys5LiA5p2h5L+h5oGv5YWD57SgXHJcbiAgICAgICAgICAgIHNlbGVjdG9yID0gYCNtc2ctJHt0aGlzLnRhbGtMaXN0WzBdLmlkfWA7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAvLyDnrKzkuIDpobXvvIzliJnlj5blvZPliY3mtojmga/mlbDmja7nmoTmnIDlkI7kuIDmnaHkv6Hmga/lhYPntKBcclxuICAgICAgICAgICAgc2VsZWN0b3IgPSBgI21zZy0ke2RhdGFbZGF0YS5sZW5ndGgtMV0uaWR9YDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyDlsIbojrflj5bliLDnmoTmtojmga/mlbDmja7lkIjlubbliLDmtojmga/mlbDnu4TkuK1cclxuICAgICAgICAgIHRoaXMudGFsa0xpc3QgPSBbLi4uZGF0YSwgLi4udGhpcy50YWxrTGlzdF07XHJcblxyXG4gICAgICAgICAgLy8g5pWw5o2u5oyC6L295ZCO5omn6KGM77yM5LiN5oeC55qE6K+36Ieq6KGM6ZiF6K+7IFZ1ZS5qcyDmlofmoaPlr7kgVnVlLm5leHRUaWNrIOWHveaVsOivtOaYjuOAglxyXG4gICAgICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4ge1xyXG4gICAgICAgICAgICAvLyDorr7nva7lvZPliY3mu5rliqjnmoTkvY3nva5cclxuICAgICAgICAgICAgdGhpcy5zZXRQYWdlU2Nyb2xsVG8oc2VsZWN0b3IpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5oaWRlTG9hZFRpcHModHJ1ZSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoZGF0YS5sZW5ndGggPCB0aGlzLmFqYXgucm93cykge1xyXG4gICAgICAgICAgICAgIC8vIOW9k+WJjea2iOaBr+aVsOaNruadoeaVsOWwj+S6juivt+axguimgeaxguadoeaVsOaXtu+8jOWImeaXoOabtOWkmua2iOaBr++8jOS4jeWGjeWFgeiuuOivt+axguOAglxyXG4gICAgICAgICAgICAgIC8vIOWPr+WcqOatpOWkhOe8luWGmeaXoOabtOWkmua2iOaBr+aVsOaNruaXtueahOmAu+i+kVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuYWpheC5wYWdlKys7XHJcblxyXG4gICAgICAgICAgICAgIC8vIOW7tui/nyAyMDBtcyDvvIzku6Xkv53or4Horr7nva7nqpflj6Pmu5rliqjlt7LlrozmiJBcclxuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWpheC5mbGFnID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9LCAyMDApXHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgIH1cclxuICAgICAgICBnZXQoKTtcclxuICAgICAgfSxcclxuICAgICAgLy8g5ou85o6l5Y6G5Y+y6K6w5b2V5raI5oGvXHJcbiAgICAgIGpvaW5IaXN0b3J5TXNnKCkge1xyXG4gICAgICAgIGxldCBqb2luID0gKCkgPT4ge1xyXG4gICAgICAgICAgbGV0IGFyciA9IFtdO1xyXG5cclxuICAgICAgICAgIC8v6YCa6L+H5b2T5YmN6aG156CB5Y+K6aG15pWw77yM5qih5ouf5pWw5o2u5YaF5a65XHJcbiAgICAgICAgICBsZXQgc3RhcnRJbmRleCA9ICh0aGlzLmFqYXgucGFnZSAtIDEpICogdGhpcy5hamF4LnJvd3M7XHJcbiAgICAgICAgICBsZXQgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgdGhpcy5hamF4LnJvd3M7XHJcbiAgICAgICAgICBmb3IgKGxldCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZEluZGV4OyBpKyspIHtcclxuICAgICAgICAgICAgYXJyLnB1c2goe1xyXG4gICAgICAgICAgICAgIFwiaWRcIjogaSwgLy8g5raI5oGv55qESURcclxuICAgICAgICAgICAgICBcImNvbnRlbnRcIjogYOi/meaYr+WOhuWPsuiusOW9leeahOesrCR7aSsxfeadoea2iOaBr2AsIC8vIOa2iOaBr+WGheWuuVxyXG4gICAgICAgICAgICAgIFwidHlwZVwiOiBNYXRoLnJhbmRvbSgpID4gMC41ID8gMSA6IDAsIC8vIOatpOS4uua2iOaBr+exu+WIq++8jOiuviAxIOS4uuWPkeWHuuWOu+eahOa2iOaBr++8jDAg5Li65pS25Yiw5a+55pa555qE5raI5oGvLFxyXG4gICAgICAgICAgICAgIFwicGljXCI6IFwiL3N0YXRpYy9hdmF0YXIucG5nXCIgLy8g5aS05YOPXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLypcclxuICAgICAgICAgIFx06aKg5YCS5pWw57uE5Lit5YWD57Sg55qE6aG65bqP44CC5bCG5pyA5paw55qE5pWw5o2u5o6S5Zyo5pys5qyh5o6l5Y+j6L+U5Zue5pWw5o2u55qE5pyA5ZCO6Z2i44CCXHJcbiAgICAgICAgICBcdOWQjuerr+aOpeWPo+aMiSDmtojmga/nmoTml7bpl7TpmY3luo/mn6Xmib7lh7rlvZPliY3pobXnmoTmlbDmja7lkI7vvIzlho3lsIbmnKzpobXmlbDmja7mjInmtojmga/ml7bpl7TpmY3luo/mjpLluo/ov5Tlm57jgIJcclxuICAgICAgICAgIFx06L+Z5piv5pWw5o2u55qE6YeN54K577yM5Zug5Li66aG16Z2i5rua5Yqo5p2h5ZKM5LiK5ouJ5Yqg6L295Y6G5Y+y55qE6Zeu6aKY44CCXHJcbiAgICAgICAgICAgKi9cclxuICAgICAgICAgIGFyci5yZXZlcnNlKCk7XHJcblxyXG4gICAgICAgICAgcmV0dXJuIGFycjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIOatpOWkhOeUqOWIsCBFUzYg55qEIFByb21pc2Ug55+l6K+G77yM5LiN5oeC55qE6K+36Ieq6KGM5a2m5Lmg44CCXHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChkb25lLCBmYWlsKSA9PiB7XHJcbiAgICAgICAgICAvLyDml6DmlbDmja7or7fmsYLmjqXlj6PvvIznlLEgc2V0VGltZW91dCDmqKHmi5/vvIzmraPlvI/pobnnm67mm7/mjaLkuLogYWpheCDljbPlj6/jgIJcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICBsZXQgZGF0YSA9IGpvaW4oKTtcclxuICAgICAgICAgICAgZG9uZShkYXRhKTtcclxuICAgICAgICAgIH0sIDE1MDApO1xyXG4gICAgICAgIH0pXHJcbiAgICAgIH0sXHJcbiAgICAgIGZvY3VzKCl7XHJcbiAgICAgICAgdW5pLnBhZ2VTY3JvbGxUbyh7XHJcbiAgICAgICAgICB0b3A6IHRoaXMua2V5Ym9hcmRIZWlnaHRcclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG4gICAgICAvLyDorr7nva7pobXpnaLmu5rliqjkvY3nva5cclxuICAgICAgc2V0UGFnZVNjcm9sbFRvKHNlbGVjdG9yKSB7XHJcbiAgICAgICAgbGV0IHZpZXcgPSB1bmkuY3JlYXRlU2VsZWN0b3JRdWVyeSgpLmluKHRoaXMpLnNlbGVjdChzZWxlY3Rvcik7XHJcbiAgICAgICAgdmlldy5ib3VuZGluZ0NsaWVudFJlY3QoKHJlcykgPT4ge1xyXG4gICAgICAgICAgdW5pLnBhZ2VTY3JvbGxUbyh7XHJcbiAgICAgICAgICAgIHNjcm9sbFRvcDogcmVzLnRvcCAtIDMwLCAvLyAtMzAg5Li65aSa5pi+56S65Ye65aSn5Y2K5Liq5raI5oGv55qE6auY5bqm77yM56S65oSP5LiK6Z2i6L+Y5pyJ5L+h5oGv44CCXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiAwXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KS5leGVjKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIOmakOiXj+WKoOi9veaPkOekulxyXG4gICAgICBoaWRlTG9hZFRpcHMoZmxhZykge1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICB0aGlzLmFqYXgubG9hZFRleHQgPSAn5raI5oGv6I635Y+W5oiQ5YqfJztcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFqYXgubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfSwgMzAwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5hamF4LmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5hamF4LmxvYWRUZXh0ID0gJ+ato+WcqOiOt+WPlua2iOaBryc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAvLyDlj5HpgIHkv6Hmga9cclxuICAgICAgc2VuZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuY29udGVudCkge1xyXG4gICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAn6K+36L6T5YWl5pyJ5pWI55qE5YaF5a65JyxcclxuICAgICAgICAgICAgaWNvbjogJ25vbmUnXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cnl7XHJcbiAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMudGltZXIpO1xyXG4gICAgICAgICAgdGhpcy50YWxrTGlzdFt0aGlzLnRhbGtMaXN0Lmxlbmd0aC0xXS5jb250ZW50ID0gdGhpcy5jX2NvbnRlbnQrJyc7XHJcbiAgICAgICAgICB0aGlzLmNfY29udGVudCA9ICcnO1xyXG4gICAgICAgICAgdGhpcy5uX2NvbnRlbnQgPSAnJztcclxuICAgICAgICAgIHRoaXMuc29ja2V0VGFzay5jbG9zZSh7XHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6KHJlcyk9PiB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+WFs+mXreaIkOWKnycsIHJlcyk7XHJcbiAgICAgICAgICAgICAgdGhpcy53c0xpdmVGbGFnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGZhaWwoZXJyKSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+WFs+mXreWksei0pScsIGVycilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9Y2F0Y2goZSl7XHJcbiAgICAgICAgICAvL1RPRE8gaGFuZGxlIHRoZSBleGNlcHRpb25cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5bCG5b2T5YmN5Y+R6YCB5L+h5oGvIOa3u+WKoOWIsOa2iOaBr+WIl+ihqOOAglxyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgXCJpZFwiOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcclxuICAgICAgICAgIFwiY29udGVudFwiOiB0aGlzLmNvbnRlbnQsXHJcbiAgICAgICAgICBcInR5cGVcIjogMSxcclxuICAgICAgICAgIFwicGljXCI6IFwiL3N0YXRpYy9hdmF0YXIucG5nXCJcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5URVhUID0gdGhpcy5jb250ZW50O1xyXG4gICAgICAgIHRoaXMubl9jb250ZW50ID0gJyc7XHJcbiAgICAgICAgdGhpcy5jX2NvbnRlbnQgPSAnJztcclxuICAgICAgICB0aGlzLnRhbGtMaXN0LnB1c2goZGF0YSk7XHJcbiAgICAgICAgdGhpcy50YWxrTGlzdC5wdXNoKHtcclxuICAgICAgICAgIFwiaWRcIjogbmV3IERhdGUoKS5nZXRUaW1lKCksXHJcbiAgICAgICAgICBcImNvbnRlbnRcIjogJycsXHJcbiAgICAgICAgICBcInR5cGVcIjogMixcclxuICAgICAgICAgIFwicGljXCI6IFwiL3N0YXRpYy9hdmF0YXIucG5nXCJcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyByZXR1cm4gO1xyXG4gICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHtcclxuICAgICAgICAgIC8vIOa4heepuuWGheWuueahhuS4reeahOWGheWuuVxyXG4gICAgICAgICAgdGhpcy5jb250ZW50ID0gJyc7XHJcbiAgICAgICAgICB1bmkucGFnZVNjcm9sbFRvKHtcclxuICAgICAgICAgICAgc2Nyb2xsVG9wOiA5OTk5OTksIC8vIOiuvue9ruS4gOS4qui2heWkp+WAvO+8jOS7peS/neivgea7muWKqOadoea7muWKqOWIsOW6lemDqFxyXG4gICAgICAgICAgICBkdXJhdGlvbjogMFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLnNlbmRUb1NwYXJrKCk7XHJcbiAgICAgICAgXHJcbiAgICAgIH0sXHJcbiAgICAgIGFzeW5jIHNlbmRUb1NwYXJrKCkge1xyXG4gICAgICAgIC8vIGxldCBteVVybCA9IGF3YWl0IHRoaXMuZ2V0V2ViU29ja2V0VXJsKCk7XHJcbiAgICAgICAgdGhpcy50ZW1wUmVzID0gXCJcIjtcclxuICAgICAgICBsZXQgcmVhbFRoaXMgPSB0aGlzO1xyXG4gICAgICAgIHRoaXMuc29ja2V0VGFzayA9IHVuaS5jb25uZWN0U29ja2V0KHtcclxuICAgICAgICAgIC8vdXJsOiBlbmNvZGVVUkkoZW5jb2RlVVJJKG15VXJsKS5yZXBsYWNlKC9cXCsvZywgJyUyQicpKSxcclxuICAgICAgICAgIHVybDogJ3dzczovL2NoYXQubGloYWluay5jbi9jaGF0JyxcclxuICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICAgICAgICBzdWNjZXNzOiByZXMgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXMsIFwid3PmiJDlip/ov57mjqUuLi5cIilcclxuICAgICAgICAgICAgcmVhbFRoaXMud3NMaXZlRmxhZyA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICByZWFsVGhpcy5zb2NrZXRUYXNrLm9uRXJyb3IoKHJlcykgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCLov57mjqXlj5HnlJ/plJnor6/vvIzor7fmo4Dmn6VhcHBpZOaYr+WQpuWhq+WGmVwiLCByZXMpXHJcbiAgICAgICAgfSlcclxuICAgICAgICByZWFsVGhpcy5zb2NrZXRUYXNrLm9uT3BlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmhpc3RvcnlUZXh0TGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgXCJyb2xlXCI6IFwidXNlclwiLFxyXG4gICAgICAgICAgICBcImNvbnRlbnRcIjogdGhpcy5URVhUXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLy8g56ys5LiA5binLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uXHJcbiAgICAgICAgICBjb25zb2xlLmxvZygn6L+e5o6l5oiQ5YqfLi4uJylcclxuICAgICAgICAgIC8vIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgICAgICAvLyAgIFwiaGVhZGVyXCI6IHtcclxuICAgICAgICAgIC8vICAgICBcImFwcF9pZFwiOiB0aGlzLkFQUElELFxyXG4gICAgICAgICAgLy8gICAgIFwidWlkXCI6IFwiYWVmOWY5NjMtN1wiXHJcbiAgICAgICAgICAvLyAgIH0sXHJcbiAgICAgICAgICAvLyAgIFwicGFyYW1ldGVyXCI6IHtcclxuICAgICAgICAgIC8vICAgICBcImNoYXRcIjoge1xyXG4gICAgICAgICAgLy8gICAgICAgXCJkb21haW5cIjogXCJnZW5lcmFsdjJcIixcclxuICAgICAgICAgIC8vICAgICAgIFwidGVtcGVyYXR1cmVcIjogMC41LFxyXG4gICAgICAgICAgLy8gICAgICAgXCJtYXhfdG9rZW5zXCI6IDEwMjRcclxuICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAvLyAgIH0sXHJcbiAgICAgICAgICAvLyAgIFwicGF5bG9hZFwiOiB7XHJcbiAgICAgICAgICAvLyAgICAgXCJtZXNzYWdlXCI6IHtcclxuICAgICAgICAgIC8vICAgICAgIFwidGV4dFwiOiB0aGlzLmhpc3RvcnlUZXh0TGlzdFxyXG4gICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gfTtcclxuICAgICAgICAgIGxldCBwYXJhbXMgPSB0aGlzLlRFWFRcclxuICAgICAgICAgIHJlYWxUaGlzLnNvY2tldFRhc2suc2VuZCh7IC8vIOWPkemAgea2iOaBr++8jO+8jOmDveeUqHVuaeeahOWumOaWueeJiOacrFxyXG4gICAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShwYXJhbXMpLFxyXG4gICAgICAgICAgICBzdWNjZXNzKCkge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfnrKzkuIDluKflj5HpgIHmiJDlip8nKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8g5o6l5Y+X5Yiw5raI5oGv5pe2XHJcbiAgICAgICAgcmVhbFRoaXMuc29ja2V0VGFzay5vbk1lc3NhZ2UoKHJlcykgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ+aUtuWIsEFQSei/lOWbnueahOWGheWuue+8micsIHJlcy5kYXRhKTtcclxuICAgICAgICAgIGxldCBvYmogPSBKU09OLnBhcnNlKHJlcy5kYXRhKVxyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmiJHmiZPljbDnmoRcIitvYmoucGF5bG9hZCk7XHJcbiAgICAgICAgICBsZXQgZGF0YUFycmF5ID0gb2JqLnBheWxvYWQuY2hvaWNlcy50ZXh0O1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhQXJyYXkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgdGhpcy50YWxrTGlzdFt0aGlzLnRhbGtMaXN0Lmxlbmd0aCAtIDFdLmNvbnRlbnQgKz0gZGF0YUFycmF5W2ldLmNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHRoaXMubl9jb250ZW50ID0gdGhpcy50YWxrTGlzdFt0aGlzLnRhbGtMaXN0Lmxlbmd0aCAtIDFdLmNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHJlYWxUaGlzLnRlbXBSZXMgPSByZWFsVGhpcy50ZW1wUmVzICsgZGF0YUFycmF5W2ldLmNvbnRlbnRcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxldCB0ZW1wID0gSlNPTi5wYXJzZShyZXMuZGF0YSlcclxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiMDcyNlwiLHRlbXAuaGVhZGVyLmNvZGUpXHJcbiAgICAgICAgICBpZiAodGVtcC5oZWFkZXIuY29kZSAhPT0gMCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgJHt0ZW1wLmhlYWRlci5jb2RlfToke3RlbXAubWVzc2FnZX1gKTtcclxuICAgICAgICAgICAgcmVhbFRoaXMuc29ja2V0VGFzay5jbG9zZSh7XHJcbiAgICAgICAgICAgICAgc3VjY2VzcyhyZXMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCflhbPpl63miJDlip8nLCByZXMpXHJcbiAgICAgICAgICAgICAgICByZWFsVGhpcy53c0xpdmVGbGFnID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBmYWlsKGVycikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+WFs+mXreWksei0pScsIGVycilcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGVtcC5oZWFkZXIuY29kZSA9PT0gMCkge1xyXG4gICAgICAgICAgICBpZiAocmVzLmRhdGEgJiYgdGVtcC5oZWFkZXIuc3RhdHVzID09PSAyKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5oaXN0b3J5VGV4dExpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBcInJvbGVcIjogXCJhc3Npc3RhbnRcIixcclxuICAgICAgICAgICAgICAgIFwiY29udGVudFwiOiB0aGlzLnRlbXBSZXNcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVhbFRoaXMuc29ja2V0VGFzay5jbG9zZSh7XHJcbiAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+WFs+mXreaIkOWKnycsIHJlcylcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgZmFpbChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygn5YWz6Zet5aSx6LSlJywgZXJyKVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIH0sIDEwMDApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG4gICAgICAvLyDpibTmnYNcclxuICAgICAgZ2V0V2ViU29ja2V0VXJsKCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAvLyBodHRwczovL3NwYXJrLWFwaS54Zi15dW4uY29tL3YxLjEvY2hhdCAgVjEuNSBkb21haW4gZ2VuZXJhbFxyXG4gICAgICAgICAgLy8gaHR0cHM6Ly9zcGFyay1hcGkueGYteXVuLmNvbS92Mi4xL2NoYXQgIFYyLjAgZG9tYWluIGdlbmVyYWx2MlxyXG4gICAgICAgICAgdmFyIHVybCA9IFwid3NzOi8vc3BhcmstYXBpLnhmLXl1bi5jb20vdjIuMS9jaGF0XCI7XHJcbiAgICAgICAgICB2YXIgaG9zdCA9IFwic3BhcmstYXBpLnhmLXl1bi5jb21cIjtcclxuICAgICAgICAgIHZhciBhcGlLZXlOYW1lID0gXCJhcGlfa2V5XCI7XHJcbiAgICAgICAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKCkudG9HTVRTdHJpbmcoKTtcclxuICAgICAgICAgIHZhciBhbGdvcml0aG0gPSBcImhtYWMtc2hhMjU2XCI7XHJcbiAgICAgICAgICB2YXIgaGVhZGVycyA9IFwiaG9zdCBkYXRlIHJlcXVlc3QtbGluZVwiO1xyXG4gICAgICAgICAgdmFyIHNpZ25hdHVyZU9yaWdpbiA9IGBob3N0OiAke2hvc3R9XFxuZGF0ZTogJHtkYXRlfVxcbkdFVCAvdjIuMS9jaGF0IEhUVFAvMS4xYDtcclxuICAgICAgICAgIHZhciBzaWduYXR1cmVTaGEgPSBDcnlwdG9KUy5IbWFjU0hBMjU2KHNpZ25hdHVyZU9yaWdpbiwgdGhpcy5BUElTZWNyZXQpO1xyXG4gICAgICAgICAgdmFyIHNpZ25hdHVyZSA9IENyeXB0b0pTLmVuYy5CYXNlNjQuc3RyaW5naWZ5KHNpZ25hdHVyZVNoYSk7XHJcbiAgICAgICAgICB2YXIgYXV0aG9yaXphdGlvbk9yaWdpbiA9XHJcbiAgICAgICAgICAgIGAke2FwaUtleU5hbWV9PVwiJHt0aGlzLkFQSUtleX1cIiwgYWxnb3JpdGhtPVwiJHthbGdvcml0aG19XCIsIGhlYWRlcnM9XCIke2hlYWRlcnN9XCIsIHNpZ25hdHVyZT1cIiR7c2lnbmF0dXJlfVwiYDtcclxuICAgICAgICAgIHZhciBhdXRob3JpemF0aW9uID0gYmFzZTY0LmVuY29kZShhdXRob3JpemF0aW9uT3JpZ2luKTtcclxuICAgICAgICAgIHVybCA9IGAke3VybH0/YXV0aG9yaXphdGlvbj0ke2F1dGhvcml6YXRpb259JmRhdGU9JHtlbmNvZGVVUkkoZGF0ZSl9Jmhvc3Q9JHtob3N0fWA7XHJcblxyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2codXJsKVxyXG4gICAgICAgICAgcmVzb2x2ZSh1cmwpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICAvLyDmu5rliqjliLDlpLTpg6hcclxuICAgICAgYmluZFNjcm9sbCgpIHtcclxuICAgICAgXHRpZiAodGhpcy51c2VySWQgPT0gMCkge1xyXG4gICAgICBcdFx0dGhpcy5nZXRIaXN0b3J5KCk7XHJcbiAgICAgIFx0XHR0aGlzLmdldHByb2R1Y3RJbmZvKCk7XHJcbiAgICAgIFx0XHR0aGlzLmdldE9yZGVySW5mbygpO1xyXG4gICAgICBcdFx0dGhpcy5nZXRSZWZ1bmREZXRhaWwoKTtcclxuICAgICAgXHRcdHRoaXMuZ2V0U3RvcmVEZXRhaWwoKTtcclxuICAgICAgXHR9IGVsc2Uge1xyXG4gICAgICBcdFx0dGhpcy5nZXRNZXJIaXN0b3J5KCk7XHJcbiAgICAgIFx0fVxyXG4gICAgICB9LFxyXG4gICAgICB0b3VjaG1vdmUoZSl7XHJcbiAgICAgICAgdW5pLmhpZGVLZXlib2FyZCgpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XHJcbiAgQGltcG9ydCBcIi4uLy4uL2xpYi9nbG9iYWwuc2Nzc1wiO1xyXG5cclxuICBwYWdlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICBmb250LXNpemU6IDI4cnB4O1xyXG4gIH1cclxuICBcclxuICBAa2V5ZnJhbWVzIGJsaW5rIHtcclxuICAgIDAlIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNTAlIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxuICB9XHJcbiAgXHJcbiAgLmJsaW5raW5nLWJveCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBhbmltYXRpb246IGJsaW5rIDFzIGluZmluaXRlO1xyXG4gICAgd2lkdGg6IDJweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8qIOWKoOi9veaVsOaNruaPkOekuiAqL1xyXG4gIC50aXBzIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IHZhcigtLXdpbmRvdy10b3ApO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICAgIGhlaWdodDogNzJycHg7XHJcbiAgICBsaW5lLWhlaWdodDogNzJycHg7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTgwcnB4KTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuICAgICYuc2hvdyB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ib3gtMSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBycHgpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwMHJweDtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICAgIC8qIOWFvOWuuWlQaG9uZVggKi9cclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcclxuICAgIG1hcmdpbi1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcclxuICB9XHJcblxyXG4gIC5tdWx0aWxpbmUtdGV4dCB7XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XHJcbiAgICAvKiDmiJYgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAqL1xyXG4gIH1cclxuXHJcbiAgLmJveC0yIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBib3JkZXItdG9wOiAjZTVlNWU1IHNvbGlkIDFweDtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgLyog5Yid5aeL5YyWIHRyYW5zZm9ybSDlsZ7mgKcgKi9cclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IC8qIOa3u+WKoOi/h+a4oeaViOaenCAqL1xyXG5cclxuICAgIC8qIOWFvOWuuWlQaG9uZVggKi9cclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xyXG4gICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcclxuXHJcbiAgICA+dmlldyB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMjBycHg7XHJcbiAgICAgIGhlaWdodDogMTAwcnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgaGVpZ2h0OiA2NHJweDtcclxuICAgICAgcGFkZGluZzogMCAyMHJweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNnJweDtcclxuICAgICAgZm9udC1zaXplOiAyOHJweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VuZCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTczZmI7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBoZWlnaHQ6IDY0cnB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMjBycHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZycHg7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIHdpZHRoOiAxMjBycHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MnJweDtcclxuXHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU3M2ZiO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGFsay1saXN0IHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHJweDtcclxuXHJcbiAgICAvKiDmtojmga/pobnvvIzln7rnoYDnsbsgKi9cclxuICAgIC5pdGVtIHtcclxuICAgICAgcGFkZGluZzogMjBycHggMjBycHggMCAyMHJweDtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGNvbG9yOiAjMzMzO1xyXG5cclxuICAgICAgLnBpYyB7XHJcbiAgICAgICAgd2lkdGg6IDkycnB4O1xyXG4gICAgICAgIGhlaWdodDogOTJycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJvcmRlcjogI2ZmZiBzb2xpZCAxcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAyMHJweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBycHg7XHJcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MnJweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8qIOaUtuWIsOeahOa2iOaBryAqL1xyXG4gICAgICAmLnB1bGwge1xyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgIG1pbi13aWR0aDogMjBycHg7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiA1MnJweDtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMnJweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDE2cnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxNnJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAyMHJweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMzBycHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xOHJweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8qIOWPkeWHuueahOa2iOaBryAqL1xyXG4gICAgICAmLnB1c2gge1xyXG4gICAgICAgIC8qIOS4u+i9tOS4uuawtOW5s+aWueWQke+8jOi1t+eCueWcqOWPs+err+OAguS9v+S4jeS/ruaUuURPTee7k+aehO+8jOS5n+iDveaUueWPmOWFg+e0oOaOkuWIl+mhuuW6jyAqL1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgbWluLXdpZHRoOiAyMHJweDtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6IDUycnB4O1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMnJweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTczZmI7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTZycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDE2cnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMjBycHggc29saWQgIzI1NzNmYjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDMwcnB4O1xyXG4gICAgICAgICAgICByaWdodDogLTE4cnB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJpbmctbWF0aCB7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnBsYWNlaG9sZGVyIHtcclxuICAgIHdpZHRoOiAxMDB2dztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTczZmI7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgLyog5Yid5aeL5YyWIHRyYW5zZm9ybSDlsZ7mgKcgKi9cclxuICAgIC8vIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IC8qIOa3u+WKoOi/h+a4oeaViOaenCAqL1xyXG4gIH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///17\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nvar _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 4);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 19));\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 21));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 27));\nvar base64 = _interopRequireWildcard(__webpack_require__(/*! base-64 */ 28));\nvar _cryptoJs = _interopRequireDefault(__webpack_require__(/*! ../../static/crypto-js/crypto-js.js */ 32));\nvar _parser = _interopRequireDefault(__webpack_require__(/*! ../../static/fast-xml-parser/src/parser */ 190));\nvar utf8 = _interopRequireWildcard(__webpack_require__(/*! utf8 */ 199));\nvar _bingMath = _interopRequireDefault(__webpack_require__(/*! @/components/bing-math/bing-math.vue */ 10));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n components: {\n 'bing-math': _bingMath.default\n },\n data: function data() {\n return {\n talkList: [],\n ajax: {\n rows: 100,\n //每页数量\n page: 1,\n //页码\n flag: false,\n // 请求开关\n loading: false,\n // 加载中\n loadText: '正在获取消息'\n },\n keyboardHeight: 0,\n showplc: true,\n content: '',\n c_content: '',\n n_content: '',\n timer: '',\n socketTask: {},\n TEXT: '',\n historyTextList: [],\n // 历史会话信息,由于最大token12000,可以结合实际使用,进行移出\n tempRes: '',\n // 临时答复保存\n scrollTop: 0,\n shouldScrollToBottom: true\n };\n },\n mounted: function mounted() {\n var _this = this;\n this.$nextTick(function () {\n _this.getHistoryMsg();\n });\n uni.onKeyboardHeightChange(function (e) {\n var h = _this.keyboardHeight;\n _this.keyboardHeight = e.height;\n _this.$nextTick(function () {\n setTimeout(function () {\n uni.pageScrollTo({\n scrollTop: 9999999,\n // 当前位置向下滚动\n duration: 300 // 滚动过渡时间为300ms,默认值为300ms\n });\n }, 0);\n });\n });\n },\n beforeDestroy: function beforeDestroy() {\n uni.offKeyboardHeightChange();\n },\n onPageScroll: function onPageScroll(e) {\n if (e.scrollTop < 5) {\n this.getHistoryMsg();\n }\n },\n watch: {\n n_content: function n_content(n, o) {\n var _this2 = this;\n // this.c_content = n;\n if (this.timer) clearInterval(this.timer);\n var cl = this.c_content.length;\n var nc = this.n_content.split('');\n this.timer = setInterval(function () {\n if (cl < nc.length) {\n _this2.c_content += nc[cl];\n cl++;\n if (cl % 6 == 0) _this2.$nextTick(function () {\n uni.pageScrollTo({\n scrollTop: 999999\n });\n });\n } else {\n clearInterval(_this2.timer);\n _this2.$nextTick(function () {\n uni.pageScrollTo({\n scrollTop: 9999999\n });\n });\n }\n }, 60);\n }\n },\n methods: {\n copyText: function copyText(str) {\n uni.setClipboardData({\n data: str,\n success: function success() {\n uni.showToast({\n icon: 'none',\n title: '复制成功'\n });\n }\n });\n },\n // 获取历史消息\n getHistoryMsg: function getHistoryMsg() {\n var _this3 = this;\n return;\n if (this.ajax.flag) {\n return; //\n }\n\n var get = /*#__PURE__*/function () {\n var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var data, selector;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this3.hideLoadTips();\n _this3.ajax.flag = false;\n _context.next = 4;\n return _this3.joinHistoryMsg();\n case 4:\n data = _context.sent;\n __f__(\"log\", '----- 模拟数据格式,供参考 -----', \" at pages/index/index.vue:149\");\n __f__(\"log\", data, \" at pages/index/index.vue:150\"); // 查看请求返回的数据结构 \n\n // 获取待滚动元素选择器,解决插入数据后,滚动条定位时使用\n selector = '';\n if (_this3.ajax.page > 1) {\n // 非第一页,则取历史消息数据的第一条信息元素\n selector = \"#msg-\".concat(_this3.talkList[0].id);\n } else {\n // 第一页,则取当前消息数据的最后一条信息元素\n selector = \"#msg-\".concat(data[data.length - 1].id);\n }\n\n // 将获取到的消息数据合并到消息数组中\n _this3.talkList = [].concat((0, _toConsumableArray2.default)(data), (0, _toConsumableArray2.default)(_this3.talkList));\n\n // 数据挂载后执行,不懂的请自行阅读 Vue.js 文档对 Vue.nextTick 函数说明。\n _this3.$nextTick(function () {\n // 设置当前滚动的位置\n _this3.setPageScrollTo(selector);\n _this3.hideLoadTips(true);\n if (data.length < _this3.ajax.rows) {\n // 当前消息数据条数小于请求要求条数时,则无更多消息,不再允许请求。\n // 可在此处编写无更多消息数据时的逻辑\n } else {\n _this3.ajax.page++;\n\n // 延迟 200ms ,以保证设置窗口滚动已完成\n setTimeout(function () {\n _this3.ajax.flag = true;\n }, 200);\n }\n });\n case 11:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return function get() {\n return _ref.apply(this, arguments);\n };\n }();\n get();\n },\n // 拼接历史记录消息\n joinHistoryMsg: function joinHistoryMsg() {\n var _this4 = this;\n var join = function join() {\n var arr = [];\n\n //通过当前页码及页数,模拟数据内容\n var startIndex = (_this4.ajax.page - 1) * _this4.ajax.rows;\n var endIndex = startIndex + _this4.ajax.rows;\n for (var i = startIndex; i < endIndex; i++) {\n arr.push({\n \"id\": i,\n // 消息的ID\n \"content\": \"\\u8FD9\\u662F\\u5386\\u53F2\\u8BB0\\u5F55\\u7684\\u7B2C\".concat(i + 1, \"\\u6761\\u6D88\\u606F\"),\n // 消息内容\n \"type\": Math.random() > 0.5 ? 1 : 0,\n // 此为消息类别,设 1 为发出去的消息,0 为收到对方的消息,\n \"pic\": \"/static/avatar.png\" // 头像\n });\n }\n\n /*\n \t颠倒数组中元素的顺序。将最新的数据排在本次接口返回数据的最后面。\n \t后端接口按 消息的时间降序查找出当前页的数据后,再将本页数据按消息时间降序排序返回。\n \t这是数据的重点,因为页面滚动条和上拉加载历史的问题。\n */\n arr.reverse();\n return arr;\n };\n\n // 此处用到 ES6 的 Promise 知识,不懂的请自行学习。\n return new Promise(function (done, fail) {\n // 无数据请求接口,由 setTimeout 模拟,正式项目替换为 ajax 即可。\n setTimeout(function () {\n var data = join();\n done(data);\n }, 1500);\n });\n },\n focus: function focus() {\n // this.$nextTick(()=>{\n // setTimeout(()=>{\n // uni.pageScrollTo({\n // scrollTop: 9999999, // 当前位置向下滚动\n // duration: 300 // 滚动过渡时间为300ms,默认值为300ms\n // });\n // }, 0)\n // })\n },\n // 设置页面滚动位置\n setPageScrollTo: function setPageScrollTo(selector) {\n var view = uni.createSelectorQuery().in(this).select(selector);\n view.boundingClientRect(function (res) {\n uni.pageScrollTo({\n scrollTop: res.top - 30,\n // -30 为多显示出大半个消息的高度,示意上面还有信息。\n duration: 0\n });\n }).exec();\n },\n // 隐藏加载提示\n hideLoadTips: function hideLoadTips(flag) {\n var _this5 = this;\n if (flag) {\n this.ajax.loadText = '消息获取成功';\n setTimeout(function () {\n _this5.ajax.loading = false;\n }, 300);\n } else {\n this.ajax.loading = true;\n this.ajax.loadText = '正在获取消息';\n }\n },\n // 发送信息\n send: function send() {\n var _this6 = this;\n if (!this.content) {\n uni.showToast({\n title: '请输入有效的内容',\n icon: 'none'\n });\n return;\n }\n try {\n clearInterval(this.timer);\n this.talkList[this.talkList.length - 1].content = this.c_content + '';\n this.c_content = '';\n this.n_content = '';\n this.socketTask.close({\n success: function success(res) {\n __f__(\"log\", '关闭成功', res, \" at pages/index/index.vue:273\");\n _this6.wsLiveFlag = false;\n },\n fail: function fail(err) {\n __f__(\"log\", '关闭失败', err, \" at pages/index/index.vue:277\");\n }\n });\n } catch (e) {\n //TODO handle the exception\n }\n // 将当前发送信息 添加到消息列表。\n var data = {\n \"id\": new Date().getTime(),\n \"content\": this.content,\n \"type\": 1,\n \"pic\": \"/static/avatar.png\"\n };\n this.TEXT = this.content;\n this.n_content = '';\n this.c_content = '';\n this.talkList.push(data);\n this.talkList.push({\n \"id\": new Date().getTime(),\n \"content\": '',\n \"type\": 2,\n \"pic\": \"/static/avatar.png\"\n });\n // return ;\n this.$nextTick(function () {\n // 清空内容框中的内容\n _this6.content = '';\n // uni.pageScrollTo({\n // scrollTop: 999999, // 设置一个超大值,以保证滚动条滚动到底部\n // duration: 0\n // });\n });\n\n this.sendToSpark();\n },\n sendToSpark: function sendToSpark() {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var realThis;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n // let myUrl = await this.getWebSocketUrl();\n _this7.tempRes = \"\";\n realThis = _this7;\n _this7.socketTask = uni.connectSocket({\n //url: encodeURI(encodeURI(myUrl).replace(/\\+/g, '%2B')),\n url: 'wss://chat.lihaink.cn/chat',\n method: 'GET',\n success: function success(res) {\n __f__(\"log\", res, \"ws成功连接...\", \" at pages/index/index.vue:321\");\n realThis.wsLiveFlag = true;\n }\n });\n realThis.socketTask.onError(function (res) {\n __f__(\"log\", \"连接发生错误,请检查appid是否填写\", res, \" at pages/index/index.vue:326\");\n });\n realThis.socketTask.onOpen(function (res) {\n _this7.historyTextList.push({\n \"role\": \"user\",\n \"content\": _this7.TEXT\n });\n // 第一帧..........................................\n __f__(\"log\", '连接成功...', \" at pages/index/index.vue:334\");\n // let params = {\n // \"header\": {\n // \"app_id\": this.APPID,\n // \"uid\": \"aef9f963-7\"\n // },\n // \"parameter\": {\n // \"chat\": {\n // \"domain\": \"generalv2\",\n // \"temperature\": 0.5,\n // \"max_tokens\": 1024\n // }\n // },\n // \"payload\": {\n // \"message\": {\n // \"text\": this.historyTextList\n // }\n // }\n // };\n var params = _this7.TEXT;\n realThis.socketTask.send({\n // 发送消息,,都用uni的官方版本\n data: JSON.stringify(params),\n success: function success() {\n __f__(\"log\", '第一帧发送成功', \" at pages/index/index.vue:357\");\n }\n });\n });\n\n // 接受到消息时\n realThis.socketTask.onMessage(function (res) {\n __f__(\"log\", '收到API返回的内容:', res.data, \" at pages/index/index.vue:364\");\n var obj = JSON.parse(res.data);\n // console.log(\"我打印的\"+obj.payload);\n var dataArray = obj.payload.choices.text;\n for (var i = 0; i < dataArray.length; i++) {\n _this7.talkList[_this7.talkList.length - 1].content += dataArray[i].content;\n _this7.n_content = _this7.talkList[_this7.talkList.length - 1].content;\n realThis.tempRes = realThis.tempRes + dataArray[i].content;\n }\n var temp = JSON.parse(res.data);\n // console.log(\"0726\",temp.header.code)\n if (temp.header.code !== 0) {\n __f__(\"log\", \"\".concat(temp.header.code, \":\").concat(temp.message), \" at pages/index/index.vue:376\");\n realThis.socketTask.close({\n success: function success(res) {\n __f__(\"log\", '关闭成功', res, \" at pages/index/index.vue:379\");\n realThis.wsLiveFlag = false;\n },\n fail: function fail(err) {\n __f__(\"log\", '关闭失败', err, \" at pages/index/index.vue:383\");\n }\n });\n }\n if (temp.header.code === 0) {\n if (res.data && temp.header.status === 2) {\n _this7.historyTextList.push({\n \"role\": \"assistant\",\n \"content\": _this7.tempRes\n });\n setTimeout(function () {\n realThis.socketTask.close({\n success: function success(res) {\n __f__(\"log\", '关闭成功', res, \" at pages/index/index.vue:396\");\n },\n fail: function fail(err) {\n // console.log('关闭失败', err)\n }\n });\n }, 1000);\n }\n }\n });\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n // 鉴权\n getWebSocketUrl: function getWebSocketUrl() {\n var _this8 = this;\n return new Promise(function (resolve, reject) {\n // https://spark-api.xf-yun.com/v1.1/chat V1.5 domain general\n // https://spark-api.xf-yun.com/v2.1/chat V2.0 domain generalv2\n var url = \"wss://spark-api.xf-yun.com/v2.1/chat\";\n var host = \"spark-api.xf-yun.com\";\n var apiKeyName = \"api_key\";\n var date = new Date().toGMTString();\n var algorithm = \"hmac-sha256\";\n var headers = \"host date request-line\";\n var signatureOrigin = \"host: \".concat(host, \"\\ndate: \").concat(date, \"\\nGET /v2.1/chat HTTP/1.1\");\n var signatureSha = _cryptoJs.default.HmacSHA256(signatureOrigin, _this8.APISecret);\n var signature = _cryptoJs.default.enc.Base64.stringify(signatureSha);\n var authorizationOrigin = \"\".concat(apiKeyName, \"=\\\"\").concat(_this8.APIKey, \"\\\", algorithm=\\\"\").concat(algorithm, \"\\\", headers=\\\"\").concat(headers, \"\\\", signature=\\\"\").concat(signature, \"\\\"\");\n var authorization = base64.encode(authorizationOrigin);\n url = \"\".concat(url, \"?authorization=\").concat(authorization, \"&date=\").concat(encodeURI(date), \"&host=\").concat(host);\n\n // console.log(url)\n resolve(url);\n });\n },\n // 滚动到头部\n bindScroll: function bindScroll() {\n if (this.userId == 0) {\n this.getHistory();\n this.getproductInfo();\n this.getOrderInfo();\n this.getRefundDetail();\n this.getStoreDetail();\n } else {\n this.getMerHistory();\n }\n },\n touchmove: function touchmove(e) {\n uni.hideKeyboard();\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 18)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbImNvbXBvbmVudHMiLCJkYXRhIiwidGFsa0xpc3QiLCJhamF4Iiwicm93cyIsInBhZ2UiLCJmbGFnIiwibG9hZGluZyIsImxvYWRUZXh0Iiwia2V5Ym9hcmRIZWlnaHQiLCJzaG93cGxjIiwiY29udGVudCIsImNfY29udGVudCIsIm5fY29udGVudCIsInRpbWVyIiwic29ja2V0VGFzayIsIlRFWFQiLCJoaXN0b3J5VGV4dExpc3QiLCJ0ZW1wUmVzIiwic2Nyb2xsVG9wIiwic2hvdWxkU2Nyb2xsVG9Cb3R0b20iLCJtb3VudGVkIiwidW5pIiwic2V0VGltZW91dCIsImR1cmF0aW9uIiwiYmVmb3JlRGVzdHJveSIsIm9uUGFnZVNjcm9sbCIsIndhdGNoIiwiY2wiLCJjbGVhckludGVydmFsIiwibWV0aG9kcyIsImNvcHlUZXh0Iiwic3VjY2VzcyIsImljb24iLCJ0aXRsZSIsImdldEhpc3RvcnlNc2ciLCJzZWxlY3RvciIsImdldCIsImpvaW5IaXN0b3J5TXNnIiwiYXJyIiwiZG9uZSIsImZvY3VzIiwic2V0UGFnZVNjcm9sbFRvIiwidmlldyIsImhpZGVMb2FkVGlwcyIsInNlbmQiLCJmYWlsIiwic2VuZFRvU3BhcmsiLCJyZWFsVGhpcyIsInVybCIsIm1ldGhvZCIsImdldFdlYlNvY2tldFVybCIsImFwaUtleU5hbWUiLCJyZXNvbHZlIiwiYmluZFNjcm9sbCIsInRvdWNobW92ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFzQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2VBQ0E7RUFDQUE7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7UUFDQUM7UUFBQTtRQUNBQztRQUFBO1FBQ0FDO1FBQUE7UUFDQUM7UUFBQTtRQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFBQTtJQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtRQUNBQztVQUNBRDtZQUNBSDtZQUFBO1lBQ0FLO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUVBSDtFQUVBO0VBQ0FJO0lBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQWQ7TUFBQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0FlO1VBQ0E7WUFDQU47Y0FDQUg7WUFDQTtVQUNBO1FBQ0E7VUFDQVU7VUFDQTtZQUNBUDtjQUNBSDtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBVztJQUNBQztNQUNBVDtRQUNBckI7UUFDQStCO1VBQ0FWO1lBQ0FXO1lBQ0FDO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQTtRQUNBO01BQ0E7O01BRUE7UUFBQTtVQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUFBO2tCQUNBO2tCQUNBO2tCQUFBO2tCQUFBLE9BQ0E7Z0JBQUE7a0JBQUFsQztrQkFFQTtrQkFDQTs7a0JBRUE7a0JBQ0FtQztrQkFFQTtvQkFDQTtvQkFDQUE7a0JBQ0E7b0JBQ0E7b0JBQ0FBO2tCQUNBOztrQkFFQTtrQkFDQTs7a0JBRUE7a0JBQ0E7b0JBQ0E7b0JBQ0E7b0JBRUE7b0JBRUE7c0JBQ0E7c0JBQ0E7b0JBQUEsQ0FDQTtzQkFDQTs7c0JBRUE7c0JBQ0FiO3dCQUNBO3NCQUNBO29CQUNBO2tCQUVBO2dCQUFBO2dCQUFBO2tCQUFBO2NBQUE7WUFBQTtVQUFBO1FBQUEsQ0FDQTtRQUFBLGdCQTFDQWM7VUFBQTtRQUFBO01BQUEsR0EwQ0E7TUFDQUE7SUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBOztRQUVBO1FBQ0E7UUFDQTtRQUNBO1VBQ0FDO1lBQ0E7WUFBQTtZQUNBO1lBQUE7WUFDQTtZQUFBO1lBQ0E7VUFDQTtRQUNBOztRQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7UUFDQUE7UUFFQTtNQUNBOztNQUVBO01BQ0E7UUFDQTtRQUNBaEI7VUFDQTtVQUNBaUI7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQUEsQ0FDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQUM7UUFDQXJCO1VBQ0FIO1VBQUE7VUFDQUs7UUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBb0I7TUFBQTtNQUNBO1FBQ0E7UUFDQXJCO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBc0I7TUFBQTtNQUNBO1FBQ0F2QjtVQUNBWTtVQUNBRDtRQUNBO1FBQ0E7TUFDQTtNQUNBO1FBQ0FKO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7VUFDQUc7WUFDQTtZQUNBO1VBQ0E7VUFDQWM7WUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQUE7TUFFQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBOztNQUNBO0lBRUE7SUFDQUM7TUFBQTtNQUFBO1FBQUE7UUFBQTtVQUFBO1lBQUE7Y0FBQTtnQkFDQTtnQkFDQTtnQkFDQUM7Z0JBQ0E7a0JBQ0E7a0JBQ0FDO2tCQUNBQztrQkFDQWxCO29CQUNBO29CQUNBZ0I7a0JBQ0E7Z0JBQ0E7Z0JBQ0FBO2tCQUNBO2dCQUNBO2dCQUNBQTtrQkFDQTtvQkFDQTtvQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQUE7b0JBQUE7b0JBQ0EvQztvQkFDQStCO3NCQUNBO29CQUNBO2tCQUNBO2dCQUNBOztnQkFFQTtnQkFDQWdCO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO2tCQUNBO29CQUNBO29CQUNBO29CQUNBQTtrQkFDQTtrQkFDQTtrQkFDQTtrQkFDQTtvQkFDQTtvQkFDQUE7c0JBQ0FoQjt3QkFDQTt3QkFDQWdCO3NCQUNBO3NCQUNBRjt3QkFDQTtzQkFDQTtvQkFDQTtrQkFDQTtrQkFDQTtvQkFDQTtzQkFDQTt3QkFDQTt3QkFDQTtzQkFDQTtzQkFDQXZCO3dCQUNBeUI7MEJBQ0FoQjs0QkFDQTswQkFDQTswQkFDQWM7NEJBQ0E7MEJBQUE7d0JBRUE7c0JBQ0E7b0JBQ0E7a0JBQ0E7Z0JBQ0E7Y0FBQTtjQUFBO2dCQUFBO1lBQUE7VUFBQTtRQUFBO01BQUE7SUFDQTtJQUNBO0lBQ0FLO01BQUE7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQSxvQ0FDQUM7UUFDQTtRQUNBSDs7UUFFQTtRQUNBSTtNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0FqQztJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjE3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDx2aWV3IGNsYXNzPVwid3JhcHBlclwiIEB0b3VjaG1vdmU9XCJ0b3VjaG1vdmVcIj5cclxuICAgIDx2aWV3IGNsYXNzPVwidGlwcyBjb2xvcl9mZmYgc2l6ZV8xMiBhbGlnbl9jXCIgOmNsYXNzPVwieyAnc2hvdyc6YWpheC5sb2FkaW5nIH1cIiBAdGFwPVwiZ2V0SGlzdG9yeU1zZ1wiPnt7YWpheC5sb2FkVGV4dH19XHJcbiAgICA8L3ZpZXc+XHJcbiAgICA8dmlldyBjbGFzcz1cInBsYWNlaG9sZGVyXCI+PC92aWV3PlxyXG4gICAgPHZpZXcgY2xhc3M9XCJib3gtMVwiIGlkPVwibGlzdC1ib3hcIiByZWY9XCJib3hcIj5cclxuICAgICAgPHZpZXcgY2xhc3M9XCJ0YWxrLWxpc3RcIj5cclxuICAgICAgICA8dmlldyB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiB0YWxrTGlzdFwiIDprZXk9XCJpbmRleFwiIDppZD1cImBtc2ctJHtpdGVtLmlkfWBcIj5cclxuICAgICAgICAgIDx2aWV3IGNsYXNzPVwiaXRlbSBmbGV4X2NvbFwiIDpjbGFzcz1cIiBpdGVtLnR5cGUgPT0gMSA/ICdwdXNoJzoncHVsbCcgXCI+XHJcbiAgICAgICAgICAgIDxpbWFnZSA6c3JjPVwiaXRlbS5waWNcIiBtb2RlPVwiYXNwZWN0RmlsbFwiIGNsYXNzPVwicGljXCI+PC9pbWFnZT5cclxuICAgICAgICAgICAgPHZpZXcgdi1pZj1cInRhbGtMaXN0Lmxlbmd0aC0xPT1pbmRleFwiIGNsYXNzPVwiY29udGVudCBtdWx0aWxpbmUtdGV4dFwiPlxyXG4gICAgICAgICAgICAgIDwhLS0gPHJpY2gtdGV4dCA6bm9kZXM9XCJpdGVtLmNvbnRlbnRcIj48L3JpY2gtdGV4dD4gLS0+XHJcbiAgICAgICAgICAgICAgPGJpbmctbWF0aCB2LWlmPVwiY19jb250ZW50IT0nJ1wiIDprZXk9XCJgbWF0aC0ke2l0ZW0uaWR9YFwiIGNsYXNzPVwiYmluZy1tYXRoXCIgOmxhdGV4PVwiY19jb250ZW50XCI+PC9iaW5nLW1hdGg+XHJcbiAgICAgICAgICAgICAgPHZpZXcgdi1lbHNlIGNsYXNzPVwiYmxpbmtpbmctYm94XCI+fDwvdmlldz5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8dmlldyB2LWVsc2UgY2xhc3M9XCJjb250ZW50IG11bHRpbGluZS10ZXh0XCI+XHJcbiAgICAgICAgICAgICAgPCEtLSA8cmljaC10ZXh0IDpub2Rlcz1cIml0ZW0uY29udGVudFwiPjwvcmljaC10ZXh0PiAtLT5cclxuICAgICAgICAgICAgICA8YmluZy1tYXRoIDprZXk9XCJgbWF0aC0ke2l0ZW0uaWR9YFwiIGNsYXNzPVwiYmluZy1tYXRoXCIgOmxhdGV4PVwiaXRlbS5jb250ZW50XCI+PC9iaW5nLW1hdGg+XHJcbiAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgPHZpZXcgaWQ9XCJib3R0b20tYm94XCI+PC92aWV3PlxyXG4gICAgICA8L3ZpZXc+XHJcbiAgICA8L3ZpZXc+XHJcbiAgICA8dmlldyBjbGFzcz1cImJveC0yXCI+XHJcbiAgICAgIDx2aWV3IGNsYXNzPVwiZmxleF9jb2xcIj5cclxuICAgICAgICA8dmlldyBjbGFzcz1cImZsZXhfZ3Jvd1wiPlxyXG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJjb250ZW50XCIgdi1tb2RlbD1cImNvbnRlbnRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeiBiuWkqeWGheWuuVwiIEBmb2N1cz1cImZvY3VzXCIgQGNvbmZpcm09XCJzZW5kXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXItc3R5bGU9XCJjb2xvcjojREREO1wiIDpjdXJzb3Itc3BhY2luZz1cIjZcIj5cclxuICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNlbmRcIiBAdGFwPVwic2VuZFwiPuWPkemAgTwvYnV0dG9uPlxyXG4gICAgICA8L3ZpZXc+XHJcbiAgICA8L3ZpZXc+XHJcbiAgICA8IS0tIDx2aWV3IHYtc2hvdz1cInNob3dwbGNcIiA6c3R5bGU9XCJ7J21pbi1oZWlnaHQnOiAoa2V5Ym9hcmRIZWlnaHQrMjAwKSsncHgnfVwiIGNsYXNzPVwicGxhY2Vob2xkZXJcIj7mmL7npLo8L3ZpZXc+IC0tPlxyXG4gIDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgaW1wb3J0ICogYXMgYmFzZTY0IGZyb20gXCJiYXNlLTY0XCJcclxuICBpbXBvcnQgQ3J5cHRvSlMgZnJvbSAnLi4vLi4vc3RhdGljL2NyeXB0by1qcy9jcnlwdG8tanMuanMnXHJcbiAgaW1wb3J0IHBhcnNlciBmcm9tICcuLi8uLi9zdGF0aWMvZmFzdC14bWwtcGFyc2VyL3NyYy9wYXJzZXInXHJcbiAgaW1wb3J0ICogYXMgdXRmOCBmcm9tIFwidXRmOFwiXHJcbiAgaW1wb3J0IEJpbmdNYXRoIGZyb20gXCJAL2NvbXBvbmVudHMvYmluZy1tYXRoL2JpbmctbWF0aC52dWVcIlxyXG4gIGV4cG9ydCBkZWZhdWx0IHtcclxuICAgIGNvbXBvbmVudHM6IHtcclxuICAgICAgJ2JpbmctbWF0aCc6IEJpbmdNYXRoXHJcbiAgICB9LFxyXG4gICAgZGF0YSgpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICB0YWxrTGlzdDogW10sXHJcbiAgICAgICAgYWpheDoge1xyXG4gICAgICAgICAgcm93czogMTAwLCAvL+avj+mhteaVsOmHj1xyXG4gICAgICAgICAgcGFnZTogMSwgLy/pobXnoIFcclxuICAgICAgICAgIGZsYWc6IGZhbHNlLCAvLyDor7fmsYLlvIDlhbNcclxuICAgICAgICAgIGxvYWRpbmc6IGZhbHNlLCAvLyDliqDovb3kuK1cclxuICAgICAgICAgIGxvYWRUZXh0OiAn5q2j5Zyo6I635Y+W5raI5oGvJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAga2V5Ym9hcmRIZWlnaHQ6IDAsXHJcbiAgICAgICAgc2hvd3BsYzogdHJ1ZSxcclxuICAgICAgICBjb250ZW50OiAnJyxcclxuICAgICAgICBjX2NvbnRlbnQ6ICcnLFxyXG4gICAgICAgIG5fY29udGVudDogJycsXHJcbiAgICAgICAgdGltZXI6ICcnLFxyXG4gICAgICAgIHNvY2tldFRhc2s6IHt9LFxyXG4gICAgICAgIFRFWFQ6ICcnLFxyXG4gICAgICAgIGhpc3RvcnlUZXh0TGlzdDogW10sIC8vIOWOhuWPsuS8muivneS/oeaBr++8jOeUseS6juacgOWkp3Rva2VuMTIwMDAs5Y+v5Lul57uT5ZCI5a6e6ZmF5L2/55So77yM6L+b6KGM56e75Ye6XHJcbiAgICAgICAgdGVtcFJlczogJycsIC8vIOS4tOaXtuetlOWkjeS/neWtmFxyXG4gICAgICAgIHNjcm9sbFRvcDogMCxcclxuICAgICAgICBzaG91bGRTY3JvbGxUb0JvdHRvbTogdHJ1ZVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgbW91bnRlZCgpIHtcclxuICAgICAgdGhpcy4kbmV4dFRpY2soKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuZ2V0SGlzdG9yeU1zZygpO1xyXG4gICAgICB9KTtcclxuICAgICAgdW5pLm9uS2V5Ym9hcmRIZWlnaHRDaGFuZ2UoZSA9PiB7XHJcbiAgICAgICAgbGV0IGggPSB0aGlzLmtleWJvYXJkSGVpZ2h0O1xyXG4gICAgICAgIHRoaXMua2V5Ym9hcmRIZWlnaHQgPSBlLmhlaWdodDtcclxuICAgICAgICB0aGlzLiRuZXh0VGljaygoKT0+e1xyXG4gICAgICAgICAgc2V0VGltZW91dCgoKT0+e1xyXG4gICAgICAgICAgICB1bmkucGFnZVNjcm9sbFRvKHtcclxuICAgICAgICAgICAgICBzY3JvbGxUb3A6IDk5OTk5OTksIC8vIOW9k+WJjeS9jee9ruWQkeS4i+a7muWKqFxyXG4gICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAgLy8g5rua5Yqo6L+H5rih5pe26Ze05Li6MzAwbXPvvIzpu5jorqTlgLzkuLozMDBtc1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0sIDApXHJcbiAgICAgICAgfSlcclxuICAgICAgfSlcclxuICAgIH0sXHJcbiAgICBiZWZvcmVEZXN0cm95KCkge1xyXG4gICAgICAvLyAjaWZkZWYgQVBQLVBMVVNcclxuICAgICAgdW5pLm9mZktleWJvYXJkSGVpZ2h0Q2hhbmdlKCk7XHJcbiAgICAgIC8vICNlbmRpZlxyXG4gICAgfSxcclxuICAgIG9uUGFnZVNjcm9sbChlKSB7XHJcbiAgICAgIGlmIChlLnNjcm9sbFRvcCA8IDUpIHtcclxuICAgICAgICB0aGlzLmdldEhpc3RvcnlNc2coKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIHdhdGNoOiB7XHJcbiAgICAgIG5fY29udGVudChuLCBvKSB7XHJcbiAgICAgICAgLy8gdGhpcy5jX2NvbnRlbnQgPSBuO1xyXG4gICAgICAgIGlmICh0aGlzLnRpbWVyKSBjbGVhckludGVydmFsKHRoaXMudGltZXIpO1xyXG4gICAgICAgIGxldCBjbCA9IHRoaXMuY19jb250ZW50Lmxlbmd0aDtcclxuICAgICAgICBsZXQgbmMgPSB0aGlzLm5fY29udGVudC5zcGxpdCgnJylcclxuICAgICAgICB0aGlzLnRpbWVyID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGNsIDwgbmMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY19jb250ZW50ICs9IG5jW2NsXTtcclxuICAgICAgICAgICAgY2wrKztcclxuICAgICAgICAgICAgaWYgKGNsICUgNiA9PSAwKSB0aGlzLiRuZXh0VGljaygoKT0+e1xyXG4gICAgICAgICAgICAgIHVuaS5wYWdlU2Nyb2xsVG8oe1xyXG4gICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiA5OTk5OTksXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7XHJcbiAgICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHtcclxuICAgICAgICAgICAgICB1bmkucGFnZVNjcm9sbFRvKHtcclxuICAgICAgICAgICAgICAgIHNjcm9sbFRvcDogOTk5OTk5OSxcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIDYwKVxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgbWV0aG9kczoge1xyXG4gICAgICBjb3B5VGV4dChzdHIpIHtcclxuICAgICAgICB1bmkuc2V0Q2xpcGJvYXJkRGF0YSh7XHJcbiAgICAgICAgICBkYXRhOiBzdHIsXHJcbiAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbigpIHtcclxuICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgaWNvbjogJ25vbmUnLFxyXG4gICAgICAgICAgICAgIHRpdGxlOiAn5aSN5Yi25oiQ5YqfJ1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSxcclxuICAgICAgLy8g6I635Y+W5Y6G5Y+y5raI5oGvXHJcbiAgICAgIGdldEhpc3RvcnlNc2coKSB7XHJcbiAgICAgICAgcmV0dXJuIDtcclxuICAgICAgICBpZiAodGhpcy5hamF4LmZsYWcpIHtcclxuICAgICAgICAgIHJldHVybjsgLy9cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxldCBnZXQgPSBhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmhpZGVMb2FkVGlwcygpO1xyXG4gICAgICAgICAgdGhpcy5hamF4LmZsYWcgPSBmYWxzZTtcclxuICAgICAgICAgIGxldCBkYXRhID0gYXdhaXQgdGhpcy5qb2luSGlzdG9yeU1zZygpO1xyXG5cclxuICAgICAgICAgIGNvbnNvbGUubG9nKCctLS0tLSDmqKHmi5/mlbDmja7moLzlvI/vvIzkvpvlj4LogIMgLS0tLS0nKTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEpOyAvLyDmn6XnnIvor7fmsYLov5Tlm57nmoTmlbDmja7nu5PmnoQgXHJcblxyXG4gICAgICAgICAgLy8g6I635Y+W5b6F5rua5Yqo5YWD57Sg6YCJ5oup5Zmo77yM6Kej5Yaz5o+S5YWl5pWw5o2u5ZCO77yM5rua5Yqo5p2h5a6a5L2N5pe25L2/55SoXHJcbiAgICAgICAgICBsZXQgc2VsZWN0b3IgPSAnJztcclxuXHJcbiAgICAgICAgICBpZiAodGhpcy5hamF4LnBhZ2UgPiAxKSB7XHJcbiAgICAgICAgICAgIC8vIOmdnuesrOS4gOmhte+8jOWImeWPluWOhuWPsua2iOaBr+aVsOaNrueahOesrOS4gOadoeS/oeaBr+WFg+e0oFxyXG4gICAgICAgICAgICBzZWxlY3RvciA9IGAjbXNnLSR7dGhpcy50YWxrTGlzdFswXS5pZH1gO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgLy8g56ys5LiA6aG177yM5YiZ5Y+W5b2T5YmN5raI5oGv5pWw5o2u55qE5pyA5ZCO5LiA5p2h5L+h5oGv5YWD57SgXHJcbiAgICAgICAgICAgIHNlbGVjdG9yID0gYCNtc2ctJHtkYXRhW2RhdGEubGVuZ3RoLTFdLmlkfWA7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8g5bCG6I635Y+W5Yiw55qE5raI5oGv5pWw5o2u5ZCI5bm25Yiw5raI5oGv5pWw57uE5LitXHJcbiAgICAgICAgICB0aGlzLnRhbGtMaXN0ID0gWy4uLmRhdGEsIC4uLnRoaXMudGFsa0xpc3RdO1xyXG5cclxuICAgICAgICAgIC8vIOaVsOaNruaMgui9veWQjuaJp+ihjO+8jOS4jeaHgueahOivt+iHquihjOmYheivuyBWdWUuanMg5paH5qGj5a+5IFZ1ZS5uZXh0VGljayDlh73mlbDor7TmmI7jgIJcclxuICAgICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHtcclxuICAgICAgICAgICAgLy8g6K6+572u5b2T5YmN5rua5Yqo55qE5L2N572uXHJcbiAgICAgICAgICAgIHRoaXMuc2V0UGFnZVNjcm9sbFRvKHNlbGVjdG9yKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuaGlkZUxvYWRUaXBzKHRydWUpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGRhdGEubGVuZ3RoIDwgdGhpcy5hamF4LnJvd3MpIHtcclxuICAgICAgICAgICAgICAvLyDlvZPliY3mtojmga/mlbDmja7mnaHmlbDlsI/kuo7or7fmsYLopoHmsYLmnaHmlbDml7bvvIzliJnml6Dmm7TlpJrmtojmga/vvIzkuI3lho3lhYHorrjor7fmsYLjgIJcclxuICAgICAgICAgICAgICAvLyDlj6/lnKjmraTlpITnvJblhpnml6Dmm7TlpJrmtojmga/mlbDmja7ml7bnmoTpgLvovpFcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLmFqYXgucGFnZSsrO1xyXG5cclxuICAgICAgICAgICAgICAvLyDlu7bov58gMjAwbXMg77yM5Lul5L+d6K+B6K6+572u56qX5Y+j5rua5Yqo5bey5a6M5oiQXHJcbiAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFqYXguZmxhZyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfSwgMjAwKVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgICAgZ2V0KCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIOaLvOaOpeWOhuWPsuiusOW9lea2iOaBr1xyXG4gICAgICBqb2luSGlzdG9yeU1zZygpIHtcclxuICAgICAgICBsZXQgam9pbiA9ICgpID0+IHtcclxuICAgICAgICAgIGxldCBhcnIgPSBbXTtcclxuXHJcbiAgICAgICAgICAvL+mAmui/h+W9k+WJjemhteeggeWPiumhteaVsO+8jOaooeaLn+aVsOaNruWGheWuuVxyXG4gICAgICAgICAgbGV0IHN0YXJ0SW5kZXggPSAodGhpcy5hamF4LnBhZ2UgLSAxKSAqIHRoaXMuYWpheC5yb3dzO1xyXG4gICAgICAgICAgbGV0IGVuZEluZGV4ID0gc3RhcnRJbmRleCArIHRoaXMuYWpheC5yb3dzO1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPCBlbmRJbmRleDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGFyci5wdXNoKHtcclxuICAgICAgICAgICAgICBcImlkXCI6IGksIC8vIOa2iOaBr+eahElEXHJcbiAgICAgICAgICAgICAgXCJjb250ZW50XCI6IGDov5nmmK/ljoblj7LorrDlvZXnmoTnrKwke2krMX3mnaHmtojmga9gLCAvLyDmtojmga/lhoXlrrlcclxuICAgICAgICAgICAgICBcInR5cGVcIjogTWF0aC5yYW5kb20oKSA+IDAuNSA/IDEgOiAwLCAvLyDmraTkuLrmtojmga/nsbvliKvvvIzorr4gMSDkuLrlj5Hlh7rljrvnmoTmtojmga/vvIwwIOS4uuaUtuWIsOWvueaWueeahOa2iOaBryxcclxuICAgICAgICAgICAgICBcInBpY1wiOiBcIi9zdGF0aWMvYXZhdGFyLnBuZ1wiIC8vIOWktOWDj1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8qXHJcbiAgICAgICAgICBcdOmioOWAkuaVsOe7hOS4reWFg+e0oOeahOmhuuW6j+OAguWwhuacgOaWsOeahOaVsOaNruaOkuWcqOacrOasoeaOpeWPo+i/lOWbnuaVsOaNrueahOacgOWQjumdouOAglxyXG4gICAgICAgICAgXHTlkI7nq6/mjqXlj6PmjIkg5raI5oGv55qE5pe26Ze06ZmN5bqP5p+l5om+5Ye65b2T5YmN6aG155qE5pWw5o2u5ZCO77yM5YaN5bCG5pys6aG15pWw5o2u5oyJ5raI5oGv5pe26Ze06ZmN5bqP5o6S5bqP6L+U5Zue44CCXHJcbiAgICAgICAgICBcdOi/meaYr+aVsOaNrueahOmHjeeCue+8jOWboOS4uumhtemdoua7muWKqOadoeWSjOS4iuaLieWKoOi9veWOhuWPsueahOmXrumimOOAglxyXG4gICAgICAgICAgICovXHJcbiAgICAgICAgICBhcnIucmV2ZXJzZSgpO1xyXG5cclxuICAgICAgICAgIHJldHVybiBhcnI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyDmraTlpITnlKjliLAgRVM2IOeahCBQcm9taXNlIOefpeivhu+8jOS4jeaHgueahOivt+iHquihjOWtpuS5oOOAglxyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgoZG9uZSwgZmFpbCkgPT4ge1xyXG4gICAgICAgICAgLy8g5peg5pWw5o2u6K+35rGC5o6l5Y+j77yM55SxIHNldFRpbWVvdXQg5qih5ouf77yM5q2j5byP6aG555uu5pu/5o2i5Li6IGFqYXgg5Y2z5Y+v44CCXHJcbiAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgbGV0IGRhdGEgPSBqb2luKCk7XHJcbiAgICAgICAgICAgIGRvbmUoZGF0YSk7XHJcbiAgICAgICAgICB9LCAxNTAwKTtcclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG4gICAgICBmb2N1cygpe1xyXG4gICAgICAgIC8vIHRoaXMuJG5leHRUaWNrKCgpPT57XHJcbiAgICAgICAgLy8gICBzZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgLy8gICAgIHVuaS5wYWdlU2Nyb2xsVG8oe1xyXG4gICAgICAgIC8vICAgICAgIHNjcm9sbFRvcDogOTk5OTk5OSwgLy8g5b2T5YmN5L2N572u5ZCR5LiL5rua5YqoXHJcbiAgICAgICAgLy8gICAgICAgZHVyYXRpb246IDMwMCAvLyDmu5rliqjov4fmuKHml7bpl7TkuLozMDBtc++8jOm7mOiupOWAvOS4ujMwMG1zXHJcbiAgICAgICAgLy8gICAgIH0pO1xyXG4gICAgICAgIC8vICAgfSwgMClcclxuICAgICAgICAvLyB9KVxyXG4gICAgICB9LFxyXG4gICAgICAvLyDorr7nva7pobXpnaLmu5rliqjkvY3nva5cclxuICAgICAgc2V0UGFnZVNjcm9sbFRvKHNlbGVjdG9yKSB7XHJcbiAgICAgICAgbGV0IHZpZXcgPSB1bmkuY3JlYXRlU2VsZWN0b3JRdWVyeSgpLmluKHRoaXMpLnNlbGVjdChzZWxlY3Rvcik7XHJcbiAgICAgICAgdmlldy5ib3VuZGluZ0NsaWVudFJlY3QoKHJlcykgPT4ge1xyXG4gICAgICAgICAgdW5pLnBhZ2VTY3JvbGxUbyh7XHJcbiAgICAgICAgICAgIHNjcm9sbFRvcDogcmVzLnRvcCAtIDMwLCAvLyAtMzAg5Li65aSa5pi+56S65Ye65aSn5Y2K5Liq5raI5oGv55qE6auY5bqm77yM56S65oSP5LiK6Z2i6L+Y5pyJ5L+h5oGv44CCXHJcbiAgICAgICAgICAgIGR1cmF0aW9uOiAwXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KS5leGVjKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIC8vIOmakOiXj+WKoOi9veaPkOekulxyXG4gICAgICBoaWRlTG9hZFRpcHMoZmxhZykge1xyXG4gICAgICAgIGlmIChmbGFnKSB7XHJcbiAgICAgICAgICB0aGlzLmFqYXgubG9hZFRleHQgPSAn5raI5oGv6I635Y+W5oiQ5YqfJztcclxuICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmFqYXgubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfSwgMzAwKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5hamF4LmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5hamF4LmxvYWRUZXh0ID0gJ+ato+WcqOiOt+WPlua2iOaBryc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgICAvLyDlj5HpgIHkv6Hmga9cclxuICAgICAgc2VuZCgpIHtcclxuICAgICAgICBpZiAoIXRoaXMuY29udGVudCkge1xyXG4gICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgIHRpdGxlOiAn6K+36L6T5YWl5pyJ5pWI55qE5YaF5a65JyxcclxuICAgICAgICAgICAgaWNvbjogJ25vbmUnXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0cnl7XHJcbiAgICAgICAgICBjbGVhckludGVydmFsKHRoaXMudGltZXIpO1xyXG4gICAgICAgICAgdGhpcy50YWxrTGlzdFt0aGlzLnRhbGtMaXN0Lmxlbmd0aC0xXS5jb250ZW50ID0gdGhpcy5jX2NvbnRlbnQrJyc7XHJcbiAgICAgICAgICB0aGlzLmNfY29udGVudCA9ICcnO1xyXG4gICAgICAgICAgdGhpcy5uX2NvbnRlbnQgPSAnJztcclxuICAgICAgICAgIHRoaXMuc29ja2V0VGFzay5jbG9zZSh7XHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6KHJlcyk9PiB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+WFs+mXreaIkOWKnycsIHJlcyk7XHJcbiAgICAgICAgICAgICAgdGhpcy53c0xpdmVGbGFnID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGZhaWwoZXJyKSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+WFs+mXreWksei0pScsIGVycilcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgICB9Y2F0Y2goZSl7XHJcbiAgICAgICAgICAvL1RPRE8gaGFuZGxlIHRoZSBleGNlcHRpb25cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8g5bCG5b2T5YmN5Y+R6YCB5L+h5oGvIOa3u+WKoOWIsOa2iOaBr+WIl+ihqOOAglxyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgXCJpZFwiOiBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcclxuICAgICAgICAgIFwiY29udGVudFwiOiB0aGlzLmNvbnRlbnQsXHJcbiAgICAgICAgICBcInR5cGVcIjogMSxcclxuICAgICAgICAgIFwicGljXCI6IFwiL3N0YXRpYy9hdmF0YXIucG5nXCJcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5URVhUID0gdGhpcy5jb250ZW50O1xyXG4gICAgICAgIHRoaXMubl9jb250ZW50ID0gJyc7XHJcbiAgICAgICAgdGhpcy5jX2NvbnRlbnQgPSAnJztcclxuICAgICAgICB0aGlzLnRhbGtMaXN0LnB1c2goZGF0YSk7XHJcbiAgICAgICAgdGhpcy50YWxrTGlzdC5wdXNoKHtcclxuICAgICAgICAgIFwiaWRcIjogbmV3IERhdGUoKS5nZXRUaW1lKCksXHJcbiAgICAgICAgICBcImNvbnRlbnRcIjogJycsXHJcbiAgICAgICAgICBcInR5cGVcIjogMixcclxuICAgICAgICAgIFwicGljXCI6IFwiL3N0YXRpYy9hdmF0YXIucG5nXCJcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyByZXR1cm4gO1xyXG4gICAgICAgIHRoaXMuJG5leHRUaWNrKCgpID0+IHtcclxuICAgICAgICAgIC8vIOa4heepuuWGheWuueahhuS4reeahOWGheWuuVxyXG4gICAgICAgICAgdGhpcy5jb250ZW50ID0gJyc7XHJcbiAgICAgICAgICAvLyB1bmkucGFnZVNjcm9sbFRvKHtcclxuICAgICAgICAgIC8vICAgc2Nyb2xsVG9wOiA5OTk5OTksIC8vIOiuvue9ruS4gOS4qui2heWkp+WAvO+8jOS7peS/neivgea7muWKqOadoea7muWKqOWIsOW6lemDqFxyXG4gICAgICAgICAgLy8gICBkdXJhdGlvbjogMFxyXG4gICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgfSlcclxuICAgICAgICB0aGlzLnNlbmRUb1NwYXJrKCk7XHJcbiAgICAgICAgXHJcbiAgICAgIH0sXHJcbiAgICAgIGFzeW5jIHNlbmRUb1NwYXJrKCkge1xyXG4gICAgICAgIC8vIGxldCBteVVybCA9IGF3YWl0IHRoaXMuZ2V0V2ViU29ja2V0VXJsKCk7XHJcbiAgICAgICAgdGhpcy50ZW1wUmVzID0gXCJcIjtcclxuICAgICAgICBsZXQgcmVhbFRoaXMgPSB0aGlzO1xyXG4gICAgICAgIHRoaXMuc29ja2V0VGFzayA9IHVuaS5jb25uZWN0U29ja2V0KHtcclxuICAgICAgICAgIC8vdXJsOiBlbmNvZGVVUkkoZW5jb2RlVVJJKG15VXJsKS5yZXBsYWNlKC9cXCsvZywgJyUyQicpKSxcclxuICAgICAgICAgIHVybDogJ3dzczovL2NoYXQubGloYWluay5jbi9jaGF0JyxcclxuICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXHJcbiAgICAgICAgICBzdWNjZXNzOiByZXMgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhyZXMsIFwid3PmiJDlip/ov57mjqUuLi5cIilcclxuICAgICAgICAgICAgcmVhbFRoaXMud3NMaXZlRmxhZyA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICByZWFsVGhpcy5zb2NrZXRUYXNrLm9uRXJyb3IoKHJlcykgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXCLov57mjqXlj5HnlJ/plJnor6/vvIzor7fmo4Dmn6VhcHBpZOaYr+WQpuWhq+WGmVwiLCByZXMpXHJcbiAgICAgICAgfSlcclxuICAgICAgICByZWFsVGhpcy5zb2NrZXRUYXNrLm9uT3BlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmhpc3RvcnlUZXh0TGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgXCJyb2xlXCI6IFwidXNlclwiLFxyXG4gICAgICAgICAgICBcImNvbnRlbnRcIjogdGhpcy5URVhUXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICAgLy8g56ys5LiA5binLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uXHJcbiAgICAgICAgICBjb25zb2xlLmxvZygn6L+e5o6l5oiQ5YqfLi4uJylcclxuICAgICAgICAgIC8vIGxldCBwYXJhbXMgPSB7XHJcbiAgICAgICAgICAvLyAgIFwiaGVhZGVyXCI6IHtcclxuICAgICAgICAgIC8vICAgICBcImFwcF9pZFwiOiB0aGlzLkFQUElELFxyXG4gICAgICAgICAgLy8gICAgIFwidWlkXCI6IFwiYWVmOWY5NjMtN1wiXHJcbiAgICAgICAgICAvLyAgIH0sXHJcbiAgICAgICAgICAvLyAgIFwicGFyYW1ldGVyXCI6IHtcclxuICAgICAgICAgIC8vICAgICBcImNoYXRcIjoge1xyXG4gICAgICAgICAgLy8gICAgICAgXCJkb21haW5cIjogXCJnZW5lcmFsdjJcIixcclxuICAgICAgICAgIC8vICAgICAgIFwidGVtcGVyYXR1cmVcIjogMC41LFxyXG4gICAgICAgICAgLy8gICAgICAgXCJtYXhfdG9rZW5zXCI6IDEwMjRcclxuICAgICAgICAgIC8vICAgICB9XHJcbiAgICAgICAgICAvLyAgIH0sXHJcbiAgICAgICAgICAvLyAgIFwicGF5bG9hZFwiOiB7XHJcbiAgICAgICAgICAvLyAgICAgXCJtZXNzYWdlXCI6IHtcclxuICAgICAgICAgIC8vICAgICAgIFwidGV4dFwiOiB0aGlzLmhpc3RvcnlUZXh0TGlzdFxyXG4gICAgICAgICAgLy8gICAgIH1cclxuICAgICAgICAgIC8vICAgfVxyXG4gICAgICAgICAgLy8gfTtcclxuICAgICAgICAgIGxldCBwYXJhbXMgPSB0aGlzLlRFWFRcclxuICAgICAgICAgIHJlYWxUaGlzLnNvY2tldFRhc2suc2VuZCh7IC8vIOWPkemAgea2iOaBr++8jO+8jOmDveeUqHVuaeeahOWumOaWueeJiOacrFxyXG4gICAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShwYXJhbXMpLFxyXG4gICAgICAgICAgICBzdWNjZXNzKCkge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKCfnrKzkuIDluKflj5HpgIHmiJDlip8nKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgLy8g5o6l5Y+X5Yiw5raI5oGv5pe2XHJcbiAgICAgICAgcmVhbFRoaXMuc29ja2V0VGFzay5vbk1lc3NhZ2UoKHJlcykgPT4ge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coJ+aUtuWIsEFQSei/lOWbnueahOWGheWuue+8micsIHJlcy5kYXRhKTtcclxuICAgICAgICAgIGxldCBvYmogPSBKU09OLnBhcnNlKHJlcy5kYXRhKVxyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2coXCLmiJHmiZPljbDnmoRcIitvYmoucGF5bG9hZCk7XHJcbiAgICAgICAgICBsZXQgZGF0YUFycmF5ID0gb2JqLnBheWxvYWQuY2hvaWNlcy50ZXh0O1xyXG4gICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkYXRhQXJyYXkubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgdGhpcy50YWxrTGlzdFt0aGlzLnRhbGtMaXN0Lmxlbmd0aCAtIDFdLmNvbnRlbnQgKz0gZGF0YUFycmF5W2ldLmNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHRoaXMubl9jb250ZW50ID0gdGhpcy50YWxrTGlzdFt0aGlzLnRhbGtMaXN0Lmxlbmd0aCAtIDFdLmNvbnRlbnQ7XHJcbiAgICAgICAgICAgIHJlYWxUaGlzLnRlbXBSZXMgPSByZWFsVGhpcy50ZW1wUmVzICsgZGF0YUFycmF5W2ldLmNvbnRlbnRcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGxldCB0ZW1wID0gSlNPTi5wYXJzZShyZXMuZGF0YSlcclxuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKFwiMDcyNlwiLHRlbXAuaGVhZGVyLmNvZGUpXHJcbiAgICAgICAgICBpZiAodGVtcC5oZWFkZXIuY29kZSAhPT0gMCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgJHt0ZW1wLmhlYWRlci5jb2RlfToke3RlbXAubWVzc2FnZX1gKTtcclxuICAgICAgICAgICAgcmVhbFRoaXMuc29ja2V0VGFzay5jbG9zZSh7XHJcbiAgICAgICAgICAgICAgc3VjY2VzcyhyZXMpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCflhbPpl63miJDlip8nLCByZXMpXHJcbiAgICAgICAgICAgICAgICByZWFsVGhpcy53c0xpdmVGbGFnID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICBmYWlsKGVycikge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+WFs+mXreWksei0pScsIGVycilcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGVtcC5oZWFkZXIuY29kZSA9PT0gMCkge1xyXG4gICAgICAgICAgICBpZiAocmVzLmRhdGEgJiYgdGVtcC5oZWFkZXIuc3RhdHVzID09PSAyKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5oaXN0b3J5VGV4dExpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBcInJvbGVcIjogXCJhc3Npc3RhbnRcIixcclxuICAgICAgICAgICAgICAgIFwiY29udGVudFwiOiB0aGlzLnRlbXBSZXNcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmVhbFRoaXMuc29ja2V0VGFzay5jbG9zZSh7XHJcbiAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MocmVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ+WFs+mXreaIkOWKnycsIHJlcylcclxuICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgZmFpbChlcnIpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb25zb2xlLmxvZygn5YWz6Zet5aSx6LSlJywgZXJyKVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIH0sIDEwMDApXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9LFxyXG4gICAgICAvLyDpibTmnYNcclxuICAgICAgZ2V0V2ViU29ja2V0VXJsKCkge1xyXG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICAvLyBodHRwczovL3NwYXJrLWFwaS54Zi15dW4uY29tL3YxLjEvY2hhdCAgVjEuNSBkb21haW4gZ2VuZXJhbFxyXG4gICAgICAgICAgLy8gaHR0cHM6Ly9zcGFyay1hcGkueGYteXVuLmNvbS92Mi4xL2NoYXQgIFYyLjAgZG9tYWluIGdlbmVyYWx2MlxyXG4gICAgICAgICAgdmFyIHVybCA9IFwid3NzOi8vc3BhcmstYXBpLnhmLXl1bi5jb20vdjIuMS9jaGF0XCI7XHJcbiAgICAgICAgICB2YXIgaG9zdCA9IFwic3BhcmstYXBpLnhmLXl1bi5jb21cIjtcclxuICAgICAgICAgIHZhciBhcGlLZXlOYW1lID0gXCJhcGlfa2V5XCI7XHJcbiAgICAgICAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKCkudG9HTVRTdHJpbmcoKTtcclxuICAgICAgICAgIHZhciBhbGdvcml0aG0gPSBcImhtYWMtc2hhMjU2XCI7XHJcbiAgICAgICAgICB2YXIgaGVhZGVycyA9IFwiaG9zdCBkYXRlIHJlcXVlc3QtbGluZVwiO1xyXG4gICAgICAgICAgdmFyIHNpZ25hdHVyZU9yaWdpbiA9IGBob3N0OiAke2hvc3R9XFxuZGF0ZTogJHtkYXRlfVxcbkdFVCAvdjIuMS9jaGF0IEhUVFAvMS4xYDtcclxuICAgICAgICAgIHZhciBzaWduYXR1cmVTaGEgPSBDcnlwdG9KUy5IbWFjU0hBMjU2KHNpZ25hdHVyZU9yaWdpbiwgdGhpcy5BUElTZWNyZXQpO1xyXG4gICAgICAgICAgdmFyIHNpZ25hdHVyZSA9IENyeXB0b0pTLmVuYy5CYXNlNjQuc3RyaW5naWZ5KHNpZ25hdHVyZVNoYSk7XHJcbiAgICAgICAgICB2YXIgYXV0aG9yaXphdGlvbk9yaWdpbiA9XHJcbiAgICAgICAgICAgIGAke2FwaUtleU5hbWV9PVwiJHt0aGlzLkFQSUtleX1cIiwgYWxnb3JpdGhtPVwiJHthbGdvcml0aG19XCIsIGhlYWRlcnM9XCIke2hlYWRlcnN9XCIsIHNpZ25hdHVyZT1cIiR7c2lnbmF0dXJlfVwiYDtcclxuICAgICAgICAgIHZhciBhdXRob3JpemF0aW9uID0gYmFzZTY0LmVuY29kZShhdXRob3JpemF0aW9uT3JpZ2luKTtcclxuICAgICAgICAgIHVybCA9IGAke3VybH0/YXV0aG9yaXphdGlvbj0ke2F1dGhvcml6YXRpb259JmRhdGU9JHtlbmNvZGVVUkkoZGF0ZSl9Jmhvc3Q9JHtob3N0fWA7XHJcblxyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2codXJsKVxyXG4gICAgICAgICAgcmVzb2x2ZSh1cmwpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9LFxyXG4gICAgICAvLyDmu5rliqjliLDlpLTpg6hcclxuICAgICAgYmluZFNjcm9sbCgpIHtcclxuICAgICAgXHRpZiAodGhpcy51c2VySWQgPT0gMCkge1xyXG4gICAgICBcdFx0dGhpcy5nZXRIaXN0b3J5KCk7XHJcbiAgICAgIFx0XHR0aGlzLmdldHByb2R1Y3RJbmZvKCk7XHJcbiAgICAgIFx0XHR0aGlzLmdldE9yZGVySW5mbygpO1xyXG4gICAgICBcdFx0dGhpcy5nZXRSZWZ1bmREZXRhaWwoKTtcclxuICAgICAgXHRcdHRoaXMuZ2V0U3RvcmVEZXRhaWwoKTtcclxuICAgICAgXHR9IGVsc2Uge1xyXG4gICAgICBcdFx0dGhpcy5nZXRNZXJIaXN0b3J5KCk7XHJcbiAgICAgIFx0fVxyXG4gICAgICB9LFxyXG4gICAgICB0b3VjaG1vdmUoZSl7XHJcbiAgICAgICAgdW5pLmhpZGVLZXlib2FyZCgpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XHJcbiAgQGltcG9ydCBcIi4uLy4uL2xpYi9nbG9iYWwuc2Nzc1wiO1xyXG5cclxuICBwYWdlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcbiAgICBmb250LXNpemU6IDI4cnB4O1xyXG4gIH1cclxuICBcclxuICBAa2V5ZnJhbWVzIGJsaW5rIHtcclxuICAgIDAlIHsgb3BhY2l0eTogMTsgfVxyXG4gICAgNTAlIHsgb3BhY2l0eTogMDsgfVxyXG4gICAgMTAwJSB7IG9wYWNpdHk6IDE7IH1cclxuICB9XHJcbiAgXHJcbiAgLmJsaW5raW5nLWJveCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xyXG4gICAgY29sb3I6ICMzMzM7XHJcbiAgICBhbmltYXRpb246IGJsaW5rIDFzIGluZmluaXRlO1xyXG4gICAgd2lkdGg6IDJweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAud3JhcHBlciB7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8qIOWKoOi9veaVsOaNruaPkOekuiAqL1xyXG4gIC50aXBzIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IHZhcigtLXdpbmRvdy10b3ApO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICAgIGhlaWdodDogNzJycHg7XHJcbiAgICBsaW5lLWhlaWdodDogNzJycHg7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTgwcnB4KTtcclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2UtaW4tb3V0IDBzO1xyXG5cclxuICAgICYuc2hvdyB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5ib3gtMSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMDBycHgpO1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwMHJweDtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cclxuICAgIC8qIOWFvOWuuWlQaG9uZVggKi9cclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiBjb25zdGFudChzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcclxuICAgIG1hcmdpbi1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcclxuICB9XHJcblxyXG4gIC5tdWx0aWxpbmUtdGV4dCB7XHJcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XHJcbiAgICAvKiDmiJYgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAqL1xyXG4gIH1cclxuXHJcbiAgLmJveC0yIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICBib3JkZXItdG9wOiAjZTVlNWU1IHNvbGlkIDFweDtcclxuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgLyog5Yid5aeL5YyWIHRyYW5zZm9ybSDlsZ7mgKcgKi9cclxuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IC8qIOa3u+WKoOi/h+a4oeaViOaenCAqL1xyXG5cclxuICAgIC8qIOWFvOWuuWlQaG9uZVggKi9cclxuICAgIHBhZGRpbmctYm90dG9tOiAwO1xyXG4gICAgcGFkZGluZy1ib3R0b206IGNvbnN0YW50KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xyXG4gICAgcGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcclxuXHJcbiAgICA+dmlldyB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMjBycHg7XHJcbiAgICAgIGhlaWdodDogMTAwcnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgaGVpZ2h0OiA2NHJweDtcclxuICAgICAgcGFkZGluZzogMCAyMHJweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNnJweDtcclxuICAgICAgZm9udC1zaXplOiAyOHJweDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VuZCB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTczZmI7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICBoZWlnaHQ6IDY0cnB4O1xyXG4gICAgICBtYXJnaW4tbGVmdDogMjBycHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZycHg7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIHdpZHRoOiAxMjBycHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MnJweDtcclxuXHJcbiAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU3M2ZiO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGFsay1saXN0IHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHJweDtcclxuXHJcbiAgICAvKiDmtojmga/pobnvvIzln7rnoYDnsbsgKi9cclxuICAgIC5pdGVtIHtcclxuICAgICAgcGFkZGluZzogMjBycHggMjBycHggMCAyMHJweDtcclxuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgIGNvbG9yOiAjMzMzO1xyXG5cclxuICAgICAgLnBpYyB7XHJcbiAgICAgICAgd2lkdGg6IDkycnB4O1xyXG4gICAgICAgIGhlaWdodDogOTJycHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGJvcmRlcjogI2ZmZiBzb2xpZCAxcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jb250ZW50IHtcclxuICAgICAgICBwYWRkaW5nOiAyMHJweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1MDBycHg7XHJcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MnJweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8qIOaUtuWIsOeahOa2iOaBryAqL1xyXG4gICAgICAmLnB1bGwge1xyXG4gICAgICAgIC5jb250ZW50IHtcclxuICAgICAgICAgIG1pbi13aWR0aDogMjBycHg7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiA1MnJweDtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMnJweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblxyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDE2cnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxNnJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAyMHJweCBzb2xpZCAjZmZmO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHRvcDogMzBycHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xOHJweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8qIOWPkeWHuueahOa2iOaBryAqL1xyXG4gICAgICAmLnB1c2gge1xyXG4gICAgICAgIC8qIOS4u+i9tOS4uuawtOW5s+aWueWQke+8jOi1t+eCueWcqOWPs+err+OAguS9v+S4jeS/ruaUuURPTee7k+aehO+8jOS5n+iDveaUueWPmOWFg+e0oOaOkuWIl+mhuuW6jyAqL1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHJcbiAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgbWluLXdpZHRoOiAyMHJweDtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6IDUycnB4O1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMnJweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNTczZmI7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgd2lkdGg6IDA7XHJcbiAgICAgICAgICAgIGhlaWdodDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTZycHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDE2cnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdDogMjBycHggc29saWQgIzI1NzNmYjtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDMwcnB4O1xyXG4gICAgICAgICAgICByaWdodDogLTE4cnB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmJpbmctbWF0aCB7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnBsYWNlaG9sZGVyIHtcclxuICAgIHdpZHRoOiAxMDB2dztcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTczZmI7XHJcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgLyog5Yid5aeL5YyWIHRyYW5zZm9ybSDlsZ7mgKcgKi9cclxuICAgIC8vIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7IC8qIOa3u+WKoOi/h+a4oeaViOaenCAqL1xyXG4gIH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///17\n"); /***/ }), /* 18 */ @@ -25226,5003 +25226,6 @@ eval("\n\n//parse Empty Node as self closing node\nvar _typeof = __webpack_requi /***/ }), /* 200 */ -/*!***********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/miniprogram-fetch/dist/fetch.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(wx) { - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.fetch = fetch; -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 207)); -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 208)); -var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 4)); -var _miniprogramQueue = __webpack_require__(/*! miniprogram-queue */ 209); -/// -//@ts-ignore -var RequestMQ = new _miniprogramQueue.WxQueue(wx.request); -/** - * fetch 封装 - * @see https://developer.mozilla.org/zh-CN/docs/Web/API/Fetch_API - * @param url 请求URL或者Request对象 - * @param init 请求参数 - */ -function fetch(url, init) { - init = init || {}; - var param = (0, _typeof2.default)(url) !== 'object' ? { - url: url, - data: init.body, - header: init.headers || {}, - method: init.method, - dataType: 'text' - } : { - url: url.url, - data: url.json() || url.text() || url.body, - method: init.method || url.method, - header: Object.assign({}, url.headers, init.headers), - dataType: 'text' - }; - return new Promise(function (resolve, reject) { - param.success = function (res) { - var response = new wxHttpResponse(res); - resolve(response); - }; - param.fail = reject; - param.complete = init['complete']; - RequestMQ.push(param); - }); -} -var wxHttpResponse = /*#__PURE__*/function () { - function wxHttpResponse(res) { - (0, _classCallCheck2.default)(this, wxHttpResponse); - this.status = res.statusCode; - this.headers = res.header; - this.body = res.data; - this.ok = res.statusCode >= 200 && res.statusCode < 300; - this.bodyUsed = false; - } - /** - * Copy - */ - (0, _createClass2.default)(wxHttpResponse, [{ - key: "clone", - value: function clone() { - return Object.assign(this); - } - }, { - key: "arrayBuffer", - value: function arrayBuffer() { - throw new Error("Method not implemented."); - } - }, { - key: "blob", - value: function blob() { - throw new Error("Method not implemented."); - } - }, { - key: "formData", - value: function formData() { - var _this = this; - return new Promise(function (resolve, reject) { - var data = _this.body; - try { - if (typeof data === "string") { - data = JSON.parse(data); - } - var formData = new FormData(); - for (var key in data) { - formData.append(key, data[key]); - } - resolve(formData); - _this.bodyUsed = true; - } catch (error) { - reject(error); - } - }); - } - /** - * to json as promise - */ - }, { - key: "json", - value: function json() { - var _this2 = this; - return new Promise(function (resolve, reject) { - try { - resolve(JSON.parse(_this2.body)); - _this2.bodyUsed = true; - } catch (error) { - reject(error); - } - }); - } - /** - * to string as promise - */ - }, { - key: "text", - value: function text() { - var _this3 = this; - return new Promise(function (resolve, reject) { - try { - resolve(_this3.body); - _this3.bodyUsed = true; - } catch (error) { - reject(error); - } - }); - } - }]); - return wxHttpResponse; -}(); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! @dcloudio/uni-mp-weixin/dist/mp.js */ 201)["default"])) - -/***/ }), -/* 201 */ -/*!*********************************************************!*\ - !*** ./node_modules/@dcloudio/uni-mp-weixin/dist/mp.js ***! - \*********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) { - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Behavior = Behavior; -exports.Component = Component; -exports.Page = Page; -exports.nextTick = exports.default = void 0; -var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2)); -var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 202)); -var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 206)); -var _PROP_DEFAULT_VALUES; -function parseData(data, vueComponentOptions) { - if (!data) { - return; - } - vueComponentOptions.mpOptions.data = data; -} -function parseComponents(vueComponentOptions) { - vueComponentOptions.components = global.__wxVueOptions.components; -} -var _toString = Object.prototype.toString; -var hasOwnProperty = Object.prototype.hasOwnProperty; -function isFn(fn) { - return typeof fn === 'function'; -} -function isPlainObject(obj) { - return _toString.call(obj) === '[object Object]'; -} -function hasOwn(obj, key) { - return hasOwnProperty.call(obj, key); -} -function noop() {} - -/** - * Create a cached version of a pure function. - */ -function cached(fn) { - var cache = Object.create(null); - return function cachedFn(str) { - var hit = cache[str]; - return hit || (cache[str] = fn(str)); - }; -} - -/** - * Camelize a hyphen-delimited string. - */ -var camelizeRE = /-(\w)/g; -var camelize = cached(function (str) { - return str.replace(camelizeRE, function (_, c) { - return c ? c.toUpperCase() : ''; - }); -}); -var SOURCE_KEY = '__data__'; -var COMPONENT_LIFECYCLE = { - created: 'onServiceCreated', - attached: 'onServiceAttached', - ready: 'mounted', - moved: 'moved', - detached: 'destroyed' -}; -var COMPONENT_LIFECYCLE_KEYS = Object.keys(COMPONENT_LIFECYCLE); -var PAGE_LIFETIMES = { - show: 'onPageShow', - hide: 'onPageHide', - resize: 'onPageResize' -}; -var PAGE_LIFETIMES_KEYS = Object.keys(PAGE_LIFETIMES); -var PAGE_LIFECYCLE = ['onLoad', 'onShow', 'onReady', 'onHide', 'onUnload', 'onPullDownRefresh', 'onReachBottom', 'onShareAppMessage', 'onPageScroll', 'onResize', 'onTabItemTap']; -function parsePageMethods(mpComponentOptions, vueComponentOptions) { - var methods = Object.create(null); - Object.keys(mpComponentOptions).forEach(function (key) { - var value = mpComponentOptions[key]; - if (isFn(value) && PAGE_LIFECYCLE.indexOf(key) === -1) { - methods[key] = value; - } - }); - vueComponentOptions.methods = methods; -} -function parsePageLifecycle(mpComponentOptions, vueComponentOptions) { - Object.keys(mpComponentOptions).forEach(function (key) { - if (PAGE_LIFECYCLE.indexOf(key) !== -1) { - vueComponentOptions[key] = mpComponentOptions[key]; - } - }); -} -function parsePage(mpComponentOptions) { - var vueComponentOptions = { - mixins: [], - mpOptions: {} - }; - parseComponents(vueComponentOptions); - parseData(mpComponentOptions.data, vueComponentOptions); - parsePageMethods(mpComponentOptions, vueComponentOptions); - parsePageLifecycle(mpComponentOptions, vueComponentOptions); - return vueComponentOptions; -} -function parseProperties(properties, vueComponentOptions) { - if (!properties) { - return; - } - vueComponentOptions.mpOptions.properties = properties; -} -function parseOptions(options, vueComponentOptions) { - if (!options) { - return; - } - vueComponentOptions.mpOptions.options = options; -} -function parseMethods(methods, vueComponentOptions) { - if (!methods) { - return; - } - if (methods.$emit) { - console.warn('Method "$emit" conflicts with an existing Vue instance method'); - delete methods.$emit; - } - vueComponentOptions.methods = methods; -} -function parseLifecycle(mpComponentOptions, vueComponentOptions) { - COMPONENT_LIFECYCLE_KEYS.forEach(function (name) { - if (hasOwn(mpComponentOptions, name)) { - (vueComponentOptions[COMPONENT_LIFECYCLE[name]] || (vueComponentOptions[COMPONENT_LIFECYCLE[name]] = [])).push(mpComponentOptions[name]); - } - }); -} -var mpBehaviors = { - 'wx://form-field': {}, - 'wx://component-export': {} -}; -function callDefinitionFilter(mpComponentOptions) { - var behaviors = mpComponentOptions.behaviors, - definitionFilter = mpComponentOptions.definitionFilter; - var behaviorDefinitionFilters = []; - if (Array.isArray(behaviors)) { - behaviors.forEach(function (behavior) { - behavior = typeof behavior === 'string' ? mpBehaviors[behavior] : behavior; - if (behavior.definitionFilter) { - behaviorDefinitionFilters.push(behavior.definitionFilter); - behavior.definitionFilter.call(null, mpComponentOptions, []); - } - }); - } - if (isFn(definitionFilter)) { - return function (defFields) { - definitionFilter(defFields, behaviorDefinitionFilters); - }; - } -} -function parseDefinitionFilter(mpComponentOptions, vueComponentOptions) { - callDefinitionFilter(mpComponentOptions); -} -function parseBehavior(behavior) { - var data = behavior.data, - methods = behavior.methods, - behaviors = behavior.behaviors, - properties = behavior.properties; - var vueComponentOptions = { - watch: {}, - mpOptions: { - mpObservers: [] - } - }; - parseData(data, vueComponentOptions); - parseMethods(methods, vueComponentOptions); - parseBehaviors(behaviors, vueComponentOptions); - parseProperties(properties, vueComponentOptions); - parseLifecycle(behavior, vueComponentOptions); - parseDefinitionFilter(behavior); - return vueComponentOptions; -} -var BEHAVIORS = { - 'wx://form-field': { - beforeCreate: function beforeCreate() { - var mpOptions = this.$options.mpOptions; - if (!mpOptions.properties) { - mpOptions.properties = Object.create(null); - } - var props = mpOptions.properties; - // TODO form submit,reset - if (!hasOwn(props, 'name')) { - props.name = { - type: String - }; - } - if (!hasOwn(props, 'value')) { - props.value = { - type: String // 默认类型调整为 String,否则默认值为 null,导致一些自定义 input 显示不正确 - }; - } - } - } -}; - -function parseBehaviors(behaviors, vueComponentOptions) { - if (!behaviors) { - return; - } - behaviors.forEach(function (behavior) { - if (typeof behavior === 'string') { - BEHAVIORS[behavior] && vueComponentOptions.mixins.push(BEHAVIORS[behavior]); - } else { - vueComponentOptions.mixins.push(parseBehavior(behavior)); - } - }); -} -function parseSinglePath(path) { - return path.split('.'); -} -function parseMultiPaths(paths) { - return paths.split(',').map(function (path) { - return parseSinglePath(path); - }); -} -function parseObservers(observers, vueComponentOptions) { - if (!observers) { - return; - } - var mpObservers = vueComponentOptions.mpOptions.mpObservers; - Object.keys(observers).forEach(function (path) { - mpObservers.push({ - paths: parseMultiPaths(path), - observer: observers[path] - }); - }); -} -function relative(from, to) { - if (to.indexOf('/') === 0) { - from = ''; - } - var fromArr = from.split('/'); - var toArr = to.split('/'); - fromArr.pop(); - while (toArr.length) { - var part = toArr.shift(); - if (part !== '' && part !== '.') { - if (part !== '..') { - fromArr.push(part); - } else { - fromArr.pop(); - } - } - } - return fromArr.join('/'); -} -function parseRelations(relations, vueComponentOptions) { - if (!relations) { - return; - } - Object.keys(relations).forEach(function (name) { - var relation = relations[name]; - relation.name = name; - relation.target = relation.target ? String(relation.target) : relative(global.__wxRoute, name); - }); - vueComponentOptions.mpOptions.relations = relations; -} -function parseExternalClasses(externalClasses, vueComponentOptions) { - if (!externalClasses) { - return; - } - if (!Array.isArray(externalClasses)) { - externalClasses = [externalClasses]; - } - vueComponentOptions.mpOptions.externalClasses = externalClasses; - if (!vueComponentOptions.mpOptions.properties) { - vueComponentOptions.mpOptions.properties = Object.create(null); - } - externalClasses.forEach(function (externalClass) { - vueComponentOptions.mpOptions.properties[camelize(externalClass)] = { - type: String, - value: '' - }; - }); -} -function parseLifetimes(lifetimes, vueComponentOptions) { - if (!lifetimes) { - return; - } - parseLifecycle(lifetimes, vueComponentOptions); -} -function parsePageLifetimes(pageLifetimes, vueComponentOptions) { - if (!pageLifetimes) { - return; - } - PAGE_LIFETIMES_KEYS.forEach(function (key) { - var lifetimeFn = pageLifetimes[key]; - isFn(lifetimeFn) && (vueComponentOptions[PAGE_LIFETIMES[key]] = lifetimeFn); - }); -} -function parseComponent(mpComponentOptions) { - var data = mpComponentOptions.data, - options = mpComponentOptions.options, - methods = mpComponentOptions.methods, - behaviors = mpComponentOptions.behaviors, - lifetimes = mpComponentOptions.lifetimes, - observers = mpComponentOptions.observers, - relations = mpComponentOptions.relations, - properties = mpComponentOptions.properties, - pageLifetimes = mpComponentOptions.pageLifetimes, - externalClasses = mpComponentOptions.externalClasses; - var vueComponentOptions = { - mixins: [], - props: {}, - watch: {}, - mpOptions: { - mpObservers: [] - } - }; - parseComponents(vueComponentOptions); - parseData(data, vueComponentOptions); - parseOptions(options, vueComponentOptions); - parseMethods(methods, vueComponentOptions); - parseBehaviors(behaviors, vueComponentOptions); - parseLifetimes(lifetimes, vueComponentOptions); - parseObservers(observers, vueComponentOptions); - parseRelations(relations, vueComponentOptions); - parseProperties(properties, vueComponentOptions); - parsePageLifetimes(pageLifetimes, vueComponentOptions); - parseExternalClasses(externalClasses, vueComponentOptions); - parseLifecycle(mpComponentOptions, vueComponentOptions); - parseDefinitionFilter(mpComponentOptions); - return vueComponentOptions; -} -function initRelationHandlers(type, handler, target, ctx) { - if (!handler) { - return; - } - var name = "_$".concat(type, "Handlers"); - (ctx[name] || (ctx[name] = [])).push(function () { - handler.call(ctx, target); - }); -} -function initLinkedHandlers(relation, target, ctx) { - var type = 'linked'; - var name = relation.name; - var relationNodes = ctx._$relationNodes || (ctx._$relationNodes = Object.create(null)); - (relationNodes[name] || (relationNodes[name] = [])).push(target); - initRelationHandlers(type, relation[type], target, ctx); -} -function initUnlinkedHandlers(relation, target, ctx) { - var type = 'unlinked'; - initRelationHandlers(type, relation[type], target, ctx); -} -function findParentRelation(parentVm, target, type) { - var relations = parentVm && parentVm.$options.mpOptions && parentVm.$options.mpOptions.relations; - if (!relations) { - return []; - } - var name = Object.keys(relations).find(function (name) { - var relation = relations[name]; - return relation.target === target && relation.type === type; - }); - if (!name) { - return []; - } - return [relations[name], parentVm]; -} -function initParentRelation(vm, childRelation, match) { - var _match = match(vm, vm.$options.mpOptions.path), - _match2 = (0, _slicedToArray2.default)(_match, 2), - parentRelation = _match2[0], - parentVm = _match2[1]; - if (!parentRelation) { - return; - } - initLinkedHandlers(parentRelation, vm, parentVm); - initLinkedHandlers(childRelation, parentVm, vm); - initUnlinkedHandlers(parentRelation, vm, parentVm); - initUnlinkedHandlers(childRelation, parentVm, vm); -} -function initRelation(relation, vm) { - var type = relation.type; - if (type === 'parent') { - initParentRelation(vm, relation, function matchParent(vm, target) { - return findParentRelation(vm.$parent, target, 'child'); - }); - } else if (type === 'ancestor') { - initParentRelation(vm, relation, function matchAncestor(vm, target) { - var $parent = vm.$parent; - while ($parent) { - var ret = findParentRelation($parent, target, 'descendant'); - if (ret.length) { - return ret; - } - $parent = $parent.$parent; - } - return []; - }); - } -} -function initRelations(vm) { - var _ref = vm.$options.mpOptions || {}, - relations = _ref.relations; - if (!relations) { - return; - } - Object.keys(relations).forEach(function (name) { - initRelation(relations[name], vm); - }); -} -function handleRelations(vm, type) { - // TODO 需要移除 relationNodes - var handlers = vm["_$".concat(type, "Handlers")]; - if (!handlers) { - return; - } - handlers.forEach(function (handler) { - return handler(); - }); -} -var sharedPropertyDefinition = { - enumerable: true, - configurable: true, - get: noop, - set: noop -}; -function proxy(target, sourceKey, key) { - sharedPropertyDefinition.get = function proxyGetter() { - return this[sourceKey][key]; - }; - sharedPropertyDefinition.set = function proxySetter(val) { - this[sourceKey][key] = val; - }; - Object.defineProperty(target, key, sharedPropertyDefinition); -} -function setDataByExprPath(exprPath, value, data) { - var keys = exprPath.replace(/\[(\d+?)\]/g, '.$1').split('.'); - keys.reduce(function (obj, key, idx) { - if (idx === keys.length - 1) { - obj[key] = value; - } else { - if (typeof obj[key] === 'undefined') { - obj[key] = {}; - } - return obj[key]; - } - }, data); - return keys.length === 1; -} -function setData(data, callback) { - var _this = this; - if (!isPlainObject(data)) { - return; - } - Object.keys(data).forEach(function (key) { - if (setDataByExprPath(key, data[key], _this.data)) { - !hasOwn(_this, key) && proxy(_this, SOURCE_KEY, key); - } - }); - this.$forceUpdate(); - isFn(callback) && this.$nextTick(callback); -} - -/** - * https://github.com/swan-team/swan-js/blob/61e2a63f7aa576b5daafbe77fdfa7c65b977060c/src/utils/index.js - */ - -var _toString$1 = Object.prototype.toString; -/** - * 深度assign的函数 - * @param {Object} targetObject 要被拷贝的目标对象 - * @param {Object} originObject 拷贝的源对象 - * @return {Object} merge后的对象 - */ -var deepAssign = function deepAssign() { - var targetObject = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; - var originObject = arguments.length > 1 ? arguments[1] : undefined; - var originType = _toString$1.call(originObject); - if (originType === '[object Array]') { - targetObject = originObject.slice(0); - return targetObject; - } else if (originType === '[object Object]') { - for (var key in originObject) { - targetObject[key] = deepAssign(targetObject[key], originObject[key]); - } - return targetObject; - } else if (originType === '[object Date]') { - return new Date(originObject.getTime()); - } else if (originType === '[object RegExp]') { - var target = String(originObject); - var lastIndex = target.lastIndexOf('/'); - return new RegExp(target.slice(1, lastIndex), target.slice(lastIndex + 1)); - } - return originObject; -}; - -/** - * 深度拷贝逻辑,不同于lodash等库,但是与微信一致 - * @param {*} [originObj] 原对象 - * @return {Object|Array} 拷贝结果 - */ -var deepClone = function deepClone(originObj) { - return deepAssign(_toString$1.call(originObj) === '[object Array]' ? [] : {}, originObj); -}; -var PROP_DEFAULT_VALUES = (_PROP_DEFAULT_VALUES = {}, (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, String, ''), (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, Number, 0), (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, Boolean, false), (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, Object, null), (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, Array, []), (0, _defineProperty2.default)(_PROP_DEFAULT_VALUES, null, null), _PROP_DEFAULT_VALUES); -function getDefaultVal(propType) { - return PROP_DEFAULT_VALUES[propType]; -} -function getPropertyVal(options) { - if (isPlainObject(options)) { - if (hasOwn(options, 'value')) { - return options.value; - } - return getDefaultVal(options.type); - } - return getDefaultVal(options); -} -function getType(propOptions) { - return isPlainObject(propOptions) ? propOptions.type : propOptions; -} -function validateProp(key, propsOptions, propsData, vm) { - var value = propsData[key]; - if (value !== undefined) { - var propOptions = propsOptions[key]; - var type = getType(propOptions); - value = formatVal(value, type); - var observer = propOptions && propOptions.observer; - if (observer) { - // 初始化时,异步触发 observer,否则 observer 中无法访问 methods 或其他 - setTimeout(function () { - observe(observer, vm, value); - }, 4); - } - return value; - } - return getPropertyVal(propsOptions[key]); -} -function formatVal(val, type) { - if (type === Boolean) { - return !!val; - } else if (type === String) { - return String(val); - } - return val; -} -function observe(observer, vm, newVal, oldVal) { - try { - if (typeof observer === 'function') { - observer.call(vm, newVal, oldVal); - } else if (typeof observer === 'string' && typeof vm[observer] === 'function') { - vm[observer](newVal, oldVal); - } - } catch (err) { - console.error("execute observer ".concat(observer, " callback fail! err: ").concat(err)); - } -} -function initProperties(vm, instanceData) { - var properties = vm.$options.mpOptions.properties; - if (!properties) { - return; - } - var propsData = deepClone(vm.$options.propsData) || {}; - var _loop = function _loop(key) { - var observer = isPlainObject(properties[key]) ? properties[key].observer : false; - var value = validateProp(key, properties, propsData, vm); - Object.defineProperty(instanceData, key, { - enumerable: true, - configurable: true, - get: function get() { - return value; - }, - set: function set(newVal) { - var oldVal = value; - /* eslint-disable no-self-compare */ - if (newVal === value || newVal !== newVal && value !== value) { - return; - } - // TODO 临时方案,clone array - value = Array.isArray(newVal) ? newVal.slice(0) : newVal; - if (observer) { - observe(observer, vm, newVal, oldVal); - } - // 触发渲染 - vm.$forceUpdate(); - } - }); - }; - for (var key in properties) { - _loop(key); - } -} -function updateProperties(vm) { - var properties = vm.$options.mpOptions && vm.$options.mpOptions.properties; - var propsData = vm.$options.propsData; - if (propsData && properties) { - Object.keys(properties).forEach(function (key) { - if (hasOwn(propsData, key)) { - vm[key] = formatVal(propsData[key], getType(properties[key])); - } - }); - } -} -function initState(vm) { - var instanceData = JSON.parse(JSON.stringify(vm.$options.mpOptions.data || {})); - vm[SOURCE_KEY] = instanceData; - var propertyDefinition = { - get: function get() { - return vm[SOURCE_KEY]; - }, - set: function set(value) { - vm[SOURCE_KEY] = value; - } - }; - Object.defineProperties(vm, { - data: propertyDefinition, - properties: propertyDefinition - }); - vm.setData = setData; - initProperties(vm, instanceData); - Object.keys(instanceData).forEach(function (key) { - proxy(vm, SOURCE_KEY, key); - }); -} -function initMethods(vm) { - var oldEmit = vm.$emit; - vm.triggerEvent = function (eventName, detail, options) { - var target = { - dataset: vm.$el.dataset - }; - var event = { - target: target, - currentTarget: target, - detail: detail, - preventDefault: noop, - stopPropagation: noop - }; - oldEmit.call(vm, eventName, event); - }; - // 主要是Vant 自己封装了 $emit,放到 methods 中会触发 Vue 的警告,索性,框架直接重写该方法 - vm.$emit = function () { - vm.triggerEvent.apply(vm, arguments); - }; - vm.getRelationNodes = function (relationKey) { - // 需要过滤已被销毁的vm - /* eslint-disable no-mixed-operators */ - return (vm._$relationNodes && vm._$relationNodes[relationKey] || []).filter(function (vm) { - return !vm._isDestroyed; - }); - }; - vm._$updateProperties = updateProperties; -} -function handleObservers(vm) { - var watch = vm.$options.watch; - if (!watch) { - return; - } - Object.keys(watch).forEach(function (name) { - var observer = watch[name]; - if (observer.mounted) { - var val = vm[name]; - var handler = observer.handler; - if (typeof handler === 'string') { - handler = vm[handler]; - } - handler && handler.call(vm, val, val); - } - }); -} -var polyfill = { - beforeCreate: function beforeCreate() { - // 取消 development 时的 Proxy,避免小程序组件模板中使用尚未定义的属性告警 - this._renderProxy = this; - this._$self = this; - this._$noop = noop; - }, - created: function created() { - // properties 中可能会访问 methods,故需要在 created 中初始化 - initState(this); - initMethods(this); - initRelations(this); - }, - mounted: function mounted() { - handleObservers(this); - }, - destroyed: function destroyed() { - handleRelations(this, 'unlinked'); - } -}; -global.__wxRoute = ''; -global.__wxComponents = Object.create(null); -global.__wxVueOptions = Object.create(null); -function Page(options) { - var pageOptions = parsePage(options); - pageOptions.mixins.unshift(polyfill); - pageOptions.mpOptions.path = global.__wxRoute; - global.__wxComponents[global.__wxRoute] = pageOptions; -} -function initRelationsHandler(vueComponentOptions) { - // linked 需要在当前组件 attached 之后再执行 - if (!vueComponentOptions.onServiceAttached) { - vueComponentOptions.onServiceAttached = []; - } - vueComponentOptions.onServiceAttached.push(function onServiceAttached() { - handleRelations(this, 'linked'); - }); -} -function Component(options) { - var componentOptions = parseComponent(options); - componentOptions.mixins.unshift(polyfill); - componentOptions.mpOptions.path = global.__wxRoute; - initRelationsHandler(componentOptions); - global.__wxComponents[global.__wxRoute] = componentOptions; -} -function Behavior(options) { - return options; -} -var nextTick = _vue.default.nextTick; -exports.nextTick = nextTick; -var index = uni.__$wx__; -var _default = index; -exports.default = _default; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 30))) - -/***/ }), -/* 202 */ -/*!**************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/slicedToArray.js ***! - \**************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ 203); -var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ 204); -var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ 25); -var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ 205); -function _slicedToArray(arr, i) { - return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest(); -} -module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), -/* 203 */ -/*!***************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; -} -module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), -/* 204 */ -/*!*********************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -function _iterableToArrayLimit(arr, i) { - var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; - if (null != _i) { - var _s, - _e, - _x, - _r, - _arr = [], - _n = !0, - _d = !1; - try { - if (_x = (_i = _i.call(arr)).next, 0 === i) { - if (Object(_i) !== _i) return; - _n = !1; - } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { - ; - } - } catch (err) { - _d = !0, _e = err; - } finally { - try { - if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; - } finally { - if (_d) throw _e; - } - } - return _arr; - } -} -module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), -/* 205 */ -/*!****************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/nonIterableRest.js ***! - \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} -module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), -/* 206 */ -/*!**********************!*\ - !*** external "Vue" ***! - \**********************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -module.exports = Vue; - -/***/ }), -/* 207 */ -/*!***************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/classCallCheck.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports) { - -function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } -} -module.exports = _classCallCheck, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), -/* 208 */ -/*!************************************************************!*\ - !*** ./node_modules/@babel/runtime/helpers/createClass.js ***! - \************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -var toPropertyKey = __webpack_require__(/*! ./toPropertyKey.js */ 3); -function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor); - } -} -function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - Object.defineProperty(Constructor, "prototype", { - writable: false - }); - return Constructor; -} -module.exports = _createClass, module.exports.__esModule = true, module.exports["default"] = module.exports; - -/***/ }), -/* 209 */ -/*!*********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/miniprogram-queue/es/index.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.WxQueue = void 0; -var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 202)); -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 207)); -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 208)); -/// -/** - * 微信小程序操作队列封装管理 - * @example var rq = new WxQueue(wx.requst); - * @template TParam 微信操作参数类型 - * @template TTask 微信操返回task类型 - */ -var WxQueue = /*#__PURE__*/function () { - /** - * 创建Wx操作队列 - * @param wxFunc Wx操作函数 - * @param maxLength 最大队列长度,默认10 - */ - function WxQueue(wxFunc) { - var maxLength = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 10; - (0, _classCallCheck2.default)(this, WxQueue); - /** - * 任务ID计数器 - */ - this.taskid = 0; - /** - * 待完成队列 - */ - this.todo = []; - /** - * 保持正在运行的任务 - */ - this.taskMap = new Map(); - this.operator = wxFunc; - this.MAX = maxLength || 10; - } - /** - * 向队列中添加操作 - * @param param 微信操作 - */ - (0, _createClass2.default)(WxQueue, [{ - key: "push", - value: function push(param) { - var _this = this; - var id = ++this.taskid; - if (this.taskMap.size < this.MAX) { - // task队列未满 - return this._process(id, param); - } else if (param.jump) { - // 插队 - this.todo.unshift([id, param]); - } else { - this.todo.push([id, param]); - } - return { - abort: function abort() { - _this._abort(id); - }, - onProgressUpdate: function onProgressUpdate(callback) { - _this._onProgress(id, callback); - }, - onHeadersReceived: function onHeadersReceived(callback) { - _this._onHeaders(id, callback); - } - }; - } - /** - * check and do next task - */ - }, { - key: "_next", - value: function _next() { - if (this.todo.length > 0 && this.taskMap.size < this.MAX) { - var _this$todo$shift = this.todo.shift(), - _this$todo$shift2 = (0, _slicedToArray2.default)(_this$todo$shift, 2), - taskid = _this$todo$shift2[0], - taskOptions = _this$todo$shift2[1]; - this._process(taskid, taskOptions); - } - } - /** - * process a task - * @param id task ID - * @param options task param - */ - }, { - key: "_process", - value: function _process(id, options) { - var _this2 = this; - var oldComplete = options.complete; - var timeoutFailHandle; - var taskTimeoutCancelled = false; - var task; - options.complete = function (res) { - if (timeoutFailHandle) { - // 清理计时器 - clearTimeout(timeoutFailHandle); - } - if (options.timestamp && _this2.taskMap.has(id)) { - res.time = _this2.taskMap.get(id)[1] || {}; - res.time.response = Date.now(); - } - _this2.taskMap.delete(id); - // 原始结束回调 - if (oldComplete) { - if (taskTimeoutCancelled) { - res.errMsg = "".concat((res.errMsg || '').split(':', 1)[0], ": timeout"); - res.timeout = true; - } - oldComplete.call(options, res); - } - _this2._next(); - }; - if (options.timeout > 0) { - // 自定义timeout 拦截fail 注入timeout - var oldFail = options.fail; - if (oldFail) { - options.fail = function (res) { - if (taskTimeoutCancelled) { - res.errMsg = "".concat((res.errMsg || '').split(':', 1)[0], ": timeout"); - res.timeout = true; - } - if (oldFail) { - oldFail.call(options, res); - } - }; - } - // 计时器 自定义超时 - timeoutFailHandle = setTimeout(function () { - timeoutFailHandle = undefined; - taskTimeoutCancelled = true; - task.abort(); - }, options.timeout); - } - task = this.operator(options); - // task progress polyfill - if (options.onProgressUpdate && task.onProgressUpdate) { - task.onProgressUpdate(options.onProgressUpdate); - } - // task onHeadersReceived - if (options.onHeadersReceived) { - task.onHeadersReceived(options.onHeadersReceived); - } - this.taskMap.set(id, [task, options.timestamp ? { - send: Date.now() - } : undefined]); - return task; - } - /** - * stop and remove a task - * @param taskid - the id of task to abort - */ - }, { - key: "_abort", - value: function _abort(taskid) { - var index = this.todo.findIndex(function (v) { - return v[0] === taskid; - }); - if (index >= 0) { - var completeCallback = this.todo[index][1].complete; - this.todo.splice(index, 1); - // call back complete. - if (completeCallback) { - completeCallback({ - errMsg: 'request:fail abort', - cancel: true, - source: WxQueue.name - }); - } - } else if (this.taskMap.has(taskid)) { - this.taskMap.get(taskid)[0].abort(); - this.taskMap.delete(taskid); - } - } - /** - * progress update callback - * https://developers.weixin.qq.com/miniprogram/dev/api/network/download/DownloadTask.onProgressUpdate.html - * @param taskid - task id - * @param callback 回调操作 - */ - }, { - key: "_onProgress", - value: function _onProgress(taskid, callback) { - var result = this.todo.find(function (v) { - return v[0] === taskid; - }); - if (result) { - result[1].onProgressUpdate = callback; - } else if (this.taskMap.has(taskid)) { - this.taskMap.get(taskid)[0].onProgressUpdate(callback); - } - } - }, { - key: "_onHeaders", - value: function _onHeaders(taskid, callback) { - var result = this.todo.find(function (v) { - return v[0] === taskid; - }); - if (result) { - result[1].onHeadersReceived = callback; - } else if (this.taskMap.has(taskid)) { - this.taskMap.get(taskid)[0].onHeadersReceived(callback); - } - } - }]); - return WxQueue; -}(); -exports.WxQueue = WxQueue; - -/***/ }), -/* 210 */ -/*!******************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/index.js ***! - \******************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.all = exports.VERSION = exports.HttpStatusCode = exports.CanceledError = exports.CancelToken = exports.Cancel = exports.AxiosHeaders = exports.AxiosError = exports.Axios = void 0; -Object.defineProperty(exports, "default", { - enumerable: true, - get: function get() { - return _axios.default; - } -}); -exports.toFormData = exports.spread = exports.mergeConfig = exports.isCancel = exports.isAxiosError = exports.getAdapter = exports.formToJSON = void 0; -var _axios = _interopRequireDefault(__webpack_require__(/*! ./lib/axios.js */ 211)); -// This module is intended to unwrap Axios default export as named. -// Keep top-level export same with static properties -// so that it can keep same with es module or cjs -var Axios = _axios.default.Axios, - AxiosError = _axios.default.AxiosError, - CanceledError = _axios.default.CanceledError, - isCancel = _axios.default.isCancel, - CancelToken = _axios.default.CancelToken, - VERSION = _axios.default.VERSION, - all = _axios.default.all, - Cancel = _axios.default.Cancel, - isAxiosError = _axios.default.isAxiosError, - spread = _axios.default.spread, - toFormData = _axios.default.toFormData, - AxiosHeaders = _axios.default.AxiosHeaders, - HttpStatusCode = _axios.default.HttpStatusCode, - formToJSON = _axios.default.formToJSON, - getAdapter = _axios.default.getAdapter, - mergeConfig = _axios.default.mergeConfig; -exports.mergeConfig = mergeConfig; -exports.getAdapter = getAdapter; -exports.formToJSON = formToJSON; -exports.HttpStatusCode = HttpStatusCode; -exports.AxiosHeaders = AxiosHeaders; -exports.toFormData = toFormData; -exports.spread = spread; -exports.isAxiosError = isAxiosError; -exports.Cancel = Cancel; -exports.all = all; -exports.VERSION = VERSION; -exports.CancelToken = CancelToken; -exports.isCancel = isCancel; -exports.CanceledError = CanceledError; -exports.AxiosError = AxiosError; -exports.Axios = Axios; - -/***/ }), -/* 211 */ -/*!**********************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/axios.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _utils = _interopRequireDefault(__webpack_require__(/*! ./utils.js */ 212)); -var _bind = _interopRequireDefault(__webpack_require__(/*! ./helpers/bind.js */ 213)); -var _Axios = _interopRequireDefault(__webpack_require__(/*! ./core/Axios.js */ 214)); -var _mergeConfig = _interopRequireDefault(__webpack_require__(/*! ./core/mergeConfig.js */ 246)); -var _index = _interopRequireDefault(__webpack_require__(/*! ./defaults/index.js */ 223)); -var _formDataToJSON = _interopRequireDefault(__webpack_require__(/*! ./helpers/formDataToJSON.js */ 231)); -var _CanceledError = _interopRequireDefault(__webpack_require__(/*! ./cancel/CanceledError.js */ 235)); -var _CancelToken = _interopRequireDefault(__webpack_require__(/*! ./cancel/CancelToken.js */ 249)); -var _isCancel = _interopRequireDefault(__webpack_require__(/*! ./cancel/isCancel.js */ 234)); -var _data = __webpack_require__(/*! ./env/data.js */ 248); -var _toFormData = _interopRequireDefault(__webpack_require__(/*! ./helpers/toFormData.js */ 217)); -var _AxiosError = _interopRequireDefault(__webpack_require__(/*! ./core/AxiosError.js */ 218)); -var _spread = _interopRequireDefault(__webpack_require__(/*! ./helpers/spread.js */ 250)); -var _isAxiosError = _interopRequireDefault(__webpack_require__(/*! ./helpers/isAxiosError.js */ 251)); -var _AxiosHeaders = _interopRequireDefault(__webpack_require__(/*! ./core/AxiosHeaders.js */ 232)); -var _adapters = _interopRequireDefault(__webpack_require__(/*! ./adapters/adapters.js */ 236)); -var _HttpStatusCode = _interopRequireDefault(__webpack_require__(/*! ./helpers/HttpStatusCode.js */ 252)); -/** - * Create an instance of Axios - * - * @param {Object} defaultConfig The default config for the instance - * - * @returns {Axios} A new instance of Axios - */ -function createInstance(defaultConfig) { - var context = new _Axios.default(defaultConfig); - var instance = (0, _bind.default)(_Axios.default.prototype.request, context); - - // Copy axios.prototype to instance - _utils.default.extend(instance, _Axios.default.prototype, context, { - allOwnKeys: true - }); - - // Copy context to instance - _utils.default.extend(instance, context, null, { - allOwnKeys: true - }); - - // Factory for creating new instances - instance.create = function create(instanceConfig) { - return createInstance((0, _mergeConfig.default)(defaultConfig, instanceConfig)); - }; - return instance; -} - -// Create the default instance to be exported -var axios = createInstance(_index.default); - -// Expose Axios class to allow class inheritance -axios.Axios = _Axios.default; - -// Expose Cancel & CancelToken -axios.CanceledError = _CanceledError.default; -axios.CancelToken = _CancelToken.default; -axios.isCancel = _isCancel.default; -axios.VERSION = _data.VERSION; -axios.toFormData = _toFormData.default; - -// Expose AxiosError class -axios.AxiosError = _AxiosError.default; - -// alias for CanceledError for backward compatibility -axios.Cancel = axios.CanceledError; - -// Expose all/spread -axios.all = function all(promises) { - return Promise.all(promises); -}; -axios.spread = _spread.default; - -// Expose isAxiosError -axios.isAxiosError = _isAxiosError.default; - -// Expose mergeConfig -axios.mergeConfig = _mergeConfig.default; -axios.AxiosHeaders = _AxiosHeaders.default; -axios.formToJSON = function (thing) { - return (0, _formDataToJSON.default)(_utils.default.isHTMLForm(thing) ? new FormData(thing) : thing); -}; -axios.getAdapter = _adapters.default.getAdapter; -axios.HttpStatusCode = _HttpStatusCode.default; -axios.default = axios; - -// this module should only have a default export -var _default = axios; -exports.default = _default; - -/***/ }), -/* 212 */ -/*!**********************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/utils.js ***! - \**********************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(global) { - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 4)); -var _bind = _interopRequireDefault(__webpack_require__(/*! ./helpers/bind.js */ 213)); -// utils is a library of generic helper functions non-specific to axios - -var toString = Object.prototype.toString; -var getPrototypeOf = Object.getPrototypeOf; -var kindOf = function (cache) { - return function (thing) { - var str = toString.call(thing); - return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase()); - }; -}(Object.create(null)); -var kindOfTest = function kindOfTest(type) { - type = type.toLowerCase(); - return function (thing) { - return kindOf(thing) === type; - }; -}; -var typeOfTest = function typeOfTest(type) { - return function (thing) { - return (0, _typeof2.default)(thing) === type; - }; -}; - -/** - * Determine if a value is an Array - * - * @param {Object} val The value to test - * - * @returns {boolean} True if value is an Array, otherwise false - */ -var isArray = Array.isArray; - -/** - * Determine if a value is undefined - * - * @param {*} val The value to test - * - * @returns {boolean} True if the value is undefined, otherwise false - */ -var isUndefined = typeOfTest('undefined'); - -/** - * Determine if a value is a Buffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Buffer, otherwise false - */ -function isBuffer(val) { - return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val); -} - -/** - * Determine if a value is an ArrayBuffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is an ArrayBuffer, otherwise false - */ -var isArrayBuffer = kindOfTest('ArrayBuffer'); - -/** - * Determine if a value is a view on an ArrayBuffer - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false - */ -function isArrayBufferView(val) { - var result; - if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) { - result = ArrayBuffer.isView(val); - } else { - result = val && val.buffer && isArrayBuffer(val.buffer); - } - return result; -} - -/** - * Determine if a value is a String - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a String, otherwise false - */ -var isString = typeOfTest('string'); - -/** - * Determine if a value is a Function - * - * @param {*} val The value to test - * @returns {boolean} True if value is a Function, otherwise false - */ -var isFunction = typeOfTest('function'); - -/** - * Determine if a value is a Number - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Number, otherwise false - */ -var isNumber = typeOfTest('number'); - -/** - * Determine if a value is an Object - * - * @param {*} thing The value to test - * - * @returns {boolean} True if value is an Object, otherwise false - */ -var isObject = function isObject(thing) { - return thing !== null && (0, _typeof2.default)(thing) === 'object'; -}; - -/** - * Determine if a value is a Boolean - * - * @param {*} thing The value to test - * @returns {boolean} True if value is a Boolean, otherwise false - */ -var isBoolean = function isBoolean(thing) { - return thing === true || thing === false; -}; - -/** - * Determine if a value is a plain Object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a plain Object, otherwise false - */ -var isPlainObject = function isPlainObject(val) { - if (kindOf(val) !== 'object') { - return false; - } - var prototype = getPrototypeOf(val); - return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val); -}; - -/** - * Determine if a value is a Date - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Date, otherwise false - */ -var isDate = kindOfTest('Date'); - -/** - * Determine if a value is a File - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a File, otherwise false - */ -var isFile = kindOfTest('File'); - -/** - * Determine if a value is a Blob - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Blob, otherwise false - */ -var isBlob = kindOfTest('Blob'); - -/** - * Determine if a value is a FileList - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a File, otherwise false - */ -var isFileList = kindOfTest('FileList'); - -/** - * Determine if a value is a Stream - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a Stream, otherwise false - */ -var isStream = function isStream(val) { - return isObject(val) && isFunction(val.pipe); -}; - -/** - * Determine if a value is a FormData - * - * @param {*} thing The value to test - * - * @returns {boolean} True if value is an FormData, otherwise false - */ -var isFormData = function isFormData(thing) { - var kind; - return thing && (typeof FormData === 'function' && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === 'formdata' || - // detect form-data instance - kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')); -}; - -/** - * Determine if a value is a URLSearchParams object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a URLSearchParams object, otherwise false - */ -var isURLSearchParams = kindOfTest('URLSearchParams'); - -/** - * Trim excess whitespace off the beginning and end of a string - * - * @param {String} str The String to trim - * - * @returns {String} The String freed of excess whitespace - */ -var trim = function trim(str) { - return str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); -}; - -/** - * Iterate over an Array or an Object invoking a function for each item. - * - * If `obj` is an Array callback will be called passing - * the value, index, and complete array for each item. - * - * If 'obj' is an Object callback will be called passing - * the value, key, and complete object for each property. - * - * @param {Object|Array} obj The object to iterate - * @param {Function} fn The callback to invoke for each item - * - * @param {Boolean} [allOwnKeys = false] - * @returns {any} - */ -function forEach(obj, fn) { - var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}, - _ref$allOwnKeys = _ref.allOwnKeys, - allOwnKeys = _ref$allOwnKeys === void 0 ? false : _ref$allOwnKeys; - // Don't bother if no value provided - if (obj === null || typeof obj === 'undefined') { - return; - } - var i; - var l; - - // Force an array if not already something iterable - if ((0, _typeof2.default)(obj) !== 'object') { - /*eslint no-param-reassign:0*/ - obj = [obj]; - } - if (isArray(obj)) { - // Iterate over array values - for (i = 0, l = obj.length; i < l; i++) { - fn.call(null, obj[i], i, obj); - } - } else { - // Iterate over object keys - var keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj); - var len = keys.length; - var key; - for (i = 0; i < len; i++) { - key = keys[i]; - fn.call(null, obj[key], key, obj); - } - } -} -function findKey(obj, key) { - key = key.toLowerCase(); - var keys = Object.keys(obj); - var i = keys.length; - var _key; - while (i-- > 0) { - _key = keys[i]; - if (key === _key.toLowerCase()) { - return _key; - } - } - return null; -} -var _global = function () { - /*eslint no-undef:0*/ - if (typeof globalThis !== "undefined") return globalThis; - return typeof self !== "undefined" ? self : typeof window !== 'undefined' ? window : global; -}(); -var isContextDefined = function isContextDefined(context) { - return !isUndefined(context) && context !== _global; -}; - -/** - * Accepts varargs expecting each argument to be an object, then - * immutably merges the properties of each object and returns result. - * - * When multiple objects contain the same key the later object in - * the arguments list will take precedence. - * - * Example: - * - * ```js - * var result = merge({foo: 123}, {foo: 456}); - * console.log(result.foo); // outputs 456 - * ``` - * - * @param {Object} obj1 Object to merge - * - * @returns {Object} Result of all merge properties - */ -function merge( /* obj1, obj2, obj3, ... */ -) { - var _ref2 = isContextDefined(this) && this || {}, - caseless = _ref2.caseless; - var result = {}; - var assignValue = function assignValue(val, key) { - var targetKey = caseless && findKey(result, key) || key; - if (isPlainObject(result[targetKey]) && isPlainObject(val)) { - result[targetKey] = merge(result[targetKey], val); - } else if (isPlainObject(val)) { - result[targetKey] = merge({}, val); - } else if (isArray(val)) { - result[targetKey] = val.slice(); - } else { - result[targetKey] = val; - } - }; - for (var i = 0, l = arguments.length; i < l; i++) { - arguments[i] && forEach(arguments[i], assignValue); - } - return result; -} - -/** - * Extends object a by mutably adding to it the properties of object b. - * - * @param {Object} a The object to be extended - * @param {Object} b The object to copy properties from - * @param {Object} thisArg The object to bind function to - * - * @param {Boolean} [allOwnKeys] - * @returns {Object} The resulting value of object a - */ -var extend = function extend(a, b, thisArg) { - var _ref3 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}, - allOwnKeys = _ref3.allOwnKeys; - forEach(b, function (val, key) { - if (thisArg && isFunction(val)) { - a[key] = (0, _bind.default)(val, thisArg); - } else { - a[key] = val; - } - }, { - allOwnKeys: allOwnKeys - }); - return a; -}; - -/** - * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM) - * - * @param {string} content with BOM - * - * @returns {string} content value without BOM - */ -var stripBOM = function stripBOM(content) { - if (content.charCodeAt(0) === 0xFEFF) { - content = content.slice(1); - } - return content; -}; - -/** - * Inherit the prototype methods from one constructor into another - * @param {function} constructor - * @param {function} superConstructor - * @param {object} [props] - * @param {object} [descriptors] - * - * @returns {void} - */ -var inherits = function inherits(constructor, superConstructor, props, descriptors) { - constructor.prototype = Object.create(superConstructor.prototype, descriptors); - constructor.prototype.constructor = constructor; - Object.defineProperty(constructor, 'super', { - value: superConstructor.prototype - }); - props && Object.assign(constructor.prototype, props); -}; - -/** - * Resolve object with deep prototype chain to a flat object - * @param {Object} sourceObj source object - * @param {Object} [destObj] - * @param {Function|Boolean} [filter] - * @param {Function} [propFilter] - * - * @returns {Object} - */ -var toFlatObject = function toFlatObject(sourceObj, destObj, filter, propFilter) { - var props; - var i; - var prop; - var merged = {}; - destObj = destObj || {}; - // eslint-disable-next-line no-eq-null,eqeqeq - if (sourceObj == null) return destObj; - do { - props = Object.getOwnPropertyNames(sourceObj); - i = props.length; - while (i-- > 0) { - prop = props[i]; - if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) { - destObj[prop] = sourceObj[prop]; - merged[prop] = true; - } - } - sourceObj = filter !== false && getPrototypeOf(sourceObj); - } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype); - return destObj; -}; - -/** - * Determines whether a string ends with the characters of a specified string - * - * @param {String} str - * @param {String} searchString - * @param {Number} [position= 0] - * - * @returns {boolean} - */ -var endsWith = function endsWith(str, searchString, position) { - str = String(str); - if (position === undefined || position > str.length) { - position = str.length; - } - position -= searchString.length; - var lastIndex = str.indexOf(searchString, position); - return lastIndex !== -1 && lastIndex === position; -}; - -/** - * Returns new array from array like object or null if failed - * - * @param {*} [thing] - * - * @returns {?Array} - */ -var toArray = function toArray(thing) { - if (!thing) return null; - if (isArray(thing)) return thing; - var i = thing.length; - if (!isNumber(i)) return null; - var arr = new Array(i); - while (i-- > 0) { - arr[i] = thing[i]; - } - return arr; -}; - -/** - * Checking if the Uint8Array exists and if it does, it returns a function that checks if the - * thing passed in is an instance of Uint8Array - * - * @param {TypedArray} - * - * @returns {Array} - */ -// eslint-disable-next-line func-names -var isTypedArray = function (TypedArray) { - // eslint-disable-next-line func-names - return function (thing) { - return TypedArray && thing instanceof TypedArray; - }; -}(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array)); - -/** - * For each entry in the object, call the function with the key and value. - * - * @param {Object} obj - The object to iterate over. - * @param {Function} fn - The function to call for each entry. - * - * @returns {void} - */ -var forEachEntry = function forEachEntry(obj, fn) { - var generator = obj && obj[Symbol.iterator]; - var iterator = generator.call(obj); - var result; - while ((result = iterator.next()) && !result.done) { - var pair = result.value; - fn.call(obj, pair[0], pair[1]); - } -}; - -/** - * It takes a regular expression and a string, and returns an array of all the matches - * - * @param {string} regExp - The regular expression to match against. - * @param {string} str - The string to search. - * - * @returns {Array} - */ -var matchAll = function matchAll(regExp, str) { - var matches; - var arr = []; - while ((matches = regExp.exec(str)) !== null) { - arr.push(matches); - } - return arr; -}; - -/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */ -var isHTMLForm = kindOfTest('HTMLFormElement'); -var toCamelCase = function toCamelCase(str) { - return str.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g, function replacer(m, p1, p2) { - return p1.toUpperCase() + p2; - }); -}; - -/* Creating a function that will check if an object has a property. */ -var hasOwnProperty = function (_ref4) { - var hasOwnProperty = _ref4.hasOwnProperty; - return function (obj, prop) { - return hasOwnProperty.call(obj, prop); - }; -}(Object.prototype); - -/** - * Determine if a value is a RegExp object - * - * @param {*} val The value to test - * - * @returns {boolean} True if value is a RegExp object, otherwise false - */ -var isRegExp = kindOfTest('RegExp'); -var reduceDescriptors = function reduceDescriptors(obj, reducer) { - var descriptors = Object.getOwnPropertyDescriptors(obj); - var reducedDescriptors = {}; - forEach(descriptors, function (descriptor, name) { - var ret; - if ((ret = reducer(descriptor, name, obj)) !== false) { - reducedDescriptors[name] = ret || descriptor; - } - }); - Object.defineProperties(obj, reducedDescriptors); -}; - -/** - * Makes all methods read-only - * @param {Object} obj - */ - -var freezeMethods = function freezeMethods(obj) { - reduceDescriptors(obj, function (descriptor, name) { - // skip restricted props in strict mode - if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) { - return false; - } - var value = obj[name]; - if (!isFunction(value)) return; - descriptor.enumerable = false; - if ('writable' in descriptor) { - descriptor.writable = false; - return; - } - if (!descriptor.set) { - descriptor.set = function () { - throw Error('Can not rewrite read-only method \'' + name + '\''); - }; - } - }); -}; -var toObjectSet = function toObjectSet(arrayOrString, delimiter) { - var obj = {}; - var define = function define(arr) { - arr.forEach(function (value) { - obj[value] = true; - }); - }; - isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter)); - return obj; -}; -var noop = function noop() {}; -var toFiniteNumber = function toFiniteNumber(value, defaultValue) { - value = +value; - return Number.isFinite(value) ? value : defaultValue; -}; -var ALPHA = 'abcdefghijklmnopqrstuvwxyz'; -var DIGIT = '0123456789'; -var ALPHABET = { - DIGIT: DIGIT, - ALPHA: ALPHA, - ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT -}; -var generateString = function generateString() { - var size = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 16; - var alphabet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ALPHABET.ALPHA_DIGIT; - var str = ''; - var length = alphabet.length; - while (size--) { - str += alphabet[Math.random() * length | 0]; - } - return str; -}; - -/** - * If the thing is a FormData object, return true, otherwise return false. - * - * @param {unknown} thing - The thing to check. - * - * @returns {boolean} - */ -function isSpecCompliantForm(thing) { - return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]); -} -var toJSONObject = function toJSONObject(obj) { - var stack = new Array(10); - var visit = function visit(source, i) { - if (isObject(source)) { - if (stack.indexOf(source) >= 0) { - return; - } - if (!('toJSON' in source)) { - stack[i] = source; - var target = isArray(source) ? [] : {}; - forEach(source, function (value, key) { - var reducedValue = visit(value, i + 1); - !isUndefined(reducedValue) && (target[key] = reducedValue); - }); - stack[i] = undefined; - return target; - } - } - return source; - }; - return visit(obj, 0); -}; -var isAsyncFn = kindOfTest('AsyncFunction'); -var isThenable = function isThenable(thing) { - return thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch); -}; -var _default = { - isArray: isArray, - isArrayBuffer: isArrayBuffer, - isBuffer: isBuffer, - isFormData: isFormData, - isArrayBufferView: isArrayBufferView, - isString: isString, - isNumber: isNumber, - isBoolean: isBoolean, - isObject: isObject, - isPlainObject: isPlainObject, - isUndefined: isUndefined, - isDate: isDate, - isFile: isFile, - isBlob: isBlob, - isRegExp: isRegExp, - isFunction: isFunction, - isStream: isStream, - isURLSearchParams: isURLSearchParams, - isTypedArray: isTypedArray, - isFileList: isFileList, - forEach: forEach, - merge: merge, - extend: extend, - trim: trim, - stripBOM: stripBOM, - inherits: inherits, - toFlatObject: toFlatObject, - kindOf: kindOf, - kindOfTest: kindOfTest, - endsWith: endsWith, - toArray: toArray, - forEachEntry: forEachEntry, - matchAll: matchAll, - isHTMLForm: isHTMLForm, - hasOwnProperty: hasOwnProperty, - hasOwnProp: hasOwnProperty, - // an alias to avoid ESLint no-prototype-builtins detection - reduceDescriptors: reduceDescriptors, - freezeMethods: freezeMethods, - toObjectSet: toObjectSet, - toCamelCase: toCamelCase, - noop: noop, - toFiniteNumber: toFiniteNumber, - findKey: findKey, - global: _global, - isContextDefined: isContextDefined, - ALPHABET: ALPHABET, - generateString: generateString, - isSpecCompliantForm: isSpecCompliantForm, - toJSONObject: toJSONObject, - isAsyncFn: isAsyncFn, - isThenable: isThenable -}; -exports.default = _default; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../HBuilderX/plugins/uniapp-cli/node_modules/webpack/buildin/global.js */ 30))) - -/***/ }), -/* 213 */ -/*!*****************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/bind.js ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = bind; -function bind(fn, thisArg) { - return function wrap() { - return fn.apply(thisArg, arguments); - }; -} - -/***/ }), -/* 214 */ -/*!***************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/core/Axios.js ***! - \***************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 207)); -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 208)); -var _utils = _interopRequireDefault(__webpack_require__(/*! ./../utils.js */ 212)); -var _buildURL = _interopRequireDefault(__webpack_require__(/*! ../helpers/buildURL.js */ 215)); -var _InterceptorManager = _interopRequireDefault(__webpack_require__(/*! ./InterceptorManager.js */ 220)); -var _dispatchRequest = _interopRequireDefault(__webpack_require__(/*! ./dispatchRequest.js */ 221)); -var _mergeConfig = _interopRequireDefault(__webpack_require__(/*! ./mergeConfig.js */ 246)); -var _buildFullPath = _interopRequireDefault(__webpack_require__(/*! ./buildFullPath.js */ 240)); -var _validator = _interopRequireDefault(__webpack_require__(/*! ../helpers/validator.js */ 247)); -var _AxiosHeaders = _interopRequireDefault(__webpack_require__(/*! ./AxiosHeaders.js */ 232)); -var validators = _validator.default.validators; - -/** - * Create a new instance of Axios - * - * @param {Object} instanceConfig The default config for the instance - * - * @return {Axios} A new instance of Axios - */ -var Axios = /*#__PURE__*/function () { - function Axios(instanceConfig) { - (0, _classCallCheck2.default)(this, Axios); - this.defaults = instanceConfig; - this.interceptors = { - request: new _InterceptorManager.default(), - response: new _InterceptorManager.default() - }; - } - - /** - * Dispatch a request - * - * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults) - * @param {?Object} config - * - * @returns {Promise} The Promise to be fulfilled - */ - (0, _createClass2.default)(Axios, [{ - key: "request", - value: function request(configOrUrl, config) { - /*eslint no-param-reassign:0*/ - // Allow for axios('example/url'[, config]) a la fetch API - if (typeof configOrUrl === 'string') { - config = config || {}; - config.url = configOrUrl; - } else { - config = configOrUrl || {}; - } - config = (0, _mergeConfig.default)(this.defaults, config); - var _config = config, - transitional = _config.transitional, - paramsSerializer = _config.paramsSerializer, - headers = _config.headers; - if (transitional !== undefined) { - _validator.default.assertOptions(transitional, { - silentJSONParsing: validators.transitional(validators.boolean), - forcedJSONParsing: validators.transitional(validators.boolean), - clarifyTimeoutError: validators.transitional(validators.boolean) - }, false); - } - if (paramsSerializer != null) { - if (_utils.default.isFunction(paramsSerializer)) { - config.paramsSerializer = { - serialize: paramsSerializer - }; - } else { - _validator.default.assertOptions(paramsSerializer, { - encode: validators.function, - serialize: validators.function - }, true); - } - } - - // Set config.method - config.method = (config.method || this.defaults.method || 'get').toLowerCase(); - - // Flatten headers - var contextHeaders = headers && _utils.default.merge(headers.common, headers[config.method]); - headers && _utils.default.forEach(['delete', 'get', 'head', 'post', 'put', 'patch', 'common'], function (method) { - delete headers[method]; - }); - config.headers = _AxiosHeaders.default.concat(contextHeaders, headers); - - // filter out skipped interceptors - var requestInterceptorChain = []; - var synchronousRequestInterceptors = true; - this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) { - if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) { - return; - } - synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous; - requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected); - }); - var responseInterceptorChain = []; - this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) { - responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected); - }); - var promise; - var i = 0; - var len; - if (!synchronousRequestInterceptors) { - var chain = [_dispatchRequest.default.bind(this), undefined]; - chain.unshift.apply(chain, requestInterceptorChain); - chain.push.apply(chain, responseInterceptorChain); - len = chain.length; - promise = Promise.resolve(config); - while (i < len) { - promise = promise.then(chain[i++], chain[i++]); - } - return promise; - } - len = requestInterceptorChain.length; - var newConfig = config; - i = 0; - while (i < len) { - var onFulfilled = requestInterceptorChain[i++]; - var onRejected = requestInterceptorChain[i++]; - try { - newConfig = onFulfilled(newConfig); - } catch (error) { - onRejected.call(this, error); - break; - } - } - try { - promise = _dispatchRequest.default.call(this, newConfig); - } catch (error) { - return Promise.reject(error); - } - i = 0; - len = responseInterceptorChain.length; - while (i < len) { - promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]); - } - return promise; - } - }, { - key: "getUri", - value: function getUri(config) { - config = (0, _mergeConfig.default)(this.defaults, config); - var fullPath = (0, _buildFullPath.default)(config.baseURL, config.url); - return (0, _buildURL.default)(fullPath, config.params, config.paramsSerializer); - } - }]); - return Axios; -}(); // Provide aliases for supported request methods -_utils.default.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) { - /*eslint func-names:0*/ - Axios.prototype[method] = function (url, config) { - return this.request((0, _mergeConfig.default)(config || {}, { - method: method, - url: url, - data: (config || {}).data - })); - }; -}); -_utils.default.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) { - /*eslint func-names:0*/ - - function generateHTTPMethod(isForm) { - return function httpMethod(url, data, config) { - return this.request((0, _mergeConfig.default)(config || {}, { - method: method, - headers: isForm ? { - 'Content-Type': 'multipart/form-data' - } : {}, - url: url, - data: data - })); - }; - } - Axios.prototype[method] = generateHTTPMethod(); - Axios.prototype[method + 'Form'] = generateHTTPMethod(true); -}); -var _default = Axios; -exports.default = _default; - -/***/ }), -/* 215 */ -/*!*********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/buildURL.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = buildURL; -var _utils = _interopRequireDefault(__webpack_require__(/*! ../utils.js */ 212)); -var _AxiosURLSearchParams = _interopRequireDefault(__webpack_require__(/*! ../helpers/AxiosURLSearchParams.js */ 216)); -/** - * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their - * URI encoded counterparts - * - * @param {string} val The value to be encoded. - * - * @returns {string} The encoded value. - */ -function encode(val) { - return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']'); -} - -/** - * Build a URL by appending params to the end - * - * @param {string} url The base of the url (e.g., http://www.google.com) - * @param {object} [params] The params to be appended - * @param {?object} options - * - * @returns {string} The formatted url - */ -function buildURL(url, params, options) { - /*eslint no-param-reassign:0*/ - if (!params) { - return url; - } - var _encode = options && options.encode || encode; - var serializeFn = options && options.serialize; - var serializedParams; - if (serializeFn) { - serializedParams = serializeFn(params, options); - } else { - serializedParams = _utils.default.isURLSearchParams(params) ? params.toString() : new _AxiosURLSearchParams.default(params, options).toString(_encode); - } - if (serializedParams) { - var hashmarkIndex = url.indexOf("#"); - if (hashmarkIndex !== -1) { - url = url.slice(0, hashmarkIndex); - } - url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams; - } - return url; -} - -/***/ }), -/* 216 */ -/*!*********************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/AxiosURLSearchParams.js ***! - \*********************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _toFormData = _interopRequireDefault(__webpack_require__(/*! ./toFormData.js */ 217)); -/** - * It encodes a string by replacing all characters that are not in the unreserved set with - * their percent-encoded equivalents - * - * @param {string} str - The string to encode. - * - * @returns {string} The encoded string. - */ -function encode(str) { - var charMap = { - '!': '%21', - "'": '%27', - '(': '%28', - ')': '%29', - '~': '%7E', - '%20': '+', - '%00': '\x00' - }; - return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) { - return charMap[match]; - }); -} - -/** - * It takes a params object and converts it to a FormData object - * - * @param {Object} params - The parameters to be converted to a FormData object. - * @param {Object} options - The options object passed to the Axios constructor. - * - * @returns {void} - */ -function AxiosURLSearchParams(params, options) { - this._pairs = []; - params && (0, _toFormData.default)(params, this, options); -} -var prototype = AxiosURLSearchParams.prototype; -prototype.append = function append(name, value) { - this._pairs.push([name, value]); -}; -prototype.toString = function toString(encoder) { - var _encode = encoder ? function (value) { - return encoder.call(this, value, encode); - } : encode; - return this._pairs.map(function each(pair) { - return _encode(pair[0]) + '=' + _encode(pair[1]); - }, '').join('&'); -}; -var _default = AxiosURLSearchParams; -exports.default = _default; - -/***/ }), -/* 217 */ -/*!***********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/toFormData.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(Buffer) { - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 4)); -var _utils = _interopRequireDefault(__webpack_require__(/*! ../utils.js */ 212)); -var _AxiosError = _interopRequireDefault(__webpack_require__(/*! ../core/AxiosError.js */ 218)); -var _FormData = _interopRequireDefault(__webpack_require__(/*! ../platform/node/classes/FormData.js */ 219)); -// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored - -/** - * Determines if the given thing is a array or js object. - * - * @param {string} thing - The object or array to be visited. - * - * @returns {boolean} - */ -function isVisitable(thing) { - return _utils.default.isPlainObject(thing) || _utils.default.isArray(thing); -} - -/** - * It removes the brackets from the end of a string - * - * @param {string} key - The key of the parameter. - * - * @returns {string} the key without the brackets. - */ -function removeBrackets(key) { - return _utils.default.endsWith(key, '[]') ? key.slice(0, -2) : key; -} - -/** - * It takes a path, a key, and a boolean, and returns a string - * - * @param {string} path - The path to the current key. - * @param {string} key - The key of the current object being iterated over. - * @param {string} dots - If true, the key will be rendered with dots instead of brackets. - * - * @returns {string} The path to the current key. - */ -function renderKey(path, key, dots) { - if (!path) return key; - return path.concat(key).map(function each(token, i) { - // eslint-disable-next-line no-param-reassign - token = removeBrackets(token); - return !dots && i ? '[' + token + ']' : token; - }).join(dots ? '.' : ''); -} - -/** - * If the array is an array and none of its elements are visitable, then it's a flat array. - * - * @param {Array} arr - The array to check - * - * @returns {boolean} - */ -function isFlatArray(arr) { - return _utils.default.isArray(arr) && !arr.some(isVisitable); -} -var predicates = _utils.default.toFlatObject(_utils.default, {}, null, function filter(prop) { - return /^is[A-Z]/.test(prop); -}); - -/** - * Convert a data object to FormData - * - * @param {Object} obj - * @param {?Object} [formData] - * @param {?Object} [options] - * @param {Function} [options.visitor] - * @param {Boolean} [options.metaTokens = true] - * @param {Boolean} [options.dots = false] - * @param {?Boolean} [options.indexes = false] - * - * @returns {Object} - **/ - -/** - * It converts an object into a FormData object - * - * @param {Object} obj - The object to convert to form data. - * @param {string} formData - The FormData object to append to. - * @param {Object} options - * - * @returns - */ -function toFormData(obj, formData, options) { - if (!_utils.default.isObject(obj)) { - throw new TypeError('target must be an object'); - } - - // eslint-disable-next-line no-param-reassign - formData = formData || new (_FormData.default || FormData)(); - - // eslint-disable-next-line no-param-reassign - options = _utils.default.toFlatObject(options, { - metaTokens: true, - dots: false, - indexes: false - }, false, function defined(option, source) { - // eslint-disable-next-line no-eq-null,eqeqeq - return !_utils.default.isUndefined(source[option]); - }); - var metaTokens = options.metaTokens; - // eslint-disable-next-line no-use-before-define - var visitor = options.visitor || defaultVisitor; - var dots = options.dots; - var indexes = options.indexes; - var _Blob = options.Blob || typeof Blob !== 'undefined' && Blob; - var useBlob = _Blob && _utils.default.isSpecCompliantForm(formData); - if (!_utils.default.isFunction(visitor)) { - throw new TypeError('visitor must be a function'); - } - function convertValue(value) { - if (value === null) return ''; - if (_utils.default.isDate(value)) { - return value.toISOString(); - } - if (!useBlob && _utils.default.isBlob(value)) { - throw new _AxiosError.default('Blob is not supported. Use a Buffer instead.'); - } - if (_utils.default.isArrayBuffer(value) || _utils.default.isTypedArray(value)) { - return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value); - } - return value; - } - - /** - * Default visitor. - * - * @param {*} value - * @param {String|Number} key - * @param {Array} path - * @this {FormData} - * - * @returns {boolean} return true to visit the each prop of the value recursively - */ - function defaultVisitor(value, key, path) { - var arr = value; - if (value && !path && (0, _typeof2.default)(value) === 'object') { - if (_utils.default.endsWith(key, '{}')) { - // eslint-disable-next-line no-param-reassign - key = metaTokens ? key : key.slice(0, -2); - // eslint-disable-next-line no-param-reassign - value = JSON.stringify(value); - } else if (_utils.default.isArray(value) && isFlatArray(value) || (_utils.default.isFileList(value) || _utils.default.endsWith(key, '[]')) && (arr = _utils.default.toArray(value))) { - // eslint-disable-next-line no-param-reassign - key = removeBrackets(key); - arr.forEach(function each(el, index) { - !(_utils.default.isUndefined(el) || el === null) && formData.append( - // eslint-disable-next-line no-nested-ternary - indexes === true ? renderKey([key], index, dots) : indexes === null ? key : key + '[]', convertValue(el)); - }); - return false; - } - } - if (isVisitable(value)) { - return true; - } - formData.append(renderKey(path, key, dots), convertValue(value)); - return false; - } - var stack = []; - var exposedHelpers = Object.assign(predicates, { - defaultVisitor: defaultVisitor, - convertValue: convertValue, - isVisitable: isVisitable - }); - function build(value, path) { - if (_utils.default.isUndefined(value)) return; - if (stack.indexOf(value) !== -1) { - throw Error('Circular reference detected in ' + path.join('.')); - } - stack.push(value); - _utils.default.forEach(value, function each(el, key) { - var result = !(_utils.default.isUndefined(el) || el === null) && visitor.call(formData, el, _utils.default.isString(key) ? key.trim() : key, path, exposedHelpers); - if (result === true) { - build(el, path ? path.concat(key) : [key]); - } - }); - stack.pop(); - } - if (!_utils.default.isObject(obj)) { - throw new TypeError('data must be an object'); - } - build(obj); - return formData; -} -var _default = toFormData; -exports.default = _default; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../../../../HBuilderX/plugins/uniapp-cli/node_modules/buffer/index.js */ 39).Buffer)) - -/***/ }), -/* 218 */ -/*!********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/core/AxiosError.js ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _utils = _interopRequireDefault(__webpack_require__(/*! ../utils.js */ 212)); -/** - * Create an Error with the specified message, config, error code, request and response. - * - * @param {string} message The error message. - * @param {string} [code] The error code (for example, 'ECONNABORTED'). - * @param {Object} [config] The config. - * @param {Object} [request] The request. - * @param {Object} [response] The response. - * - * @returns {Error} The created error. - */ -function AxiosError(message, code, config, request, response) { - Error.call(this); - if (Error.captureStackTrace) { - Error.captureStackTrace(this, this.constructor); - } else { - this.stack = new Error().stack; - } - this.message = message; - this.name = 'AxiosError'; - code && (this.code = code); - config && (this.config = config); - request && (this.request = request); - response && (this.response = response); -} -_utils.default.inherits(AxiosError, Error, { - toJSON: function toJSON() { - return { - // Standard - message: this.message, - name: this.name, - // Microsoft - description: this.description, - number: this.number, - // Mozilla - fileName: this.fileName, - lineNumber: this.lineNumber, - columnNumber: this.columnNumber, - stack: this.stack, - // Axios - config: _utils.default.toJSONObject(this.config), - code: this.code, - status: this.response && this.response.status ? this.response.status : null - }; - } -}); -var prototype = AxiosError.prototype; -var descriptors = {}; -['ERR_BAD_OPTION_VALUE', 'ERR_BAD_OPTION', 'ECONNABORTED', 'ETIMEDOUT', 'ERR_NETWORK', 'ERR_FR_TOO_MANY_REDIRECTS', 'ERR_DEPRECATED', 'ERR_BAD_RESPONSE', 'ERR_BAD_REQUEST', 'ERR_CANCELED', 'ERR_NOT_SUPPORT', 'ERR_INVALID_URL' -// eslint-disable-next-line func-names -].forEach(function (code) { - descriptors[code] = { - value: code - }; -}); -Object.defineProperties(AxiosError, descriptors); -Object.defineProperty(prototype, 'isAxiosError', { - value: true -}); - -// eslint-disable-next-line func-names -AxiosError.from = function (error, code, config, request, response, customProps) { - var axiosError = Object.create(prototype); - _utils.default.toFlatObject(error, axiosError, function filter(obj) { - return obj !== Error.prototype; - }, function (prop) { - return prop !== 'isAxiosError'; - }); - AxiosError.call(axiosError, error.message, code, config, request, response); - axiosError.cause = error; - axiosError.name = error.name; - customProps && Object.assign(axiosError, customProps); - return axiosError; -}; -var _default = AxiosError; -exports.default = _default; - -/***/ }), -/* 219 */ -/*!*****************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/null.js ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -// eslint-disable-next-line strict -var _default = null; -exports.default = _default; - -/***/ }), -/* 220 */ -/*!****************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/core/InterceptorManager.js ***! - \****************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 207)); -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 208)); -var _utils = _interopRequireDefault(__webpack_require__(/*! ./../utils.js */ 212)); -var InterceptorManager = /*#__PURE__*/function () { - function InterceptorManager() { - (0, _classCallCheck2.default)(this, InterceptorManager); - this.handlers = []; - } - - /** - * Add a new interceptor to the stack - * - * @param {Function} fulfilled The function to handle `then` for a `Promise` - * @param {Function} rejected The function to handle `reject` for a `Promise` - * - * @return {Number} An ID used to remove interceptor later - */ - (0, _createClass2.default)(InterceptorManager, [{ - key: "use", - value: function use(fulfilled, rejected, options) { - this.handlers.push({ - fulfilled: fulfilled, - rejected: rejected, - synchronous: options ? options.synchronous : false, - runWhen: options ? options.runWhen : null - }); - return this.handlers.length - 1; - } - - /** - * Remove an interceptor from the stack - * - * @param {Number} id The ID that was returned by `use` - * - * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise - */ - }, { - key: "eject", - value: function eject(id) { - if (this.handlers[id]) { - this.handlers[id] = null; - } - } - - /** - * Clear all interceptors from the stack - * - * @returns {void} - */ - }, { - key: "clear", - value: function clear() { - if (this.handlers) { - this.handlers = []; - } - } - - /** - * Iterate over all the registered interceptors - * - * This method is particularly useful for skipping over any - * interceptors that may have become `null` calling `eject`. - * - * @param {Function} fn The function to call for each interceptor - * - * @returns {void} - */ - }, { - key: "forEach", - value: function forEach(fn) { - _utils.default.forEach(this.handlers, function forEachHandler(h) { - if (h !== null) { - fn(h); - } - }); - } - }]); - return InterceptorManager; -}(); -var _default = InterceptorManager; -exports.default = _default; - -/***/ }), -/* 221 */ -/*!*************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/core/dispatchRequest.js ***! - \*************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = dispatchRequest; -var _transformData = _interopRequireDefault(__webpack_require__(/*! ./transformData.js */ 222)); -var _isCancel = _interopRequireDefault(__webpack_require__(/*! ../cancel/isCancel.js */ 234)); -var _index = _interopRequireDefault(__webpack_require__(/*! ../defaults/index.js */ 223)); -var _CanceledError = _interopRequireDefault(__webpack_require__(/*! ../cancel/CanceledError.js */ 235)); -var _AxiosHeaders = _interopRequireDefault(__webpack_require__(/*! ../core/AxiosHeaders.js */ 232)); -var _adapters = _interopRequireDefault(__webpack_require__(/*! ../adapters/adapters.js */ 236)); -/** - * Throws a `CanceledError` if cancellation has been requested. - * - * @param {Object} config The config that is to be used for the request - * - * @returns {void} - */ -function throwIfCancellationRequested(config) { - if (config.cancelToken) { - config.cancelToken.throwIfRequested(); - } - if (config.signal && config.signal.aborted) { - throw new _CanceledError.default(null, config); - } -} - -/** - * Dispatch a request to the server using the configured adapter. - * - * @param {object} config The config that is to be used for the request - * - * @returns {Promise} The Promise to be fulfilled - */ -function dispatchRequest(config) { - throwIfCancellationRequested(config); - config.headers = _AxiosHeaders.default.from(config.headers); - - // Transform request data - config.data = _transformData.default.call(config, config.transformRequest); - if (['post', 'put', 'patch'].indexOf(config.method) !== -1) { - config.headers.setContentType('application/x-www-form-urlencoded', false); - } - var adapter = _adapters.default.getAdapter(config.adapter || _index.default.adapter); - return adapter(config).then(function onAdapterResolution(response) { - throwIfCancellationRequested(config); - - // Transform response data - response.data = _transformData.default.call(config, config.transformResponse, response); - response.headers = _AxiosHeaders.default.from(response.headers); - return response; - }, function onAdapterRejection(reason) { - if (!(0, _isCancel.default)(reason)) { - throwIfCancellationRequested(config); - - // Transform response data - if (reason && reason.response) { - reason.response.data = _transformData.default.call(config, config.transformResponse, reason.response); - reason.response.headers = _AxiosHeaders.default.from(reason.response.headers); - } - } - return Promise.reject(reason); - }); -} - -/***/ }), -/* 222 */ -/*!***********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/core/transformData.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = transformData; -var _utils = _interopRequireDefault(__webpack_require__(/*! ./../utils.js */ 212)); -var _index = _interopRequireDefault(__webpack_require__(/*! ../defaults/index.js */ 223)); -var _AxiosHeaders = _interopRequireDefault(__webpack_require__(/*! ../core/AxiosHeaders.js */ 232)); -/** - * Transform the data for a request or a response - * - * @param {Array|Function} fns A single function or Array of functions - * @param {?Object} response The response object - * - * @returns {*} The resulting transformed data - */ -function transformData(fns, response) { - var config = this || _index.default; - var context = response || config; - var headers = _AxiosHeaders.default.from(context.headers); - var data = context.data; - _utils.default.forEach(fns, function transform(fn) { - data = fn.call(config, data, headers.normalize(), response ? response.status : undefined); - }); - headers.normalize(); - return data; -} - -/***/ }), -/* 223 */ -/*!*******************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/defaults/index.js ***! - \*******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _utils = _interopRequireDefault(__webpack_require__(/*! ../utils.js */ 212)); -var _AxiosError = _interopRequireDefault(__webpack_require__(/*! ../core/AxiosError.js */ 218)); -var _transitional = _interopRequireDefault(__webpack_require__(/*! ./transitional.js */ 224)); -var _toFormData = _interopRequireDefault(__webpack_require__(/*! ../helpers/toFormData.js */ 217)); -var _toURLEncodedForm = _interopRequireDefault(__webpack_require__(/*! ../helpers/toURLEncodedForm.js */ 225)); -var _index = _interopRequireDefault(__webpack_require__(/*! ../platform/index.js */ 226)); -var _formDataToJSON = _interopRequireDefault(__webpack_require__(/*! ../helpers/formDataToJSON.js */ 231)); -/** - * It takes a string, tries to parse it, and if it fails, it returns the stringified version - * of the input - * - * @param {any} rawValue - The value to be stringified. - * @param {Function} parser - A function that parses a string into a JavaScript object. - * @param {Function} encoder - A function that takes a value and returns a string. - * - * @returns {string} A stringified version of the rawValue. - */ -function stringifySafely(rawValue, parser, encoder) { - if (_utils.default.isString(rawValue)) { - try { - (parser || JSON.parse)(rawValue); - return _utils.default.trim(rawValue); - } catch (e) { - if (e.name !== 'SyntaxError') { - throw e; - } - } - } - return (encoder || JSON.stringify)(rawValue); -} -var defaults = { - transitional: _transitional.default, - adapter: _index.default.isNode ? 'http' : 'xhr', - transformRequest: [function transformRequest(data, headers) { - var contentType = headers.getContentType() || ''; - var hasJSONContentType = contentType.indexOf('application/json') > -1; - var isObjectPayload = _utils.default.isObject(data); - if (isObjectPayload && _utils.default.isHTMLForm(data)) { - data = new FormData(data); - } - var isFormData = _utils.default.isFormData(data); - if (isFormData) { - if (!hasJSONContentType) { - return data; - } - return hasJSONContentType ? JSON.stringify((0, _formDataToJSON.default)(data)) : data; - } - if (_utils.default.isArrayBuffer(data) || _utils.default.isBuffer(data) || _utils.default.isStream(data) || _utils.default.isFile(data) || _utils.default.isBlob(data)) { - return data; - } - if (_utils.default.isArrayBufferView(data)) { - return data.buffer; - } - if (_utils.default.isURLSearchParams(data)) { - headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false); - return data.toString(); - } - var isFileList; - if (isObjectPayload) { - if (contentType.indexOf('application/x-www-form-urlencoded') > -1) { - return (0, _toURLEncodedForm.default)(data, this.formSerializer).toString(); - } - if ((isFileList = _utils.default.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) { - var _FormData = this.env && this.env.FormData; - return (0, _toFormData.default)(isFileList ? { - 'files[]': data - } : data, _FormData && new _FormData(), this.formSerializer); - } - } - if (isObjectPayload || hasJSONContentType) { - headers.setContentType('application/json', false); - return stringifySafely(data); - } - return data; - }], - transformResponse: [function transformResponse(data) { - var transitional = this.transitional || defaults.transitional; - var forcedJSONParsing = transitional && transitional.forcedJSONParsing; - var JSONRequested = this.responseType === 'json'; - if (data && _utils.default.isString(data) && (forcedJSONParsing && !this.responseType || JSONRequested)) { - var silentJSONParsing = transitional && transitional.silentJSONParsing; - var strictJSONParsing = !silentJSONParsing && JSONRequested; - try { - return JSON.parse(data); - } catch (e) { - if (strictJSONParsing) { - if (e.name === 'SyntaxError') { - throw _AxiosError.default.from(e, _AxiosError.default.ERR_BAD_RESPONSE, this, null, this.response); - } - throw e; - } - } - } - return data; - }], - /** - * A timeout in milliseconds to abort a request. If set to 0 (default) a - * timeout is not created. - */ - timeout: 0, - xsrfCookieName: 'XSRF-TOKEN', - xsrfHeaderName: 'X-XSRF-TOKEN', - maxContentLength: -1, - maxBodyLength: -1, - env: { - FormData: _index.default.classes.FormData, - Blob: _index.default.classes.Blob - }, - validateStatus: function validateStatus(status) { - return status >= 200 && status < 300; - }, - headers: { - common: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type': undefined - } - } -}; -_utils.default.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], function (method) { - defaults.headers[method] = {}; -}); -var _default = defaults; -exports.default = _default; - -/***/ }), -/* 224 */ -/*!**************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/defaults/transitional.js ***! - \**************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = { - silentJSONParsing: true, - forcedJSONParsing: true, - clarifyTimeoutError: false -}; -exports.default = _default; - -/***/ }), -/* 225 */ -/*!*****************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/toURLEncodedForm.js ***! - \*****************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = toURLEncodedForm; -var _utils = _interopRequireDefault(__webpack_require__(/*! ../utils.js */ 212)); -var _toFormData = _interopRequireDefault(__webpack_require__(/*! ./toFormData.js */ 217)); -var _index = _interopRequireDefault(__webpack_require__(/*! ../platform/index.js */ 226)); -function toURLEncodedForm(data, options) { - return (0, _toFormData.default)(data, new _index.default.classes.URLSearchParams(), Object.assign({ - visitor: function visitor(value, key, path, helpers) { - if (_index.default.isNode && _utils.default.isBuffer(value)) { - this.append(key, value.toString('base64')); - return false; - } - return helpers.defaultVisitor.apply(this, arguments); - } - }, options)); -} - -/***/ }), -/* 226 */ -/*!*******************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/platform/index.js ***! - \*******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -Object.defineProperty(exports, "default", { - enumerable: true, - get: function get() { - return _index.default; - } -}); -var _index = _interopRequireDefault(__webpack_require__(/*! ./node/index.js */ 227)); - -/***/ }), -/* 227 */ -/*!***************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/platform/browser/index.js ***! - \***************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _URLSearchParams = _interopRequireDefault(__webpack_require__(/*! ./classes/URLSearchParams.js */ 228)); -var _FormData = _interopRequireDefault(__webpack_require__(/*! ./classes/FormData.js */ 229)); -var _Blob = _interopRequireDefault(__webpack_require__(/*! ./classes/Blob.js */ 230)); -/** - * Determine if we're running in a standard browser environment - * - * This allows axios to run in a web worker, and react-native. - * Both environments support XMLHttpRequest, but not fully standard globals. - * - * web workers: - * typeof window -> undefined - * typeof document -> undefined - * - * react-native: - * navigator.product -> 'ReactNative' - * nativescript - * navigator.product -> 'NativeScript' or 'NS' - * - * @returns {boolean} - */ -var isStandardBrowserEnv = function () { - var product; - if (typeof navigator !== 'undefined' && ((product = navigator.product) === 'ReactNative' || product === 'NativeScript' || product === 'NS')) { - return false; - } - return typeof window !== 'undefined' && typeof document !== 'undefined'; -}(); - -/** - * Determine if we're running in a standard browser webWorker environment - * - * Although the `isStandardBrowserEnv` method indicates that - * `allows axios to run in a web worker`, the WebWorker will still be - * filtered out due to its judgment standard - * `typeof window !== 'undefined' && typeof document !== 'undefined'`. - * This leads to a problem when axios post `FormData` in webWorker - */ -var isStandardBrowserWebWorkerEnv = function () { - return typeof WorkerGlobalScope !== 'undefined' && - // eslint-disable-next-line no-undef - self instanceof WorkerGlobalScope && typeof self.importScripts === 'function'; -}(); -var _default = { - isBrowser: true, - classes: { - URLSearchParams: _URLSearchParams.default, - FormData: _FormData.default, - Blob: _Blob.default - }, - isStandardBrowserEnv: isStandardBrowserEnv, - isStandardBrowserWebWorkerEnv: isStandardBrowserWebWorkerEnv, - protocols: ['http', 'https', 'file', 'blob', 'url', 'data'] -}; -exports.default = _default; - -/***/ }), -/* 228 */ -/*!*********************************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/platform/browser/classes/URLSearchParams.js ***! - \*********************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _AxiosURLSearchParams = _interopRequireDefault(__webpack_require__(/*! ../../../helpers/AxiosURLSearchParams.js */ 216)); -var _default = typeof URLSearchParams !== 'undefined' ? URLSearchParams : _AxiosURLSearchParams.default; -exports.default = _default; - -/***/ }), -/* 229 */ -/*!**************************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/platform/browser/classes/FormData.js ***! - \**************************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = typeof FormData !== 'undefined' ? FormData : null; -exports.default = _default; - -/***/ }), -/* 230 */ -/*!**********************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/platform/browser/classes/Blob.js ***! - \**********************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _default = typeof Blob !== 'undefined' ? Blob : null; -exports.default = _default; - -/***/ }), -/* 231 */ -/*!***************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/formDataToJSON.js ***! - \***************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _utils = _interopRequireDefault(__webpack_require__(/*! ../utils.js */ 212)); -/** - * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z'] - * - * @param {string} name - The name of the property to get. - * - * @returns An array of strings. - */ -function parsePropPath(name) { - // foo[x][y][z] - // foo.x.y.z - // foo-x-y-z - // foo x y z - return _utils.default.matchAll(/\w+|\[(\w*)]/g, name).map(function (match) { - return match[0] === '[]' ? '' : match[1] || match[0]; - }); -} - -/** - * Convert an array to an object. - * - * @param {Array} arr - The array to convert to an object. - * - * @returns An object with the same keys and values as the array. - */ -function arrayToObject(arr) { - var obj = {}; - var keys = Object.keys(arr); - var i; - var len = keys.length; - var key; - for (i = 0; i < len; i++) { - key = keys[i]; - obj[key] = arr[key]; - } - return obj; -} - -/** - * It takes a FormData object and returns a JavaScript object - * - * @param {string} formData The FormData object to convert to JSON. - * - * @returns {Object | null} The converted object. - */ -function formDataToJSON(formData) { - function buildPath(path, value, target, index) { - var name = path[index++]; - var isNumericKey = Number.isFinite(+name); - var isLast = index >= path.length; - name = !name && _utils.default.isArray(target) ? target.length : name; - if (isLast) { - if (_utils.default.hasOwnProp(target, name)) { - target[name] = [target[name], value]; - } else { - target[name] = value; - } - return !isNumericKey; - } - if (!target[name] || !_utils.default.isObject(target[name])) { - target[name] = []; - } - var result = buildPath(path, value, target[name], index); - if (result && _utils.default.isArray(target[name])) { - target[name] = arrayToObject(target[name]); - } - return !isNumericKey; - } - if (_utils.default.isFormData(formData) && _utils.default.isFunction(formData.entries)) { - var obj = {}; - _utils.default.forEachEntry(formData, function (name, value) { - buildPath(parsePropPath(name), value, obj, 0); - }); - return obj; - } - return null; -} -var _default = formDataToJSON; -exports.default = _default; - -/***/ }), -/* 232 */ -/*!**********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/core/AxiosHeaders.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 202)); -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 207)); -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 208)); -var _utils = _interopRequireDefault(__webpack_require__(/*! ../utils.js */ 212)); -var _parseHeaders = _interopRequireDefault(__webpack_require__(/*! ../helpers/parseHeaders.js */ 233)); -var $internals = Symbol('internals'); -function normalizeHeader(header) { - return header && String(header).trim().toLowerCase(); -} -function normalizeValue(value) { - if (value === false || value == null) { - return value; - } - return _utils.default.isArray(value) ? value.map(normalizeValue) : String(value); -} -function parseTokens(str) { - var tokens = Object.create(null); - var tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g; - var match; - while (match = tokensRE.exec(str)) { - tokens[match[1]] = match[2]; - } - return tokens; -} -var isValidHeaderName = function isValidHeaderName(str) { - return /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim()); -}; -function matchHeaderValue(context, value, header, filter, isHeaderNameFilter) { - if (_utils.default.isFunction(filter)) { - return filter.call(this, value, header); - } - if (isHeaderNameFilter) { - value = header; - } - if (!_utils.default.isString(value)) return; - if (_utils.default.isString(filter)) { - return value.indexOf(filter) !== -1; - } - if (_utils.default.isRegExp(filter)) { - return filter.test(value); - } -} -function formatHeader(header) { - return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, function (w, char, str) { - return char.toUpperCase() + str; - }); -} -function buildAccessors(obj, header) { - var accessorName = _utils.default.toCamelCase(' ' + header); - ['get', 'set', 'has'].forEach(function (methodName) { - Object.defineProperty(obj, methodName + accessorName, { - value: function value(arg1, arg2, arg3) { - return this[methodName].call(this, header, arg1, arg2, arg3); - }, - configurable: true - }); - }); -} -var AxiosHeaders = /*#__PURE__*/function (_Symbol$iterator, _Symbol$toStringTag) { - function AxiosHeaders(headers) { - (0, _classCallCheck2.default)(this, AxiosHeaders); - headers && this.set(headers); - } - (0, _createClass2.default)(AxiosHeaders, [{ - key: "set", - value: function set(header, valueOrRewrite, rewrite) { - var self = this; - function setHeader(_value, _header, _rewrite) { - var lHeader = normalizeHeader(_header); - if (!lHeader) { - throw new Error('header name must be a non-empty string'); - } - var key = _utils.default.findKey(self, lHeader); - if (!key || self[key] === undefined || _rewrite === true || _rewrite === undefined && self[key] !== false) { - self[key || _header] = normalizeValue(_value); - } - } - var setHeaders = function setHeaders(headers, _rewrite) { - return _utils.default.forEach(headers, function (_value, _header) { - return setHeader(_value, _header, _rewrite); - }); - }; - if (_utils.default.isPlainObject(header) || header instanceof this.constructor) { - setHeaders(header, valueOrRewrite); - } else if (_utils.default.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) { - setHeaders((0, _parseHeaders.default)(header), valueOrRewrite); - } else { - header != null && setHeader(valueOrRewrite, header, rewrite); - } - return this; - } - }, { - key: "get", - value: function get(header, parser) { - header = normalizeHeader(header); - if (header) { - var key = _utils.default.findKey(this, header); - if (key) { - var value = this[key]; - if (!parser) { - return value; - } - if (parser === true) { - return parseTokens(value); - } - if (_utils.default.isFunction(parser)) { - return parser.call(this, value, key); - } - if (_utils.default.isRegExp(parser)) { - return parser.exec(value); - } - throw new TypeError('parser must be boolean|regexp|function'); - } - } - } - }, { - key: "has", - value: function has(header, matcher) { - header = normalizeHeader(header); - if (header) { - var key = _utils.default.findKey(this, header); - return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher))); - } - return false; - } - }, { - key: "delete", - value: function _delete(header, matcher) { - var self = this; - var deleted = false; - function deleteHeader(_header) { - _header = normalizeHeader(_header); - if (_header) { - var key = _utils.default.findKey(self, _header); - if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) { - delete self[key]; - deleted = true; - } - } - } - if (_utils.default.isArray(header)) { - header.forEach(deleteHeader); - } else { - deleteHeader(header); - } - return deleted; - } - }, { - key: "clear", - value: function clear(matcher) { - var keys = Object.keys(this); - var i = keys.length; - var deleted = false; - while (i--) { - var key = keys[i]; - if (!matcher || matchHeaderValue(this, this[key], key, matcher, true)) { - delete this[key]; - deleted = true; - } - } - return deleted; - } - }, { - key: "normalize", - value: function normalize(format) { - var self = this; - var headers = {}; - _utils.default.forEach(this, function (value, header) { - var key = _utils.default.findKey(headers, header); - if (key) { - self[key] = normalizeValue(value); - delete self[header]; - return; - } - var normalized = format ? formatHeader(header) : String(header).trim(); - if (normalized !== header) { - delete self[header]; - } - self[normalized] = normalizeValue(value); - headers[normalized] = true; - }); - return this; - } - }, { - key: "concat", - value: function concat() { - var _this$constructor; - for (var _len = arguments.length, targets = new Array(_len), _key = 0; _key < _len; _key++) { - targets[_key] = arguments[_key]; - } - return (_this$constructor = this.constructor).concat.apply(_this$constructor, [this].concat(targets)); - } - }, { - key: "toJSON", - value: function toJSON(asStrings) { - var obj = Object.create(null); - _utils.default.forEach(this, function (value, header) { - value != null && value !== false && (obj[header] = asStrings && _utils.default.isArray(value) ? value.join(', ') : value); - }); - return obj; - } - }, { - key: _Symbol$iterator, - value: function value() { - return Object.entries(this.toJSON())[Symbol.iterator](); - } - }, { - key: "toString", - value: function toString() { - return Object.entries(this.toJSON()).map(function (_ref) { - var _ref2 = (0, _slicedToArray2.default)(_ref, 2), - header = _ref2[0], - value = _ref2[1]; - return header + ': ' + value; - }).join('\n'); - } - }, { - key: _Symbol$toStringTag, - get: function get() { - return 'AxiosHeaders'; - } - }], [{ - key: "from", - value: function from(thing) { - return thing instanceof this ? thing : new this(thing); - } - }, { - key: "concat", - value: function concat(first) { - var computed = new this(first); - for (var _len2 = arguments.length, targets = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { - targets[_key2 - 1] = arguments[_key2]; - } - targets.forEach(function (target) { - return computed.set(target); - }); - return computed; - } - }, { - key: "accessor", - value: function accessor(header) { - var internals = this[$internals] = this[$internals] = { - accessors: {} - }; - var accessors = internals.accessors; - var prototype = this.prototype; - function defineAccessor(_header) { - var lHeader = normalizeHeader(_header); - if (!accessors[lHeader]) { - buildAccessors(prototype, _header); - accessors[lHeader] = true; - } - } - _utils.default.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header); - return this; - } - }]); - return AxiosHeaders; -}(Symbol.iterator, Symbol.toStringTag); -AxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']); - -// reserved names hotfix -_utils.default.reduceDescriptors(AxiosHeaders.prototype, function (_ref3, key) { - var value = _ref3.value; - var mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set` - return { - get: function get() { - return value; - }, - set: function set(headerValue) { - this[mapped] = headerValue; - } - }; -}); -_utils.default.freezeMethods(AxiosHeaders); -var _default = AxiosHeaders; -exports.default = _default; - -/***/ }), -/* 233 */ -/*!*************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/parseHeaders.js ***! - \*************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _utils = _interopRequireDefault(__webpack_require__(/*! ./../utils.js */ 212)); -// RawAxiosHeaders whose duplicates are ignored by node -// c.f. https://nodejs.org/api/http.html#http_message_headers -var ignoreDuplicateOf = _utils.default.toObjectSet(['age', 'authorization', 'content-length', 'content-type', 'etag', 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since', 'last-modified', 'location', 'max-forwards', 'proxy-authorization', 'referer', 'retry-after', 'user-agent']); - -/** - * Parse headers into an object - * - * ``` - * Date: Wed, 27 Aug 2014 08:58:49 GMT - * Content-Type: application/json - * Connection: keep-alive - * Transfer-Encoding: chunked - * ``` - * - * @param {String} rawHeaders Headers needing to be parsed - * - * @returns {Object} Headers parsed into an object - */ -var _default = function _default(rawHeaders) { - var parsed = {}; - var key; - var val; - var i; - rawHeaders && rawHeaders.split('\n').forEach(function parser(line) { - i = line.indexOf(':'); - key = line.substring(0, i).trim().toLowerCase(); - val = line.substring(i + 1).trim(); - if (!key || parsed[key] && ignoreDuplicateOf[key]) { - return; - } - if (key === 'set-cookie') { - if (parsed[key]) { - parsed[key].push(val); - } else { - parsed[key] = [val]; - } - } else { - parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val; - } - }); - return parsed; -}; -exports.default = _default; - -/***/ }), -/* 234 */ -/*!********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/cancel/isCancel.js ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isCancel; -function isCancel(value) { - return !!(value && value.__CANCEL__); -} - -/***/ }), -/* 235 */ -/*!*************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/cancel/CanceledError.js ***! - \*************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _AxiosError = _interopRequireDefault(__webpack_require__(/*! ../core/AxiosError.js */ 218)); -var _utils = _interopRequireDefault(__webpack_require__(/*! ../utils.js */ 212)); -/** - * A `CanceledError` is an object that is thrown when an operation is canceled. - * - * @param {string=} message The message. - * @param {Object=} config The config. - * @param {Object=} request The request. - * - * @returns {CanceledError} The created error. - */ -function CanceledError(message, config, request) { - // eslint-disable-next-line no-eq-null,eqeqeq - _AxiosError.default.call(this, message == null ? 'canceled' : message, _AxiosError.default.ERR_CANCELED, config, request); - this.name = 'CanceledError'; -} -_utils.default.inherits(CanceledError, _AxiosError.default, { - __CANCEL__: true -}); -var _default = CanceledError; -exports.default = _default; - -/***/ }), -/* 236 */ -/*!**********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/adapters/adapters.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _utils = _interopRequireDefault(__webpack_require__(/*! ../utils.js */ 212)); -var _http = _interopRequireDefault(__webpack_require__(/*! ./http.js */ 219)); -var _xhr = _interopRequireDefault(__webpack_require__(/*! ./xhr.js */ 237)); -var _AxiosError = _interopRequireDefault(__webpack_require__(/*! ../core/AxiosError.js */ 218)); -var knownAdapters = { - http: _http.default, - xhr: _xhr.default -}; -_utils.default.forEach(knownAdapters, function (fn, value) { - if (fn) { - try { - Object.defineProperty(fn, 'name', { - value: value - }); - } catch (e) { - // eslint-disable-next-line no-empty - } - Object.defineProperty(fn, 'adapterName', { - value: value - }); - } -}); -var _default = { - getAdapter: function getAdapter(adapters) { - adapters = _utils.default.isArray(adapters) ? adapters : [adapters]; - var _adapters = adapters, - length = _adapters.length; - var nameOrAdapter; - var adapter; - for (var i = 0; i < length; i++) { - nameOrAdapter = adapters[i]; - if (adapter = _utils.default.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter) { - break; - } - } - if (!adapter) { - if (adapter === false) { - throw new _AxiosError.default("Adapter ".concat(nameOrAdapter, " is not supported by the environment"), 'ERR_NOT_SUPPORT'); - } - throw new Error(_utils.default.hasOwnProp(knownAdapters, nameOrAdapter) ? "Adapter '".concat(nameOrAdapter, "' is not available in the build") : "Unknown adapter '".concat(nameOrAdapter, "'")); - } - if (!_utils.default.isFunction(adapter)) { - throw new TypeError('adapter is not a function'); - } - return adapter; - }, - adapters: knownAdapters -}; -exports.default = _default; - -/***/ }), -/* 237 */ -/*!*****************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/adapters/xhr.js ***! - \*****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _utils = _interopRequireDefault(__webpack_require__(/*! ./../utils.js */ 212)); -var _settle = _interopRequireDefault(__webpack_require__(/*! ./../core/settle.js */ 238)); -var _cookies = _interopRequireDefault(__webpack_require__(/*! ./../helpers/cookies.js */ 239)); -var _buildURL = _interopRequireDefault(__webpack_require__(/*! ./../helpers/buildURL.js */ 215)); -var _buildFullPath = _interopRequireDefault(__webpack_require__(/*! ../core/buildFullPath.js */ 240)); -var _isURLSameOrigin = _interopRequireDefault(__webpack_require__(/*! ./../helpers/isURLSameOrigin.js */ 243)); -var _transitional = _interopRequireDefault(__webpack_require__(/*! ../defaults/transitional.js */ 224)); -var _AxiosError = _interopRequireDefault(__webpack_require__(/*! ../core/AxiosError.js */ 218)); -var _CanceledError = _interopRequireDefault(__webpack_require__(/*! ../cancel/CanceledError.js */ 235)); -var _parseProtocol = _interopRequireDefault(__webpack_require__(/*! ../helpers/parseProtocol.js */ 244)); -var _index = _interopRequireDefault(__webpack_require__(/*! ../platform/index.js */ 226)); -var _AxiosHeaders = _interopRequireDefault(__webpack_require__(/*! ../core/AxiosHeaders.js */ 232)); -var _speedometer2 = _interopRequireDefault(__webpack_require__(/*! ../helpers/speedometer.js */ 245)); -function progressEventReducer(listener, isDownloadStream) { - var bytesNotified = 0; - var _speedometer = (0, _speedometer2.default)(50, 250); - return function (e) { - var loaded = e.loaded; - var total = e.lengthComputable ? e.total : undefined; - var progressBytes = loaded - bytesNotified; - var rate = _speedometer(progressBytes); - var inRange = loaded <= total; - bytesNotified = loaded; - var data = { - loaded: loaded, - total: total, - progress: total ? loaded / total : undefined, - bytes: progressBytes, - rate: rate ? rate : undefined, - estimated: rate && total && inRange ? (total - loaded) / rate : undefined, - event: e - }; - data[isDownloadStream ? 'download' : 'upload'] = true; - listener(data); - }; -} -var isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined'; -var _default = isXHRAdapterSupported && function (config) { - return new Promise(function dispatchXhrRequest(resolve, reject) { - var requestData = config.data; - var requestHeaders = _AxiosHeaders.default.from(config.headers).normalize(); - var responseType = config.responseType; - var onCanceled; - function done() { - if (config.cancelToken) { - config.cancelToken.unsubscribe(onCanceled); - } - if (config.signal) { - config.signal.removeEventListener('abort', onCanceled); - } - } - if (_utils.default.isFormData(requestData)) { - if (_index.default.isStandardBrowserEnv || _index.default.isStandardBrowserWebWorkerEnv) { - requestHeaders.setContentType(false); // Let the browser set it - } else { - requestHeaders.setContentType('multipart/form-data;', false); // mobile/desktop app frameworks - } - } - - var request = new XMLHttpRequest(); - - // HTTP basic authentication - if (config.auth) { - var username = config.auth.username || ''; - var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : ''; - requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password)); - } - var fullPath = (0, _buildFullPath.default)(config.baseURL, config.url); - request.open(config.method.toUpperCase(), (0, _buildURL.default)(fullPath, config.params, config.paramsSerializer), true); - - // Set the request timeout in MS - request.timeout = config.timeout; - function onloadend() { - if (!request) { - return; - } - // Prepare the response - var responseHeaders = _AxiosHeaders.default.from('getAllResponseHeaders' in request && request.getAllResponseHeaders()); - var responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response; - var response = { - data: responseData, - status: request.status, - statusText: request.statusText, - headers: responseHeaders, - config: config, - request: request - }; - (0, _settle.default)(function _resolve(value) { - resolve(value); - done(); - }, function _reject(err) { - reject(err); - done(); - }, response); - - // Clean up request - request = null; - } - if ('onloadend' in request) { - // Use onloadend if available - request.onloadend = onloadend; - } else { - // Listen for ready state to emulate onloadend - request.onreadystatechange = function handleLoad() { - if (!request || request.readyState !== 4) { - return; - } - - // The request errored out and we didn't get a response, this will be - // handled by onerror instead - // With one exception: request that using file: protocol, most browsers - // will return status as 0 even though it's a successful request - if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) { - return; - } - // readystate handler is calling before onerror or ontimeout handlers, - // so we should call onloadend on the next 'tick' - setTimeout(onloadend); - }; - } - - // Handle browser request cancellation (as opposed to a manual cancellation) - request.onabort = function handleAbort() { - if (!request) { - return; - } - reject(new _AxiosError.default('Request aborted', _AxiosError.default.ECONNABORTED, config, request)); - - // Clean up request - request = null; - }; - - // Handle low level network errors - request.onerror = function handleError() { - // Real errors are hidden from us by the browser - // onerror should only fire if it's a network error - reject(new _AxiosError.default('Network Error', _AxiosError.default.ERR_NETWORK, config, request)); - - // Clean up request - request = null; - }; - - // Handle timeout - request.ontimeout = function handleTimeout() { - var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded'; - var transitional = config.transitional || _transitional.default; - if (config.timeoutErrorMessage) { - timeoutErrorMessage = config.timeoutErrorMessage; - } - reject(new _AxiosError.default(timeoutErrorMessage, transitional.clarifyTimeoutError ? _AxiosError.default.ETIMEDOUT : _AxiosError.default.ECONNABORTED, config, request)); - - // Clean up request - request = null; - }; - - // Add xsrf header - // This is only done if running in a standard browser environment. - // Specifically not if we're in a web worker, or react-native. - if (_index.default.isStandardBrowserEnv) { - // Add xsrf header - var xsrfValue = (config.withCredentials || (0, _isURLSameOrigin.default)(fullPath)) && config.xsrfCookieName && _cookies.default.read(config.xsrfCookieName); - if (xsrfValue) { - requestHeaders.set(config.xsrfHeaderName, xsrfValue); - } - } - - // Remove Content-Type if data is undefined - requestData === undefined && requestHeaders.setContentType(null); - - // Add headers to the request - if ('setRequestHeader' in request) { - _utils.default.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) { - request.setRequestHeader(key, val); - }); - } - - // Add withCredentials to request if needed - if (!_utils.default.isUndefined(config.withCredentials)) { - request.withCredentials = !!config.withCredentials; - } - - // Add responseType to request if needed - if (responseType && responseType !== 'json') { - request.responseType = config.responseType; - } - - // Handle progress if needed - if (typeof config.onDownloadProgress === 'function') { - request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true)); - } - - // Not all browsers support upload events - if (typeof config.onUploadProgress === 'function' && request.upload) { - request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress)); - } - if (config.cancelToken || config.signal) { - // Handle cancellation - // eslint-disable-next-line func-names - onCanceled = function onCanceled(cancel) { - if (!request) { - return; - } - reject(!cancel || cancel.type ? new _CanceledError.default(null, config, request) : cancel); - request.abort(); - request = null; - }; - config.cancelToken && config.cancelToken.subscribe(onCanceled); - if (config.signal) { - config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled); - } - } - var protocol = (0, _parseProtocol.default)(fullPath); - if (protocol && _index.default.protocols.indexOf(protocol) === -1) { - reject(new _AxiosError.default('Unsupported protocol ' + protocol + ':', _AxiosError.default.ERR_BAD_REQUEST, config)); - return; - } - - // Send the request - request.send(requestData || null); - }); -}; -exports.default = _default; - -/***/ }), -/* 238 */ -/*!****************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/core/settle.js ***! - \****************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = settle; -var _AxiosError = _interopRequireDefault(__webpack_require__(/*! ./AxiosError.js */ 218)); -/** - * Resolve or reject a Promise based on response status. - * - * @param {Function} resolve A function that resolves the promise. - * @param {Function} reject A function that rejects the promise. - * @param {object} response The response. - * - * @returns {object} The response. - */ -function settle(resolve, reject, response) { - var validateStatus = response.config.validateStatus; - if (!response.status || !validateStatus || validateStatus(response.status)) { - resolve(response); - } else { - reject(new _AxiosError.default('Request failed with status code ' + response.status, [_AxiosError.default.ERR_BAD_REQUEST, _AxiosError.default.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4], response.config, response.request, response)); - } -} - -/***/ }), -/* 239 */ -/*!********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/cookies.js ***! - \********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _utils = _interopRequireDefault(__webpack_require__(/*! ./../utils.js */ 212)); -var _index = _interopRequireDefault(__webpack_require__(/*! ../platform/index.js */ 226)); -var _default = _index.default.isStandardBrowserEnv ? -// Standard browser envs support document.cookie -function standardBrowserEnv() { - return { - write: function write(name, value, expires, path, domain, secure) { - var cookie = []; - cookie.push(name + '=' + encodeURIComponent(value)); - if (_utils.default.isNumber(expires)) { - cookie.push('expires=' + new Date(expires).toGMTString()); - } - if (_utils.default.isString(path)) { - cookie.push('path=' + path); - } - if (_utils.default.isString(domain)) { - cookie.push('domain=' + domain); - } - if (secure === true) { - cookie.push('secure'); - } - document.cookie = cookie.join('; '); - }, - read: function read(name) { - var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)')); - return match ? decodeURIComponent(match[3]) : null; - }, - remove: function remove(name) { - this.write(name, '', Date.now() - 86400000); - } - }; -}() : -// Non standard browser env (web workers, react-native) lack needed support. -function nonStandardBrowserEnv() { - return { - write: function write() {}, - read: function read() { - return null; - }, - remove: function remove() {} - }; -}(); -exports.default = _default; - -/***/ }), -/* 240 */ -/*!***********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/core/buildFullPath.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = buildFullPath; -var _isAbsoluteURL = _interopRequireDefault(__webpack_require__(/*! ../helpers/isAbsoluteURL.js */ 241)); -var _combineURLs = _interopRequireDefault(__webpack_require__(/*! ../helpers/combineURLs.js */ 242)); -/** - * Creates a new URL by combining the baseURL with the requestedURL, - * only when the requestedURL is not already an absolute URL. - * If the requestURL is absolute, this function returns the requestedURL untouched. - * - * @param {string} baseURL The base URL - * @param {string} requestedURL Absolute or relative URL to combine - * - * @returns {string} The combined full path - */ -function buildFullPath(baseURL, requestedURL) { - if (baseURL && !(0, _isAbsoluteURL.default)(requestedURL)) { - return (0, _combineURLs.default)(baseURL, requestedURL); - } - return requestedURL; -} - -/***/ }), -/* 241 */ -/*!**************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/isAbsoluteURL.js ***! - \**************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Determines whether the specified URL is absolute - * - * @param {string} url The URL to test - * - * @returns {boolean} True if the specified URL is absolute, otherwise false - */ -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isAbsoluteURL; -function isAbsoluteURL(url) { - // A URL is considered absolute if it begins with "://" or "//" (protocol-relative URL). - // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed - // by any combination of letters, digits, plus, period, or hyphen. - return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url); -} - -/***/ }), -/* 242 */ -/*!************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/combineURLs.js ***! - \************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Creates a new URL by combining the specified URLs - * - * @param {string} baseURL The base URL - * @param {string} relativeURL The relative URL - * - * @returns {string} The combined URL - */ -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = combineURLs; -function combineURLs(baseURL, relativeURL) { - return relativeURL ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL; -} - -/***/ }), -/* 243 */ -/*!****************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/isURLSameOrigin.js ***! - \****************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _utils = _interopRequireDefault(__webpack_require__(/*! ./../utils.js */ 212)); -var _index = _interopRequireDefault(__webpack_require__(/*! ../platform/index.js */ 226)); -var _default = _index.default.isStandardBrowserEnv ? -// Standard browser envs have full support of the APIs needed to test -// whether the request URL is of the same origin as current location. -function standardBrowserEnv() { - var msie = /(msie|trident)/i.test(navigator.userAgent); - var urlParsingNode = document.createElement('a'); - var originURL; - - /** - * Parse a URL to discover it's components - * - * @param {String} url The URL to be parsed - * @returns {Object} - */ - function resolveURL(url) { - var href = url; - if (msie) { - // IE needs attribute set twice to normalize properties - urlParsingNode.setAttribute('href', href); - href = urlParsingNode.href; - } - urlParsingNode.setAttribute('href', href); - - // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils - return { - href: urlParsingNode.href, - protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '', - host: urlParsingNode.host, - search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '', - hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '', - hostname: urlParsingNode.hostname, - port: urlParsingNode.port, - pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname - }; - } - originURL = resolveURL(window.location.href); - - /** - * Determine if a URL shares the same origin as the current location - * - * @param {String} requestURL The URL to test - * @returns {boolean} True if URL shares the same origin, otherwise false - */ - return function isURLSameOrigin(requestURL) { - var parsed = _utils.default.isString(requestURL) ? resolveURL(requestURL) : requestURL; - return parsed.protocol === originURL.protocol && parsed.host === originURL.host; - }; -}() : -// Non standard browser envs (web workers, react-native) lack needed support. -function nonStandardBrowserEnv() { - return function isURLSameOrigin() { - return true; - }; -}(); -exports.default = _default; - -/***/ }), -/* 244 */ -/*!**************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/parseProtocol.js ***! - \**************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = parseProtocol; -function parseProtocol(url) { - var match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url); - return match && match[1] || ''; -} - -/***/ }), -/* 245 */ -/*!************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/speedometer.js ***! - \************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Calculate data maxRate - * @param {Number} [samplesCount= 10] - * @param {Number} [min= 1000] - * @returns {Function} - */ -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -function speedometer(samplesCount, min) { - samplesCount = samplesCount || 10; - var bytes = new Array(samplesCount); - var timestamps = new Array(samplesCount); - var head = 0; - var tail = 0; - var firstSampleTS; - min = min !== undefined ? min : 1000; - return function push(chunkLength) { - var now = Date.now(); - var startedAt = timestamps[tail]; - if (!firstSampleTS) { - firstSampleTS = now; - } - bytes[head] = chunkLength; - timestamps[head] = now; - var i = tail; - var bytesCount = 0; - while (i !== head) { - bytesCount += bytes[i++]; - i = i % samplesCount; - } - head = (head + 1) % samplesCount; - if (head === tail) { - tail = (tail + 1) % samplesCount; - } - if (now - firstSampleTS < min) { - return; - } - var passed = startedAt && now - startedAt; - return passed ? Math.round(bytesCount * 1000 / passed) : undefined; - }; -} -var _default = speedometer; -exports.default = _default; - -/***/ }), -/* 246 */ -/*!*********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/core/mergeConfig.js ***! - \*********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = mergeConfig; -var _utils = _interopRequireDefault(__webpack_require__(/*! ../utils.js */ 212)); -var _AxiosHeaders = _interopRequireDefault(__webpack_require__(/*! ./AxiosHeaders.js */ 232)); -var headersToObject = function headersToObject(thing) { - return thing instanceof _AxiosHeaders.default ? thing.toJSON() : thing; -}; - -/** - * Config-specific merge-function which creates a new config-object - * by merging two configuration objects together. - * - * @param {Object} config1 - * @param {Object} config2 - * - * @returns {Object} New object resulting from merging config2 to config1 - */ -function mergeConfig(config1, config2) { - // eslint-disable-next-line no-param-reassign - config2 = config2 || {}; - var config = {}; - function getMergedValue(target, source, caseless) { - if (_utils.default.isPlainObject(target) && _utils.default.isPlainObject(source)) { - return _utils.default.merge.call({ - caseless: caseless - }, target, source); - } else if (_utils.default.isPlainObject(source)) { - return _utils.default.merge({}, source); - } else if (_utils.default.isArray(source)) { - return source.slice(); - } - return source; - } - - // eslint-disable-next-line consistent-return - function mergeDeepProperties(a, b, caseless) { - if (!_utils.default.isUndefined(b)) { - return getMergedValue(a, b, caseless); - } else if (!_utils.default.isUndefined(a)) { - return getMergedValue(undefined, a, caseless); - } - } - - // eslint-disable-next-line consistent-return - function valueFromConfig2(a, b) { - if (!_utils.default.isUndefined(b)) { - return getMergedValue(undefined, b); - } - } - - // eslint-disable-next-line consistent-return - function defaultToConfig2(a, b) { - if (!_utils.default.isUndefined(b)) { - return getMergedValue(undefined, b); - } else if (!_utils.default.isUndefined(a)) { - return getMergedValue(undefined, a); - } - } - - // eslint-disable-next-line consistent-return - function mergeDirectKeys(a, b, prop) { - if (prop in config2) { - return getMergedValue(a, b); - } else if (prop in config1) { - return getMergedValue(undefined, a); - } - } - var mergeMap = { - url: valueFromConfig2, - method: valueFromConfig2, - data: valueFromConfig2, - baseURL: defaultToConfig2, - transformRequest: defaultToConfig2, - transformResponse: defaultToConfig2, - paramsSerializer: defaultToConfig2, - timeout: defaultToConfig2, - timeoutMessage: defaultToConfig2, - withCredentials: defaultToConfig2, - adapter: defaultToConfig2, - responseType: defaultToConfig2, - xsrfCookieName: defaultToConfig2, - xsrfHeaderName: defaultToConfig2, - onUploadProgress: defaultToConfig2, - onDownloadProgress: defaultToConfig2, - decompress: defaultToConfig2, - maxContentLength: defaultToConfig2, - maxBodyLength: defaultToConfig2, - beforeRedirect: defaultToConfig2, - transport: defaultToConfig2, - httpAgent: defaultToConfig2, - httpsAgent: defaultToConfig2, - cancelToken: defaultToConfig2, - socketPath: defaultToConfig2, - responseEncoding: defaultToConfig2, - validateStatus: mergeDirectKeys, - headers: function headers(a, b) { - return mergeDeepProperties(headersToObject(a), headersToObject(b), true); - } - }; - _utils.default.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) { - var merge = mergeMap[prop] || mergeDeepProperties; - var configValue = merge(config1[prop], config2[prop], prop); - _utils.default.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue); - }); - return config; -} - -/***/ }), -/* 247 */ -/*!**********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/validator.js ***! - \**********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function(__f__) { - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _typeof2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/typeof */ 4)); -var _data = __webpack_require__(/*! ../env/data.js */ 248); -var _AxiosError = _interopRequireDefault(__webpack_require__(/*! ../core/AxiosError.js */ 218)); -var validators = {}; - -// eslint-disable-next-line func-names -['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function (type, i) { - validators[type] = function validator(thing) { - return (0, _typeof2.default)(thing) === type || 'a' + (i < 1 ? 'n ' : ' ') + type; - }; -}); -var deprecatedWarnings = {}; - -/** - * Transitional option validator - * - * @param {function|boolean?} validator - set to false if the transitional option has been removed - * @param {string?} version - deprecated version / removed since version - * @param {string?} message - some message with additional info - * - * @returns {function} - */ -validators.transitional = function transitional(validator, version, message) { - function formatMessage(opt, desc) { - return '[Axios v' + _data.VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : ''); - } - - // eslint-disable-next-line func-names - return function (value, opt, opts) { - if (validator === false) { - throw new _AxiosError.default(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')), _AxiosError.default.ERR_DEPRECATED); - } - if (version && !deprecatedWarnings[opt]) { - deprecatedWarnings[opt] = true; - // eslint-disable-next-line no-console - __f__("warn", formatMessage(opt, ' has been deprecated since v' + version + ' and will be removed in the near future'), " at node_modules/axios/lib/helpers/validator.js:43"); - } - return validator ? validator(value, opt, opts) : true; - }; -}; - -/** - * Assert object's properties type - * - * @param {object} options - * @param {object} schema - * @param {boolean?} allowUnknown - * - * @returns {object} - */ - -function assertOptions(options, schema, allowUnknown) { - if ((0, _typeof2.default)(options) !== 'object') { - throw new _AxiosError.default('options must be an object', _AxiosError.default.ERR_BAD_OPTION_VALUE); - } - var keys = Object.keys(options); - var i = keys.length; - while (i-- > 0) { - var opt = keys[i]; - var validator = schema[opt]; - if (validator) { - var value = options[opt]; - var result = value === undefined || validator(value, opt, options); - if (result !== true) { - throw new _AxiosError.default('option ' + opt + ' must be ' + result, _AxiosError.default.ERR_BAD_OPTION_VALUE); - } - continue; - } - if (allowUnknown !== true) { - throw new _AxiosError.default('Unknown option ' + opt, _AxiosError.default.ERR_BAD_OPTION); - } - } -} -var _default = { - assertOptions: assertOptions, - validators: validators -}; -exports.default = _default; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 18)["default"])) - -/***/ }), -/* 248 */ -/*!*************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/env/data.js ***! - \*************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.VERSION = void 0; -var VERSION = "1.5.0"; -exports.VERSION = VERSION; - -/***/ }), -/* 249 */ -/*!***********************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/cancel/CancelToken.js ***! - \***********************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _classCallCheck2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/classCallCheck */ 207)); -var _createClass2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/createClass */ 208)); -var _CanceledError = _interopRequireDefault(__webpack_require__(/*! ./CanceledError.js */ 235)); -/** - * A `CancelToken` is an object that can be used to request cancellation of an operation. - * - * @param {Function} executor The executor function. - * - * @returns {CancelToken} - */ -var CancelToken = /*#__PURE__*/function () { - function CancelToken(executor) { - (0, _classCallCheck2.default)(this, CancelToken); - if (typeof executor !== 'function') { - throw new TypeError('executor must be a function.'); - } - var resolvePromise; - this.promise = new Promise(function promiseExecutor(resolve) { - resolvePromise = resolve; - }); - var token = this; - - // eslint-disable-next-line func-names - this.promise.then(function (cancel) { - if (!token._listeners) return; - var i = token._listeners.length; - while (i-- > 0) { - token._listeners[i](cancel); - } - token._listeners = null; - }); - - // eslint-disable-next-line func-names - this.promise.then = function (onfulfilled) { - var _resolve; - // eslint-disable-next-line func-names - var promise = new Promise(function (resolve) { - token.subscribe(resolve); - _resolve = resolve; - }).then(onfulfilled); - promise.cancel = function reject() { - token.unsubscribe(_resolve); - }; - return promise; - }; - executor(function cancel(message, config, request) { - if (token.reason) { - // Cancellation has already been requested - return; - } - token.reason = new _CanceledError.default(message, config, request); - resolvePromise(token.reason); - }); - } - - /** - * Throws a `CanceledError` if cancellation has been requested. - */ - (0, _createClass2.default)(CancelToken, [{ - key: "throwIfRequested", - value: function throwIfRequested() { - if (this.reason) { - throw this.reason; - } - } - - /** - * Subscribe to the cancel signal - */ - }, { - key: "subscribe", - value: function subscribe(listener) { - if (this.reason) { - listener(this.reason); - return; - } - if (this._listeners) { - this._listeners.push(listener); - } else { - this._listeners = [listener]; - } - } - - /** - * Unsubscribe from the cancel signal - */ - }, { - key: "unsubscribe", - value: function unsubscribe(listener) { - if (!this._listeners) { - return; - } - var index = this._listeners.indexOf(listener); - if (index !== -1) { - this._listeners.splice(index, 1); - } - } - - /** - * Returns an object that contains a new `CancelToken` and a function that, when called, - * cancels the `CancelToken`. - */ - }], [{ - key: "source", - value: function source() { - var cancel; - var token = new CancelToken(function executor(c) { - cancel = c; - }); - return { - token: token, - cancel: cancel - }; - } - }]); - return CancelToken; -}(); -var _default = CancelToken; -exports.default = _default; - -/***/ }), -/* 250 */ -/*!*******************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/spread.js ***! - \*******************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -/** - * Syntactic sugar for invoking a function and expanding an array for arguments. - * - * Common use case would be to use `Function.prototype.apply`. - * - * ```js - * function f(x, y, z) {} - * var args = [1, 2, 3]; - * f.apply(null, args); - * ``` - * - * With `spread` this example can be re-written. - * - * ```js - * spread(function(x, y, z) {})([1, 2, 3]); - * ``` - * - * @param {Function} callback - * - * @returns {Function} - */ -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = spread; -function spread(callback) { - return function wrap(arr) { - return callback.apply(null, arr); - }; -} - -/***/ }), -/* 251 */ -/*!*************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/isAxiosError.js ***! - \*************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = isAxiosError; -var _utils = _interopRequireDefault(__webpack_require__(/*! ./../utils.js */ 212)); -/** - * Determines whether the payload is an error thrown by Axios - * - * @param {*} payload The value to test - * - * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false - */ -function isAxiosError(payload) { - return _utils.default.isObject(payload) && payload.isAxiosError === true; -} - -/***/ }), -/* 252 */ -/*!***************************************************************************!*\ - !*** D:/里海数字乡村/xunfeiAi/node_modules/axios/lib/helpers/HttpStatusCode.js ***! - \***************************************************************************/ -/*! no static exports found */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1); -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.default = void 0; -var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 202)); -var HttpStatusCode = { - Continue: 100, - SwitchingProtocols: 101, - Processing: 102, - EarlyHints: 103, - Ok: 200, - Created: 201, - Accepted: 202, - NonAuthoritativeInformation: 203, - NoContent: 204, - ResetContent: 205, - PartialContent: 206, - MultiStatus: 207, - AlreadyReported: 208, - ImUsed: 226, - MultipleChoices: 300, - MovedPermanently: 301, - Found: 302, - SeeOther: 303, - NotModified: 304, - UseProxy: 305, - Unused: 306, - TemporaryRedirect: 307, - PermanentRedirect: 308, - BadRequest: 400, - Unauthorized: 401, - PaymentRequired: 402, - Forbidden: 403, - NotFound: 404, - MethodNotAllowed: 405, - NotAcceptable: 406, - ProxyAuthenticationRequired: 407, - RequestTimeout: 408, - Conflict: 409, - Gone: 410, - LengthRequired: 411, - PreconditionFailed: 412, - PayloadTooLarge: 413, - UriTooLong: 414, - UnsupportedMediaType: 415, - RangeNotSatisfiable: 416, - ExpectationFailed: 417, - ImATeapot: 418, - MisdirectedRequest: 421, - UnprocessableEntity: 422, - Locked: 423, - FailedDependency: 424, - TooEarly: 425, - UpgradeRequired: 426, - PreconditionRequired: 428, - TooManyRequests: 429, - RequestHeaderFieldsTooLarge: 431, - UnavailableForLegalReasons: 451, - InternalServerError: 500, - NotImplemented: 501, - BadGateway: 502, - ServiceUnavailable: 503, - GatewayTimeout: 504, - HttpVersionNotSupported: 505, - VariantAlsoNegotiates: 506, - InsufficientStorage: 507, - LoopDetected: 508, - NotExtended: 510, - NetworkAuthenticationRequired: 511 -}; -Object.entries(HttpStatusCode).forEach(function (_ref) { - var _ref2 = (0, _slicedToArray2.default)(_ref, 2), - key = _ref2[0], - value = _ref2[1]; - HttpStatusCode[value] = key; -}); -var _default = HttpStatusCode; -exports.default = _default; - -/***/ }), -/* 253 */ /*!***********************************************************!*\ !*** D:/里海数字乡村/xunfeiAi/pages/index/chat.vue?mpType=page ***! \***********************************************************/ @@ -30230,10 +25233,10 @@ exports.default = _default; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chat.vue?vue&type=template&id=4e295d7e&mpType=page */ 254);\n/* harmony import */ var _chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chat.vue?vue&type=script&lang=js&mpType=page */ 256);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/chat.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEg7QUFDNUg7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQ21LO0FBQ25LLGdCQUFnQiw2S0FBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSwwRkFBTTtBQUNSLEVBQUUsbUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsOEZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjUzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9jaGF0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00ZTI5NWQ3ZSZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vY2hhdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vY2hhdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9pbmRleC9jaGF0LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///253\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./chat.vue?vue&type=template&id=4e295d7e&mpType=page */ 201);\n/* harmony import */ var _chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./chat.vue?vue&type=script&lang=js&mpType=page */ 203);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 15);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n null,\n null,\n false,\n _chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"pages/index/chat.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBNEg7QUFDNUg7QUFDbUU7QUFDTDs7O0FBRzlEO0FBQ21LO0FBQ25LLGdCQUFnQiw2S0FBVTtBQUMxQixFQUFFLHFGQUFNO0FBQ1IsRUFBRSwwRkFBTTtBQUNSLEVBQUUsbUdBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsOEZBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiMjAwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVuZGVyLCBzdGF0aWNSZW5kZXJGbnMsIHJlY3ljbGFibGVSZW5kZXIsIGNvbXBvbmVudHMgfSBmcm9tIFwiLi9jaGF0LnZ1ZT92dWUmdHlwZT10ZW1wbGF0ZSZpZD00ZTI5NWQ3ZSZtcFR5cGU9cGFnZVwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vY2hhdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuZXhwb3J0ICogZnJvbSBcIi4vY2hhdC52dWU/dnVlJnR5cGU9c2NyaXB0Jmxhbmc9anMmbXBUeXBlPXBhZ2VcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBudWxsLFxuICBudWxsLFxuICBmYWxzZSxcbiAgY29tcG9uZW50cyxcbiAgcmVuZGVyanNcbilcblxuY29tcG9uZW50Lm9wdGlvbnMuX19maWxlID0gXCJwYWdlcy9pbmRleC9jaGF0LnZ1ZVwiXG5leHBvcnQgZGVmYXVsdCBjb21wb25lbnQuZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///200\n"); /***/ }), -/* 254 */ +/* 201 */ /*!*****************************************************************************************!*\ !*** D:/里海数字乡村/xunfeiAi/pages/index/chat.vue?vue&type=template&id=4e295d7e&mpType=page ***! \*****************************************************************************************/ @@ -30242,7 +25245,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _cha "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./chat.vue?vue&type=template&id=4e295d7e&mpType=page */ 255); +/* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./chat.vue?vue&type=template&id=4e295d7e&mpType=page */ 202); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_template_id_4e295d7e_mpType_page__WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); @@ -30254,7 +25257,7 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/* 255 */ +/* 202 */ /*!*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/里海数字乡村/xunfeiAi/pages/index/chat.vue?vue&type=template&id=4e295d7e&mpType=page ***! \*********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ @@ -30311,7 +25314,7 @@ render._withStripped = true /***/ }), -/* 256 */ +/* 203 */ /*!***********************************************************************************!*\ !*** D:/里海数字乡村/xunfeiAi/pages/index/chat.vue?vue&type=script&lang=js&mpType=page ***! \***********************************************************************************/ @@ -30319,10 +25322,10 @@ render._withStripped = true /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./chat.vue?vue&type=script&lang=js&mpType=page */ 257);\n/* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTJpQixDQUFnQixxa0JBQUcsRUFBQyIsImZpbGUiOiIyNTYuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jaGF0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jaGF0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///256\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!../../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./chat.vue?vue&type=script&lang=js&mpType=page */ 204);\n/* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n /* harmony default export */ __webpack_exports__[\"default\"] = (_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_7_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_using_components_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_chat_vue_vue_type_script_lang_js_mpType_page__WEBPACK_IMPORTED_MODULE_0___default.a); //# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQTJpQixDQUFnQixxa0JBQUcsRUFBQyIsImZpbGUiOiIyMDMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9kIGZyb20gXCItIS4uLy4uLy4uLy4uL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jaGF0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiOyBleHBvcnQgZGVmYXVsdCBtb2Q7IGV4cG9ydCAqIGZyb20gXCItIS4uLy4uLy4uLy4uL0hCdWlsZGVyWC9wbHVnaW5zL3VuaWFwcC1jbGkvbm9kZV9tb2R1bGVzL2JhYmVsLWxvYWRlci9saWIvaW5kZXguanMhLi4vLi4vLi4vLi4vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy93ZWJwYWNrLXByZXByb2Nlc3MtbG9hZGVyL2luZGV4LmpzPz9yZWYtLTctMSEuLi8uLi8uLi8uLi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3dlYnBhY2stdW5pLWFwcC1sb2FkZXIvdXNpbmctY29tcG9uZW50cy5qcyEuLi8uLi8uLi8uLi9IQnVpbGRlclgvcGx1Z2lucy91bmlhcHAtY2xpL25vZGVfbW9kdWxlcy9AZGNsb3VkaW8vdnVlLWNsaS1wbHVnaW4tdW5pL3BhY2thZ2VzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9jaGF0LnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZtcFR5cGU9cGFnZVwiIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///203\n"); /***/ }), -/* 257 */ +/* 204 */ /*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--7-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/using-components.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!D:/里海数字乡村/xunfeiAi/pages/index/chat.vue?vue&type=script&lang=js&mpType=page ***! \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ @@ -30330,10 +25333,10 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBu /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nvar _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ 4);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 19));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 27));\nvar base64 = _interopRequireWildcard(__webpack_require__(/*! base-64 */ 28));\nvar _cryptoJs = _interopRequireDefault(__webpack_require__(/*! ../../static/crypto-js/crypto-js.js */ 32));\nvar _parser = _interopRequireDefault(__webpack_require__(/*! ../../static/fast-xml-parser/src/parser */ 190));\nvar utf8 = _interopRequireWildcard(__webpack_require__(/*! utf8 */ 199));\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n // https://spark-api.xf-yun.com/v1.1/chat V1.5 domain general\n // https://spark-api.xf-yun.com/v2.1/chat V2.0 domain generalv2\n data: function data() {\n return {\n TEXT: '你好,我的名字叫大王',\n APPID: '2eda6c2e',\n // 控制台获取填写\n APISecret: 'MDEyMzE5YTc5YmQ5NjMwOTU1MWY4N2Y2',\n APIKey: '12ec1f9d113932575fc4b114a2f60ffd',\n sparkResult: '',\n historyTextList: [],\n // 历史会话信息,由于最大token12000,可以结合实际使用,进行移出\n tempRes: '' // 临时答复保存\n };\n },\n\n methods: {\n sendToSpark: function sendToSpark() {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var myUrl, realThis;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.getWebSocketUrl();\n case 2:\n myUrl = _context.sent;\n _this.tempRes = \"\";\n // this.sparkResult = \"\";\n realThis = _this;\n _this.socketTask = uni.connectSocket({\n //url: encodeURI(encodeURI(myUrl).replace(/\\+/g, '%2B')),\n url: myUrl,\n method: 'GET',\n success: function success(res) {\n __f__(\"log\", res, \"ws成功连接...\", myUrl, \" at pages/index/chat.vue:39\");\n realThis.wsLiveFlag = true;\n }\n });\n realThis.socketTask.onError(function (res) {\n __f__(\"log\", \"连接发生错误,请检查appid是否填写\", res, \" at pages/index/chat.vue:44\");\n });\n realThis.socketTask.onOpen(function (res) {\n _this.historyTextList.push({\n \"role\": \"user\",\n \"content\": _this.TEXT\n });\n __f__(\"info\", \"wss的onOpen成功执行...\", res, \" at pages/index/chat.vue:51\");\n // 第一帧..........................................\n __f__(\"log\", 'open成功...', \" at pages/index/chat.vue:53\");\n var params = {\n \"header\": {\n \"app_id\": _this.APPID,\n \"uid\": \"aef9f963-7\"\n },\n \"parameter\": {\n \"chat\": {\n \"domain\": \"generalv2\",\n \"temperature\": 0.5,\n \"max_tokens\": 1024\n }\n },\n \"payload\": {\n \"message\": {\n \"text\": _this.historyTextList\n }\n }\n };\n __f__(\"log\", \"请求的params:\" + JSON.stringify(params), \" at pages/index/chat.vue:72\");\n _this.sparkResult = _this.sparkResult + \"\\r\\n我:\" + _this.TEXT + \"\\r\\n\";\n _this.sparkResult = _this.sparkResult + \"大模型:\";\n __f__(\"log\", \"发送第一帧...\", params, \" at pages/index/chat.vue:75\");\n realThis.socketTask.send({\n // 发送消息,,都用uni的官方版本\n data: JSON.stringify(params),\n success: function success() {\n __f__(\"log\", '第一帧发送成功', \" at pages/index/chat.vue:79\");\n }\n });\n });\n\n // 接受到消息时\n realThis.socketTask.onMessage(function (res) {\n __f__(\"log\", '收到API返回的内容:', res.data, \" at pages/index/chat.vue:86\");\n var obj = JSON.parse(res.data);\n // console.log(\"我打印的\"+obj.payload);\n var dataArray = obj.payload.choices.text;\n for (var i = 0; i < dataArray.length; i++) {\n realThis.sparkResult = realThis.sparkResult + dataArray[i].content;\n realThis.tempRes = realThis.tempRes + dataArray[i].content;\n }\n // realThis.sparkResult =realThis.sparkResult+ \n var temp = JSON.parse(res.data);\n // console.log(\"0726\",temp.header.code)\n if (temp.header.code !== 0) {\n __f__(\"log\", \"\".concat(temp.header.code, \":\").concat(temp.message), \" at pages/index/chat.vue:98\");\n realThis.socketTask.close({\n success: function success(res) {\n __f__(\"log\", '关闭成功', res, \" at pages/index/chat.vue:101\");\n realThis.wsLiveFlag = false;\n },\n fail: function fail(err) {\n __f__(\"log\", '关闭失败', err, \" at pages/index/chat.vue:105\");\n }\n });\n }\n if (temp.header.code === 0) {\n if (res.data && temp.header.status === 2) {\n realThis.sparkResult = realThis.sparkResult + \"\\r\\n**********************************************\";\n _this.historyTextList.push({\n \"role\": \"assistant\",\n \"content\": _this.tempRes\n });\n /* let dataArray= obj.payload.choices.text;\n for(let i=0;i","","","","","","","","","","","","","",""]},"apple":{},"plugins":{"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"uniStatistics":{"enable":false},"arguments":"{\"name\":\"\",\"path\":\"\",\"query\":\"\",\"id\":0}","allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.8.12","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"launch_path":"__uniappview.html"}} \ No newline at end of file +{"@platforms":["android","iPhone","iPad"],"id":"__UNI__9620511","name":"xunfeiAi","version":{"name":"1.0.0","code":"100"},"description":"","launch_path":"__uniappview.html","developer":{"name":"","email":"","url":""},"permissions":{"UniNView":{"description":"UniNView原生渲染"}},"plus":{"useragent":{"value":"uni-app","concatenate":true},"splashscreen":{"target":"id:1","autoclose":true,"waiting":true,"delay":0},"popGesture":"close","launchwebview":{"render":"always","id":"1","kernel":"WKWebview"},"statusbar":{"immersed":"supportedDevice","style":"dark","background":"#F8F8F8"},"usingComponents":true,"nvueStyleCompiler":"uni-app","compilerVersion":3,"distribute":{"google":{"permissions":["","","","","","","","","","","","","","",""],"abiFilters":["armeabi-v7a","arm64-v8a","x86"]},"apple":{"dSYMs":false},"plugins":{"ad":{},"audio":{"mp3":{"description":"Android平台录音支持MP3格式文件"}}}},"uniStatistics":{"enable":false},"arguments":"{\"name\":\"\",\"path\":\"\",\"query\":\"\",\"id\":0}","allowsInlineMediaPlayback":true,"uni-app":{"compilerVersion":"3.8.12","control":"uni-v3","nvueCompiler":"uni-app","renderer":"auto","nvue":{"flex-direction":"column"},"nvueLaunchMode":"normal"},"launch_path":"__uniappview.html"}} \ No newline at end of file