| | |
| | | import Vue from 'vue' |
| | | Vue.use(uView) |
| | | Vue.config.productionTip = false |
| | | Vue.prototype.baseUrl = 'http://crm.zoneyung.net' |
| | | // Vue.prototype.baseUrl = 'http://192.168.4.188:9528' |
| | | // Vue.prototype.baseUrl = 'http://crm.zoneyung.net' |
| | | Vue.prototype.baseUrl = 'http://192.168.4.188:9528' |
| | | App.mpType = 'app' |
| | | const app = new Vue({ |
| | | ...App |
| | |
| | | data: that.param, |
| | | method:'GET', |
| | | success(result) { |
| | | console.log(result); |
| | | if (result.statusCode === 404) { |
| | | uni.showToast({title: '请重新登录', icon: "none", position: 'top'}) |
| | | return |
| | |
| | | data: param, |
| | | method:'GET', |
| | | success(result) { |
| | | console.log(result); |
| | | if (result.statusCode === 404) { |
| | | uni.showToast({title: '请重新登录', icon: "none", position: 'top'}) |
| | | return |
| | |
| | | data: param, |
| | | method:'GET', |
| | | success(result) { |
| | | console.log(result); |
| | | if (result.statusCode === 404) { |
| | | uni.showToast({title: '请重新登录', icon: "none", position: 'top'}) |
| | | return |
| | |
| | | method: 'POST', |
| | | success(res) { |
| | | res = res.data |
| | | console.log(res); |
| | | _this.codeTimeShow = true |
| | | let time = setInterval(()=>{ |
| | | _this.codeTime-- |
| | |
| | | const baseUrl = 'http://crm.zoneyung.net' |
| | | // const baseUrl = 'http://192.168.4.188:9528' |
| | | // const baseUrl = 'http://crm.zoneyung.net' |
| | | const baseUrl = 'http://192.168.4.188:9528' |
| | | export default { |
| | | baseUrl |
| | | } |
| | |
| | | /***/ (function(module, exports, __webpack_require__) { |
| | | |
| | | "use strict"; |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _md = _interopRequireDefault(__webpack_require__(/*! ../../common/md5.js */ 55));\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n data: function data() {\n return {\n version: '',\n showPassword: true,\n user: {\n phone: '',\n code: ''\n },\n load: {\n loading: false,\n btnText: '登录'\n },\n msgType: 'success',\n filename: '',\n dialogContent: '',\n codeTime: 60,\n codeTimeShow: false,\n download: ''\n };\n },\n onLoad: function onLoad() {\n this.user.userName = uni.getStorageSync('userName');\n this.user.password = uni.getStorageSync('password');\n var that = this;\n plus.runtime.getProperty(plus.runtime.appid, function (wgtinfo) {\n that.version = wgtinfo.version;\n });\n },\n onShow: function onShow() {\n this.getVersion();\n },\n methods: {\n // 获取验证码\n getCode: function getCode() {\n var _this = this;\n uni.request({\n url: \"\".concat(_this.baseUrl, \"/smsCode/sendCode\"),\n header: {\n 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8'\n },\n data: {\n phone: _this.user.phone\n },\n sslVerify: false,\n method: 'POST',\n success: function success(res) {\n res = res.data;\n __f__(\"log\", res, \" at pages/login/login.vue:102\");\n _this.codeTimeShow = true;\n var time = setInterval(function () {\n _this.codeTime--;\n }, 1000);\n setTimeout(function () {\n _this.codeTimeShow = false;\n clearTimeout(time);\n _this.codeTime = 60;\n }, 60000);\n }\n });\n },\n changePassword: function changePassword() {\n this.showPassword = !this.showPassword;\n },\n //检测当前平台,如果是安卓则启动安卓更新\n getVersion: function getVersion() {\n var that = this;\n uni.getSystemInfo({\n success: function success(res) {\n if (res.platform == \"android\") {\n that.AndroidCheckUpdate();\n }\n }\n });\n },\n // 获取当前版本号\n AndroidCheckUpdate: function AndroidCheckUpdate() {\n var that = this;\n plus.runtime.getProperty(plus.runtime.appid, function (wgtinfo) {\n that.version = wgtinfo.version; //客户端版本号\n });\n\n setTimeout(function () {\n that.getUpdateVersion();\n }, 100);\n },\n // 校验版本\n getUpdateVersion: function getUpdateVersion() {\n var that = this;\n var type = 0;\n if (that.baseUrl == 'http://undefined:undefined/undefined') {\n return;\n }\n var url = that.baseUrl + '/appVersion/checkUpdate/' + that.version + '/' + type;\n uni.request({\n url: url,\n method: 'GET',\n success: function success(res) {\n __f__(\"log\", res, \" at pages/login/login.vue:152\");\n var res = res.data;\n if (res.data) {\n __f__(\"log\", res, \" at pages/login/login.vue:155\");\n that.filename = res.data.path;\n that.dialogContent = '发现新版本:' + res.data.version + ', 是否立即更新';\n that.download = res.data.url;\n that.$refs.upVersion.open();\n } else {\n uni.showToast({\n title: res.msg,\n icon: \"none\",\n position: 'top'\n });\n }\n }\n });\n },\n dialogConfirm: function dialogConfirm() {\n this.$refs.upVersion.close();\n this.downWgt();\n },\n dialogClose: function dialogClose() {\n this.$refs.upVersion.close();\n },\n downWgt: function downWgt() {\n var that = this;\n var downloadUrl = that.download;\n uni.showLoading({\n title: '更新中……'\n });\n var downloadTask = uni.downloadFile({\n //执行下载\n url: downloadUrl,\n //下载地址\n timeout: 1000 * 30,\n //30秒超时时间\n success: function success(downloadResult) {\n //下载成功\n __f__(\"log\", downloadResult, \" at pages/login/login.vue:188\");\n that.showdownLine = false;\n uni.hideLoading();\n if (downloadResult.statusCode == 200) {\n uni.showModal({\n title: '',\n content: '更新成功,确定现在重启吗?',\n confirmText: '重启',\n confirmColor: '#EE8F57',\n success: function success(res) {\n if (res.confirm == true) {\n plus.runtime.install(\n //安装\n downloadResult.tempFilePath, {\n force: true\n }, function (res) {\n utils.showToast('更新成功,重启中');\n plus.runtime.restart();\n });\n }\n }\n });\n } else {\n uni.hideLoading();\n that.showdownLine = false;\n uni.showToast({\n title: '请先上传安装包',\n icon: 'error'\n });\n }\n },\n fail: function fail(err) {\n uni.hideLoading();\n that.showdownLine = false;\n that.$u.toast(downloadResult.errMsg);\n },\n complete: function complete(com) {\n __f__(\"log\", com, \" at pages/login/login.vue:227\");\n }\n });\n\n // 下载进度\n downloadTask.onProgressUpdate(function (res) {\n that.downloadNum = res.progress;\n __f__(\"log\", '下载进度' + that.downloadNum, \" at pages/login/login.vue:234\");\n });\n },\n onLogin: function onLogin() {\n var that = this;\n if (that.user.phone == '') {\n uni.showToast({\n title: '请输入手机号',\n icon: \"none\"\n });\n return;\n }\n if (that.user.code == '') {\n uni.showToast({\n title: '验证码不能为空',\n icon: \"none\"\n });\n return;\n }\n uni.request({\n url: that.baseUrl + '/smsLogin.action',\n fail: function fail(result) {\n uni.showToast({\n icon: 'error',\n title: '请求失败'\n });\n },\n data: {\n phone: that.user.phone,\n code: that.user.code\n },\n header: {\n \"content-type\": \"application/json\"\n },\n success: function success(result) {\n if (result.statusCode === 404) {\n uni.showToast({\n title: '登录失败',\n icon: \"error\"\n });\n return;\n }\n var res = result.data;\n if (res.code === 200) {\n that.load.loading = true;\n that.load.btnText = '登录中';\n uni.setStorageSync('token', res.data.token);\n uni.setStorageSync('userName', that.user.userName);\n uni.setStorageSync('password', that.user.password);\n setTimeout(function () {\n uni.showToast({\n title: '登录成功'\n });\n setTimeout(function () {\n uni.reLaunch({\n url: '../index/index'\n });\n }, 300);\n }, 700);\n } else {\n uni.showToast({\n title: res.msg\n });\n }\n }\n });\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 */ 25)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbG9naW4vbG9naW4udnVlIl0sIm5hbWVzIjpbImRhdGEiLCJ2ZXJzaW9uIiwic2hvd1Bhc3N3b3JkIiwidXNlciIsInBob25lIiwiY29kZSIsImxvYWQiLCJsb2FkaW5nIiwiYnRuVGV4dCIsIm1zZ1R5cGUiLCJmaWxlbmFtZSIsImRpYWxvZ0NvbnRlbnQiLCJjb2RlVGltZSIsImNvZGVUaW1lU2hvdyIsImRvd25sb2FkIiwib25Mb2FkIiwicGx1cyIsInRoYXQiLCJvblNob3ciLCJtZXRob2RzIiwiZ2V0Q29kZSIsInVuaSIsInVybCIsImhlYWRlciIsInNzbFZlcmlmeSIsIm1ldGhvZCIsInN1Y2Nlc3MiLCJyZXMiLCJfdGhpcyIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJjaGFuZ2VQYXNzd29yZCIsImdldFZlcnNpb24iLCJBbmRyb2lkQ2hlY2tVcGRhdGUiLCJnZXRVcGRhdGVWZXJzaW9uIiwidGl0bGUiLCJpY29uIiwicG9zaXRpb24iLCJkaWFsb2dDb25maXJtIiwiZGlhbG9nQ2xvc2UiLCJkb3duV2d0IiwidGltZW91dCIsImNvbnRlbnQiLCJjb25maXJtVGV4dCIsImNvbmZpcm1Db2xvciIsImRvd25sb2FkUmVzdWx0IiwiZm9yY2UiLCJ1dGlscyIsImZhaWwiLCJjb21wbGV0ZSIsImRvd25sb2FkVGFzayIsIm9uTG9naW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFzREE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQUNBO0VBQ0FBO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFFQTtJQUNBQztNQUNBQztJQUNBO0VBRUE7RUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQUM7TUFDQTtNQUNBQztRQUNBQztRQUNBQztVQUFBO1FBQUE7UUFDQXZCO1VBQUFJO1FBQUE7UUFDQW9CO1FBQ0FDO1FBQ0FDO1VBQ0FDO1VBQ0E7VUFDQUM7VUFDQTtZQUNBQTtVQUNBO1VBQ0FDO1lBQ0FEO1lBQ0FFO1lBQ0FGO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUc7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBWDtRQUNBSztVQUNBO1lBQ0FUO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBZ0I7TUFDQTtNQUNBakI7UUFDQUM7TUFDQTs7TUFDQVk7UUFDQVo7TUFDQTtJQUNBO0lBQ0E7SUFDQWlCO01BQ0E7TUFDQTtNQUNBO1FBQ0E7TUFDQTtNQUVBO01BQ0FiO1FBQ0FDO1FBQ0FHO1FBQ0FDO1VBQ0E7VUFDQTtVQUNBO1lBQ0E7WUFDQVQ7WUFDQUE7WUFDQUE7WUFDQUE7VUFDQTtZQUNBSTtjQUNBYztjQUNBQztjQUNBQztZQUNBO1VBQ0E7UUFFQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBbkI7UUFDQWM7TUFDQTtNQUNBO1FBQUE7UUFDQWI7UUFBQTtRQUNBbUI7UUFBQTtRQUNBZjtVQUFBO1VBQ0E7VUFDQVQ7VUFDQUk7VUFDQTtZQUNBQTtjQUNBYztjQUNBTztjQUNBQztjQUNBQztjQUNBbEI7Z0JBQ0E7a0JBQ0FWO2tCQUFBO2tCQUNBNkI7b0JBQ0FDO2tCQUNBLEdBQ0E7b0JBQ0FDO29CQUNBL0I7a0JBQ0EsRUFDQTtnQkFDQTtjQUNBO1lBQ0E7VUFDQTtZQUNBSztZQUNBSjtZQUNBSTtjQUNBYztjQUNBQztZQUNBO1VBQ0E7UUFDQTtRQUNBWTtVQUNBM0I7VUFDQUo7VUFDQUE7UUFDQTtRQUNBZ0M7VUFFQTtRQUNBO01BQ0E7O01BRUE7TUFDQUM7UUFDQWpDO1FBQ0E7TUFDQTtJQUNBO0lBQ0FrQztNQUNBO01BQ0E7UUFDQTlCO1VBQUFjO1VBQUFDO1FBQUE7UUFDQTtNQUNBO01BQ0E7UUFDQWY7VUFBQWM7VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQWY7UUFDQUM7UUFDQTBCO1VBQ0EzQjtZQUNBZTtZQUNBRDtVQUNBO1FBQ0E7UUFDQW5DO1VBQ0FJO1VBQ0FDO1FBQ0E7UUFDQWtCO1VBQUE7UUFBQTtRQUNBRztVQUNBO1lBQ0FMO2NBQ0FjO2NBQ0FDO1lBQ0E7WUFDQTtVQUNBO1VBQ0E7VUFDQTtZQUNBbkI7WUFDQUE7WUFDQUk7WUFDQUE7WUFDQUE7WUFDQVE7Y0FDQVI7Z0JBQ0FjO2NBQ0E7Y0FDQU47Z0JBQ0FSO2tCQUNBQztnQkFDQTtjQUNBO1lBQ0E7VUFDQTtZQUNBRDtjQUNBYztZQUNBO1VBQ0E7UUFDQTtNQUdBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiNTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJjb250YWluZXJcIj5cclxuXHRcdDxpbWFnZSBjbGFzcz1cImxvZ29cIiBzcmM9XCIvc3RhdGljL2ltYWdlL2xvZ28ucG5nXCI+PC9pbWFnZT5cclxuXHRcdDwhLS0g55m75b2V5L+h5oGvIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLWluZm9cIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyLWluZm8taXRlbSBzaGFkb3ctd2FycFwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaWNvbnNcIj5cclxuXHRcdFx0XHRcdDx1bmktaWNvbnMgdHlwZT1cInBlcnNvblwiIHNpemU9XCIyMFwiPjwvdW5pLWljb25zPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dGV4dD7miYvmnLrlj7fvvJo8L3RleHQ+XHJcblx0XHRcdFx0PGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXotKblj7chXCIgdi1tb2RlbD1cInVzZXIucGhvbmVcIlxyXG5cdFx0XHRcdFx0cGxhY2Vob2xkZXItc3R5bGU9XCJmb250LXNpemU6MTRweDtjb2xvcjojY2NjO1wiPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidXNlci1pbmZvLWl0ZW0gc2hhZG93LXdhcnBcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImljb25zXCI+XHJcblx0XHRcdFx0XHQ8dW5pLWljb25zIHR5cGU9XCJsb2NrZWRcIiBzaXplPVwiMjBcIj48L3VuaS1pY29ucz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHRleHQ+6aqM6K+B56CB77yaPC90ZXh0PlxyXG5cdFx0XHRcdDxpbnB1dCA6cGFzc3dvcmQ9XCIhc2hvd1Bhc3N3b3JkXCIgdi1tb2RlbD1cInVzZXIuY29kZVwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6aqM6K+B56CBIVwiXHJcblx0XHRcdFx0XHRwbGFjZWhvbGRlci1zdHlsZT1cImZvbnQtc2l6ZToxNHB4O2NvbG9yOiNjY2M7XCI+XHJcblx0XHRcdFx0PHZpZXcgc3R5bGU9XCJmb250LXNpemU6IDI0cnB4O1wiID5cclxuXHRcdFx0XHRcdDx0ZXh0IEBjbGljaz1cImdldENvZGVcIiB2LXNob3c9XCIhY29kZVRpbWVTaG93XCI+6I635Y+W6aqM6K+B56CBPC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQgdi1zaG93PVwiY29kZVRpbWVTaG93XCI+e3tjb2RlVGltZX1956eS5ZCO6YeN6I63PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwic2hvd1Bhc3N3b3JkXCIgdi1pZj1cInNob3dQYXNzd29yZFwiIEBjbGljaz1cImNoYW5nZVBhc3N3b3JkXCI+XHJcblx0XHRcdFx0XHQ8dW5pLWljb25zIHR5cGU9XCJleWVcIiBzaXplPVwiMjBcIj48L3VuaS1pY29ucz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzaG93UGFzc3dvcmRcIiB2LWlmPVwiIXNob3dQYXNzd29yZFwiIEBjbGljaz1cImNoYW5nZVBhc3N3b3JkXCI+XHJcblx0XHRcdFx0XHQ8dW5pLWljb25zIHR5cGU9XCJleWUtc2xhc2hcIiBzaXplPVwiMjBcIj48L3VuaS1pY29ucz5cclxuXHRcdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8IS0tIOeZu+W9leaMiemSriAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwibG9naW5nXCI+XHJcblx0XHRcdDxidXR0b24gY2xhc3M9XCJidXR0b25cIiBAY2xpY2s9XCJvbkxvZ2luKClcIiA6bG9hZGluZz1cImxvYWQubG9hZGluZ1wiPnt7bG9hZC5idG5UZXh0fX08L2J1dHRvbj5cclxuXHRcdDwvdmlldz5cclxuXHRcdFxyXG5cdFx0PHZpZXc+XHJcblx0XHRcdDwhLS0g5o+Q56S656qX56S65L6LIC0tPlxyXG5cdFx0XHQ8dW5pLXBvcHVwIHJlZj1cInVwVmVyc2lvblwiIHR5cGU9XCJkaWFsb2dcIj5cclxuXHRcdFx0XHQ8dW5pLXBvcHVwLWRpYWxvZyA6dHlwZT1cIm1zZ1R5cGVcIiB0aXRsZT1cIumAmuefpVwiIDpjb250ZW50PVwiZGlhbG9nQ29udGVudFwiIEBjb25maXJtPVwiZGlhbG9nQ29uZmlybVwiXHJcblx0XHRcdFx0XHRAY2xvc2U9XCJkaWFsb2dDbG9zZVwiPjwvdW5pLXBvcHVwLWRpYWxvZz5cclxuXHRcdFx0PC91bmktcG9wdXA+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHRcclxuXHRcdDwhLS0gI2lmZGVmIEFQUC1QTFVTIC0tPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJ2ZXJzaW9uXCI+XHJcblx0XHRcdOW9k+WJjeeJiOacrDoge3t2ZXJzaW9ufX1cclxuXHRcdDwvdmlldz5cclxuXHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcblx0aW1wb3J0IG1kNSBmcm9tICcuLi8uLi9jb21tb24vbWQ1LmpzJ1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0dmVyc2lvbjogJycsXHJcblx0XHRcdFx0c2hvd1Bhc3N3b3JkOiB0cnVlLFxyXG5cdFx0XHRcdHVzZXI6IHtcclxuXHRcdFx0XHRcdHBob25lOiAnJyxcclxuXHRcdFx0XHRcdGNvZGU6ICcnLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0bG9hZDoge1xyXG5cdFx0XHRcdFx0bG9hZGluZzogZmFsc2UsXHJcblx0XHRcdFx0XHRidG5UZXh0OiAn55m75b2VJ1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0bXNnVHlwZTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdGZpbGVuYW1lOiAnJyxcclxuXHRcdFx0XHRkaWFsb2dDb250ZW50OiAnJyxcclxuXHRcdFx0XHRjb2RlVGltZTogNjAsXHJcblx0XHRcdFx0Y29kZVRpbWVTaG93OiBmYWxzZSxcclxuXHRcdFx0XHRkb3dubG9hZDogJycgXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRvbkxvYWQ6IGZ1bmN0aW9uKCkge1xyXG5cdFx0XHR0aGlzLnVzZXIudXNlck5hbWUgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ3VzZXJOYW1lJylcclxuXHRcdFx0dGhpcy51c2VyLnBhc3N3b3JkID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdwYXNzd29yZCcpXHJcblx0XHRcdC8vICNpZmRlZiBBUFAtUExVU1xyXG5cdFx0XHR2YXIgdGhhdCA9IHRoaXNcclxuXHRcdFx0cGx1cy5ydW50aW1lLmdldFByb3BlcnR5KHBsdXMucnVudGltZS5hcHBpZCwgZnVuY3Rpb24od2d0aW5mbykge1xyXG5cdFx0XHRcdHRoYXQudmVyc2lvbiA9IHdndGluZm8udmVyc2lvblxyXG5cdFx0XHR9KTtcclxuXHRcdFx0Ly8gI2VuZGlmXHJcblx0XHR9LFxyXG5cdFx0b25TaG93KCkge1xyXG5cdFx0XHR0aGlzLmdldFZlcnNpb24oKVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Ly8g6I635Y+W6aqM6K+B56CBXHJcblx0XHRcdGdldENvZGUoKSB7XHJcblx0XHRcdFx0bGV0IF90aGlzID0gdGhpc1xyXG5cdFx0XHRcdHVuaS5yZXF1ZXN0KHtcclxuXHRcdFx0XHRcdHVybDogYCR7X3RoaXMuYmFzZVVybH0vc21zQ29kZS9zZW5kQ29kZWAsXHJcblx0XHRcdFx0XHRoZWFkZXI6IHsnY29udGVudC10eXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PVVURi04J30sXHJcblx0XHRcdFx0XHRkYXRhOiB7cGhvbmU6IF90aGlzLnVzZXIucGhvbmV9LFxyXG5cdFx0XHRcdFx0c3NsVmVyaWZ5OiBmYWxzZSxcclxuXHRcdFx0XHRcdG1ldGhvZDogJ1BPU1QnLFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0cmVzID0gcmVzLmRhdGEgXHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdF90aGlzLmNvZGVUaW1lU2hvdyA9IHRydWVcclxuXHRcdFx0XHRcdFx0bGV0IHRpbWUgPSBzZXRJbnRlcnZhbCgoKT0+e1xyXG5cdFx0XHRcdFx0XHRcdF90aGlzLmNvZGVUaW1lLS1cclxuXHRcdFx0XHRcdFx0fSwxMDAwKVxyXG5cdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XHJcblx0XHRcdFx0XHRcdFx0X3RoaXMuY29kZVRpbWVTaG93ID0gZmFsc2VcclxuXHRcdFx0XHRcdFx0XHRjbGVhclRpbWVvdXQodGltZSk7XHJcblx0XHRcdFx0XHRcdFx0X3RoaXMuY29kZVRpbWUgPSA2MFxyXG5cdFx0XHRcdFx0XHR9LDYwMDAwKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGNoYW5nZVBhc3N3b3JkOiBmdW5jdGlvbigpIHtcclxuXHRcdFx0XHR0aGlzLnNob3dQYXNzd29yZCA9ICF0aGlzLnNob3dQYXNzd29yZDtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly/mo4DmtYvlvZPliY3lubPlj7DvvIzlpoLmnpzmmK/lronljZPliJnlkK/liqjlronljZPmm7TmlrBcclxuXHRcdFx0Z2V0VmVyc2lvbigpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0dW5pLmdldFN5c3RlbUluZm8oe1xyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnBsYXRmb3JtID09IFwiYW5kcm9pZFwiKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5BbmRyb2lkQ2hlY2tVcGRhdGUoKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOiOt+WPluW9k+WJjeeJiOacrOWPt1xyXG5cdFx0XHRBbmRyb2lkQ2hlY2tVcGRhdGUoKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHBsdXMucnVudGltZS5nZXRQcm9wZXJ0eShwbHVzLnJ1bnRpbWUuYXBwaWQsICh3Z3RpbmZvKSA9PiB7XHJcblx0XHRcdFx0XHR0aGF0LnZlcnNpb24gPSB3Z3RpbmZvLnZlcnNpb24gLy/lrqLmiLfnq6/niYjmnKzlj7dcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHNldFRpbWVvdXQoKCk9PntcclxuXHRcdFx0XHRcdHRoYXQuZ2V0VXBkYXRlVmVyc2lvbigpXHJcblx0XHRcdFx0fSwxMDApXHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOagoemqjOeJiOacrFxyXG5cdFx0XHRnZXRVcGRhdGVWZXJzaW9uKCkge1xyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpc1xyXG5cdFx0XHRcdGxldCB0eXBlID0gMFxyXG5cdFx0XHRcdGlmICh0aGF0LmJhc2VVcmwgPT0gJ2h0dHA6Ly91bmRlZmluZWQ6dW5kZWZpbmVkL3VuZGVmaW5lZCcpIHtcclxuXHRcdFx0XHRcdHJldHVyblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0XHRsZXQgdXJsID0gdGhhdC5iYXNlVXJsICsgJy9hcHBWZXJzaW9uL2NoZWNrVXBkYXRlLycgKyB0aGF0LnZlcnNpb24gKyAnLycgKyB0eXBlXHJcblx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiB1cmwsXHJcblx0XHRcdFx0XHRtZXRob2Q6ICdHRVQnLFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0dmFyIHJlcyA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YSkge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5maWxlbmFtZSA9IHJlcy5kYXRhLnBhdGhcclxuXHRcdFx0XHRcdFx0XHR0aGF0LmRpYWxvZ0NvbnRlbnQgPSAn5Y+R546w5paw54mI5pysOicgKyByZXMuZGF0YS52ZXJzaW9uICsgJywg5piv5ZCm56uL5Y2z5pu05pawJ1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQuZG93bmxvYWQgPSByZXMuZGF0YS51cmxcclxuXHRcdFx0XHRcdFx0XHR0aGF0LiRyZWZzLnVwVmVyc2lvbi5vcGVuKClcclxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiByZXMubXNnLFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogJ3RvcCdcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGRpYWxvZ0NvbmZpcm0oKSB7XHJcblx0XHRcdFx0dGhpcy4kcmVmcy51cFZlcnNpb24uY2xvc2UoKVxyXG5cdFx0XHRcdHRoaXMuZG93bldndCgpXHJcblx0XHRcdH0sXHJcblx0XHRcdGRpYWxvZ0Nsb3NlKCkge1xyXG5cdFx0XHRcdHRoaXMuJHJlZnMudXBWZXJzaW9uLmNsb3NlKClcclxuXHRcdFx0fSxcclxuXHRcdFx0ZG93bldndCgpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0Y29uc3QgZG93bmxvYWRVcmwgPSB0aGF0LmRvd25sb2FkXHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHRcdHRpdGxlOiAn5pu05paw5Lit4oCm4oCmJ1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0Y29uc3QgZG93bmxvYWRUYXNrID0gdW5pLmRvd25sb2FkRmlsZSh7IC8v5omn6KGM5LiL6L29XHJcblx0XHRcdFx0XHR1cmw6IGRvd25sb2FkVXJsLCAvL+S4i+i9veWcsOWdgFxyXG5cdFx0XHRcdFx0dGltZW91dDogMTAwMCAqIDMwLCAvLzMw56eS6LaF5pe25pe26Ze0XHJcblx0XHRcdFx0XHRzdWNjZXNzOiBkb3dubG9hZFJlc3VsdCA9PiB7IC8v5LiL6L295oiQ5YqfXHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGRvd25sb2FkUmVzdWx0KTtcclxuXHRcdFx0XHRcdFx0dGhhdC5zaG93ZG93bkxpbmUgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0aWYgKGRvd25sb2FkUmVzdWx0LnN0YXR1c0NvZGUgPT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJycsXHJcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAn5pu05paw5oiQ5Yqf77yM56Gu5a6a546w5Zyo6YeN5ZCv5ZCX77yfJyxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmZpcm1UZXh0OiAn6YeN5ZCvJyxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmZpcm1Db2xvcjogJyNFRThGNTcnLFxyXG5cdFx0XHRcdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChyZXMuY29uZmlybSA9PSB0cnVlKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cGx1cy5ydW50aW1lLmluc3RhbGwoIC8v5a6J6KOFXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkb3dubG9hZFJlc3VsdC50ZW1wRmlsZVBhdGgsIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9yY2U6IHRydWVcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXRpbHMuc2hvd1RvYXN0KCfmm7TmlrDmiJDlip/vvIzph43lkK/kuK0nKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0cGx1cy5ydW50aW1lLnJlc3RhcnQoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5zaG93ZG93bkxpbmUgPSBmYWxzZVxyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6J+ivt+WFiOS4iuS8oOWuieijheWMhScsXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uOiAnZXJyb3InXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGZhaWw6IGVyciA9PiB7XHJcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHR0aGF0LnNob3dkb3duTGluZSA9IGZhbHNlXHJcblx0XHRcdFx0XHRcdHRoYXQuJHUudG9hc3QoZG93bmxvYWRSZXN1bHQuZXJyTXNnKVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGNvbXBsZXRlOiBjb20gPT4ge1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coY29tKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHRcclxuXHRcdFx0XHQvLyDkuIvovb3ov5vluqZcclxuXHRcdFx0XHRkb3dubG9hZFRhc2sub25Qcm9ncmVzc1VwZGF0ZShyZXMgPT4ge1xyXG5cdFx0XHRcdFx0dGhhdC5kb3dubG9hZE51bSA9IHJlcy5wcm9ncmVzc1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+S4i+i9vei/m+W6picgKyB0aGF0LmRvd25sb2FkTnVtKTtcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0b25Mb2dpbigpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXNcclxuXHRcdFx0XHRpZiAodGhhdC51c2VyLnBob25lID09ICcnKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXmiYvmnLrlj7cnLCBpY29uOiBcIm5vbmVcIiB9KVxyXG5cdFx0XHRcdFx0cmV0dXJuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICh0aGF0LnVzZXIuY29kZSA9PSAnJykge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6aqM6K+B56CB5LiN6IO95Li656m6JywgaWNvbjogXCJub25lXCIgfSlcclxuXHRcdFx0XHRcdHJldHVyblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR1bmkucmVxdWVzdCh7XHJcblx0XHRcdFx0XHR1cmw6IHRoYXQuYmFzZVVybCArICcvc21zTG9naW4uYWN0aW9uJyxcclxuXHRcdFx0XHRcdGZhaWwocmVzdWx0KSB7XHJcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdGljb246ICdlcnJvcicsXHJcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfor7fmsYLlpLHotKUnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdFx0XHRwaG9uZTogdGhhdC51c2VyLnBob25lLFxyXG5cdFx0XHRcdFx0XHRjb2RlOiB0aGF0LnVzZXIuY29kZVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdGhlYWRlcjogeyBcImNvbnRlbnQtdHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIiB9LFxyXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXN1bHQpIHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlc3VsdC5zdGF0dXNDb2RlID09PSA0MDQpIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn55m75b2V5aSx6LSlJyxcclxuXHRcdFx0XHRcdFx0XHRcdGljb246IFwiZXJyb3JcIlxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0bGV0IHJlcyA9IHJlc3VsdC5kYXRhXHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5sb2FkLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQubG9hZC5idG5UZXh0ID0gJ+eZu+W9leS4rSc7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNldFN0b3JhZ2VTeW5jKCd0b2tlbicsIHJlcy5kYXRhLnRva2VuKTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ3VzZXJOYW1lJywgdGhhdC51c2VyLnVzZXJOYW1lKTtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ3Bhc3N3b3JkJywgdGhhdC51c2VyLnBhc3N3b3JkKTtcclxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+eZu+W9leaIkOWKnydcclxuXHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnJlTGF1bmNoKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1cmw6ICcuLi9pbmRleC9pbmRleCdcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHR9LCAzMDApXHJcblx0XHRcdFx0XHRcdFx0fSwgNzAwKVxyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IHJlcy5tc2dcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9LFxyXG5cclxuXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlPlxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIOihqOekuuWeguebtOaWueWQke+8jOeUseS4iuWIsOS4i1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtaW4taGVpZ2h0OiA5My40dmg7XHJcblx0fVxyXG5cclxuXHQubG9nbyB7XHJcblx0XHR3aWR0aDogMzAwcHg7XHJcblx0XHRoZWlnaHQ6IDE2M3B4O1xyXG5cdFx0bWFyZ2luLXRvcDogMTAwcnB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHRtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblx0XHRtYXJnaW4tYm90dG9tOiA1MHJweDtcclxuXHR9XHJcblxyXG5cdC51c2VyLWluZm8ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDQwMHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAxcHg7XHJcblx0fVxyXG5cclxuXHQudXNlci1pbmZvLWl0ZW0ge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdHdpZHRoOiA2NTBycHg7XHJcblx0XHRoZWlnaHQ6IDEwMHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxMDBycHg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcnB4O1xyXG5cdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0fVxyXG5cclxuXHQudXNlci1pbmZvLWl0ZW0+aW5wdXQge1xyXG5cdFx0d2lkdGg6IDMwMHJweDtcclxuXHRcdGNvbG9yOiAjNjA2MjY2O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdGNhcmV0LWNvbG9yOiAjNjA2MjY2OyAvLyDlhYnmoIfpopzoibJcclxuXHR9XHJcblxyXG5cdC5pY29ucyB7XHJcblx0XHRtYXJnaW4tbGVmdDogMjBycHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDE4cnB4O1xyXG5cdH1cclxuXHJcblx0LnNob3dQYXNzd29yZCB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRyaWdodDogMTBycHg7XHJcblx0fVxyXG5cclxuXHQuc2hhZG93LXdhcnAge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAwIDEwdXB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuXHR9XHJcblxyXG5cdC5zaGFkb3ctd2FycDpiZWZvcmUsXHJcblx0LnNoYWRvdy13YXJwOmFmdGVyIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGNvbnRlbnQ6IFwiXCI7XHJcblx0XHR0b3A6IDIwdXB4O1xyXG5cdFx0Ym90dG9tOiAzMHVweDtcclxuXHRcdGxlZnQ6IDIwdXB4O1xyXG5cdFx0d2lkdGg6IDUwJTtcclxuXHRcdGJveC1zaGFkb3c6IDAgMzB1cHggMjB1cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdFx0dHJhbnNmb3JtOiByb3RhdGUoLTNkZWcpO1xyXG5cdFx0ei1pbmRleDogLTE7XHJcblx0fVxyXG5cclxuXHQuc2hhZG93LXdhcnA6YWZ0ZXIge1xyXG5cdFx0cmlnaHQ6IDIwdXB4O1xyXG5cdFx0bGVmdDogYXV0bztcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDNkZWcpO1xyXG5cdH1cclxuXHJcblx0LmxvZ2luZyB7XHJcblx0XHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0XHRib3R0b206IDEwMHJweDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRyaWdodDogMDtcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0LmJ1dHRvbiB7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICM0MDlFRkY7XHJcblx0XHR3aWR0aDogMTUwcHg7XHJcblx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0XHRsaW5lLWhlaWdodDogNDBweDtcclxuXHR9XHJcblxyXG5cdGJ1dHRvbjo6YWZ0ZXIge1xyXG5cdFx0Ym9yZGVyOiBpbml0aWFsO1xyXG5cdH1cclxuXHJcblx0LmJ1dHRvbi1ob3ZlciB7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICM2ZmMxZmY7XHJcblx0fVxyXG5cclxuXHQudmVyc2lvbiB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdGJvdHRvbTogMzBycHg7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0cmlnaHQ6IDA7XHJcblx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdGZvbnQtc2l6ZTogMTBweDtcclxuXHRcdGNvbG9yOiAjQzBDNENDO1xyXG5cdH1cclxuXHJcblx0LmlucHV0IHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxuXHJcblx0LnVuaS1pbnB1dCB7XHJcblx0XHRoZWlnaHQ6IDUwcnB4O1xyXG5cdFx0cGFkZGluZzogMTVycHggMjVycHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTBycHg7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0YmFja2dyb3VuZDogI0ZGRjtcclxuXHRcdGZsZXg6IDE7XHJcblx0fVxyXG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///54\n"); |
| | | eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _md = _interopRequireDefault(__webpack_require__(/*! ../../common/md5.js */ 55));\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n data: function data() {\n return {\n version: '',\n showPassword: true,\n user: {\n phone: '',\n code: ''\n },\n load: {\n loading: false,\n btnText: '登录'\n },\n msgType: 'success',\n filename: '',\n dialogContent: '',\n codeTime: 60,\n codeTimeShow: false,\n download: ''\n };\n },\n onLoad: function onLoad() {\n this.user.userName = uni.getStorageSync('userName');\n this.user.password = uni.getStorageSync('password');\n var that = this;\n plus.runtime.getProperty(plus.runtime.appid, function (wgtinfo) {\n that.version = wgtinfo.version;\n });\n },\n onShow: function onShow() {\n this.getVersion();\n },\n methods: {\n // 获取验证码\n getCode: function getCode() {\n var _this = this;\n uni.request({\n url: \"\".concat(_this.baseUrl, \"/smsCode/sendCode\"),\n header: {\n 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8'\n },\n data: {\n phone: _this.user.phone\n },\n sslVerify: false,\n method: 'POST',\n success: function success(res) {\n res = res.data;\n _this.codeTimeShow = true;\n var time = setInterval(function () {\n _this.codeTime--;\n }, 1000);\n setTimeout(function () {\n _this.codeTimeShow = false;\n clearTimeout(time);\n _this.codeTime = 60;\n }, 60000);\n }\n });\n },\n changePassword: function changePassword() {\n this.showPassword = !this.showPassword;\n },\n //检测当前平台,如果是安卓则启动安卓更新\n getVersion: function getVersion() {\n var that = this;\n uni.getSystemInfo({\n success: function success(res) {\n if (res.platform == \"android\") {\n that.AndroidCheckUpdate();\n }\n }\n });\n },\n // 获取当前版本号\n AndroidCheckUpdate: function AndroidCheckUpdate() {\n var that = this;\n plus.runtime.getProperty(plus.runtime.appid, function (wgtinfo) {\n that.version = wgtinfo.version; //客户端版本号\n });\n\n setTimeout(function () {\n that.getUpdateVersion();\n }, 100);\n },\n // 校验版本\n getUpdateVersion: function getUpdateVersion() {\n var that = this;\n var type = 0;\n if (that.baseUrl == 'http://undefined:undefined/undefined') {\n return;\n }\n var url = that.baseUrl + '/appVersion/checkUpdate/' + that.version + '/' + type;\n uni.request({\n url: url,\n method: 'GET',\n success: function success(res) {\n __f__(\"log\", res, \" at pages/login/login.vue:151\");\n var res = res.data;\n if (res.data) {\n __f__(\"log\", res, \" at pages/login/login.vue:154\");\n that.filename = res.data.path;\n that.dialogContent = '发现新版本:' + res.data.version + ', 是否立即更新';\n that.download = res.data.url;\n that.$refs.upVersion.open();\n } else {\n uni.showToast({\n title: res.msg,\n icon: \"none\",\n position: 'top'\n });\n }\n }\n });\n },\n dialogConfirm: function dialogConfirm() {\n this.$refs.upVersion.close();\n this.downWgt();\n },\n dialogClose: function dialogClose() {\n this.$refs.upVersion.close();\n },\n downWgt: function downWgt() {\n var that = this;\n var downloadUrl = that.download;\n uni.showLoading({\n title: '更新中……'\n });\n var downloadTask = uni.downloadFile({\n //执行下载\n url: downloadUrl,\n //下载地址\n timeout: 1000 * 30,\n //30秒超时时间\n success: function success(downloadResult) {\n //下载成功\n __f__(\"log\", downloadResult, \" at pages/login/login.vue:187\");\n that.showdownLine = false;\n uni.hideLoading();\n if (downloadResult.statusCode == 200) {\n uni.showModal({\n title: '',\n content: '更新成功,确定现在重启吗?',\n confirmText: '重启',\n confirmColor: '#EE8F57',\n success: function success(res) {\n if (res.confirm == true) {\n plus.runtime.install(\n //安装\n downloadResult.tempFilePath, {\n force: true\n }, function (res) {\n utils.showToast('更新成功,重启中');\n plus.runtime.restart();\n });\n }\n }\n });\n } else {\n uni.hideLoading();\n that.showdownLine = false;\n uni.showToast({\n title: '请先上传安装包',\n icon: 'error'\n });\n }\n },\n fail: function fail(err) {\n uni.hideLoading();\n that.showdownLine = false;\n that.$u.toast(downloadResult.errMsg);\n },\n complete: function complete(com) {\n __f__(\"log\", com, \" at pages/login/login.vue:226\");\n }\n });\n\n // 下载进度\n downloadTask.onProgressUpdate(function (res) {\n that.downloadNum = res.progress;\n __f__(\"log\", '下载进度' + that.downloadNum, \" at pages/login/login.vue:233\");\n });\n },\n onLogin: function onLogin() {\n var that = this;\n if (that.user.phone == '') {\n uni.showToast({\n title: '请输入手机号',\n icon: \"none\"\n });\n return;\n }\n if (that.user.code == '') {\n uni.showToast({\n title: '验证码不能为空',\n icon: \"none\"\n });\n return;\n }\n uni.request({\n url: that.baseUrl + '/smsLogin.action',\n fail: function fail(result) {\n uni.showToast({\n icon: 'error',\n title: '请求失败'\n });\n },\n data: {\n phone: that.user.phone,\n code: that.user.code\n },\n header: {\n \"content-type\": \"application/json\"\n },\n success: function success(result) {\n if (result.statusCode === 404) {\n uni.showToast({\n title: '登录失败',\n icon: \"error\"\n });\n return;\n }\n var res = result.data;\n if (res.code === 200) {\n that.load.loading = true;\n that.load.btnText = '登录中';\n uni.setStorageSync('token', res.data.token);\n uni.setStorageSync('userName', that.user.userName);\n uni.setStorageSync('password', that.user.password);\n setTimeout(function () {\n uni.showToast({\n title: '登录成功'\n });\n setTimeout(function () {\n uni.reLaunch({\n url: '../index/index'\n });\n }, 300);\n }, 700);\n } else {\n uni.showToast({\n title: res.msg\n });\n }\n }\n });\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 */ 25)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbG9naW4vbG9naW4udnVlIl0sIm5hbWVzIjpbImRhdGEiLCJ2ZXJzaW9uIiwic2hvd1Bhc3N3b3JkIiwidXNlciIsInBob25lIiwiY29kZSIsImxvYWQiLCJsb2FkaW5nIiwiYnRuVGV4dCIsIm1zZ1R5cGUiLCJmaWxlbmFtZSIsImRpYWxvZ0NvbnRlbnQiLCJjb2RlVGltZSIsImNvZGVUaW1lU2hvdyIsImRvd25sb2FkIiwib25Mb2FkIiwidXNlck5hbWUiLCJ1bmkiLCJnZXRTdG9yYWdlU3luYyIsInBhc3N3b3JkIiwidGhhdCIsInBsdXMiLCJydW50aW1lIiwiZ2V0UHJvcGVydHkiLCJhcHBpZCIsIndndGluZm8iLCJvblNob3ciLCJnZXRWZXJzaW9uIiwibWV0aG9kcyIsImdldENvZGUiLCJfdGhpcyIsInJlcXVlc3QiLCJ1cmwiLCJiYXNlVXJsIiwiaGVhZGVyIiwic3NsVmVyaWZ5IiwibWV0aG9kIiwic3VjY2VzcyIsInJlcyIsInRpbWUiLCJzZXRJbnRlcnZhbCIsInNldFRpbWVvdXQiLCJjbGVhclRpbWVvdXQiLCJjaGFuZ2VQYXNzd29yZCIsImdldFN5c3RlbUluZm8iLCJwbGF0Zm9ybSIsIkFuZHJvaWRDaGVja1VwZGF0ZSIsImdldFVwZGF0ZVZlcnNpb24iLCJ0eXBlIiwicGF0aCIsIiRyZWZzIiwidXBWZXJzaW9uIiwib3BlbiIsInNob3dUb2FzdCIsInRpdGxlIiwibXNnIiwiaWNvbiIsInBvc2l0aW9uIiwiZGlhbG9nQ29uZmlybSIsImNsb3NlIiwiZG93bldndCIsImRpYWxvZ0Nsb3NlIiwiZG93bmxvYWRVcmwiLCJzaG93TG9hZGluZyIsImRvd25sb2FkVGFzayIsImRvd25sb2FkRmlsZSIsInRpbWVvdXQiLCJkb3dubG9hZFJlc3VsdCIsInNob3dkb3duTGluZSIsImhpZGVMb2FkaW5nIiwic3RhdHVzQ29kZSIsInNob3dNb2RhbCIsImNvbnRlbnQiLCJjb25maXJtVGV4dCIsImNvbmZpcm1Db2xvciIsImNvbmZpcm0iLCJpbnN0YWxsIiwidGVtcEZpbGVQYXRoIiwiZm9yY2UiLCJ1dGlscyIsInJlc3RhcnQiLCJmYWlsIiwiZXJyIiwiJHUiLCJ0b2FzdCIsImVyck1zZyIsImNvbXBsZXRlIiwiY29tIiwib25Qcm9ncmVzc1VwZGF0ZSIsImRvd25sb2FkTnVtIiwicHJvZ3Jlc3MiLCJvbkxvZ2luIiwicmVzdWx0Iiwic2V0U3RvcmFnZVN5bmMiLCJ0b2tlbiIsInJlTGF1bmNoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBc0RBO0FBdERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQSxlQUdlO0VBQ2RBLElBQUksa0JBQUc7SUFDTixPQUFPO01BQ05DLE9BQU8sRUFBRSxFQUFFO01BQ1hDLFlBQVksRUFBRSxJQUFJO01BQ2xCQyxJQUFJLEVBQUU7UUFDTEMsS0FBSyxFQUFFLEVBQUU7UUFDVEMsSUFBSSxFQUFFO01BQ1AsQ0FBQztNQUNEQyxJQUFJLEVBQUU7UUFDTEMsT0FBTyxFQUFFLEtBQUs7UUFDZEMsT0FBTyxFQUFFO01BQ1YsQ0FBQztNQUNEQyxPQUFPLEVBQUUsU0FBUztNQUNsQkMsUUFBUSxFQUFFLEVBQUU7TUFDWkMsYUFBYSxFQUFFLEVBQUU7TUFDakJDLFFBQVEsRUFBRSxFQUFFO01BQ1pDLFlBQVksRUFBRSxLQUFLO01BQ25CQyxRQUFRLEVBQUU7SUFDWCxDQUFDO0VBQ0YsQ0FBQztFQUNEQyxNQUFNLEVBQUUsa0JBQVc7SUFDbEIsSUFBSSxDQUFDWixJQUFJLENB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QUNvQyxTQUFTLENBQUM7Z0JBQ2JDLEtBQUssRUFBRTtjQUNSLENBQUMsQ0FBQztjQUNGYixVQUFVLENBQUMsWUFBTTtnQkFDaEJ4QixHQUFHLENBQUM4RSxRQUFRLENBQUM7a0JBQ1ovRCxHQUFHLEVBQUU7Z0JBQ04sQ0FBQyxDQUFDO2NBQ0gsQ0FBQyxFQUFFLEdBQUcsQ0FBQztZQUNSLENBQUMsRUFBRSxHQUFHLENBQUM7VUFDUixDQUFDLE1BQU07WUFDTmYsR0FBRyxDQUFDb0MsU0FBUyxDQUFDO2NBQ2JDLEtBQUssRUFBRWhCLEdBQUcsQ0FBQ2lCO1lBQ1osQ0FBQyxDQUFDO1VBQ0g7UUFDRDtNQUdELENBQUMsQ0FBQztJQUNIO0VBQ0Q7QUFDRCxDQUFDO0FBQUEsMkIiLCJmaWxlIjoiNTQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cblxuaW1wb3J0IG1kNSBmcm9tICcuLi8uLi9jb21tb24vbWQ1LmpzJ1xuZXhwb3J0IGRlZmF1bHQge1xuXHRkYXRhKCkge1xuXHRcdHJldHVybiB7XG5cdFx0XHR2ZXJzaW9uOiAnJyxcblx0XHRcdHNob3dQYXNzd29yZDogdHJ1ZSxcblx0XHRcdHVzZXI6IHtcblx0XHRcdFx0cGhvbmU6ICcnLFxuXHRcdFx0XHRjb2RlOiAnJyxcblx0XHRcdH0sXG5cdFx0XHRsb2FkOiB7XG5cdFx0XHRcdGxvYWRpbmc6IGZhbHNlLFxuXHRcdFx0XHRidG5UZXh0OiAn55m75b2VJ1xuXHRcdFx0fSxcblx0XHRcdG1zZ1R5cGU6ICdzdWNjZXNzJyxcblx0XHRcdGZpbGVuYW1lOiAnJyxcblx0XHRcdGRpYWxvZ0NvbnRlbnQ6ICcnLFxuXHRcdFx0Y29kZVRpbWU6IDYwLFxuXHRcdFx0Y29kZVRpbWVTaG93OiBmYWxzZSxcblx0XHRcdGRvd25sb2FkOiAnJyBcblx0XHR9XG5cdH0sXG5cdG9uTG9hZDogZnVuY3Rpb24oKSB7XG5cdFx0dGhpcy51c2VyLnVzZXJOYW1lID0gdW5pLmdldFN0b3JhZ2VTeW5jKCd1c2VyTmFtZScpXG5cdFx0dGhpcy51c2VyLnBhc3N3b3JkID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdwYXNzd29yZCcpXG5cblx0XHR2YXIgdGhhdCA9IHRoaXNcblx0XHRwbHVzLnJ1bnRpbWUuZ2V0UHJvcGVydHkocGx1cy5ydW50aW1lLmFwcGlkLCBmdW5jdGlvbih3Z3RpbmZvKSB7XG5cdFx0XHR0aGF0LnZlcnNpb24gPSB3Z3RpbmZvLnZlcnNpb25cblx0XHR9KTtcblxuXHR9LFxuXHRvblNob3coKSB7XG5cdFx0dGhpcy5nZXRWZXJzaW9uKClcblx0fSxcblx0bWV0aG9kczoge1xuXHRcdC8vIOiOt+WPlumqjOivgeeggVxuXHRcdGdldENvZGUoKSB7XG5cdFx0XHRsZXQgX3RoaXMgPSB0aGlzXG5cdFx0XHR1bmkucmVxdWVzdCh7XG5cdFx0XHRcdHVybDogYCR7X3RoaXMuYmFzZVVybH0vc21zQ29kZS9zZW5kQ29kZWAsXG5cdFx0XHRcdGhlYWRlcjogeydjb250ZW50LXR5cGUnOiAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9VVRGLTgnfSxcblx0XHRcdFx0ZGF0YToge3Bob25lOiBfdGhpcy51c2VyLnBob25lfSxcblx0XHRcdFx0c3NsVmVyaWZ5OiBmYWxzZSxcblx0XHRcdFx0bWV0aG9kOiAnUE9TVCcsXG5cdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XG5cdFx0XHRcdFx0cmVzID0gcmVzLmRhdGEgXG5cdFx0XHRcdFx0X3RoaXMuY29kZVRpbWVTaG93ID0gdHJ1ZVxuXHRcdFx0XHRcdGxldCB0aW1lID0gc2V0SW50ZXJ2YWwoKCk9Pntcblx0XHRcdFx0XHRcdF90aGlzLmNvZGVUaW1lLS1cblx0XHRcdFx0XHR9LDEwMDApXG5cdFx0XHRcdFx0c2V0VGltZW91dCgoKT0+e1xuXHRcdFx0XHRcdFx0X3RoaXMuY29kZVRpbWVTaG93ID0gZmFsc2Vcblx0XHRcdFx0XHRcdGNsZWFyVGltZW91dCh0aW1lKTtcblx0XHRcdFx0XHRcdF90aGlzLmNvZGVUaW1lID0gNjBcblx0XHRcdFx0XHR9LDYwMDAwKVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Y2hhbmdlUGFzc3dvcmQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5zaG93UGFzc3dvcmQgPSAhdGhpcy5zaG93UGFzc3dvcmQ7XG5cdFx0fSxcblx0XHQvL+ajgOa1i+W9k+WJjeW5s+WPsO+8jOWmguaenOaYr+WuieWNk+WImeWQr+WKqOWuieWNk+abtOaWsFxuXHRcdGdldFZlcnNpb24oKSB7XG5cdFx0XHRsZXQgdGhhdCA9IHRoaXM7XG5cdFx0XHR1bmkuZ2V0U3lzdGVtSW5mbyh7XG5cdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLnBsYXRmb3JtID09IFwiYW5kcm9pZFwiKSB7XG5cdFx0XHRcdFx0XHR0aGF0LkFuZHJvaWRDaGVja1VwZGF0ZSgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdC8vIOiOt+WPluW9k+WJjeeJiOacrOWPt1xuXHRcdEFuZHJvaWRDaGVja1VwZGF0ZSgpIHtcblx0XHRcdGxldCB0aGF0ID0gdGhpcztcblx0XHRcdHBsdXMucnVudGltZS5nZXRQcm9wZXJ0eShwbHVzLnJ1bnRpbWUuYXBwaWQsICh3Z3RpbmZvKSA9PiB7XG5cdFx0XHRcdHRoYXQudmVyc2lvbiA9IHdndGluZm8udmVyc2lvbiAvL+WuouaIt+err+eJiOacrOWPt1xuXHRcdFx0fSlcblx0XHRcdHNldFRpbWVvdXQoKCk9Pntcblx0XHRcdFx0dGhhdC5nZXRVcGRhdGVWZXJzaW9uKClcblx0XHRcdH0sMTAwKVxuXHRcdH0sXG5cdFx0Ly8g5qCh6aqM54mI5pysXG5cdFx0Z2V0VXBkYXRlVmVyc2lvbigpIHtcblx0XHRcdGxldCB0aGF0ID0gdGhpc1xuXHRcdFx0bGV0IHR5cGUgPSAwXG5cdFx0XHRpZiAodGhhdC5iYXNlVXJsID09ICdodHRwOi8vdW5kZWZpbmVkOnVuZGVmaW5lZC91bmRlZmluZWQnKSB7XG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRsZXQgdXJsID0gdGhhdC5iYXNlVXJsICsgJy9hcHBWZXJzaW9uL2NoZWNrVXBkYXRlLycgKyB0aGF0LnZlcnNpb24gKyAnLycgKyB0eXBlXG5cdFx0XHR1bmkucmVxdWVzdCh7XG5cdFx0XHRcdHVybDogdXJsLFxuXHRcdFx0XHRtZXRob2Q6ICdHRVQnLFxuXHRcdFx0XHRzdWNjZXNzKHJlcykge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XG5cdFx0XHRcdFx0dmFyIHJlcyA9IHJlcy5kYXRhXG5cdFx0XHRcdFx0aWYgKHJlcy5kYXRhKSB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpO1xuXHRcdFx0XHRcdFx0dGhhdC5maWxlbmFtZSA9IHJlcy5kYXRhLnBhdGhcblx0XHRcdFx0XHRcdHRoYXQuZGlhbG9nQ29udGVudCA9ICflj5HnjrDmlrDniYjmnKw6JyArIHJlcy5kYXRhLnZlcnNpb24gKyAnLCDmmK/lkKbnq4vljbPmm7TmlrAnXG5cdFx0XHRcdFx0XHR0aGF0LmRvd25sb2FkID0gcmVzLmRhdGEudXJsXG5cdFx0XHRcdFx0XHR0aGF0LiRyZWZzLnVwVmVyc2lvbi5vcGVuKClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiByZXMubXNnLFxuXHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246ICd0b3AnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdGRpYWxvZ0NvbmZpcm0oKSB7XG5cdFx0XHR0aGlzLiRyZWZzLnVwVmVyc2lvbi5jbG9zZSgpXG5cdFx0XHR0aGlzLmRvd25XZ3QoKVxuXHRcdH0sXG5cdFx0ZGlhbG9nQ2xvc2UoKSB7XG5cdFx0XHR0aGlzLiRyZWZzLnVwVmVyc2lvbi5jbG9zZSgpXG5cdFx0fSxcblx0XHRkb3duV2d0KCkge1xuXHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xuXHRcdFx0Y29uc3QgZG93bmxvYWRVcmwgPSB0aGF0LmRvd25sb2FkXG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogJ+abtOaWsOS4reKApuKApidcblx0XHRcdH0pXG5cdFx0XHRjb25zdCBkb3dubG9hZFRhc2sgPSB1bmkuZG93bmxvYWRGaWxlKHsgLy/miafooYzkuIvovb1cblx0XHRcdFx0dXJsOiBkb3dubG9hZFVybCwgLy/kuIvovb3lnLDlnYBcblx0XHRcdFx0dGltZW91dDogMTAwMCAqIDMwLCAvLzMw56eS6LaF5pe25pe26Ze0XG5cdFx0XHRcdHN1Y2Nlc3M6IGRvd25sb2FkUmVzdWx0ID0+IHsgLy/kuIvovb3miJDlip9cblx0XHRcdFx0XHRjb25zb2xlLmxvZyhkb3dubG9hZFJlc3VsdCk7XG5cdFx0XHRcdFx0dGhhdC5zaG93ZG93bkxpbmUgPSBmYWxzZVxuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRcdGlmIChkb3dubG9hZFJlc3VsdC5zdGF0dXNDb2RlID09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAnJyxcblx0XHRcdFx0XHRcdFx0Y29udGVudDogJ+abtOaWsOaIkOWKn++8jOehruWumueOsOWcqOmHjeWQr+WQl++8nycsXG5cdFx0XHRcdFx0XHRcdGNvbmZpcm1UZXh0OiAn6YeN5ZCvJyxcblx0XHRcdFx0XHRcdFx0Y29uZmlybUNvbG9yOiAnI0VFOEY1NycsXG5cdFx0XHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykge1xuXHRcdFx0XHRcdFx0XHRcdGlmIChyZXMuY29uZmlybSA9PSB0cnVlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRwbHVzLnJ1bnRpbWUuaW5zdGFsbCggLy/lronoo4Vcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZG93bmxvYWRSZXN1bHQudGVtcEZpbGVQYXRoLCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9yY2U6IHRydWVcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZnVuY3Rpb24ocmVzKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXRpbHMuc2hvd1RvYXN0KCfmm7TmlrDmiJDlip/vvIzph43lkK/kuK0nKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRwbHVzLnJ1bnRpbWUucmVzdGFydCgpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xuXHRcdFx0XHRcdFx0dGhhdC5zaG93ZG93bkxpbmUgPSBmYWxzZVxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOifor7flhYjkuIrkvKDlronoo4XljIUnLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnZXJyb3InXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblx0XHRcdFx0ZmFpbDogZXJyID0+IHtcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcblx0XHRcdFx0XHR0aGF0LnNob3dkb3duTGluZSA9IGZhbHNlXG5cdFx0XHRcdFx0dGhhdC4kdS50b2FzdChkb3dubG9hZFJlc3VsdC5lcnJNc2cpXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGNvbXBsZXRlOiBjb20gPT4ge1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKGNvbSlcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XG5cdFx0XHQvLyDkuIvovb3ov5vluqZcblx0XHRcdGRvd25sb2FkVGFzay5vblByb2dyZXNzVXBkYXRlKHJlcyA9PiB7XG5cdFx0XHRcdHRoYXQuZG93bmxvYWROdW0gPSByZXMucHJvZ3Jlc3Ncblx0XHRcdFx0Y29uc29sZS5sb2coJ+S4i+i9vei/m+W6picgKyB0aGF0LmRvd25sb2FkTnVtKTtcblx0XHRcdH0pO1xuXHRcdH0sXG5cdFx0b25Mb2dpbigpIHtcblx0XHRcdGxldCB0aGF0ID0gdGhpc1xuXHRcdFx0aWYgKHRoYXQudXNlci5waG9uZSA9PSAnJykge1xuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXmiYvmnLrlj7cnLCBpY29uOiBcIm5vbmVcIiB9KVxuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblx0XHRcdGlmICh0aGF0LnVzZXIuY29kZSA9PSAnJykge1xuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfpqozor4HnoIHkuI3og73kuLrnqbonLCBpY29uOiBcIm5vbmVcIiB9KVxuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblx0XHRcdHVuaS5yZXF1ZXN0KHtcblx0XHRcdFx0dXJsOiB0aGF0LmJhc2VVcmwgKyAnL3Ntc0xvZ2luLmFjdGlvbicsXG5cdFx0XHRcdGZhaWwocmVzdWx0KSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRpY29uOiAnZXJyb3InLFxuXHRcdFx0XHRcdFx0dGl0bGU6ICfor7fmsYLlpLHotKUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSxcblx0XHRcdFx0ZGF0YToge1xuXHRcdFx0XHRcdHBob25lOiB0aGF0LnVzZXIucGhvbmUsXG5cdFx0XHRcdFx0Y29kZTogdGhhdC51c2VyLmNvZGVcblx0XHRcdFx0fSxcblx0XHRcdFx0aGVhZGVyOiB7IFwiY29udGVudC10eXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiIH0sXG5cdFx0XHRcdHN1Y2Nlc3MocmVzdWx0KSB7XG5cdFx0XHRcdFx0aWYgKHJlc3VsdC5zdGF0dXNDb2RlID09PSA0MDQpIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+eZu+W9leWksei0pScsXG5cdFx0XHRcdFx0XHRcdGljb246IFwiZXJyb3JcIlxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRsZXQgcmVzID0gcmVzdWx0LmRhdGFcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dGhhdC5sb2FkLmxvYWRpbmcgPSB0cnVlO1xuXHRcdFx0XHRcdFx0dGhhdC5sb2FkLmJ0blRleHQgPSAn55m75b2V5LitJztcblx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygndG9rZW4nLCByZXMuZGF0YS50b2tlbik7XG5cdFx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoJ3VzZXJOYW1lJywgdGhhdC51c2VyLnVzZXJOYW1lKTtcblx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYygncGFzc3dvcmQnLCB0aGF0LnVzZXIucGFzc3dvcmQpO1xuXHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn55m75b2V5oiQ5YqfJ1xuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdFx0XHRcdFx0XHR1bmkucmVMYXVuY2goe1xuXHRcdFx0XHRcdFx0XHRcdFx0dXJsOiAnLi4vaW5kZXgvaW5kZXgnXG5cdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdH0sIDMwMClcblx0XHRcdFx0XHRcdH0sIDcwMClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiByZXMubXNnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSxcblxuXG5cdFx0XHR9KVxuXHRcdH0sXG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///54\n"); |
| | | |
| | | /***/ }), |
| | | /* 55 */ |