From d3656eb65ddfdc03ebbf28cdcec502c013c635c7 Mon Sep 17 00:00:00 2001 From: 123456 Date: Thu, 14 Nov 2024 11:24:31 +0800 Subject: [PATCH] =?UTF-8?q?bug=E6=95=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.js | 29 +++- pages/index/index.vue | 3 +- pages/pipei/shipin/detail.nvue | 21 ++- pages/users/chat/index.vue | 131 ++++++++++++------ pages/users/chengshi/index.vue | 4 +- pages/xiaoxi/dashan.vue | 7 +- pages/xiaoxi/index.vue | 8 +- pages/xiaoxi/xitong.vue | 2 +- .../c-svga/components/c-svga/c-svga.vue | 1 - .../c-svga/components/c-svga/js/render.js | 2 +- unpackage/dist/dev/app-plus/app-service.js | 34 +++-- unpackage/dist/dev/app-plus/app-view.js | 37 ++--- .../dev/app-plus/pages/pipei/shipin/detail.js | 4 +- 13 files changed, 189 insertions(+), 94 deletions(-) diff --git a/main.js b/main.js index 6149ce1..a0757ba 100644 --- a/main.js +++ b/main.js @@ -29,6 +29,7 @@ uni.$on("playAudio",res=>{ }) //socket +let isChat = false; let timer = null; uni.$on("openSocket",function(res){ uni.connectSocket({ @@ -45,9 +46,35 @@ uni.$on("openSocket",function(res){ uni.$on("watchSocket",res=>{ uni.onSocketMessage(function (res) { const obj = res.data?JSON.parse(res.data):{}; + // 获取当前页面的实例 + const pages = getCurrentPages(); + // 获取当前页面的实例 + const currentPage = pages[pages.length - 1]; + // 获取页面路由信息 + const route = currentPage.route; + // 打印路由信息 + console.log('当前页面路由是:' + route); console.log(obj) - uni.$emit("toChatObj",res) + if(obj.topic == 'heart_beat'){ + if(obj.hasMsg == 1){ + uni.showTabBarRedDot({ + index: 3 + }) + }else{ + uni.hideTabBarRedDot({ + index: 3 + }) + } + } + if(route == 'pages/users/chat/index'){ + uni.$emit("toChatObj",res) + return ; + } + if(obj.topic == 'message'){ + uni.showTabBarRedDot({ + index: 3 + }) if(obj.type>=8){ if(uni.getStorageSync("userInfo").id == obj.sellerId){ if(obj.type == 12){ diff --git a/pages/index/index.vue b/pages/index/index.vue index 04f5546..b0eb59d 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -364,8 +364,7 @@ } }, getLocation() { - const that = this; - console.log(111) + const that = this; uni.getLocation({ type: 'gcj02', success(res1) { diff --git a/pages/pipei/shipin/detail.nvue b/pages/pipei/shipin/detail.nvue index d66424a..0c7dc33 100644 --- a/pages/pipei/shipin/detail.nvue +++ b/pages/pipei/shipin/detail.nvue @@ -230,10 +230,13 @@ if(obj.type == 20){ if(uni.getStorageSync("userInfo").id == obj.sellerId){ that.toJieshou(); - this.isOpenSocket = false; + } + if(that.type == 1 || that.type == 3){ + that.isOpenSocket = true; }else{ - this.isOpenSocket = false; + that.isOpenSocket = false; } + console.log("that.type",that.type) } } }) @@ -396,7 +399,8 @@ this.playStreamId = res.data.userStreamId; this.sellerStreamId = res.data.sellerStreamId; this.roomId = res.data.roomId; - console.log("loginRoom11",res.data) + console.log("loginRoom11",res.data) + this.engine = await ZegoExpressEngine.createEngineWithProfile(profile); this.engine.enableCamera(this.isShexiang) // 创建美颜环境 @@ -510,7 +514,14 @@ const that = this; console.log("toTuiliu",this.sellerStreamId) that.engine.startPlayingStream(this.sellerStreamId); - that.isOpenSocket = false; + if(that.type == 1 || that.type == 3){ + console.log(111) + that.isOpenSocket = true; + }else{ + console.log(2222) + that.isOpenSocket = false; + } + console.log("that.type",that.type) ZegoExpressEngine.instance().on("playerStateUpdate", (streamID, state, errorCode, extendedData) => { /** 调用拉流接口成功后,当拉流器状态发生变更,如出现网络中断导致推流异常等情况,SDK在重试拉流的同时,会通过该回调通知 */ console.log("playerStateUpdate",streamID) @@ -580,7 +591,7 @@ position: fixed; right: 20rpx; top: 120rpx; - z-index: 212; + z-index: 22; } } &-bd{ diff --git a/pages/users/chat/index.vue b/pages/users/chat/index.vue index 78e1a49..24915d0 100644 --- a/pages/users/chat/index.vue +++ b/pages/users/chat/index.vue @@ -181,8 +181,9 @@ - - + @@ -261,9 +262,14 @@ that.watchSocket(); }, methods: { + onLoaded() { + // console.log("加载完了") + // this.$refs.cSvgaRef.call("startAnimation") + }, onFinished() { this.isSvga = false - console.log("播放完了") + this.svgaSrc = "" + // console.log("播放完了") }, toToggle1() { this.isPlay1 = !this.isPlay1 @@ -321,22 +327,31 @@ if(obj.type<=7){ if(uni.getStorageSync("userInfo").id == obj.sellerId){ that.page = 1; - that.getChatList(); - that + that.getChatList(); + if(obj.type == 5){ + console.log(obj.svgaSrc) + if(obj.svgaSrc){ + if(that.svgaSrc == obj.svgaSrc){ + console.log(11122,that.svgaSrc == obj.svgaSrc,that.svgaSrc,obj.svgaSrc) + that.isSvga = true; + that.$refs.cSvgaRef.call("startAnimation") + }else{ + console.log(22222,that.svgaSrc == obj.svgaSrc,that.svgaSrc, obj.svgaSrc) + that.isSvga = true; + that.svgaSrc = obj.svgaSrc; + } + // that.$refs.cSvgaRef.call("clear"); + // that.$refs.cSvgaRef.call("startAnimation") + } + } } if(uni.getStorageSync("userInfo").id == obj.userId){ that.page = 1; that.getChatList(); } - if(obj.type == 5){ - if(obj.svgaSrc){ - that.svgaSrc = obj.svgaSrc; - that.isSvga = true; - that.$refs.cSvgaRef.call("clear"); - that.$refs.cSvgaRef.call("startAnimation") - } - } + } + if(obj.type>= 8){ if(uni.getStorageSync("userInfo").id == obj.sellerId){ if(obj.type == 10){ @@ -346,6 +361,36 @@ }) },500) } + if(obj.type == 18){ + if(obj.userMsgVoice == 1){ + uni.$emit("playAudio") + } + if(obj.userMsgShock == 1){ + uni.vibrateLong({ + complete: function (res) { + console.log('success',res); + } + }); + } + uni.navigateTo({ + url: "/pages/pipei/shipin/detail?type=3&id="+obj.userId+'&fid='+obj.sellerId + }) + } + if(obj.type == 19){ + if(obj.userMsgVoice == 1){ + uni.$emit("playAudio") + } + if(obj.userMsgShock == 1){ + uni.vibrateLong({ + complete: function (res) { + console.log('success',res); + } + }); + } + uni.navigateTo({ + url: "/pages/pipei/shipin/detail?type=4&id="+obj.userId+'&fid='+obj.sellerId + }) + } } } } @@ -414,16 +459,8 @@ limit: 999, page: 1 }) - if(code == 200){ - if(data.total >0){ - data.list.map(a=>{ - if(a.specialEffects){ - this.svgaSrcList.push(a.specialEffects) - } - }) - } - this.giftList = data.list; - console.log(this.svgaSrcList) + if(code == 200){ + this.giftList = data.list; this.giftListNum = Math.ceil(data.total/8) } }, @@ -711,13 +748,11 @@ if(that.giftList && that.giftList.length > 0){ svgaSrc = that.giftList[that.tabIndex].specialEffects } - console.log(that.svgaSrc) - console.log(svgaSrc) - that.$refs.cSvgaRef.call("clear"); - that.svgaSrc = svgaSrc - that.isSvga = true; - that.$refs.cSvgaRef.call("startAnimation") - return ; + // console.log(that.svgaSrc) + // console.log(svgaSrc) + // that.svgaSrc = svgaSrc + // that.isSvga = true; + // return ; const { code, data } = await this.$api.chat({ userId: uni.getStorageSync("userInfo").id, sellerId: that.id, @@ -727,8 +762,22 @@ }) if(code == 200){ let svgaSrc = null - if(that.giftList && that.giftList.length > 0){ - svgaSrc = that.giftList[that.tabIndex].specialEffects + if(type==5){ + if(that.giftList && that.giftList.length > 0){ + svgaSrc = that.giftList[that.tabIndex].specialEffects; + that.svgaSrc = svgaSrc + that.isSvga = true; + // if(that.svgaSrc == svgaSrc){ + // console.log(33333,that.svgaSrc == svgaSrc,that.svgaSrc, svgaSrc) + // that.isSvga = true; + // that.$refs.cSvgaRef.call("startAnimation") + // }else{ + // console.log(4444,that.svgaSrc == svgaSrc,that.svgaSrc, svgaSrc) + // that.svgaSrc = svgaSrc + // that.isSvga = true; + // } + } + that.giftGiving(); } uni.sendSocketMessage({data:JSON.stringify({ "userId": uni.getStorageSync("userInfo").id, @@ -739,17 +788,9 @@ svgaSrc: svgaSrc?svgaSrc:'', "topic":"message" })}) - if(type==5){ - if(svgaSrc){ - that.svgaSrc = svgaSrc - that.isSvga = true; - that.$refs.cSvgaRef.call("clear"); - that.$refs.cSvgaRef.call("startAnimation") - } - that.giftGiving(); - }else{ - that.socialConsumption(type); - } + + that.socialConsumption(type); + that.isOpen = false; that.isBiaoqing = false; that.show1 = false; @@ -793,7 +834,7 @@ size: true, scrollOffset: true }, data => { - console.log("wrapper",data) + // console.log("wrapper",data) that.wrapperScrollHeight = data.scrollHeight*6 }).exec() // ; @@ -980,7 +1021,7 @@ }) }, inputValue(e) { - console.log(e) + // console.log(e) }, }, destroyed() { diff --git a/pages/users/chengshi/index.vue b/pages/users/chengshi/index.vue index d8e4879..abcb1c9 100644 --- a/pages/users/chengshi/index.vue +++ b/pages/users/chengshi/index.vue @@ -6,7 +6,7 @@ - 合作信息 + 合作信息 *姓名 @@ -124,7 +124,7 @@ page{ background-color: #fff; } .qingshaonian{ - padding: 0 25rpx; + padding: 0 25rpx 180rpx; overflow: hidden; .hezuo{ width: 670rpx; diff --git a/pages/xiaoxi/dashan.vue b/pages/xiaoxi/dashan.vue index 758e21c..9f7a919 100644 --- a/pages/xiaoxi/dashan.vue +++ b/pages/xiaoxi/dashan.vue @@ -6,7 +6,12 @@ {{a.noReadCount<=99?a.noReadCount:"+99"}} {{a.nickname}}{{a.createTime}} - {{a.message}} + + 你有一条新的语音! + 你有一条新的视频! + 你有一张新的图片! + 你有一个新的礼物! + diff --git a/pages/xiaoxi/index.vue b/pages/xiaoxi/index.vue index d356b09..9a8b166 100644 --- a/pages/xiaoxi/index.vue +++ b/pages/xiaoxi/index.vue @@ -66,7 +66,8 @@ data() { return { tabIndex: 0, - current: 0, + current: 0, + total: 0, list:[{'name': '消息'},{'name': '好友'}], activeStyle:{'fontSize': '35rpx'}, frindList: [], @@ -167,7 +168,7 @@ type: this.type }) if(code == 200){ - this.frindList = data + this.frindList = data; } }, openPage(url) { @@ -189,6 +190,9 @@ uni.showToast({ title: "清除成功" }) + uni.hideTabBarRedDot({ + index: 3 + }) that.getList(); that.dashaCount(); } diff --git a/pages/xiaoxi/xitong.vue b/pages/xiaoxi/xitong.vue index 88e80ba..649172c 100644 --- a/pages/xiaoxi/xitong.vue +++ b/pages/xiaoxi/xitong.vue @@ -4,7 +4,7 @@ {{a.createTime}} {{a.noticeTitle}} - {{a.noticeContent}} + diff --git a/uni_modules/c-svga/components/c-svga/c-svga.vue b/uni_modules/c-svga/components/c-svga/c-svga.vue index 6122d85..aefa67a 100644 --- a/uni_modules/c-svga/components/c-svga/c-svga.vue +++ b/uni_modules/c-svga/components/c-svga/c-svga.vue @@ -89,7 +89,6 @@ } }, svgaData(){ - console.log(this.src) return { myCanvasId: this.myCanvasId, width: this.width, diff --git a/uni_modules/c-svga/components/c-svga/js/render.js b/uni_modules/c-svga/components/c-svga/js/render.js index c5637f7..616caa2 100644 --- a/uni_modules/c-svga/components/c-svga/js/render.js +++ b/uni_modules/c-svga/components/c-svga/js/render.js @@ -42,7 +42,7 @@ export default { }else{ data=that.pdata } - console.log(data) + // console.log(data) if(!data.src){ console.error('缺少src'); return diff --git a/unpackage/dist/dev/app-plus/app-service.js b/unpackage/dist/dev/app-plus/app-service.js index 854600f..2a812da 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("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 3));\n__webpack_require__(/*! uni-pages */ 7);\nvar _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 487));\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 490));\n__webpack_require__(/*! ./uni.promisify.adaptor */ 491);\nvar _vkUviewUi = _interopRequireDefault(__webpack_require__(/*! ./uni_modules/vk-uview-ui */ 492));\nvar _unverified = _interopRequireDefault(__webpack_require__(/*! @/components/unverified.vue */ 520));\nvar _insufficient = _interopRequireDefault(__webpack_require__(/*! @/components/insufficient.vue */ 530));\nvar _share = _interopRequireDefault(__webpack_require__(/*! @/components/share.vue */ 535));\nvar _dashan = _interopRequireDefault(__webpack_require__(/*! @/components/dashan.vue */ 540));\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/api/index.js */ 545));\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.use(_vkUviewUi.default);\n_vue.default.component('unverified', _unverified.default);\n_vue.default.component('insufficient', _insufficient.default);\n_vue.default.component('share', _share.default);\n_vue.default.component('dashan', _dashan.default);\n_vue.default.config.productionTip = false;\n_vue.default.prototype.$api = _index.default;\n_vue.default.prototype.$articleShareUrl = \"https://api.lyiyuan.cn/profile/upload/web/index.html#/pages/dongtai/detail?type=web&id=\";\n_vue.default.prototype.$userShareUrl = \"https://api.lyiyuan.cn/profile/upload/web/index.html#/pages/login/reg?id=\";\nvar bgAudioManager = uni.getBackgroundAudioManager();\nuni.$on(\"playAudio\", function (res) {\n bgAudioManager.src = 'https://api.lyiyuan.cn/profile/upload/static/tishiyin.mp3';\n bgAudioManager.play();\n bgAudioManager = null;\n});\n\n//socket \nvar timer = null;\nuni.$on(\"openSocket\", function (res) {\n uni.connectSocket({\n url: 'wss://api.lyiyuan.cn/websocket?userId=' + uni.getStorageSync('userInfo').id\n });\n uni.onSocketOpen(function (res) {\n xintiao();\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n \"topic\": \"heart_beat\"\n })\n });\n __f__(\"log\", 'WebSocket连接已打开!', \" at main.js:40\");\n uni.setStorageSync(\"isOpen\", true);\n uni.$emit(\"watchSocket\");\n });\n uni.$on(\"watchSocket\", function (res) {\n uni.onSocketMessage(function (res) {\n var obj = res.data ? JSON.parse(res.data) : {};\n __f__(\"log\", obj, \" at main.js:48\");\n uni.$emit(\"toChatObj\", res);\n if (obj.topic == 'message') {\n if (obj.type >= 8) {\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n if (obj.type == 12) {\n uni.$emit(\"watchEvent\", obj);\n }\n if (obj.type == 20) {\n uni.$emit(\"toJieshouYinship\", obj);\n }\n if (obj.type == 18) {\n if (obj.userMsgVoice == 1) {\n uni.$emit(\"playAudio\");\n }\n if (obj.userMsgShock == 1) {\n uni.vibrateLong({\n complete: function complete(res) {\n __f__(\"log\", 'success', res, \" at main.js:66\");\n }\n });\n }\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=3&id=\" + obj.userId + '&fid=' + obj.sellerId\n });\n }\n if (obj.type == 19) {\n if (obj.userMsgVoice == 1) {\n uni.$emit(\"playAudio\");\n }\n if (obj.userMsgShock == 1) {\n uni.vibrateLong({\n complete: function complete(res) {\n __f__(\"log\", 'success', res, \" at main.js:81\");\n }\n });\n }\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=4&id=\" + obj.userId + '&fid=' + obj.sellerId\n });\n }\n if (obj.type == 9) {\n if (obj.userMsgVoice == 1) {\n uni.$emit(\"playAudio\");\n }\n if (obj.userMsgShock == 1) {\n uni.vibrateLong({\n complete: function complete(res) {\n __f__(\"log\", 'success', res, \" at main.js:96\");\n }\n });\n }\n uni.showModal({\n title: '温馨提示',\n content: '来自' + obj.sellerNickname + \"发起的视频匹配,是否同意\",\n cancelText: '拒绝',\n confirmText: '同意',\n success: function success(res) {\n if (res.confirm) {\n __f__(\"log\", obj, uni.getStorageSync(\"userInfo\"), \" at main.js:107\");\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: obj.userId,\n type: 10,\n \"topic\": \"message\"\n })\n });\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n __f__(\"log\", \"toChat\", uni.getStorageSync(\"userInfo\").id, obj.userId, \" at main.js:115\");\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=2&id=\" + obj.userId\n });\n }\n } else {\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: obj.userId,\n type: 11,\n \"topic\": \"message\"\n })\n });\n }\n },\n fail: function fail() {},\n complete: function complete() {}\n });\n }\n if (obj.type == 8) {\n if (obj.userMsgVoice == 1) {\n uni.$emit(\"playAudio\");\n }\n if (obj.userMsgShock == 1) {\n uni.vibrateLong({\n complete: function complete(res) {\n __f__(\"log\", 'success', res, \" at main.js:140\");\n }\n });\n }\n uni.showModal({\n title: '温馨提示',\n content: '来自' + obj.sellerNickname + \"发起的语音匹配,是否同意\",\n cancelText: '拒绝',\n confirmText: '同意',\n success: function success(res) {\n if (res.confirm) {\n __f__(\"log\", obj, uni.getStorageSync(\"userInfo\"), \" at main.js:151\");\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: obj.userId,\n type: 10,\n \"topic\": \"message\"\n })\n });\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n __f__(\"log\", \"toChat\", uni.getStorageSync(\"userInfo\").id, obj.userId, \" at main.js:159\");\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=1&id=\" + obj.userId\n });\n }\n } else {\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: obj.userId,\n type: 11,\n \"topic\": \"message\"\n })\n });\n }\n },\n fail: function fail() {},\n complete: function complete() {}\n });\n }\n if (obj.type == 10 || obj.type == 11) {\n uni.$emit(\"jiantingTiaozhuan\", obj);\n }\n }\n } else {\n uni.$emit(\"toChatXiaoxiObj\", res);\n }\n }\n });\n });\n uni.$on(\"duanYinship\", function (obj) {\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": obj.userId,\n \"sellerId\": obj.sellerId,\n type: 12,\n \"topic\": \"message\"\n })\n });\n });\n uni.$on(\"jieshouYinship\", function (obj) {\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": obj.userId,\n \"sellerId\": obj.sellerId,\n type: 20,\n \"topic\": \"message\"\n })\n });\n });\n uni.$on(\"showToast\", function (res) {\n uni.showToast({\n icon: \"none\",\n position: \"bottom\",\n title: res ? '对方已挂断' : \"对方已拒绝\"\n });\n });\n uni.onSocketClose(function (res) {\n clearInterval(timer);\n uni.closeSocket();\n uni.removeStorageSync(\"isOpen\");\n __f__(\"log\", 'WebSocket 已关闭!', \" at main.js:214\");\n setTimeout(function () {\n if (uni.getStorageSync(\"userInfo\").id) {\n uni.$emit(\"openSocket\");\n }\n }, 1000);\n });\n});\nfunction xintiao() {\n timer = setInterval(function () {\n uni.setStorageSync(\"isOpen\", true);\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n \"topic\": \"heart_beat\"\n })\n });\n }, 30000);\n}\nsetTimeout(function () {\n if (uni.getStorageSync(\"userInfo\").id) {\n uni.$emit(\"openSocket\");\n }\n}, 1000);\n_App.default.mpType = 'app';\nvar app = new _vue.default(_objectSpread({}, _App.default));\napp.$mount();\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyJdLCJuYW1lcyI6WyJWdWUiLCJ1c2UiLCJ1VmlldyIsImNvbXBvbmVudCIsInVudmVyaWZpZWQiLCJpbnN1ZmZpY2llbnQiLCJzaGFyZSIsImRhc2hhbiIsImNvbmZpZyIsInByb2R1Y3Rpb25UaXAiLCJwcm90b3R5cGUiLCIkYXBpIiwiYXBpIiwiJGFydGljbGVTaGFyZVVybCIsIiR1c2VyU2hhcmVVcmwiLCJiZ0F1ZGlvTWFuYWdlciIsInVuaSIsImdldEJhY2tncm91bmRBdWRpb01hbmFnZXIiLCIkb24iLCJyZXMiLCJzcmMiLCJwbGF5IiwidGltZXIiLCJjb25uZWN0U29ja2V0IiwidXJsIiwiZ2V0U3RvcmFnZVN5bmMiLCJpZCIsIm9uU29ja2V0T3BlbiIsInhpbnRpYW8iLCJzZW5kU29ja2V0TWVzc2FnZSIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5Iiwic2V0U3RvcmFnZVN5bmMiLCIkZW1pdCIsIm9uU29ja2V0TWVzc2FnZSIsIm9iaiIsInBhcnNlIiwidG9waWMiLCJ0eXBlIiwic2VsbGVySWQiLCJ1c2VyTXNnVm9pY2UiLCJ1c2VyTXNnU2hvY2siLCJ2aWJyYXRlTG9uZyIsImNvbXBsZXRlIiwibmF2aWdhdGVUbyIsInVzZXJJZCIsInNob3dNb2RhbCIsInRpdGxlIiwiY29udGVudCIsInNlbGxlck5pY2tuYW1lIiwiY2FuY2VsVGV4dCIsImNvbmZpcm1UZXh0Iiwic3VjY2VzcyIsImNvbmZpcm0iLCJmYWlsIiwic2hvd1RvYXN0IiwiaWNvbiIsInBvc2l0aW9uIiwib25Tb2NrZXRDbG9zZSIsImNsZWFySW50ZXJ2YWwiLCJjbG9zZVNvY2tldCIsInJlbW92ZVN0b3JhZ2VTeW5jIiwic2V0VGltZW91dCIsInNldEludGVydmFsIiwiQXBwIiwibXBUeXBlIiwiYXBwIiwiJG1vdW50Il0sIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFBbUI7QUFHbkI7QUFDQTtBQUNBO0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFPQTtBQUFnQztBQUFBO0FBWmhDQSxZQUFHLENBQUNDLEdBQUcsQ0FBQ0Msa0JBQUssQ0FBQztBQU1kRixZQUFHLENBQUNHLFNBQVMsQ0FBQyxZQUFZLEVBQUVDLG1CQUFVLENBQUM7QUFDdkNKLFlBQUcsQ0FBQ0csU0FBUyxDQUFDLGNBQWMsRUFBRUUscUJBQVksQ0FBQztBQUMzQ0wsWUFBRyxDQUFDRyxTQUFTLENBQUMsT0FBTyxFQUFFRyxjQUFLLENBQUM7QUFDN0JOLFlBQUcsQ0FBQ0csU0FBUyxDQUFDLFFBQVEsRUFBRUksZUFBTSxDQUFDO0FBQy9CUCxZQUFHLENBQUNRLE1BQU0sQ0FBQ0MsYUFBYSxHQUFHLEtBQUs7QUFHaENULFlBQUcsQ0FBQ1UsU0FBUyxDQUFDQyxJQUFJLEdBQUdDLGNBQUc7QUFDeEJaLFlBQUcsQ0FBQ1UsU0FBUyxDQUFDRyxnQkFBZ0IsR0FBRyx5RkFBeUY7QUFDMUhiLFlBQUcsQ0FBQ1UsU0FBUyxDQUFDSSxhQUFhLEdBQUcsMkVBQTJFO0FBRXpHLElBQUlDLGNBQWMsR0FBR0MsR0FBRyxDQUFDQyx5QkFBeUIsRUFBRTtBQUNwREQsR0FBRyxDQUFDRSxHQUFHLENBQUMsV0FBVyxFQUFDLFVBQUFDLEdBQUcsRUFBRTtFQUN4QkosY0FBYyxDQUFDSyxHQUFHLEdBQUcsMkRBQTJEO0VBQ2hGTCxjQUFjLENBQUNNLElBQUksRUFBRTtFQUNyQk4sY0FBYyxHQUFHLElBQUk7QUFDdEIsQ0FBQyxDQUFDOztBQUVGO0FBQ0MsSUFBSU8sS0FBSyxHQUFHLElBQUk7QUFDakJOLEdBQUcsQ0FBQ0UsR0FBRyxDQUFDLFlBQVksRUFBQyxVQUFTQyxHQUFHLEVBQUM7RUFDakNILEdBQUcsQ0FBQ08sYUFBYSxDQUFDO0lBQ2pCQyxHQUFHLEVBQUUsd0NBQXdDLEdBQUNSLEdBQUcsQ0FBQ1MsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDQztFQUM5RSxDQUFDLENBQUM7RUFDRlYsR0FBRyxDQUFDVyxZQUFZLENBQUMsVUFBVVIsR0FBRyxFQUFFO0lBQzlCUyxPQUFPLEVBQUU7SUFDVFosR0FBRyxDQUFDYSxpQkFBaUIsQ0FBQztNQUFDQyxJQUFJLEVBQUNDLElBQUksQ0FBQ0MsU0FBUyxDQUFDO1FBQUMsUUFBUSxFQUFFaEIsR0FBRyxDQUFDUyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUNDLEVBQUU7UUFBQyxPQUFPLEVBQUM7TUFBWSxDQUFDO0lBQUMsQ0FBQyxDQUFDO0lBQ2hILGFBQVksaUJBQWlCO0lBQzdCVixHQUFHLENBQUNpQixjQUFjLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQztJQUNqQ2pCLEdBQUcsQ0FBQ2tCLEtBQUssQ0FBQyxhQUFhLENBQUM7RUFDMUIsQ0FBQyxDQUFDO0VBRUZsQixHQUFHLENBQUNFLEdBQUcsQ0FBQyxhQUFhLEVBQUMsVUFBQUMsR0FBRyxFQUFFO0lBQzFCSCxHQUFHLENBQUNtQixlQUFlLENBQUMsVUFBVWhCLEdBQUcsRUFBRTtNQUNsQyxJQUFNaUIsR0FBRyxHQUFHakIsR0FBRyxDQUFDVyxJQUFJLEdBQUNDLElBQUksQ0FBQ00sS0FBSyxDQUFDbEIsR0FBRyxDQUFDVyxJQUFJLENBQUMsR0FBQyxDQUFDLENBQUM7TUFDNUMsYUFBWU0sR0FBRztNQUNmcEIsR0FBRyxDQUFDa0IsS0FBSyxDQUFDLFdBQVcsRUFBQ2YsR0FBRyxDQUFDO01BQzFCLElBQUdpQixHQUFHLENBQUNFLEtBQUssSUFBSSxTQUFTLEVBQUM7UUFDekIsSUFBR0YsR0FBRyxDQUFDRyxJQUFJLElBQUUsQ0FBQyxFQUFDO1VBQ2QsSUFBR3ZCLEdBQUcsQ0FBQ1MsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDQyxFQUFFLElBQUlVLEdBQUcsQ0FBQ0ksUUFBUSxFQUFDO1lBQ3BELElBQUdKLEdBQUcsQ0FBQ0csSUFBSSxJQUFLLEVBQUUsRUFBQztjQUNsQnZCLEdBQUcsQ0FBQ2tCLEtBQUssQ0FBQyxZQUFZLEVBQUNFLEdBQUcsQ0FBQztZQUM1QjtZQUNBLElBQUdBLEdBQUcsQ0FBQ0csSUFBSSxJQUFJLEVBQUUsRUFBQztjQUNqQnZCLEdBQUcsQ0FBQ2tCLEtBQUssQ0FBQyxrQkFBa0IsRUFBQ0UsR0FBRyxDQUFDO1lBQ2xDO1lBQ0EsSUFBR0EsR0FBRyxDQUFDRyxJQUFJLElBQUksRUFBRSxFQUFDO2NBQ2pCLElBQUdILEdBQUcsQ0FBQ0ssWUFBWSxJQUFJLENBQUMsRUFBQztnQkFDeEJ6QixHQUFHLENBQUNrQixLQUFLLENBQUMsV0FBVyxDQUFDO2NBQ3ZCO2NBQ0EsSUFBR0UsR0FBRyxDQUFDTSxZQUFZLElBQUksQ0FBQyxFQUFDO2dCQUN4QjFCLEdBQUcsQ0FBQzJCLFdBQVcsQ0FBQztrQkFDZkMsUUFBUSxFQUFFLGtCQUFVekIsR0FBRyxFQUFFO29CQUN4QixhQUFZLFNBQVMsRUFBQ0EsR0FBRztrQkFDMUI7Z0JBQ0QsQ0FBQyxDQUFDO2NBQ0g7Y0FDQUgsR0FBRyxDQUFDNkIsVUFBVSxDQUFDO2dCQUNkckIsR0FBRyxFQUFFLHVDQUF1QyxHQUFDWSxHQUFHLENBQUNVLE1BQU0sR0FBQyxPQUFPLEdBQUNWLEdBQUcsQ0FBQ0k7Y0FDckUsQ0FBQyxDQUFDO1lBQ0g7WUFDQSxJQUFHSixHQUFHLENBQUNHLElBQUksSUFBSSxFQUFFLEVBQUM7Y0FDakIsSUFBR0gsR0FBRyxDQUFDSyxZQUFZLElBQUksQ0FBQyxFQUFDO2dCQUN4QnpCLEdBQUcsQ0FBQ2tCLEtBQUssQ0FBQyxXQUFXLENBQUM7Y0FDdkI7Y0FDQSxJQUFHRSxHQUFHLENBQUNNLFlBQVksSUFBSSxDQUFDLEVBQUM7Z0JBQ3hCMUIsR0FBRyxDQUFDMkIsV0FBVyxDQUFDO2tCQUNmQyxRQUFRLEVBQUUsa0JBQVV6QixHQUFHLEVBQUU7b0JBQ3hCLGFBQVksU0FBUyxFQUFDQSxHQUFHO2tCQUMxQjtnQkFDRCxDQUFDLENBQUM7Y0FDSDtjQUNBSCxHQUFHLENBQUM2QixVQUFVLENBQUM7Z0JBQ2RyQixHQUFHLEVBQUUsdUNBQXVDLEdBQUNZLEdBQUcsQ0FBQ1UsTUFBTSxHQUFDLE9BQU8sR0FBQ1YsR0FBRyxDQUFDSTtjQUNyRSxDQUFDLENBQUM7WUFDSDtZQUNBLElBQUdKLEdBQUcsQ0FBQ0csSUFBSSxJQUFJLENBQUMsRUFBQztjQUNoQixJQUFHSCxHQUFHLENBQUNLLFlBQVksSUFBSSxDQUFDLEVBQUM7Z0JBQ3hCekIsR0FBRyxDQUFDa0IsS0FBSyxDQUFDLFdBQVcsQ0FBQztjQUN2QjtjQUNBLElBQUdFLEdBQUcsQ0FBQ00sWUFBWSxJQUFJLENBQUMsRUFBQztnQkFDeEIxQixHQUFHLENBQUMyQixXQUFXLENBQUM7a0JBQ2ZDLFFBQVEsRUFBRSxrQkFBVXpCLEdBQUcsRUFBRTtvQkFDeEIsYUFBWSxTQUFTLEVBQUNBLEdBQUc7a0JBQzFCO2dCQUNELENBQUMsQ0FBQztjQUNIO2NBQ0FILEdBQUcsQ0FBQytCLFNBQVMsQ0FBQztnQkFDYkMsS0FBSyxFQUFFLE1BQU07Z0JBQ2JDLE9BQU8sRUFBRSxJQUFJLEdBQUNiLEdBQUcsQ0FBQ2MsY0FBYyxHQUFDLGNBQWM7Z0JBQy9DQyxVQUFVLEVBQUUsSUFBSTtnQkFDaEJDLFdBQVcsRUFBRSxJQUFJO2dCQUNqQkMsT0FBTyxFQUFFLGlCQUFBbEMsR0FBRyxFQUFJO2tCQUNmLElBQUdBLEdBQUcsQ0FBQ21DLE9BQU8sRUFBQztvQkFDZCxhQUFZbEIsR0FBRyxFQUFFcEIsR0FBRyxDQUFDUyxjQUFjLENBQUMsVUFBVSxDQUFDO29CQUMvQ1QsR0FBRyxDQUFDYSxpQkFBaUIsQ0FBQztzQkFBQ0MsSUFBSSxFQUFDQyxJQUFJLENBQUNDLFNBQVMsQ0FBQzt3QkFDMUMsUUFBUSxFQUFFaEIsR0FBRyxDQUFDUyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUNDLEVBQUU7d0JBQzNDYyxRQUFRLEVBQUVKLEdBQUcsQ0FBQ1UsTUFBTTt3QkFDcEJQLElBQUksRUFBRSxFQUFFO3dCQUNSLE9BQU8sRUFBQztzQkFDVCxDQUFDO29CQUFDLENBQUMsQ0FBQztvQkFDSixJQUFHdkIsR0FBRyxDQUFDUyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUNDLEVBQUUsSUFBSVUsR0FBRyxDQUFDSSxRQUFRLEVBQUM7c0JBQ3BELGFBQVksUUFBUSxFQUFDeEIsR0FBRyxDQUFDUyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUNDLEVBQUUsRUFBR1UsR0FBRyxDQUFDVSxNQUFNO3NCQUNuRTlCLEdBQUcsQ0FBQzZCLFVBQVUsQ0FBQzt3QkFDZHJCLEdBQUcsRUFBRSx1Q0FBdUMsR0FBQ1ksR0FBRyxDQUFDVTtzQkFDbEQsQ0FBQyxDQUFDO29CQUNIO2tCQUNELENBQUMsTUFBSTtvQkFDSjlCLEdBQUcsQ0FBQ2EsaUJBQWlCLENBQUM7c0JBQUNDLElBQUksRUFBQ0MsSUFBSSxDQUFDQyxTQUFTLENBQUM7d0JBQzFDLFFBQVEsRUFBRWhCLEdBQUcsQ0FBQ1MsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDQyxFQUFFO3dCQUMzQ2MsUUFBUSxFQUFFSixHQUFHLENBQUNVLE1BQU07d0JBQ3BCUCxJQUFJLEVBQUUsRUFBRTt3QkFDUixPQUFPLEVBQUM7c0JBQ1QsQ0FBQztvQkFBQyxDQUFDLENBQUM7a0JBQ0w7Z0JBQ0QsQ0FBQztnQkFDRGdCLElBQUksRUFBRSxnQkFBTSxDQUFDLENBQUM7Z0JBQ2RYLFFBQVEsRUFBRSxvQkFBTSxDQUFDO2NBQ2xCLENBQUMsQ0FBQztZQUNIO1lBQ0EsSUFBR1IsR0FBRyxDQUFDRyxJQUFJLElBQUksQ0FBQyxFQUFDO2NBQ2hCLElBQUdILEdBQUcsQ0FBQ0ssWUFBWSxJQUFJLENBQUMsRUFBQztnQkFDeEJ6QixHQUFHLENBQUNrQixLQUFLLENBQUMsV0FBVyxDQUFDO2NBQ3ZCO2NBQ0EsSUFBR0UsR0FBRyxDQUFDTSxZQUFZLElBQUksQ0FBQyxFQUFDO2dCQUN4QjFCLEdBQUcsQ0FBQzJCLFdBQVcsQ0FBQztrQkFDZkMsUUFBUSxFQUFFLGtCQUFVekIsR0FBRyxFQUFFO29CQUN4QixhQUFZLFNBQVMsRUFBQ0EsR0FBRztrQkFDMUI7Z0JBQ0QsQ0FBQyxDQUFDO2NBQ0g7Y0FDQUgsR0FBRyxDQUFDK0IsU0FBUyxDQUFDO2dCQUNiQyxLQUFLLEVBQUUsTUFBTTtnQkFDYkMsT0FBTyxFQUFFLElBQUksR0FBQ2IsR0FBRyxDQUFDYyxjQUFjLEdBQUMsY0FBYztnQkFDL0NDLFVBQVUsRUFBRSxJQUFJO2dCQUNoQkMsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCQyxPQUFPLEVBQUUsaUJBQUFsQyxHQUFHLEVBQUk7a0JBQ2YsSUFBR0EsR0FBRyxDQUFDbUMsT0FBTyxFQUFDO29CQUNkLGFBQVlsQixHQUFHLEVBQUVwQixHQUFHLENBQUNTLGNBQWMsQ0FBQyxVQUFVLENBQUM7b0JBQy9DVCxHQUFHLENBQUNhLGlCQUFpQixDQUFDO3NCQUFDQyxJQUFJLEVBQUNDLElBQUksQ0FBQ0MsU0FBUyxDQUFDO3dCQUMxQyxRQUFRLEVBQUVoQixHQUFHLENBQUNTLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQ0MsRUFBRTt3QkFDM0NjLFFBQVEsRUFBRUosR0FBRyxDQUFDVSxNQUFNO3dCQUNwQlAsSUFBSSxFQUFFLEVBQUU7d0JBQ1IsT0FBTyxFQUFDO3NCQUNULENBQUM7b0JBQUMsQ0FBQyxDQUFDO29CQUNKLElBQUd2QixHQUFHLENBQUNTLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQ0MsRUFBRSxJQUFJVSxHQUFHLENBQUNJLFFBQVEsRUFBQztzQkFDcEQsYUFBWSxRQUFRLEVBQUN4QixHQUFHLENBQUNTLGNBQWMsQ0FBQyxVQUFVLENBQUMsQ0FBQ0MsRUFBRSxFQUFHVSxHQUFHLENBQUNVLE1BQU07c0JBQ25FOUIsR0FBRyxDQUFDNkIsVUFBVSxDQUFDO3dCQUNkckIsR0FBRyxFQUFFLHVDQUF1QyxHQUFDWSxHQUFHLENBQUNVO3NCQUNsRCxDQUFDLENBQUM7b0JBQ0g7a0JBQ0QsQ0FBQyxNQUFJO29CQUNKOUIsR0FBRyxDQUFDYSxpQkFBaUIsQ0FBQztzQkFBQ0MsSUFBSSxFQUFDQyxJQUFJLENBQUNDLFNBQVMsQ0FBQzt3QkFDMUMsUUFBUSxFQUFFaEIsR0FBRyxDQUFDUyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUNDLEVBQUU7d0JBQzNDYyxRQUFRLEVBQUVKLEdBQUcsQ0FBQ1UsTUFBTTt3QkFDcEJQLElBQUksRUFBRSxFQUFFO3dCQUNSLE9BQU8sRUFBQztzQkFDVCxDQUFDO29CQUFDLENBQUMsQ0FBQztrQkFDTDtnQkFDRCxDQUFDO2dCQUNEZ0IsSUFBSSxFQUFFLGdCQUFNLENBQUMsQ0FBQztnQkFDZFgsUUFBUSxFQUFFLG9CQUFNLENBQUM7Y0FDbEIsQ0FBQyxDQUFDO1lBQ0g7WUFDQSxJQUFHUixHQUFHLENBQUNHLElBQUksSUFBSSxFQUFFLElBQUlILEdBQUcsQ0FBQ0csSUFBSSxJQUFFLEVBQUUsRUFBQztjQUNqQ3ZCLEdBQUcsQ0FBQ2tCLEtBQUssQ0FBQyxtQkFBbUIsRUFBQ0UsR0FBRyxDQUFDO1lBQ25DO1VBQ0Q7UUFDRCxDQUFDLE1BQUk7VUFDSnBCLEdBQUcsQ0FBQ2tCLEtBQUssQ0FBQyxpQkFBaUIsRUFBQ2YsR0FBRyxDQUFDO1FBQ2pDO01BQ0Q7SUFDRCxDQUFDLENBQUM7RUFDSCxDQUFDLENBQUM7RUFDRkgsR0FBRyxDQUFDRSxHQUFHLENBQUMsYUFBYSxFQUFDLFVBQUFrQixHQUFHLEVBQUU7SUFDMUJwQixHQUFHLENBQUNhLGlCQUFpQixDQUFDO01BQUNDLElBQUksRUFBQ0MsSUFBSSxDQUFDQyxTQUFTLENBQUM7UUFDMUMsUUFBUSxFQUFFSSxHQUFHLENBQUNVLE1BQU07UUFDcEIsVUFBVSxFQUFFVixHQUFHLENBQUNJLFFBQVE7UUFDeEJELElBQUksRUFBRSxFQUFFO1FBQ1IsT0FBTyxFQUFDO01BQ1QsQ0FBQztJQUFDLENBQUMsQ0FBQztFQUNMLENBQUMsQ0FBQztFQUNGdkIsR0FBRyxDQUFDRSxHQUFHLENBQUMsZ0JBQWdCLEVBQUMsVUFBQWtCLEdBQUcsRUFBRTtJQUM3QnBCLEdBQUcsQ0FBQ2EsaUJBQWlCLENBQUM7TUFBQ0MsSUFBSSxFQUFDQyxJQUFJLENBQUNDLFNBQVMsQ0FBQztRQUMxQyxRQUFRLEVBQUVJLEdBQUcsQ0FBQ1UsTUFBTTtRQUNwQixVQUFVLEVBQUVWLEdBQUcsQ0FBQ0ksUUFBUTtRQUN4QkQsSUFBSSxFQUFFLEVBQUU7UUFDUixPQUFPLEVBQUM7TUFDVCxDQUFDO0lBQUMsQ0FBQyxDQUFDO0VBQ0wsQ0FBQyxDQUFDO0VBQ0Z2QixHQUFHLENBQUNFLEdBQUcsQ0FBQyxXQUFXLEVBQUMsVUFBQUMsR0FBRyxFQUFFO0lBQ3hCSCxHQUFHLENBQUN3QyxTQUFTLENBQUM7TUFDYkMsSUFBSSxFQUFFLE1BQU07TUFDWkMsUUFBUSxFQUFFLFFBQVE7TUFDbEJWLEtBQUssRUFBRTdCLEdBQUcsR0FBQyxPQUFPLEdBQUM7SUFDcEIsQ0FBQyxDQUFDO0VBQ0gsQ0FBQyxDQUFDO0VBQ0ZILEdBQUcsQ0FBQzJDLGFBQWEsQ0FBQyxVQUFVeEMsR0FBRyxFQUFFO0lBQ2hDeUMsYUFBYSxDQUFDdEMsS0FBSyxDQUFDO0lBQ3BCTixHQUFHLENBQUM2QyxXQUFXLEVBQUU7SUFDakI3QyxHQUFHLENBQUM4QyxpQkFBaUIsQ0FBQyxRQUFRLENBQUM7SUFDL0IsYUFBWSxnQkFBZ0I7SUFDNUJDLFVBQVUsQ0FBQyxZQUFJO01BQ2QsSUFBRy9DLEdBQUcsQ0FBQ1MsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDQyxFQUFFLEVBQUM7UUFDcENWLEdBQUcsQ0FBQ2tCLEtBQUssQ0FBQyxZQUFZLENBQUM7TUFDeEI7SUFDRCxDQUFDLEVBQUMsSUFBSSxDQUFDO0VBQ1IsQ0FBQyxDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsU0FBU04sT0FBTyxHQUFHO0VBQ2xCTixLQUFLLEdBQUcwQyxXQUFXLENBQUMsWUFBSTtJQUN2QmhELEdBQUcsQ0FBQ2lCLGNBQWMsQ0FBQyxRQUFRLEVBQUMsSUFBSSxDQUFDO0lBQ2pDakIsR0FBRyxDQUFDYSxpQkFBaUIsQ0FBQztNQUFDQyxJQUFJLEVBQUNDLElBQUksQ0FBQ0MsU0FBUyxDQUFDO1FBQUMsUUFBUSxFQUFFaEIsR0FBRyxDQUFDUyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUNDLEVBQUU7UUFBQyxPQUFPLEVBQUM7TUFBWSxDQUFDO0lBQUMsQ0FBQyxDQUFDO0VBQ2pILENBQUMsRUFBRSxLQUFLLENBQUM7QUFFVjtBQUVBcUMsVUFBVSxDQUFDLFlBQUk7RUFDZCxJQUFHL0MsR0FBRyxDQUFDUyxjQUFjLENBQUMsVUFBVSxDQUFDLENBQUNDLEVBQUUsRUFBQztJQUNwQ1YsR0FBRyxDQUFDa0IsS0FBSyxDQUFDLFlBQVksQ0FBQztFQUN4QjtBQUNELENBQUMsRUFBQyxJQUFJLENBQUM7QUFHUCtCLFlBQUcsQ0FBQ0MsTUFBTSxHQUFHLEtBQUs7QUFDbEIsSUFBTUMsR0FBRyxHQUFHLElBQUluRSxZQUFHLG1CQUNkaUUsWUFBRyxFQUNOO0FBQ0ZFLEdBQUcsQ0FBQ0MsTUFBTSxFQUFFLEMiLCJmaWxlIjoiMC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAndW5pLXBhZ2VzJztpbXBvcnQgQXBwIGZyb20gJy4vQXBwJ1xyXG5cclxuXHJcbmltcG9ydCBWdWUgZnJvbSAndnVlJ1xyXG5pbXBvcnQgJy4vdW5pLnByb21pc2lmeS5hZGFwdG9yJ1xyXG5pbXBvcnQgdVZpZXcgZnJvbSAnLi91bmlfbW9kdWxlcy92ay11dmlldy11aSc7XHJcblZ1ZS51c2UodVZpZXcpO1xyXG5cclxuaW1wb3J0IHVudmVyaWZpZWQgZnJvbSAnQC9jb21wb25lbnRzL3VudmVyaWZpZWQudnVlJztcclxuaW1wb3J0IGluc3VmZmljaWVudCBmcm9tICdAL2NvbXBvbmVudHMvaW5zdWZmaWNpZW50LnZ1ZSc7XHJcbmltcG9ydCBzaGFyZSBmcm9tICdAL2NvbXBvbmVudHMvc2hhcmUudnVlJztcclxuaW1wb3J0IGRhc2hhbiBmcm9tICdAL2NvbXBvbmVudHMvZGFzaGFuLnZ1ZSc7XHJcblZ1ZS5jb21wb25lbnQoJ3VudmVyaWZpZWQnLCB1bnZlcmlmaWVkKVxyXG5WdWUuY29tcG9uZW50KCdpbnN1ZmZpY2llbnQnLCBpbnN1ZmZpY2llbnQpXHJcblZ1ZS5jb21wb25lbnQoJ3NoYXJlJywgc2hhcmUpXHJcblZ1ZS5jb21wb25lbnQoJ2Rhc2hhbicsIGRhc2hhbilcclxuVnVlLmNvbmZpZy5wcm9kdWN0aW9uVGlwID0gZmFsc2VcclxuXHJcbmltcG9ydCBhcGkgZnJvbSAnQC9hcGkvaW5kZXguanMnXHJcblZ1ZS5wcm90b3R5cGUuJGFwaSA9IGFwaVxyXG5WdWUucHJvdG90eXBlLiRhcnRpY2xlU2hhcmVVcmwgPSBcImh0dHBzOi8vYXBpLmx5aXl1YW4uY24vcHJvZmlsZS91cGxvYWQvd2ViL2luZGV4Lmh0bWwjL3BhZ2VzL2Rvbmd0YWkvZGV0YWlsP3R5cGU9d2ViJmlkPVwiXHJcblZ1ZS5wcm90b3R5cGUuJHVzZXJTaGFyZVVybCA9IFwiaHR0cHM6Ly9hcGkubHlpeXVhbi5jbi9wcm9maWxlL3VwbG9hZC93ZWIvaW5kZXguaHRtbCMvcGFnZXMvbG9naW4vcmVnP2lkPVwiXHJcblxyXG5sZXQgYmdBdWRpb01hbmFnZXIgPSB1bmkuZ2V0QmFja2dyb3VuZEF1ZGlvTWFuYWdlcigpO1xyXG51bmkuJG9uKFwicGxheUF1ZGlvXCIscmVzPT57XHJcblx0YmdBdWRpb01hbmFnZXIuc3JjID0gJ2h0dHBzOi8vYXBpLmx5aXl1YW4uY24vcHJvZmlsZS91cGxvYWQvc3RhdGljL3Rpc2hpeWluLm1wMyc7XHJcblx0YmdBdWRpb01hbmFnZXIucGxheSgpO1xyXG5cdGJnQXVkaW9NYW5hZ2VyID0gbnVsbFxyXG59KVxyXG5cclxuLy9zb2NrZXQgXHJcbiBsZXQgdGltZXIgPSBudWxsO1xyXG51bmkuJG9uKFwib3BlblNvY2tldFwiLGZ1bmN0aW9uKHJlcyl7XHJcblx0dW5pLmNvbm5lY3RTb2NrZXQoe1xyXG5cdFx0dXJsOiAnd3NzOi8vYXBpLmx5aXl1YW4uY24vd2Vic29ja2V0P3VzZXJJZD0nK3VuaS5nZXRTdG9yYWdlU3luYygndXNlckluZm8nKS5pZFxyXG5cdH0pO1xyXG5cdHVuaS5vblNvY2tldE9wZW4oZnVuY3Rpb24gKHJlcykge1xyXG5cdCAgeGludGlhbygpXHJcblx0ICB1bmkuc2VuZFNvY2tldE1lc3NhZ2Uoe2RhdGE6SlNPTi5zdHJpbmdpZnkoe1widXNlcklkXCI6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFwidG9waWNcIjpcImhlYXJ0X2JlYXRcIn0pfSk7XHJcblx0ICBjb25zb2xlLmxvZygnV2ViU29ja2V06L+e5o6l5bey5omT5byA77yBJyk7XHJcblx0ICB1bmkuc2V0U3RvcmFnZVN5bmMoXCJpc09wZW5cIix0cnVlKVxyXG5cdCAgdW5pLiRlbWl0KFwid2F0Y2hTb2NrZXRcIilcclxuXHR9KTtcclxuXHRcclxuXHR1bmkuJG9uKFwid2F0Y2hTb2NrZXRcIixyZXM9PntcclxuXHRcdHVuaS5vblNvY2tldE1lc3NhZ2UoZnVuY3Rpb24gKHJlcykge1xyXG5cdFx0XHRjb25zdCBvYmogPSByZXMuZGF0YT9KU09OLnBhcnNlKHJlcy5kYXRhKTp7fTtcclxuXHRcdFx0Y29uc29sZS5sb2cob2JqKVxyXG5cdFx0XHR1bmkuJGVtaXQoXCJ0b0NoYXRPYmpcIixyZXMpXHJcblx0XHRcdGlmKG9iai50b3BpYyA9PSAnbWVzc2FnZScpe1xyXG5cdFx0XHRcdGlmKG9iai50eXBlPj04KXtcclxuXHRcdFx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkID09IG9iai5zZWxsZXJJZCl7XHJcblx0XHRcdFx0XHRcdGlmKG9iai50eXBlXHQgPT0gMTIpe1xyXG5cdFx0XHRcdFx0XHRcdHVuaS4kZW1pdChcIndhdGNoRXZlbnRcIixvYmopXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYob2JqLnR5cGUgPT0gMjApe1xyXG5cdFx0XHRcdFx0XHRcdHVuaS4kZW1pdChcInRvSmllc2hvdVlpbnNoaXBcIixvYmopXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYob2JqLnR5cGUgPT0gMTgpe1xyXG5cdFx0XHRcdFx0XHRcdGlmKG9iai51c2VyTXNnVm9pY2UgPT0gMSl7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuJGVtaXQoXCJwbGF5QXVkaW9cIilcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0aWYob2JqLnVzZXJNc2dTaG9jayA9PSAxKXtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS52aWJyYXRlTG9uZyh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbXBsZXRlOiBmdW5jdGlvbiAocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ3N1Y2Nlc3MnLHJlcyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BpcGVpL3NoaXBpbi9kZXRhaWw/dHlwZT0zJmlkPVwiK29iai51c2VySWQrJyZmaWQ9JytvYmouc2VsbGVySWRcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGlmKG9iai50eXBlID09IDE5KXtcclxuXHRcdFx0XHRcdFx0XHRpZihvYmoudXNlck1zZ1ZvaWNlID09IDEpe1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwicGxheUF1ZGlvXCIpXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmKG9iai51c2VyTXNnU2hvY2sgPT0gMSl7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkudmlicmF0ZUxvbmcoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb21wbGV0ZTogZnVuY3Rpb24gKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCdzdWNjZXNzJyxyZXMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9waXBlaS9zaGlwaW4vZGV0YWlsP3R5cGU9NCZpZD1cIitvYmoudXNlcklkKycmZmlkPScrb2JqLnNlbGxlcklkXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZihvYmoudHlwZSA9PSA5KXtcclxuXHRcdFx0XHRcdFx0XHRpZihvYmoudXNlck1zZ1ZvaWNlID09IDEpe1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwicGxheUF1ZGlvXCIpXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmKG9iai51c2VyTXNnU2hvY2sgPT0gMSl7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkudmlicmF0ZUxvbmcoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb21wbGV0ZTogZnVuY3Rpb24gKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCdzdWNjZXNzJyxyZXMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+a4qemmqOaPkOekuicsXHJcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAn5p2l6IeqJytvYmouc2VsbGVyTmlja25hbWUrXCLlj5HotbfnmoTop4bpopHljLnphY3vvIzmmK/lkKblkIzmhI9cIixcclxuXHRcdFx0XHRcdFx0XHRcdGNhbmNlbFRleHQ6ICfmi5Lnu50nLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29uZmlybVRleHQ6ICflkIzmhI8nLFxyXG5cdFx0XHRcdFx0XHRcdFx0c3VjY2VzczogcmVzID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYocmVzLmNvbmZpcm0pe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKG9iaiwgdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNlbmRTb2NrZXRNZXNzYWdlKHtkYXRhOkpTT04uc3RyaW5naWZ5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwidXNlcklkXCI6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2VsbGVySWQ6IG9iai51c2VySWQsIFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogMTAsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcInRvcGljXCI6XCJtZXNzYWdlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KX0pXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQgPT0gb2JqLnNlbGxlcklkKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwidG9DaGF0XCIsdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQgLCBvYmoudXNlcklkKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BpcGVpL3NoaXBpbi9kZXRhaWw/dHlwZT0yJmlkPVwiK29iai51c2VySWRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2VuZFNvY2tldE1lc3NhZ2Uoe2RhdGE6SlNPTi5zdHJpbmdpZnkoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCJ1c2VySWRcIjogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZWxsZXJJZDogb2JqLnVzZXJJZCwgXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAxMSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwidG9waWNcIjpcIm1lc3NhZ2VcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pfSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdGZhaWw6ICgpID0+IHt9LFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcGxldGU6ICgpID0+IHt9XHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYob2JqLnR5cGUgPT0gOCl7XHJcblx0XHRcdFx0XHRcdFx0aWYob2JqLnVzZXJNc2dWb2ljZSA9PSAxKXtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS4kZW1pdChcInBsYXlBdWRpb1wiKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRpZihvYmoudXNlck1zZ1Nob2NrID09IDEpe1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnZpYnJhdGVMb25nKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29tcGxldGU6IGZ1bmN0aW9uIChyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnc3VjY2VzcycscmVzKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmuKnppqjmj5DnpLonLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJ+adpeiHqicrb2JqLnNlbGxlck5pY2tuYW1lK1wi5Y+R6LW355qE6K+t6Z+z5Yy56YWN77yM5piv5ZCm5ZCM5oSPXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRjYW5jZWxUZXh0OiAn5ouS57udJyxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmZpcm1UZXh0OiAn5ZCM5oSPJyxcclxuXHRcdFx0XHRcdFx0XHRcdHN1Y2Nlc3M6IHJlcyA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmKHJlcy5jb25maXJtKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhvYmosIHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zZW5kU29ja2V0TWVzc2FnZSh7ZGF0YTpKU09OLnN0cmluZ2lmeSh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcInVzZXJJZFwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNlbGxlcklkOiBvYmoudXNlcklkLCBcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IDEwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCJ0b3BpY1wiOlwibWVzc2FnZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSl9KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkID09IG9iai5zZWxsZXJJZCl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInRvQ2hhdFwiLHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkICwgb2JqLnVzZXJJZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9waXBlaS9zaGlwaW4vZGV0YWlsP3R5cGU9MSZpZD1cIitvYmoudXNlcklkXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNlbmRTb2NrZXRNZXNzYWdlKHtkYXRhOkpTT04uc3RyaW5naWZ5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwidXNlcklkXCI6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2VsbGVySWQ6IG9iai51c2VySWQsIFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogMTEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcInRvcGljXCI6XCJtZXNzYWdlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KX0pXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRmYWlsOiAoKSA9PiB7fSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBsZXRlOiAoKSA9PiB7fVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGlmKG9iai50eXBlID09IDEwIHx8IG9iai50eXBlPT0xMSl7XHJcblx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwiamlhbnRpbmdUaWFvemh1YW5cIixvYmopXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdHVuaS4kZW1pdChcInRvQ2hhdFhpYW94aU9ialwiLHJlcylcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH0pXHJcblx0dW5pLiRvbihcImR1YW5ZaW5zaGlwXCIsb2JqPT57XHJcblx0XHR1bmkuc2VuZFNvY2tldE1lc3NhZ2Uoe2RhdGE6SlNPTi5zdHJpbmdpZnkoe1xyXG5cdFx0XHRcInVzZXJJZFwiOiBvYmoudXNlcklkLFxyXG5cdFx0XHRcInNlbGxlcklkXCI6IG9iai5zZWxsZXJJZCxcclxuXHRcdFx0dHlwZTogMTIsXHJcblx0XHRcdFwidG9waWNcIjpcIm1lc3NhZ2VcIlxyXG5cdFx0fSl9KVxyXG5cdH0pXHJcblx0dW5pLiRvbihcImppZXNob3VZaW5zaGlwXCIsb2JqPT57XHJcblx0XHR1bmkuc2VuZFNvY2tldE1lc3NhZ2Uoe2RhdGE6SlNPTi5zdHJpbmdpZnkoe1xyXG5cdFx0XHRcInVzZXJJZFwiOiBvYmoudXNlcklkLFxyXG5cdFx0XHRcInNlbGxlcklkXCI6IG9iai5zZWxsZXJJZCxcclxuXHRcdFx0dHlwZTogMjAsXHJcblx0XHRcdFwidG9waWNcIjpcIm1lc3NhZ2VcIlxyXG5cdFx0fSl9KVxyXG5cdH0pXHJcblx0dW5pLiRvbihcInNob3dUb2FzdFwiLHJlcz0+e1xyXG5cdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdGljb246IFwibm9uZVwiLFxyXG5cdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcclxuXHRcdFx0dGl0bGU6IHJlcz8n5a+55pa55bey5oyC5patJzpcIuWvueaWueW3suaLkue7nVwiXHJcblx0XHR9KVxyXG5cdH0pXHJcblx0dW5pLm9uU29ja2V0Q2xvc2UoZnVuY3Rpb24gKHJlcykge1xyXG5cdFx0Y2xlYXJJbnRlcnZhbCh0aW1lcilcclxuXHRcdHVuaS5jbG9zZVNvY2tldCgpO1xyXG5cdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKFwiaXNPcGVuXCIpXHJcblx0XHRjb25zb2xlLmxvZygnV2ViU29ja2V0IOW3suWFs+mXre+8gScpO1xyXG5cdFx0c2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCl7XHJcblx0XHRcdFx0dW5pLiRlbWl0KFwib3BlblNvY2tldFwiKVxyXG5cdFx0XHR9XHJcblx0XHR9LDEwMDApXHJcblx0fSk7XHJcbn0pXHJcblxyXG5mdW5jdGlvbiB4aW50aWFvKCkge1xyXG5cdHRpbWVyID0gc2V0SW50ZXJ2YWwoKCk9PntcclxuXHRcdHVuaS5zZXRTdG9yYWdlU3luYyhcImlzT3BlblwiLHRydWUpXHJcblx0XHR1bmkuc2VuZFNvY2tldE1lc3NhZ2Uoe2RhdGE6SlNPTi5zdHJpbmdpZnkoe1widXNlcklkXCI6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFwidG9waWNcIjpcImhlYXJ0X2JlYXRcIn0pfSk7XHJcblx0fSwgMzAwMDApXHJcblx0XHJcbn1cclxuXHJcbnNldFRpbWVvdXQoKCk9PntcclxuXHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCl7XHJcblx0XHR1bmkuJGVtaXQoXCJvcGVuU29ja2V0XCIpXHJcblx0fVxyXG59LDEwMDApXHJcblxyXG5cclxuQXBwLm1wVHlwZSA9ICdhcHAnXHJcbmNvbnN0IGFwcCA9IG5ldyBWdWUoe1xyXG4gIC4uLkFwcFxyXG59KVxyXG5hcHAuJG1vdW50KClcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///0\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 3));\n__webpack_require__(/*! uni-pages */ 7);\nvar _App = _interopRequireDefault(__webpack_require__(/*! ./App */ 487));\nvar _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 490));\n__webpack_require__(/*! ./uni.promisify.adaptor */ 491);\nvar _vkUviewUi = _interopRequireDefault(__webpack_require__(/*! ./uni_modules/vk-uview-ui */ 492));\nvar _unverified = _interopRequireDefault(__webpack_require__(/*! @/components/unverified.vue */ 520));\nvar _insufficient = _interopRequireDefault(__webpack_require__(/*! @/components/insufficient.vue */ 530));\nvar _share = _interopRequireDefault(__webpack_require__(/*! @/components/share.vue */ 535));\nvar _dashan = _interopRequireDefault(__webpack_require__(/*! @/components/dashan.vue */ 540));\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/api/index.js */ 545));\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.use(_vkUviewUi.default);\n_vue.default.component('unverified', _unverified.default);\n_vue.default.component('insufficient', _insufficient.default);\n_vue.default.component('share', _share.default);\n_vue.default.component('dashan', _dashan.default);\n_vue.default.config.productionTip = false;\n_vue.default.prototype.$api = _index.default;\n_vue.default.prototype.$articleShareUrl = \"https://api.lyiyuan.cn/profile/upload/web/index.html#/pages/dongtai/detail?type=web&id=\";\n_vue.default.prototype.$userShareUrl = \"https://api.lyiyuan.cn/profile/upload/web/index.html#/pages/login/reg?id=\";\nvar bgAudioManager = uni.getBackgroundAudioManager();\nuni.$on(\"playAudio\", function (res) {\n bgAudioManager.src = 'https://api.lyiyuan.cn/profile/upload/static/tishiyin.mp3';\n bgAudioManager.play();\n bgAudioManager = null;\n});\n\n//socket \nvar isChat = false;\nvar timer = null;\nuni.$on(\"openSocket\", function (res) {\n uni.connectSocket({\n url: 'wss://api.lyiyuan.cn/websocket?userId=' + uni.getStorageSync('userInfo').id\n });\n uni.onSocketOpen(function (res) {\n xintiao();\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n \"topic\": \"heart_beat\"\n })\n });\n __f__(\"log\", 'WebSocket连接已打开!', \" at main.js:41\");\n uni.setStorageSync(\"isOpen\", true);\n uni.$emit(\"watchSocket\");\n });\n uni.$on(\"watchSocket\", function (res) {\n uni.onSocketMessage(function (res) {\n var obj = res.data ? JSON.parse(res.data) : {};\n // 获取当前页面的实例\n var pages = getCurrentPages();\n // 获取当前页面的实例\n var currentPage = pages[pages.length - 1];\n // 获取页面路由信息\n var route = currentPage.route;\n // 打印路由信息\n __f__(\"log\", '当前页面路由是:' + route, \" at main.js:56\");\n __f__(\"log\", obj, \" at main.js:57\");\n if (route == 'pages/users/chat/index') {\n uni.$emit(\"toChatObj\", res);\n return;\n }\n if (obj.topic == 'message') {\n if (obj.type >= 8) {\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n if (obj.type == 12) {\n uni.$emit(\"watchEvent\", obj);\n }\n if (obj.type == 20) {\n uni.$emit(\"toJieshouYinship\", obj);\n }\n if (obj.type == 18) {\n if (obj.userMsgVoice == 1) {\n uni.$emit(\"playAudio\");\n }\n if (obj.userMsgShock == 1) {\n uni.vibrateLong({\n complete: function complete(res) {\n __f__(\"log\", 'success', res, \" at main.js:79\");\n }\n });\n }\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=3&id=\" + obj.userId + '&fid=' + obj.sellerId\n });\n }\n if (obj.type == 19) {\n if (obj.userMsgVoice == 1) {\n uni.$emit(\"playAudio\");\n }\n if (obj.userMsgShock == 1) {\n uni.vibrateLong({\n complete: function complete(res) {\n __f__(\"log\", 'success', res, \" at main.js:94\");\n }\n });\n }\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=4&id=\" + obj.userId + '&fid=' + obj.sellerId\n });\n }\n if (obj.type == 9) {\n if (obj.userMsgVoice == 1) {\n uni.$emit(\"playAudio\");\n }\n if (obj.userMsgShock == 1) {\n uni.vibrateLong({\n complete: function complete(res) {\n __f__(\"log\", 'success', res, \" at main.js:109\");\n }\n });\n }\n uni.showModal({\n title: '温馨提示',\n content: '来自' + obj.sellerNickname + \"发起的视频匹配,是否同意\",\n cancelText: '拒绝',\n confirmText: '同意',\n success: function success(res) {\n if (res.confirm) {\n __f__(\"log\", obj, uni.getStorageSync(\"userInfo\"), \" at main.js:120\");\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: obj.userId,\n type: 10,\n \"topic\": \"message\"\n })\n });\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n __f__(\"log\", \"toChat\", uni.getStorageSync(\"userInfo\").id, obj.userId, \" at main.js:128\");\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=2&id=\" + obj.userId\n });\n }\n } else {\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: obj.userId,\n type: 11,\n \"topic\": \"message\"\n })\n });\n }\n },\n fail: function fail() {},\n complete: function complete() {}\n });\n }\n if (obj.type == 8) {\n if (obj.userMsgVoice == 1) {\n uni.$emit(\"playAudio\");\n }\n if (obj.userMsgShock == 1) {\n uni.vibrateLong({\n complete: function complete(res) {\n __f__(\"log\", 'success', res, \" at main.js:153\");\n }\n });\n }\n uni.showModal({\n title: '温馨提示',\n content: '来自' + obj.sellerNickname + \"发起的语音匹配,是否同意\",\n cancelText: '拒绝',\n confirmText: '同意',\n success: function success(res) {\n if (res.confirm) {\n __f__(\"log\", obj, uni.getStorageSync(\"userInfo\"), \" at main.js:164\");\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: obj.userId,\n type: 10,\n \"topic\": \"message\"\n })\n });\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n __f__(\"log\", \"toChat\", uni.getStorageSync(\"userInfo\").id, obj.userId, \" at main.js:172\");\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=1&id=\" + obj.userId\n });\n }\n } else {\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: obj.userId,\n type: 11,\n \"topic\": \"message\"\n })\n });\n }\n },\n fail: function fail() {},\n complete: function complete() {}\n });\n }\n if (obj.type == 10 || obj.type == 11) {\n uni.$emit(\"jiantingTiaozhuan\", obj);\n }\n }\n } else {\n uni.$emit(\"toChatXiaoxiObj\", res);\n }\n }\n });\n });\n uni.$on(\"duanYinship\", function (obj) {\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": obj.userId,\n \"sellerId\": obj.sellerId,\n type: 12,\n \"topic\": \"message\"\n })\n });\n });\n uni.$on(\"jieshouYinship\", function (obj) {\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": obj.userId,\n \"sellerId\": obj.sellerId,\n type: 20,\n \"topic\": \"message\"\n })\n });\n });\n uni.$on(\"showToast\", function (res) {\n uni.showToast({\n icon: \"none\",\n position: \"bottom\",\n title: res ? '对方已挂断' : \"对方已拒绝\"\n });\n });\n uni.onSocketClose(function (res) {\n clearInterval(timer);\n uni.closeSocket();\n uni.removeStorageSync(\"isOpen\");\n __f__(\"log\", 'WebSocket 已关闭!', \" at main.js:227\");\n setTimeout(function () {\n if (uni.getStorageSync(\"userInfo\").id) {\n uni.$emit(\"openSocket\");\n }\n }, 1000);\n });\n});\nfunction xintiao() {\n timer = setInterval(function () {\n uni.setStorageSync(\"isOpen\", true);\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n \"topic\": \"heart_beat\"\n })\n });\n }, 30000);\n}\nsetTimeout(function () {\n if (uni.getStorageSync(\"userInfo\").id) {\n uni.$emit(\"openSocket\");\n }\n}, 1000);\n_App.default.mpType = 'app';\nvar app = new _vue.default(_objectSpread({}, _App.default));\napp.$mount();\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vbWFpbi5qcyJdLCJuYW1lcyI6WyJWdWUiLCJ1c2UiLCJ1VmlldyIsImNvbXBvbmVudCIsInVudmVyaWZpZWQiLCJpbnN1ZmZpY2llbnQiLCJzaGFyZSIsImRhc2hhbiIsImNvbmZpZyIsInByb2R1Y3Rpb25UaXAiLCJwcm90b3R5cGUiLCIkYXBpIiwiYXBpIiwiJGFydGljbGVTaGFyZVVybCIsIiR1c2VyU2hhcmVVcmwiLCJiZ0F1ZGlvTWFuYWdlciIsInVuaSIsImdldEJhY2tncm91bmRBdWRpb01hbmFnZXIiLCIkb24iLCJyZXMiLCJzcmMiLCJwbGF5IiwiaXNDaGF0IiwidGltZXIiLCJjb25uZWN0U29ja2V0IiwidXJsIiwiZ2V0U3RvcmFnZVN5bmMiLCJpZCIsIm9uU29ja2V0T3BlbiIsInhpbnRpYW8iLCJzZW5kU29ja2V0TWVzc2FnZSIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5Iiwic2V0U3RvcmFnZVN5bmMiLCIkZW1pdCIsIm9uU29ja2V0TWVzc2FnZSIsIm9iaiIsInBhcnNlIiwicGFnZXMiLCJnZXRDdXJyZW50UGFnZXMiLCJjdXJyZW50UGFnZSIsImxlbmd0aCIsInJvdXRlIiwidG9waWMiLCJ0eXBlIiwic2VsbGVySWQiLCJ1c2VyTXNnVm9pY2UiLCJ1c2VyTXNnU2hvY2siLCJ2aWJyYXRlTG9uZyIsImNvbXBsZXRlIiwibmF2aWdhdGVUbyIsInVzZXJJZCIsInNob3dNb2RhbCIsInRpdGxlIiwiY29udGVudCIsInNlbGxlck5pY2tuYW1lIiwiY2FuY2VsVGV4dCIsImNvbmZpcm1UZXh0Iiwic3VjY2VzcyIsImNvbmZpcm0iLCJmYWlsIiwic2hvd1RvYXN0IiwiaWNvbiIsInBvc2l0aW9uIiwib25Tb2NrZXRDbG9zZSIsImNsZWFySW50ZXJ2YWwiLCJjbG9zZVNvY2tldCIsInJlbW92ZVN0b3JhZ2VTeW5jIiwic2V0VGltZW91dCIsInNldEludGVydmFsIiwiQXBwIiwibXBUeXBlIiwiYXBwIiwiJG1vdW50Il0sIm1h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SUFDdkJ0RCxHQUFHLENBQUNrQixjQUFjLENBQUMsUUFBUSxFQUFDLElBQUksQ0FBQztJQUNqQ2xCLEdBQUcsQ0FBQ2MsaUJBQWlCLENBQUM7TUFBQ0MsSUFBSSxFQUFDQyxJQUFJLENBQUNDLFNBQVMsQ0FBQztRQUFDLFFBQVEsRUFBRWpCLEdBQUcsQ0FBQ1UsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDQyxFQUFFO1FBQUMsT0FBTyxFQUFDO01BQVksQ0FBQztJQUFDLENBQUMsQ0FBQztFQUNqSCxDQUFDLEVBQUUsS0FBSyxDQUFDO0FBRVY7QUFFQTBDLFVBQVUsQ0FBQyxZQUFJO0VBQ2QsSUFBR3JELEdBQUcsQ0FBQ1UsY0FBYyxDQUFDLFVBQVUsQ0FBQyxDQUFDQyxFQUFFLEVBQUM7SUFDcENYLEdBQUcsQ0FBQ21CLEtBQUssQ0FBQyxZQUFZLENBQUM7RUFDeEI7QUFDRCxDQUFDLEVBQUMsSUFBSSxDQUFDO0FBR1BvQyxZQUFHLENBQUNDLE1BQU0sR0FBRyxLQUFLO0FBQ2xCLElBQU1DLEdBQUcsR0FBRyxJQUFJekUsWUFBRyxtQkFDZHVFLFlBQUcsRUFDTjtBQUNGRSxHQUFHLENBQUNDLE1BQU0sRUFBRSxDIiwiZmlsZSI6IjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3VuaS1wYWdlcyc7aW1wb3J0IEFwcCBmcm9tICcuL0FwcCdcclxuXHJcblxyXG5pbXBvcnQgVnVlIGZyb20gJ3Z1ZSdcclxuaW1wb3J0ICcuL3VuaS5wcm9taXNpZnkuYWRhcHRvcidcclxuaW1wb3J0IHVWaWV3IGZyb20gJy4vdW5pX21vZHVsZXMvdmstdXZpZXctdWknO1xyXG5WdWUudXNlKHVWaWV3KTtcclxuXHJcbmltcG9ydCB1bnZlcmlmaWVkIGZyb20gJ0AvY29tcG9uZW50cy91bnZlcmlmaWVkLnZ1ZSc7XHJcbmltcG9ydCBpbnN1ZmZpY2llbnQgZnJvbSAnQC9jb21wb25lbnRzL2luc3VmZmljaWVudC52dWUnO1xyXG5pbXBvcnQgc2hhcmUgZnJvbSAnQC9jb21wb25lbnRzL3NoYXJlLnZ1ZSc7XHJcbmltcG9ydCBkYXNoYW4gZnJvbSAnQC9jb21wb25lbnRzL2Rhc2hhbi52dWUnO1xyXG5WdWUuY29tcG9uZW50KCd1bnZlcmlmaWVkJywgdW52ZXJpZmllZClcclxuVnVlLmNvbXBvbmVudCgnaW5zdWZmaWNpZW50JywgaW5zdWZmaWNpZW50KVxyXG5WdWUuY29tcG9uZW50KCdzaGFyZScsIHNoYXJlKVxyXG5WdWUuY29tcG9uZW50KCdkYXNoYW4nLCBkYXNoYW4pXHJcblZ1ZS5jb25maWcucHJvZHVjdGlvblRpcCA9IGZhbHNlXHJcblxyXG5pbXBvcnQgYXBpIGZyb20gJ0AvYXBpL2luZGV4LmpzJ1xyXG5WdWUucHJvdG90eXBlLiRhcGkgPSBhcGlcclxuVnVlLnByb3RvdHlwZS4kYXJ0aWNsZVNoYXJlVXJsID0gXCJodHRwczovL2FwaS5seWl5dWFuLmNuL3Byb2ZpbGUvdXBsb2FkL3dlYi9pbmRleC5odG1sIy9wYWdlcy9kb25ndGFpL2RldGFpbD90eXBlPXdlYiZpZD1cIlxyXG5WdWUucHJvdG90eXBlLiR1c2VyU2hhcmVVcmwgPSBcImh0dHBzOi8vYXBpLmx5aXl1YW4uY24vcHJvZmlsZS91cGxvYWQvd2ViL2luZGV4Lmh0bWwjL3BhZ2VzL2xvZ2luL3JlZz9pZD1cIlxyXG5cclxubGV0IGJnQXVkaW9NYW5hZ2VyID0gdW5pLmdldEJhY2tncm91bmRBdWRpb01hbmFnZXIoKTtcclxudW5pLiRvbihcInBsYXlBdWRpb1wiLHJlcz0+e1xyXG5cdGJnQXVkaW9NYW5hZ2VyLnNyYyA9ICdodHRwczovL2FwaS5seWl5dWFuLmNuL3Byb2ZpbGUvdXBsb2FkL3N0YXRpYy90aXNoaXlpbi5tcDMnO1xyXG5cdGJnQXVkaW9NYW5hZ2VyLnBsYXkoKTtcclxuXHRiZ0F1ZGlvTWFuYWdlciA9IG51bGxcclxufSlcclxuXHJcbi8vc29ja2V0IFxyXG5sZXQgaXNDaGF0ID0gZmFsc2U7XHJcbiBsZXQgdGltZXIgPSBudWxsO1xyXG51bmkuJG9uKFwib3BlblNvY2tldFwiLGZ1bmN0aW9uKHJlcyl7XHJcblx0dW5pLmNvbm5lY3RTb2NrZXQoe1xyXG5cdFx0dXJsOiAnd3NzOi8vYXBpLmx5aXl1YW4uY24vd2Vic29ja2V0P3VzZXJJZD0nK3VuaS5nZXRTdG9yYWdlU3luYygndXNlckluZm8nKS5pZFxyXG5cdH0pO1xyXG5cdHVuaS5vblNvY2tldE9wZW4oZnVuY3Rpb24gKHJlcykge1xyXG5cdCAgeGludGlhbygpXHJcblx0ICB1bmkuc2VuZFNvY2tldE1lc3NhZ2Uoe2RhdGE6SlNPTi5zdHJpbmdpZnkoe1widXNlcklkXCI6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFwidG9waWNcIjpcImhlYXJ0X2JlYXRcIn0pfSk7XHJcblx0ICBjb25zb2xlLmxvZygnV2ViU29ja2V06L+e5o6l5bey5omT5byA77yBJyk7XHJcblx0ICB1bmkuc2V0U3RvcmFnZVN5bmMoXCJpc09wZW5cIix0cnVlKVxyXG5cdCAgdW5pLiRlbWl0KFwid2F0Y2hTb2NrZXRcIilcclxuXHR9KTtcclxuXHRcclxuXHR1bmkuJG9uKFwid2F0Y2hTb2NrZXRcIixyZXM9PntcclxuXHRcdHVuaS5vblNvY2tldE1lc3NhZ2UoZnVuY3Rpb24gKHJlcykge1xyXG5cdFx0XHRjb25zdCBvYmogPSByZXMuZGF0YT9KU09OLnBhcnNlKHJlcy5kYXRhKTp7fTtcclxuXHRcdFx0Ly8g6I635Y+W5b2T5YmN6aG16Z2i55qE5a6e5L6LXHJcblx0XHRcdGNvbnN0IHBhZ2VzID0gZ2V0Q3VycmVudFBhZ2VzKCk7XHJcblx0XHRcdC8vIOiOt+WPluW9k+WJjemhtemdoueahOWunuS+i1xyXG5cdFx0XHRjb25zdCBjdXJyZW50UGFnZSA9IHBhZ2VzW3BhZ2VzLmxlbmd0aCAtIDFdO1xyXG5cdFx0XHQvLyDojrflj5bpobXpnaLot6/nlLHkv6Hmga9cclxuXHRcdFx0Y29uc3Qgcm91dGUgPSBjdXJyZW50UGFnZS5yb3V0ZTtcclxuXHRcdFx0Ly8g5omT5Y2w6Lev55Sx5L+h5oGvXHJcblx0XHRcdGNvbnNvbGUubG9nKCflvZPliY3pobXpnaLot6/nlLHmmK/vvJonICsgcm91dGUpO1xyXG5cdFx0XHRjb25zb2xlLmxvZyhvYmopXHJcblx0XHRcdGlmKHJvdXRlID09ICdwYWdlcy91c2Vycy9jaGF0L2luZGV4Jyl7XHJcblx0XHRcdFx0dW5pLiRlbWl0KFwidG9DaGF0T2JqXCIscmVzKVxyXG5cdFx0XHRcdHJldHVybiA7XHJcblx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdGlmKG9iai50b3BpYyA9PSAnbWVzc2FnZScpe1xyXG5cdFx0XHRcdGlmKG9iai50eXBlPj04KXtcclxuXHRcdFx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkID09IG9iai5zZWxsZXJJZCl7XHJcblx0XHRcdFx0XHRcdGlmKG9iai50eXBlXHQgPT0gMTIpe1xyXG5cdFx0XHRcdFx0XHRcdHVuaS4kZW1pdChcIndhdGNoRXZlbnRcIixvYmopXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYob2JqLnR5cGUgPT0gMjApe1xyXG5cdFx0XHRcdFx0XHRcdHVuaS4kZW1pdChcInRvSmllc2hvdVlpbnNoaXBcIixvYmopXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYob2JqLnR5cGUgPT0gMTgpe1xyXG5cdFx0XHRcdFx0XHRcdGlmKG9iai51c2VyTXNnVm9pY2UgPT0gMSl7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuJGVtaXQoXCJwbGF5QXVkaW9cIilcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0aWYob2JqLnVzZXJNc2dTaG9jayA9PSAxKXtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS52aWJyYXRlTG9uZyh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNvbXBsZXRlOiBmdW5jdGlvbiAocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ3N1Y2Nlc3MnLHJlcyk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BpcGVpL3NoaXBpbi9kZXRhaWw/dHlwZT0zJmlkPVwiK29iai51c2VySWQrJyZmaWQ9JytvYmouc2VsbGVySWRcclxuXHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGlmKG9iai50eXBlID09IDE5KXtcclxuXHRcdFx0XHRcdFx0XHRpZihvYmoudXNlck1zZ1ZvaWNlID09IDEpe1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwicGxheUF1ZGlvXCIpXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmKG9iai51c2VyTXNnU2hvY2sgPT0gMSl7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkudmlicmF0ZUxvbmcoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb21wbGV0ZTogZnVuY3Rpb24gKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCdzdWNjZXNzJyxyZXMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9waXBlaS9zaGlwaW4vZGV0YWlsP3R5cGU9NCZpZD1cIitvYmoudXNlcklkKycmZmlkPScrb2JqLnNlbGxlcklkXHJcblx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZihvYmoudHlwZSA9PSA5KXtcclxuXHRcdFx0XHRcdFx0XHRpZihvYmoudXNlck1zZ1ZvaWNlID09IDEpe1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwicGxheUF1ZGlvXCIpXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmKG9iai51c2VyTXNnU2hvY2sgPT0gMSl7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkudmlicmF0ZUxvbmcoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjb21wbGV0ZTogZnVuY3Rpb24gKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCdzdWNjZXNzJyxyZXMpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+a4qemmqOaPkOekuicsXHJcblx0XHRcdFx0XHRcdFx0XHRjb250ZW50OiAn5p2l6IeqJytvYmouc2VsbGVyTmlja25hbWUrXCLlj5HotbfnmoTop4bpopHljLnphY3vvIzmmK/lkKblkIzmhI9cIixcclxuXHRcdFx0XHRcdFx0XHRcdGNhbmNlbFRleHQ6ICfmi5Lnu50nLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29uZmlybVRleHQ6ICflkIzmhI8nLFxyXG5cdFx0XHRcdFx0XHRcdFx0c3VjY2VzczogcmVzID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYocmVzLmNvbmZpcm0pe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKG9iaiwgdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNlbmRTb2NrZXRNZXNzYWdlKHtkYXRhOkpTT04uc3RyaW5naWZ5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwidXNlcklkXCI6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2VsbGVySWQ6IG9iai51c2VySWQsIFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogMTAsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcInRvcGljXCI6XCJtZXNzYWdlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KX0pXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQgPT0gb2JqLnNlbGxlcklkKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwidG9DaGF0XCIsdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQgLCBvYmoudXNlcklkKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BpcGVpL3NoaXBpbi9kZXRhaWw/dHlwZT0yJmlkPVwiK29iai51c2VySWRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2VuZFNvY2tldE1lc3NhZ2Uoe2RhdGE6SlNPTi5zdHJpbmdpZnkoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCJ1c2VySWRcIjogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRzZWxsZXJJZDogb2JqLnVzZXJJZCwgXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAxMSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwidG9waWNcIjpcIm1lc3NhZ2VcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pfSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0XHRcdGZhaWw6ICgpID0+IHt9LFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29tcGxldGU6ICgpID0+IHt9XHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYob2JqLnR5cGUgPT0gOCl7XHJcblx0XHRcdFx0XHRcdFx0aWYob2JqLnVzZXJNc2dWb2ljZSA9PSAxKXtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS4kZW1pdChcInBsYXlBdWRpb1wiKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRpZihvYmoudXNlck1zZ1Nob2NrID09IDEpe1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnZpYnJhdGVMb25nKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y29tcGxldGU6IGZ1bmN0aW9uIChyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnc3VjY2VzcycscmVzKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmuKnppqjmj5DnpLonLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogJ+adpeiHqicrb2JqLnNlbGxlck5pY2tuYW1lK1wi5Y+R6LW355qE6K+t6Z+z5Yy56YWN77yM5piv5ZCm5ZCM5oSPXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRjYW5jZWxUZXh0OiAn5ouS57udJyxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmZpcm1UZXh0OiAn5ZCM5oSPJyxcclxuXHRcdFx0XHRcdFx0XHRcdHN1Y2Nlc3M6IHJlcyA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmKHJlcy5jb25maXJtKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhvYmosIHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpKVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zZW5kU29ja2V0TWVzc2FnZSh7ZGF0YTpKU09OLnN0cmluZ2lmeSh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcInVzZXJJZFwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHNlbGxlcklkOiBvYmoudXNlcklkLCBcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IDEwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XCJ0b3BpY1wiOlwibWVzc2FnZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSl9KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkID09IG9iai5zZWxsZXJJZCl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInRvQ2hhdFwiLHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkICwgb2JqLnVzZXJJZClcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9waXBlaS9zaGlwaW4vZGV0YWlsP3R5cGU9MSZpZD1cIitvYmoudXNlcklkXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNlbmRTb2NrZXRNZXNzYWdlKHtkYXRhOkpTT04uc3RyaW5naWZ5KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwidXNlcklkXCI6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0c2VsbGVySWQ6IG9iai51c2VySWQsIFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZTogMTEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcInRvcGljXCI6XCJtZXNzYWdlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KX0pXHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHRmYWlsOiAoKSA9PiB7fSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbXBsZXRlOiAoKSA9PiB7fVxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGlmKG9iai50eXBlID09IDEwIHx8IG9iai50eXBlPT0xMSl7XHJcblx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwiamlhbnRpbmdUaWFvemh1YW5cIixvYmopXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdHVuaS4kZW1pdChcInRvQ2hhdFhpYW94aU9ialwiLHJlcylcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0pO1xyXG5cdH0pXHJcblx0dW5pLiRvbihcImR1YW5ZaW5zaGlwXCIsb2JqPT57XHJcblx0XHR1bmkuc2VuZFNvY2tldE1lc3NhZ2Uoe2RhdGE6SlNPTi5zdHJpbmdpZnkoe1xyXG5cdFx0XHRcInVzZXJJZFwiOiBvYmoudXNlcklkLFxyXG5cdFx0XHRcInNlbGxlcklkXCI6IG9iai5zZWxsZXJJZCxcclxuXHRcdFx0dHlwZTogMTIsXHJcblx0XHRcdFwidG9waWNcIjpcIm1lc3NhZ2VcIlxyXG5cdFx0fSl9KVxyXG5cdH0pXHJcblx0dW5pLiRvbihcImppZXNob3VZaW5zaGlwXCIsb2JqPT57XHJcblx0XHR1bmkuc2VuZFNvY2tldE1lc3NhZ2Uoe2RhdGE6SlNPTi5zdHJpbmdpZnkoe1xyXG5cdFx0XHRcInVzZXJJZFwiOiBvYmoudXNlcklkLFxyXG5cdFx0XHRcInNlbGxlcklkXCI6IG9iai5zZWxsZXJJZCxcclxuXHRcdFx0dHlwZTogMjAsXHJcblx0XHRcdFwidG9waWNcIjpcIm1lc3NhZ2VcIlxyXG5cdFx0fSl9KVxyXG5cdH0pXHJcblx0dW5pLiRvbihcInNob3dUb2FzdFwiLHJlcz0+e1xyXG5cdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdGljb246IFwibm9uZVwiLFxyXG5cdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcclxuXHRcdFx0dGl0bGU6IHJlcz8n5a+55pa55bey5oyC5patJzpcIuWvueaWueW3suaLkue7nVwiXHJcblx0XHR9KVxyXG5cdH0pXHJcblx0dW5pLm9uU29ja2V0Q2xvc2UoZnVuY3Rpb24gKHJlcykge1xyXG5cdFx0Y2xlYXJJbnRlcnZhbCh0aW1lcilcclxuXHRcdHVuaS5jbG9zZVNvY2tldCgpO1xyXG5cdFx0dW5pLnJlbW92ZVN0b3JhZ2VTeW5jKFwiaXNPcGVuXCIpXHJcblx0XHRjb25zb2xlLmxvZygnV2ViU29ja2V0IOW3suWFs+mXre+8gScpO1xyXG5cdFx0c2V0VGltZW91dCgoKT0+e1xyXG5cdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCl7XHJcblx0XHRcdFx0dW5pLiRlbWl0KFwib3BlblNvY2tldFwiKVxyXG5cdFx0XHR9XHJcblx0XHR9LDEwMDApXHJcblx0fSk7XHJcbn0pXHJcblxyXG5mdW5jdGlvbiB4aW50aWFvKCkge1xyXG5cdHRpbWVyID0gc2V0SW50ZXJ2YWwoKCk9PntcclxuXHRcdHVuaS5zZXRTdG9yYWdlU3luYyhcImlzT3BlblwiLHRydWUpXHJcblx0XHR1bmkuc2VuZFNvY2tldE1lc3NhZ2Uoe2RhdGE6SlNPTi5zdHJpbmdpZnkoe1widXNlcklkXCI6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFwidG9waWNcIjpcImhlYXJ0X2JlYXRcIn0pfSk7XHJcblx0fSwgMzAwMDApXHJcblx0XHJcbn1cclxuXHJcbnNldFRpbWVvdXQoKCk9PntcclxuXHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCl7XHJcblx0XHR1bmkuJGVtaXQoXCJvcGVuU29ja2V0XCIpXHJcblx0fVxyXG59LDEwMDApXHJcblxyXG5cclxuQXBwLm1wVHlwZSA9ICdhcHAnXHJcbmNvbnN0IGFwcCA9IG5ldyBWdWUoe1xyXG4gIC4uLkFwcFxyXG59KVxyXG5hcHAuJG1vdW50KClcclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///0\n"); /***/ }), /* 1 */ @@ -2873,8 +2873,14 @@ var render = function () { "z-index": "999", overflow: "hidden", }), - attrs: { canvasId: _vm.canvasId, src: _vm.svgaSrc, loops: 1, _i: 119 }, - on: { finished: _vm.onFinished }, + attrs: { + canvasId: _vm.canvasId, + src: _vm.svgaSrc, + "auto-play": true, + loops: 1, + _i: 119, + }, + on: { loaded: _vm.onLoaded, finished: _vm.onFinished }, }), ], 2 @@ -4239,33 +4245,33 @@ eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ%3D%3D& */ 61);\n/* harmony import */ var _c_svga_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./c-svga.vue?vue&type=script&lang=js& */ 63);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _c_svga_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _c_svga_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _c_svga_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"0f303cc9\",\n null,\n false,\n _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"uni_modules/c-svga/components/c-svga/c-svga.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBK1I7QUFDL1I7QUFDMEQ7QUFDTDs7O0FBR3JEO0FBQ3FMO0FBQ3JMLGdCQUFnQixzTEFBVTtBQUMxQixFQUFFLDRFQUFNO0FBQ1IsRUFBRSw2UEFBTTtBQUNSLEVBQUUsc1FBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsaVFBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2Mtc3ZnYS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MGYzMDNjYzkmc2NvcGVkPXRydWUmZmlsdGVyLW1vZHVsZXM9ZXlKemRtZGhJanA3SW5SNWNHVWlPaUp5Wlc1a1pYSnFjeUlzSW1OdmJuUmxiblFpT2lJaUxDSnpkR0Z5ZENJNk5UUXpOaXdpWVhSMGNuTWlPbnNpYkdGdVp5STZJbXB6SWl3aWJXOWtkV3hsSWpvaWMzWm5ZU0o5TENKbGJtUWlPalUxTWpKOWZRJTNEJTNEJlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vYy1zdmdhLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vYy1zdmdhLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vLi4vcnVhbmppYW4vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjBmMzAzY2M5XCIsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInVuaV9tb2R1bGVzL2Mtc3ZnYS9jb21wb25lbnRzL2Mtc3ZnYS9jLXN2Z2EudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///60\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ%3D%3D& */ 61);\n/* harmony import */ var _c_svga_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./c-svga.vue?vue&type=script&lang=js& */ 63);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _c_svga_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if([\"default\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _c_svga_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 16);\n\nvar renderjs\n\n\n\n\n/* normalize component */\n\nvar component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(\n _c_svga_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"render\"],\n _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"staticRenderFns\"],\n false,\n null,\n \"0f303cc9\",\n null,\n false,\n _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__[\"components\"],\n renderjs\n)\n\ncomponent.options.__file = \"uni_modules/c-svga/components/c-svga/c-svga.vue\"\n/* harmony default export */ __webpack_exports__[\"default\"] = (component.exports);//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbbnVsbF0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBK1I7QUFDL1I7QUFDMEQ7QUFDTDs7O0FBR3JEO0FBQ3FMO0FBQ3JMLGdCQUFnQixzTEFBVTtBQUMxQixFQUFFLDRFQUFNO0FBQ1IsRUFBRSw2UEFBTTtBQUNSLEVBQUUsc1FBQWU7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsaVFBQVU7QUFDWjtBQUNBOztBQUVBO0FBQ2UsZ0YiLCJmaWxlIjoiNjAuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucywgcmVjeWNsYWJsZVJlbmRlciwgY29tcG9uZW50cyB9IGZyb20gXCIuL2Mtc3ZnYS52dWU/dnVlJnR5cGU9dGVtcGxhdGUmaWQ9MGYzMDNjYzkmc2NvcGVkPXRydWUmZmlsdGVyLW1vZHVsZXM9ZXlKemRtZGhJanA3SW5SNWNHVWlPaUp5Wlc1a1pYSnFjeUlzSW1OdmJuUmxiblFpT2lJaUxDSnpkR0Z5ZENJNk5UUXdPU3dpWVhSMGNuTWlPbnNpYkdGdVp5STZJbXB6SWl3aWJXOWtkV3hsSWpvaWMzWm5ZU0o5TENKbGJtUWlPalUwT1RWOWZRJTNEJTNEJlwiXG52YXIgcmVuZGVyanNcbmltcG9ydCBzY3JpcHQgZnJvbSBcIi4vYy1zdmdhLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuZXhwb3J0ICogZnJvbSBcIi4vYy1zdmdhLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyZcIlxuXG5cbi8qIG5vcm1hbGl6ZSBjb21wb25lbnQgKi9cbmltcG9ydCBub3JtYWxpemVyIGZyb20gXCIhLi4vLi4vLi4vLi4vLi4vLi4vLi4vcnVhbmppYW4vSEJ1aWxkZXJYL3BsdWdpbnMvdW5pYXBwLWNsaS9ub2RlX21vZHVsZXMvQGRjbG91ZGlvL3Z1ZS1jbGktcGx1Z2luLXVuaS9wYWNrYWdlcy92dWUtbG9hZGVyL2xpYi9ydW50aW1lL2NvbXBvbmVudE5vcm1hbGl6ZXIuanNcIlxudmFyIGNvbXBvbmVudCA9IG5vcm1hbGl6ZXIoXG4gIHNjcmlwdCxcbiAgcmVuZGVyLFxuICBzdGF0aWNSZW5kZXJGbnMsXG4gIGZhbHNlLFxuICBudWxsLFxuICBcIjBmMzAzY2M5XCIsXG4gIG51bGwsXG4gIGZhbHNlLFxuICBjb21wb25lbnRzLFxuICByZW5kZXJqc1xuKVxuXG5jb21wb25lbnQub3B0aW9ucy5fX2ZpbGUgPSBcInVuaV9tb2R1bGVzL2Mtc3ZnYS9jb21wb25lbnRzL2Mtc3ZnYS9jLXN2Z2EudnVlXCJcbmV4cG9ydCBkZWZhdWx0IGNvbXBvbmVudC5leHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///60\n"); /***/ }), /* 61 */ /*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** D:/仁周项目/2024-09-06 陪玩陪俩(纯玩)项目/chunwan/uni_modules/c-svga/components/c-svga/c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ%3D%3D& ***! + !*** D:/仁周项目/2024-09-06 陪玩陪俩(纯玩)项目/chunwan/uni_modules/c-svga/components/c-svga/c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ%3D%3D& ***! \*********************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ%3D%3D& */ 62); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["render"]; }); +/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--11-0!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ%3D%3D& */ 62); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["render"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["components"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_11_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["components"]; }); /***/ }), /* 62 */ /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./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:/仁周项目/2024-09-06 陪玩陪俩(纯玩)项目/chunwan/uni_modules/c-svga/components/c-svga/c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ%3D%3D& ***! + !*** ./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:/仁周项目/2024-09-06 陪玩陪俩(纯玩)项目/chunwan/uni_modules/c-svga/components/c-svga/c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ%3D%3D& ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -4322,7 +4328,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rua /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _uuid = _interopRequireDefault(__webpack_require__(/*! ./js/uuid.js */ 65));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/**\n * c-svga svga组件\n * @property {String} canvasId 画布id\n * @property {String} width 图像宽度 默认750rpx 单位rpx/px\n * @property {String} height 图像高度 默认750rpx 单位rpx/px\n * @property {String} src svga文件地址\n * @property {Boolean} autoPlay 是否自动播放 默认true\n * @property {Number} loops 动画循环次数,默认值为 0,表示无限循环\n * @property {Boolean} clearsAfterStop 默认值为 true,表示当动画结束时,清空画布\n * @property {String} fillMode 默认值为 Forward,可选值 Forward / Backward,当 clearsAfterStop 为 false 时,Forward 表示动画会在结束后停留在最后一帧,Backward 则会在动画结束后停留在第一帧。\n * @property {Boolean} isOnChange 是否开启播放进度监听 默认false false时不触发Frame Percentage监听\n * @event {Function()} loaded 监听svga文件加载完成\n * @event {Function()} finished 监听动画停止播放 loop!=0时生效\n * @event {Function()} frame 监听动画播放至某帧\n * @event {Function()} percentage 监听动画播放至某进度\n * 组件内方法统一使用 call(funName, args) 调用player实例方法 详见文档\n * */\nvar _default = {\n name: \"c-svga\",\n props: {\n canvasId: {\n type: String\n },\n width: {\n type: String,\n default: '750rpx'\n },\n height: {\n type: String,\n default: '750rpx'\n },\n src: {\n type: String,\n required: true\n },\n autoPlay: {\n //是否自动播放\n type: Boolean,\n default: true\n },\n loops: {\n //动画循环次数,默认值为 0,表示无限循环。\n type: Number,\n default: 0\n },\n clearsAfterStop: {\n //默认值为 true,表示当动画结束时,清空画布。\n type: Boolean,\n default: true\n },\n fillMode: {\n //默认值为 Forward,可选值 Forward / Backward,当 clearsAfterStop 为 false 时,Forward 表示动画会在结束后停留在最后一帧,Backward 则会在动画结束后停留在第一帧。\n type: String,\n default: 'Forward'\n },\n isOnChange: {\n type: Boolean,\n default: false\n }\n },\n emits: ['loaded', 'finished', 'frame', 'percentage'],\n data: function data() {\n return {\n fun: {}\n };\n },\n computed: {\n myCanvasId: function myCanvasId() {\n if (!this.canvasId) {\n return 'c' + (0, _uuid.default)(18);\n } else {\n return this.canvasId;\n }\n },\n svgaData: function svgaData() {\n __f__(\"log\", this.src, \" at uni_modules/c-svga/components/c-svga/c-svga.vue:92\");\n return {\n myCanvasId: this.myCanvasId,\n width: this.width,\n height: this.height,\n src: this.src,\n autoPlay: this.autoPlay,\n loops: this.loops,\n clearsAfterStop: this.clearsAfterStop,\n fillMode: this.fillMode,\n isOnChange: this.isOnChange\n };\n }\n },\n watch: {\n svgaData: function svgaData() {}\n },\n methods: {\n call: function call(name, args) {\n this.fun = {\n name: name,\n args: args\n };\n },\n receiveRenderData: function receiveRenderData(val) {\n // console.log(val);\n this.$emit(val.name, val.val);\n }\n },\n mounted: function mounted() {}\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvYy1zdmdhL2NvbXBvbmVudHMvYy1zdmdhL2Mtc3ZnYS52dWUiXSwibmFtZXMiOlsibmFtZSIsInByb3BzIiwiY2FudmFzSWQiLCJ0eXBlIiwid2lkdGgiLCJkZWZhdWx0IiwiaGVpZ2h0Iiwic3JjIiwicmVxdWlyZWQiLCJhdXRvUGxheSIsImxvb3BzIiwiY2xlYXJzQWZ0ZXJTdG9wIiwiZmlsbE1vZGUiLCJpc09uQ2hhbmdlIiwiZW1pdHMiLCJkYXRhIiwiZnVuIiwiY29tcHV0ZWQiLCJteUNhbnZhc0lkIiwic3ZnYURhdGEiLCJ3YXRjaCIsIm1ldGhvZHMiLCJjYWxsIiwiYXJncyIsInJlY2VpdmVSZW5kZXJEYXRhIiwibW91bnRlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQThCQTs7Ozs7Ozs7Ozs7OztBQWpCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaEJBLGVBd0JBO0VBQ0FBO0VBQ0FDO0lBQ0FDO01BQ0FDO0lBQ0E7SUFDQUM7TUFDQUQ7TUFDQUU7SUFDQTtJQUNBQztNQUNBSDtNQUNBRTtJQUNBO0lBQ0FFO01BQ0FKO01BQ0FLO0lBQ0E7SUFDQUM7TUFBQTtNQUNBTjtNQUNBRTtJQUNBO0lBQ0FLO01BQUE7TUFDQVA7TUFDQUU7SUFDQTtJQUNBTTtNQUFBO01BQ0FSO01BQ0FFO0lBQ0E7SUFDQU87TUFBQTtNQUNBVDtNQUNBRTtJQUNBO0lBQ0FRO01BQ0FWO01BQ0FFO0lBQ0E7RUFDQTtFQUNBUztFQUNBQztJQUNBO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7UUFDQUQ7UUFDQWQ7UUFDQUU7UUFDQUM7UUFDQUU7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtJQUNBO0VBQ0E7RUFDQU87SUFDQUQsK0JBSUE7RUFDQTtFQUNBRTtJQUNBQztNQUNBO1FBQUF0QjtRQUFBdUI7TUFBQTtJQUlBO0lBd0ZBQztNQUNBO01BQ0E7SUFDQTtFQUVBO0VBQ0FDLDZCQUlBO0FBRUE7QUFBQSwyQiIsImZpbGUiOiI2NC5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8IS0tICNpZmRlZiBINXx8QVBQLVBMVVMgLS0+XHJcblx0PHZpZXcgY2xhc3M9XCJjLXN2Z2FcIiA6c3R5bGU9XCJ7d2lkdGgsaGVpZ2h0fVwiIDpzdmdhRGF0YT1cInN2Z2FEYXRhXCIgOmNoYW5nZTpzdmdhRGF0YT1cInN2Z2EucmVuZGVyXCIgOmZ1bj0nZnVuJyA6Y2hhbmdlOmZ1bj0nc3ZnYS5jYWxsUGxheWVyJz5cclxuXHRcdDxkaXYgOmlkPSdteUNhbnZhc0lkJz48L2Rpdj5cclxuXHQ8L3ZpZXc+XHJcblx0PCEtLSAjZW5kaWYgLS0+XHJcblx0PCEtLSAjaWZkZWYgTVAgLS0+XHJcblx0PHZpZXcgY2xhc3M9XCJjLXN2Z2FcIiA6c3R5bGU9XCJ7d2lkdGgsaGVpZ2h0fVwiPlxyXG5cdFx0PGNhbnZhcyBjbGFzcz1cImNhbnZhc1wiIDppZD1cIm15Q2FudmFzSWRcIiB0eXBlPVwiMmRcIj48L2NhbnZhcz5cclxuXHQ8L3ZpZXc+XHJcblx0PCEtLSAjZW5kaWYgLS0+XHJcbjwvdGVtcGxhdGU+XG48c2NyaXB0PlxyXG5cdC8qKlxyXG5cdCAqIGMtc3ZnYSBzdmdh57uE5Lu2XHJcblx0ICogQHByb3BlcnR5IHtTdHJpbmd9IGNhbnZhc0lkIOeUu+W4g2lkXHJcblx0ICogQHByb3BlcnR5IHtTdHJpbmd9IHdpZHRoIOWbvuWDj+WuveW6piDpu5jorqQ3NTBycHgg5Y2V5L2NcnB4L3B4XHJcblx0ICogQHByb3BlcnR5IHtTdHJpbmd9IGhlaWdodCDlm77lg4/pq5jluqYg6buY6K6kNzUwcnB4IOWNleS9jXJweC9weFxyXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBzcmMgc3ZnYeaWh+S7tuWcsOWdgFxyXG5cdCAqIEBwcm9wZXJ0eSB7Qm9vbGVhbn0gYXV0b1BsYXkg5piv5ZCm6Ieq5Yqo5pKt5pS+IOm7mOiupHRydWVcclxuXHQgKiBAcHJvcGVydHkge051bWJlcn0gbG9vcHMg5Yqo55S75b6q546v5qyh5pWw77yM6buY6K6k5YC85Li6IDDvvIzooajnpLrml6DpmZDlvqrnjq9cclxuXHQgKiBAcHJvcGVydHkge0Jvb2xlYW59IGNsZWFyc0FmdGVyU3RvcCDpu5jorqTlgLzkuLogdHJ1Ze+8jOihqOekuuW9k+WKqOeUu+e7k+adn+aXtu+8jOa4heepuueUu+W4g1xyXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBmaWxsTW9kZSDpu5jorqTlgLzkuLogRm9yd2FyZO+8jOWPr+mAieWAvCBGb3J3YXJkIC8gQmFja3dhcmTvvIzlvZMgY2xlYXJzQWZ0ZXJTdG9wIOS4uiBmYWxzZSDml7bvvIxGb3J3YXJkIOihqOekuuWKqOeUu+S8muWcqOe7k+adn+WQjuWBnOeVmeWcqOacgOWQjuS4gOW4p++8jEJhY2t3YXJkIOWImeS8muWcqOWKqOeUu+e7k+adn+WQjuWBnOeVmeWcqOesrOS4gOW4p+OAglxyXG5cdCAqIEBwcm9wZXJ0eSB7Qm9vbGVhbn0gaXNPbkNoYW5nZSDmmK/lkKblvIDlkK/mkq3mlL7ov5vluqbnm5HlkKwg6buY6K6kZmFsc2UgZmFsc2Xml7bkuI3op6blj5FGcmFtZSBQZXJjZW50YWdl55uR5ZCsXHJcblx0ICogQGV2ZW50IHtGdW5jdGlvbigpfSBsb2FkZWQg55uR5ZCsc3ZnYeaWh+S7tuWKoOi9veWujOaIkFxyXG5cdCAqIEBldmVudCB7RnVuY3Rpb24oKX0gZmluaXNoZWQg55uR5ZCs5Yqo55S75YGc5q2i5pKt5pS+IGxvb3AhPTDml7bnlJ/mlYhcclxuXHQgKiBAZXZlbnQge0Z1bmN0aW9uKCl9IGZyYW1lIOebkeWQrOWKqOeUu+aSreaUvuiHs+afkOW4p1xyXG5cdCAqIEBldmVudCB7RnVuY3Rpb24oKX0gcGVyY2VudGFnZSDnm5HlkKzliqjnlLvmkq3mlL7oh7Pmn5Dov5vluqZcclxuXHQgKiDnu4Tku7blhoXmlrnms5Xnu5/kuIDkvb/nlKggY2FsbChmdW5OYW1lLCBhcmdzKSDosIPnlKhwbGF5ZXLlrp7kvovmlrnms5Ug6K+m6KeB5paH5qGjXHJcblx0ICogKi9cclxuXHRpbXBvcnQgdXVpZCBmcm9tICcuL2pzL3V1aWQuanMnXG5cdC8vICNpZmRlZiBNUCZWVUUyXG5cdGltcG9ydCB7UGFyc2VyLFBsYXllcn0gZnJvbSAnLi4vLi4vbm9kZV9tb2R1bGVzL3N2Z2FwbGF5ZXItd2VhcHAnXG5cdC8vICNlbmRpZlxuXHQvLyAjaWZkZWYgTVAmVlVFM1xuXHRpbXBvcnQge1BhcnNlcixQbGF5ZXJ9IGZyb20gJ3N2Z2FwbGF5ZXItd2VhcHAnXG5cdC8vICNlbmRpZlxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRuYW1lOlwiYy1zdmdhXCIsXHJcblx0XHRwcm9wczoge1xyXG5cdFx0XHRjYW52YXNJZDoge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHR3aWR0aDoge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0OiAnNzUwcnB4J1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRoZWlnaHQ6IHtcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRcdFx0ZGVmYXVsdDogJzc1MHJweCdcclxuXHRcdFx0fSxcclxuXHRcdFx0c3JjOiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdHJlcXVpcmVkOiB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdGF1dG9QbGF5OiB7IC8v5piv5ZCm6Ieq5Yqo5pKt5pS+XHJcblx0XHRcdFx0dHlwZTogQm9vbGVhbixcclxuXHRcdFx0XHRkZWZhdWx0OiB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdGxvb3BzOiB7IC8v5Yqo55S75b6q546v5qyh5pWw77yM6buY6K6k5YC85Li6IDDvvIzooajnpLrml6DpmZDlvqrnjq/jgIJcclxuXHRcdFx0XHR0eXBlOiBOdW1iZXIsXHJcblx0XHRcdFx0ZGVmYXVsdDogMFxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbGVhcnNBZnRlclN0b3A6IHsgLy/pu5jorqTlgLzkuLogdHJ1Ze+8jOihqOekuuW9k+WKqOeUu+e7k+adn+aXtu+8jOa4heepuueUu+W4g+OAglxyXG5cdFx0XHRcdHR5cGU6IEJvb2xlYW4sXHJcblx0XHRcdFx0ZGVmYXVsdDogdHJ1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRmaWxsTW9kZTogeyAvL+m7mOiupOWAvOS4uiBGb3J3YXJk77yM5Y+v6YCJ5YC8IEZvcndhcmQgLyBCYWNrd2FyZO+8jOW9kyBjbGVhcnNBZnRlclN0b3Ag5Li6IGZhbHNlIOaXtu+8jEZvcndhcmQg6KGo56S65Yqo55S75Lya5Zyo57uT5p2f5ZCO5YGc55WZ5Zyo5pyA5ZCO5LiA5bin77yMQmFja3dhcmQg5YiZ5Lya5Zyo5Yqo55S757uT5p2f5ZCO5YGc55WZ5Zyo56ys5LiA5bin44CCXHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICdGb3J3YXJkJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRpc09uQ2hhbmdlOiB7XHJcblx0XHRcdFx0dHlwZTogQm9vbGVhbixcclxuXHRcdFx0XHRkZWZhdWx0OiBmYWxzZVxyXG5cdFx0XHR9XHJcblx0XHR9LFxuXHRcdGVtaXRzOiBbJ2xvYWRlZCcsICdmaW5pc2hlZCcsICdmcmFtZScsICdwZXJjZW50YWdlJ10sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRmdW46e31cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiB7XHJcblx0XHRcdG15Q2FudmFzSWQoKSB7XHJcblx0XHRcdFx0aWYgKCF0aGlzLmNhbnZhc0lkKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gJ2MnICsgdXVpZCgxOClcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0cmV0dXJuIHRoaXMuY2FudmFzSWRcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXG5cdFx0XHRzdmdhRGF0YSgpe1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuc3JjKVxuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdG15Q2FudmFzSWQ6IHRoaXMubXlDYW52YXNJZCxcblx0XHRcdFx0XHR3aWR0aDogdGhpcy53aWR0aCxcblx0XHRcdFx0XHRoZWlnaHQ6dGhpcy5oZWlnaHQsXG5cdFx0XHRcdFx0c3JjOiB0aGlzLnNyYyxcblx0XHRcdFx0XHRhdXRvUGxheTp0aGlzLmF1dG9QbGF5LFxuXHRcdFx0XHRcdGxvb3BzOiB0aGlzLmxvb3BzLFxuXHRcdFx0XHRcdGNsZWFyc0FmdGVyU3RvcDp0aGlzLmNsZWFyc0FmdGVyU3RvcCxcblx0XHRcdFx0XHRmaWxsTW9kZTp0aGlzLmZpbGxNb2RlLFxuXHRcdFx0XHRcdGlzT25DaGFuZ2U6dGhpcy5pc09uQ2hhbmdlXG5cdFx0XHRcdH1cblx0XHRcdH1cclxuXHRcdH0sXG5cdFx0d2F0Y2g6e1xuXHRcdFx0c3ZnYURhdGEoKXtcblx0XHRcdFx0Ly8gI2lmZGVmIE1QXG5cdFx0XHRcdHRoaXMucmVuZGVyKClcblx0XHRcdFx0Ly8gI2VuZGlmXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRtZXRob2RzOiB7XG5cdFx0XHRjYWxsKG5hbWUsIGFyZ3MpIHtcblx0XHRcdFx0dGhpcy5mdW4gPSB7bmFtZSxhcmdzfVxuXHRcdFx0XHQvLyAjaWZkZWYgTVBcblx0XHRcdFx0dGhpcy5jYWxsUGxheWVyKHRoaXMuZnVuKVxuXHRcdFx0XHQvLyAjZW5kaWZcblx0XHRcdH0sXG5cdFx0XHQvLyAjaWZkZWYgTVBcblx0XHRcdGdldENvbnRleHQoKXtcblx0XHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG5cdFx0XHRcdFx0Y29uc3Qge1xuXHRcdFx0XHRcdFx0cGl4ZWxSYXRpb1xuXHRcdFx0XHRcdH0gPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVxuXHRcdFx0XHRcdHVuaS5jcmVhdGVTZWxlY3RvclF1ZXJ5KClcblx0XHRcdFx0XHRcdC5pbih0aGlzKVxuXHRcdFx0XHRcdFx0LnNlbGVjdChgIyR7dGhpcy5teUNhbnZhc0lkfWApXG5cdFx0XHRcdFx0XHQuZmllbGRzKHtcblx0XHRcdFx0XHRcdFx0bm9kZTogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0c2l6ZTogdHJ1ZVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdC5leGVjKHJlcyA9PiB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IHtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aCxcblx0XHRcdFx0XHRcdFx0XHRoZWlnaHRcblx0XHRcdFx0XHRcdFx0fSA9IHJlc1swXVxuXHRcdFx0XHRcdFx0XHRjb25zdCBjYW52YXMgPSByZXNbMF0ubm9kZVxuXHRcdFx0XHRcdFx0XHRyZXNvbHZlKHtcblx0XHRcdFx0XHRcdFx0XHRjYW52YXMsXG5cdFx0XHRcdFx0XHRcdFx0d2lkdGgsXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0LFxuXHRcdFx0XHRcdFx0XHRcdHBpeGVsUmF0aW9cblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgcmVuZGVyKCl7XG5cdFx0XHRcdGlmICghdGhpcy5wbGF5ZXIpIHtcblx0XHRcdFx0XHR0aGlzLnBhcnNlciA9IG5ldyBQYXJzZXI7XG5cdFx0XHRcdFx0dGhpcy5wbGF5ZXIgPSBuZXcgUGxheWVyO1xuXHRcdFx0XHRcdGF3YWl0IHRoaXMucGxheWVyLnNldENhbnZhcygnIycgK3RoaXMubXlDYW52YXNJZCx0aGlzKVxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5wbGF5ZXIuc3RvcEFuaW1hdGlvbigpXG5cdFx0XHRcdHRoaXMucGxheWVyLmxvb3BzID0gdGhpcy5sb29wc1xuXHRcdFx0XHR0aGlzLnBsYXllci5jbGVhcnNBZnRlclN0b3AgPSB0aGlzLmNsZWFyc0FmdGVyU3RvcFxuXHRcdFx0XHR0aGlzLnBsYXllci5maWxsTW9kZSA9IHRoaXMuZmlsbE1vZGVcblx0XHRcdFx0Ly8gY29uc29sZS50aW1lKFwidGVzdFwiKTtcblx0XHRcdFx0Y29uc3QgdmlkZW9JdGVtID0gYXdhaXQgdGhpcy5wYXJzZXIubG9hZCh0aGlzLnNyYyk7XG5cdFx0XHRcdGF3YWl0IHRoaXMucGxheWVyLnNldFZpZGVvSXRlbSh2aWRlb0l0ZW0pO1xuXHRcdFx0XHQvLyBjb25zb2xlLnRpbWVFbmQoXCJ0ZXN0XCIpO1xuXHRcdFx0XHR0aGlzLiRlbWl0KCdsb2FkZWQnKVxuXHRcdFx0XHRpZiAodGhpcy5hdXRvUGxheSkge1xuXHRcdFx0XHRcdHRoaXMucGxheWVyLnN0YXJ0QW5pbWF0aW9uKCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5wbGF5ZXIub25GaW5pc2hlZCgoKSA9PiB7IC8v5Y+q5pyJ5ZyobG9vcOS4jeS4ujDml7blgJnop6blj5Fcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZygn5Yqo55S75YGc5q2i5pKt5pS+5pe25Zue6LCDJyk7XG5cdFx0XHRcdFx0dGhpcy4kZW1pdCgnZmluaXNoZWQnKVxuXHRcdFx0XHR9KVxuXHRcdFx0XHRpZiAodGhpcy5pc09uQ2hhbmdlKSB7XG5cdFx0XHRcdFx0dGhpcy5wbGF5ZXIub25GcmFtZShmcmFtZSA9PiB7IC8v5Yqo55S75pKt5pS+6Iez5p+Q5bin5ZCO5Zue6LCDXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhmcmFtZSk7XG5cdFx0XHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLiRlbWl0KCdmcmFtZScsIGZyYW1lKVxuXHRcdFx0XHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRcdFx0XHQvL1RPRE8gaGFuZGxlIHRoZSBleGNlcHRpb25cblx0XHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcihlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdHRoaXMucGxheWVyLm9uUGVyY2VudGFnZShwZXJjZW50YWdlID0+IHsgLy/liqjnlLvmkq3mlL7oh7Pmn5Dov5vluqblkI7lm57osINcblx0XHRcdFx0XHRcdC8vIGNvbnNvbGUubG9nKHBlcmNlbnRhZ2UpO1xuXHRcdFx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRcdFx0dGhpcy4kZW1pdCgncGVyY2VudGFnZScsIHBlcmNlbnRhZ2UpXG5cdFx0XHRcdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdFx0XHRcdC8vVE9ETyBoYW5kbGUgdGhlIGV4Y2VwdGlvblxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmVycm9yKGUpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdFxuXHRcdFx0fSxcblx0XHRcdGNhbGxQbGF5ZXIodmFsKXtcblx0XHRcdFx0aWYgKCF2YWwubmFtZSkgcmV0dXJuO1xuXHRcdFx0XHRsZXQge1xuXHRcdFx0XHRcdG5hbWUsXG5cdFx0XHRcdFx0YXJnc1xuXHRcdFx0XHR9ID0gdmFsXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKG5hbWUsIGFyZ3MpO1xuXHRcdFx0XHRpZiAoQXJyYXkuaXNBcnJheShhcmdzKSkge1xuXHRcdFx0XHRcdHRoaXMucGxheWVyW25hbWVdKC4uLmFyZ3MpXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy5wbGF5ZXJbbmFtZV0oYXJncylcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdC8vICNlbmRpZlxuXHRcdFx0Ly8gI2lmbmRlZiBNUFxuXHRcdFx0cmVjZWl2ZVJlbmRlckRhdGEodmFsKSB7XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHZhbCk7XG5cdFx0XHRcdHRoaXMuJGVtaXQodmFsLm5hbWUsIHZhbC52YWwpXG5cdFx0XHR9XG5cdFx0XHQvLyAjZW5kaWZcblx0XHR9LFxuXHRcdG1vdW50ZWQoKSB7XG5cdFx0XHQvLyAjaWZkZWYgTVBcblx0XHRcdHRoaXMucmVuZGVyKClcblx0XHRcdC8vICNlbmRpZlxuXHRcdH0sXG5cdFx0XG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG5cbjwhLS0gI2lmbmRlZiBNUCAtLT5cblxuXHQ8IS0tICNpZmRlZiBWVUUzIC0tPlxuXHQ8c2NyaXB0IGxhbmc9XCJyZW5kZXJqc1wiIHNyYz0nLi9qcy9yZW5kZXIuanMnIG1vZHVsZT0nc3ZnYSc+PC9zY3JpcHQ+XG5cdDwhLS0gI2VuZGlmIC0tPlxuXHRcblx0PCEtLSAjaWZkZWYgVlVFMiAtLT5cblx0PHNjcmlwdCBsYW5nPVwicmVuZGVyanNcIiBtb2R1bGU9J3N2Z2EnPlxuXHRpbXBvcnQgc3ZnYVJlbmRlciBmcm9tIFwiLi9qcy9yZW5kZXIuanNcIlxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0bWl4aW5zOltzdmdhUmVuZGVyXVxuXHR9XG5cdDwvc2NyaXB0PlxuXHQ8IS0tICNlbmRpZiAtLT5cblxuXHRcbjwhLS0gI2VuZGlmIC0tPlxyXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XHJcblx0LmMtc3ZnYSB7XHJcblx0XHQvLyB3aWR0aDogdi1iaW5kKHdpZHRoKTtcclxuXHRcdC8vIGhlaWdodDogdi1iaW5kKGhlaWdodCk7XHJcblxyXG5cdFx0LyogI2lmbmRlZiBNUCAqL1xyXG5cdFx0ZGl2IHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHQvKiAjZW5kaWYgKi9cclxuXHJcblx0XHQuY2FudmFzIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdH1cclxuXHR9XHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///64\n"); +eval("\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _uuid = _interopRequireDefault(__webpack_require__(/*! ./js/uuid.js */ 65));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/**\n * c-svga svga组件\n * @property {String} canvasId 画布id\n * @property {String} width 图像宽度 默认750rpx 单位rpx/px\n * @property {String} height 图像高度 默认750rpx 单位rpx/px\n * @property {String} src svga文件地址\n * @property {Boolean} autoPlay 是否自动播放 默认true\n * @property {Number} loops 动画循环次数,默认值为 0,表示无限循环\n * @property {Boolean} clearsAfterStop 默认值为 true,表示当动画结束时,清空画布\n * @property {String} fillMode 默认值为 Forward,可选值 Forward / Backward,当 clearsAfterStop 为 false 时,Forward 表示动画会在结束后停留在最后一帧,Backward 则会在动画结束后停留在第一帧。\n * @property {Boolean} isOnChange 是否开启播放进度监听 默认false false时不触发Frame Percentage监听\n * @event {Function()} loaded 监听svga文件加载完成\n * @event {Function()} finished 监听动画停止播放 loop!=0时生效\n * @event {Function()} frame 监听动画播放至某帧\n * @event {Function()} percentage 监听动画播放至某进度\n * 组件内方法统一使用 call(funName, args) 调用player实例方法 详见文档\n * */\nvar _default = {\n name: \"c-svga\",\n props: {\n canvasId: {\n type: String\n },\n width: {\n type: String,\n default: '750rpx'\n },\n height: {\n type: String,\n default: '750rpx'\n },\n src: {\n type: String,\n required: true\n },\n autoPlay: {\n //是否自动播放\n type: Boolean,\n default: true\n },\n loops: {\n //动画循环次数,默认值为 0,表示无限循环。\n type: Number,\n default: 0\n },\n clearsAfterStop: {\n //默认值为 true,表示当动画结束时,清空画布。\n type: Boolean,\n default: true\n },\n fillMode: {\n //默认值为 Forward,可选值 Forward / Backward,当 clearsAfterStop 为 false 时,Forward 表示动画会在结束后停留在最后一帧,Backward 则会在动画结束后停留在第一帧。\n type: String,\n default: 'Forward'\n },\n isOnChange: {\n type: Boolean,\n default: false\n }\n },\n emits: ['loaded', 'finished', 'frame', 'percentage'],\n data: function data() {\n return {\n fun: {}\n };\n },\n computed: {\n myCanvasId: function myCanvasId() {\n if (!this.canvasId) {\n return 'c' + (0, _uuid.default)(18);\n } else {\n return this.canvasId;\n }\n },\n svgaData: function svgaData() {\n return {\n myCanvasId: this.myCanvasId,\n width: this.width,\n height: this.height,\n src: this.src,\n autoPlay: this.autoPlay,\n loops: this.loops,\n clearsAfterStop: this.clearsAfterStop,\n fillMode: this.fillMode,\n isOnChange: this.isOnChange\n };\n }\n },\n watch: {\n svgaData: function svgaData() {}\n },\n methods: {\n call: function call(name, args) {\n this.fun = {\n name: name,\n args: args\n };\n },\n receiveRenderData: function receiveRenderData(val) {\n // console.log(val);\n this.$emit(val.name, val.val);\n }\n },\n mounted: function mounted() {}\n};\nexports.default = _default;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vdW5pX21vZHVsZXMvYy1zdmdhL2NvbXBvbmVudHMvYy1zdmdhL2Mtc3ZnYS52dWUiXSwibmFtZXMiOlsibmFtZSIsInByb3BzIiwiY2FudmFzSWQiLCJ0eXBlIiwid2lkdGgiLCJkZWZhdWx0IiwiaGVpZ2h0Iiwic3JjIiwicmVxdWlyZWQiLCJhdXRvUGxheSIsImxvb3BzIiwiY2xlYXJzQWZ0ZXJTdG9wIiwiZmlsbE1vZGUiLCJpc09uQ2hhbmdlIiwiZW1pdHMiLCJkYXRhIiwiZnVuIiwiY29tcHV0ZWQiLCJteUNhbnZhc0lkIiwic3ZnYURhdGEiLCJ3YXRjaCIsIm1ldGhvZHMiLCJjYWxsIiwiYXJncyIsInJlY2VpdmVSZW5kZXJEYXRhIiwibW91bnRlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQThCQTs7Ozs7Ozs7Ozs7OztBQWpCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBaEJBLGVBd0JBO0VBQ0FBO0VBQ0FDO0lBQ0FDO01BQ0FDO0lBQ0E7SUFDQUM7TUFDQUQ7TUFDQUU7SUFDQTtJQUNBQztNQUNBSDtNQUNBRTtJQUNBO0lBQ0FFO01BQ0FKO01BQ0FLO0lBQ0E7SUFDQUM7TUFBQTtNQUNBTjtNQUNBRTtJQUNBO0lBQ0FLO01BQUE7TUFDQVA7TUFDQUU7SUFDQTtJQUNBTTtNQUFBO01BQ0FSO01BQ0FFO0lBQ0E7SUFDQU87TUFBQTtNQUNBVDtNQUNBRTtJQUNBO0lBQ0FRO01BQ0FWO01BQ0FFO0lBQ0E7RUFDQTtFQUNBUztFQUNBQztJQUNBO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0FEO1FBQ0FkO1FBQ0FFO1FBQ0FDO1FBQ0FFO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7SUFDQTtFQUNBO0VBQ0FPO0lBQ0FELCtCQUlBO0VBQ0E7RUFDQUU7SUFDQUM7TUFDQTtRQUFBdEI7UUFBQXVCO01BQUE7SUFJQTtJQXdGQUM7TUFDQTtNQUNBO0lBQ0E7RUFFQTtFQUNBQyw2QkFJQTtBQUVBO0FBQUEiLCJmaWxlIjoiNjQuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PCEtLSAjaWZkZWYgSDV8fEFQUC1QTFVTIC0tPlxyXG5cdDx2aWV3IGNsYXNzPVwiYy1zdmdhXCIgOnN0eWxlPVwie3dpZHRoLGhlaWdodH1cIiA6c3ZnYURhdGE9XCJzdmdhRGF0YVwiIDpjaGFuZ2U6c3ZnYURhdGE9XCJzdmdhLnJlbmRlclwiIDpmdW49J2Z1bicgOmNoYW5nZTpmdW49J3N2Z2EuY2FsbFBsYXllcic+XHJcblx0XHQ8ZGl2IDppZD0nbXlDYW52YXNJZCc+PC9kaXY+XHJcblx0PC92aWV3PlxyXG5cdDwhLS0gI2VuZGlmIC0tPlxyXG5cdDwhLS0gI2lmZGVmIE1QIC0tPlxyXG5cdDx2aWV3IGNsYXNzPVwiYy1zdmdhXCIgOnN0eWxlPVwie3dpZHRoLGhlaWdodH1cIj5cclxuXHRcdDxjYW52YXMgY2xhc3M9XCJjYW52YXNcIiA6aWQ9XCJteUNhbnZhc0lkXCIgdHlwZT1cIjJkXCI+PC9jYW52YXM+XHJcblx0PC92aWV3PlxyXG5cdDwhLS0gI2VuZGlmIC0tPlxyXG48L3RlbXBsYXRlPlxuPHNjcmlwdD5cclxuXHQvKipcclxuXHQgKiBjLXN2Z2Egc3ZnYee7hOS7tlxyXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBjYW52YXNJZCDnlLvluINpZFxyXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfSB3aWR0aCDlm77lg4/lrr3luqYg6buY6K6kNzUwcnB4IOWNleS9jXJweC9weFxyXG5cdCAqIEBwcm9wZXJ0eSB7U3RyaW5nfSBoZWlnaHQg5Zu+5YOP6auY5bqmIOm7mOiupDc1MHJweCDljZXkvY1ycHgvcHhcclxuXHQgKiBAcHJvcGVydHkge1N0cmluZ30gc3JjIHN2Z2Hmlofku7blnLDlnYBcclxuXHQgKiBAcHJvcGVydHkge0Jvb2xlYW59IGF1dG9QbGF5IOaYr+WQpuiHquWKqOaSreaUviDpu5jorqR0cnVlXHJcblx0ICogQHByb3BlcnR5IHtOdW1iZXJ9IGxvb3BzIOWKqOeUu+W+queOr+asoeaVsO+8jOm7mOiupOWAvOS4uiAw77yM6KGo56S65peg6ZmQ5b6q546vXHJcblx0ICogQHByb3BlcnR5IHtCb29sZWFufSBjbGVhcnNBZnRlclN0b3Ag6buY6K6k5YC85Li6IHRydWXvvIzooajnpLrlvZPliqjnlLvnu5PmnZ/ml7bvvIzmuIXnqbrnlLvluINcclxuXHQgKiBAcHJvcGVydHkge1N0cmluZ30gZmlsbE1vZGUg6buY6K6k5YC85Li6IEZvcndhcmTvvIzlj6/pgInlgLwgRm9yd2FyZCAvIEJhY2t3YXJk77yM5b2TIGNsZWFyc0FmdGVyU3RvcCDkuLogZmFsc2Ug5pe277yMRm9yd2FyZCDooajnpLrliqjnlLvkvJrlnKjnu5PmnZ/lkI7lgZznlZnlnKjmnIDlkI7kuIDluKfvvIxCYWNrd2FyZCDliJnkvJrlnKjliqjnlLvnu5PmnZ/lkI7lgZznlZnlnKjnrKzkuIDluKfjgIJcclxuXHQgKiBAcHJvcGVydHkge0Jvb2xlYW59IGlzT25DaGFuZ2Ug5piv5ZCm5byA5ZCv5pKt5pS+6L+b5bqm55uR5ZCsIOm7mOiupGZhbHNlIGZhbHNl5pe25LiN6Kem5Y+RRnJhbWUgUGVyY2VudGFnZeebkeWQrFxyXG5cdCAqIEBldmVudCB7RnVuY3Rpb24oKX0gbG9hZGVkIOebkeWQrHN2Z2Hmlofku7bliqDovb3lrozmiJBcclxuXHQgKiBAZXZlbnQge0Z1bmN0aW9uKCl9IGZpbmlzaGVkIOebkeWQrOWKqOeUu+WBnOatouaSreaUviBsb29wIT0w5pe255Sf5pWIXHJcblx0ICogQGV2ZW50IHtGdW5jdGlvbigpfSBmcmFtZSDnm5HlkKzliqjnlLvmkq3mlL7oh7Pmn5DluKdcclxuXHQgKiBAZXZlbnQge0Z1bmN0aW9uKCl9IHBlcmNlbnRhZ2Ug55uR5ZCs5Yqo55S75pKt5pS+6Iez5p+Q6L+b5bqmXHJcblx0ICog57uE5Lu25YaF5pa55rOV57uf5LiA5L2/55SoIGNhbGwoZnVuTmFtZSwgYXJncykg6LCD55SocGxheWVy5a6e5L6L5pa55rOVIOivpuingeaWh+aho1xyXG5cdCAqICovXHJcblx0aW1wb3J0IHV1aWQgZnJvbSAnLi9qcy91dWlkLmpzJ1xuXHQvLyAjaWZkZWYgTVAmVlVFMlxuXHRpbXBvcnQge1BhcnNlcixQbGF5ZXJ9IGZyb20gJy4uLy4uL25vZGVfbW9kdWxlcy9zdmdhcGxheWVyLXdlYXBwJ1xuXHQvLyAjZW5kaWZcblx0Ly8gI2lmZGVmIE1QJlZVRTNcblx0aW1wb3J0IHtQYXJzZXIsUGxheWVyfSBmcm9tICdzdmdhcGxheWVyLXdlYXBwJ1xuXHQvLyAjZW5kaWZcclxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0bmFtZTpcImMtc3ZnYVwiLFxyXG5cdFx0cHJvcHM6IHtcclxuXHRcdFx0Y2FudmFzSWQ6IHtcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmdcclxuXHRcdFx0fSxcclxuXHRcdFx0d2lkdGg6IHtcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRcdFx0ZGVmYXVsdDogJzc1MHJweCdcclxuXHRcdFx0fSxcclxuXHRcdFx0aGVpZ2h0OiB7XHJcblx0XHRcdFx0dHlwZTogU3RyaW5nLFxyXG5cdFx0XHRcdGRlZmF1bHQ6ICc3NTBycHgnXHJcblx0XHRcdH0sXHJcblx0XHRcdHNyYzoge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRyZXF1aXJlZDogdHJ1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRhdXRvUGxheTogeyAvL+aYr+WQpuiHquWKqOaSreaUvlxyXG5cdFx0XHRcdHR5cGU6IEJvb2xlYW4sXHJcblx0XHRcdFx0ZGVmYXVsdDogdHJ1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRsb29wczogeyAvL+WKqOeUu+W+queOr+asoeaVsO+8jOm7mOiupOWAvOS4uiAw77yM6KGo56S65peg6ZmQ5b6q546v44CCXHJcblx0XHRcdFx0dHlwZTogTnVtYmVyLFxyXG5cdFx0XHRcdGRlZmF1bHQ6IDBcclxuXHRcdFx0fSxcclxuXHRcdFx0Y2xlYXJzQWZ0ZXJTdG9wOiB7IC8v6buY6K6k5YC85Li6IHRydWXvvIzooajnpLrlvZPliqjnlLvnu5PmnZ/ml7bvvIzmuIXnqbrnlLvluIPjgIJcclxuXHRcdFx0XHR0eXBlOiBCb29sZWFuLFxyXG5cdFx0XHRcdGRlZmF1bHQ6IHRydWVcclxuXHRcdFx0fSxcclxuXHRcdFx0ZmlsbE1vZGU6IHsgLy/pu5jorqTlgLzkuLogRm9yd2FyZO+8jOWPr+mAieWAvCBGb3J3YXJkIC8gQmFja3dhcmTvvIzlvZMgY2xlYXJzQWZ0ZXJTdG9wIOS4uiBmYWxzZSDml7bvvIxGb3J3YXJkIOihqOekuuWKqOeUu+S8muWcqOe7k+adn+WQjuWBnOeVmeWcqOacgOWQjuS4gOW4p++8jEJhY2t3YXJkIOWImeS8muWcqOWKqOeUu+e7k+adn+WQjuWBnOeVmeWcqOesrOS4gOW4p+OAglxyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0OiAnRm9yd2FyZCdcclxuXHRcdFx0fSxcclxuXHRcdFx0aXNPbkNoYW5nZToge1xyXG5cdFx0XHRcdHR5cGU6IEJvb2xlYW4sXHJcblx0XHRcdFx0ZGVmYXVsdDogZmFsc2VcclxuXHRcdFx0fVxyXG5cdFx0fSxcblx0XHRlbWl0czogWydsb2FkZWQnLCAnZmluaXNoZWQnLCAnZnJhbWUnLCAncGVyY2VudGFnZSddLFxyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0ZnVuOnt9XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRjb21wdXRlZDoge1xyXG5cdFx0XHRteUNhbnZhc0lkKCkge1xyXG5cdFx0XHRcdGlmICghdGhpcy5jYW52YXNJZCkge1xyXG5cdFx0XHRcdFx0cmV0dXJuICdjJyArIHV1aWQoMTgpXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHJldHVybiB0aGlzLmNhbnZhc0lkXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxuXHRcdFx0c3ZnYURhdGEoKXtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRteUNhbnZhc0lkOiB0aGlzLm15Q2FudmFzSWQsXG5cdFx0XHRcdFx0d2lkdGg6IHRoaXMud2lkdGgsXG5cdFx0XHRcdFx0aGVpZ2h0OnRoaXMuaGVpZ2h0LFxuXHRcdFx0XHRcdHNyYzogdGhpcy5zcmMsXG5cdFx0XHRcdFx0YXV0b1BsYXk6dGhpcy5hdXRvUGxheSxcblx0XHRcdFx0XHRsb29wczogdGhpcy5sb29wcyxcblx0XHRcdFx0XHRjbGVhcnNBZnRlclN0b3A6dGhpcy5jbGVhcnNBZnRlclN0b3AsXG5cdFx0XHRcdFx0ZmlsbE1vZGU6dGhpcy5maWxsTW9kZSxcblx0XHRcdFx0XHRpc09uQ2hhbmdlOnRoaXMuaXNPbkNoYW5nZVxuXHRcdFx0XHR9XG5cdFx0XHR9XHJcblx0XHR9LFxuXHRcdHdhdGNoOntcblx0XHRcdHN2Z2FEYXRhKCl7XG5cdFx0XHRcdC8vICNpZmRlZiBNUFxuXHRcdFx0XHR0aGlzLnJlbmRlcigpXG5cdFx0XHRcdC8vICNlbmRpZlxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0bWV0aG9kczoge1xuXHRcdFx0Y2FsbChuYW1lLCBhcmdzKSB7XG5cdFx0XHRcdHRoaXMuZnVuID0ge25hbWUsYXJnc31cblx0XHRcdFx0Ly8gI2lmZGVmIE1QXG5cdFx0XHRcdHRoaXMuY2FsbFBsYXllcih0aGlzLmZ1bilcblx0XHRcdFx0Ly8gI2VuZGlmXG5cdFx0XHR9LFxuXHRcdFx0Ly8gI2lmZGVmIE1QXG5cdFx0XHRnZXRDb250ZXh0KCl7XG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHtcblx0XHRcdFx0XHRcdHBpeGVsUmF0aW9cblx0XHRcdFx0XHR9ID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKClcblx0XHRcdFx0XHR1bmkuY3JlYXRlU2VsZWN0b3JRdWVyeSgpXG5cdFx0XHRcdFx0XHQuaW4odGhpcylcblx0XHRcdFx0XHRcdC5zZWxlY3QoYCMke3RoaXMubXlDYW52YXNJZH1gKVxuXHRcdFx0XHRcdFx0LmZpZWxkcyh7XG5cdFx0XHRcdFx0XHRcdG5vZGU6IHRydWUsXG5cdFx0XHRcdFx0XHRcdHNpemU6IHRydWVcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHQuZXhlYyhyZXMgPT4ge1xuXHRcdFx0XHRcdFx0XHRjb25zdCB7XG5cdFx0XHRcdFx0XHRcdFx0d2lkdGgsXG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0XG5cdFx0XHRcdFx0XHRcdH0gPSByZXNbMF1cblx0XHRcdFx0XHRcdFx0Y29uc3QgY2FudmFzID0gcmVzWzBdLm5vZGVcblx0XHRcdFx0XHRcdFx0cmVzb2x2ZSh7XG5cdFx0XHRcdFx0XHRcdFx0Y2FudmFzLFxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoLFxuXHRcdFx0XHRcdFx0XHRcdGhlaWdodCxcblx0XHRcdFx0XHRcdFx0XHRwaXhlbFJhdGlvXG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGFzeW5jIHJlbmRlcigpe1xuXHRcdFx0XHRpZiAoIXRoaXMucGxheWVyKSB7XG5cdFx0XHRcdFx0dGhpcy5wYXJzZXIgPSBuZXcgUGFyc2VyO1xuXHRcdFx0XHRcdHRoaXMucGxheWVyID0gbmV3IFBsYXllcjtcblx0XHRcdFx0XHRhd2FpdCB0aGlzLnBsYXllci5zZXRDYW52YXMoJyMnICt0aGlzLm15Q2FudmFzSWQsdGhpcylcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMucGxheWVyLnN0b3BBbmltYXRpb24oKVxuXHRcdFx0XHR0aGlzLnBsYXllci5sb29wcyA9IHRoaXMubG9vcHNcblx0XHRcdFx0dGhpcy5wbGF5ZXIuY2xlYXJzQWZ0ZXJTdG9wID0gdGhpcy5jbGVhcnNBZnRlclN0b3Bcblx0XHRcdFx0dGhpcy5wbGF5ZXIuZmlsbE1vZGUgPSB0aGlzLmZpbGxNb2RlXG5cdFx0XHRcdC8vIGNvbnNvbGUudGltZShcInRlc3RcIik7XG5cdFx0XHRcdGNvbnN0IHZpZGVvSXRlbSA9IGF3YWl0IHRoaXMucGFyc2VyLmxvYWQodGhpcy5zcmMpO1xuXHRcdFx0XHRhd2FpdCB0aGlzLnBsYXllci5zZXRWaWRlb0l0ZW0odmlkZW9JdGVtKTtcblx0XHRcdFx0Ly8gY29uc29sZS50aW1lRW5kKFwidGVzdFwiKTtcblx0XHRcdFx0dGhpcy4kZW1pdCgnbG9hZGVkJylcblx0XHRcdFx0aWYgKHRoaXMuYXV0b1BsYXkpIHtcblx0XHRcdFx0XHR0aGlzLnBsYXllci5zdGFydEFuaW1hdGlvbigpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMucGxheWVyLm9uRmluaXNoZWQoKCkgPT4geyAvL+WPquacieWcqGxvb3DkuI3kuLow5pe25YCZ6Kem5Y+RXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coJ+WKqOeUu+WBnOatouaSreaUvuaXtuWbnuiwgycpO1xuXHRcdFx0XHRcdHRoaXMuJGVtaXQoJ2ZpbmlzaGVkJylcblx0XHRcdFx0fSlcblx0XHRcdFx0aWYgKHRoaXMuaXNPbkNoYW5nZSkge1xuXHRcdFx0XHRcdHRoaXMucGxheWVyLm9uRnJhbWUoZnJhbWUgPT4geyAvL+WKqOeUu+aSreaUvuiHs+afkOW4p+WQjuWbnuiwg1xuXHRcdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZnJhbWUpO1xuXHRcdFx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRcdFx0dGhpcy4kZW1pdCgnZnJhbWUnLCBmcmFtZSlcblx0XHRcdFx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0XHRcdFx0Ly9UT0RPIGhhbmRsZSB0aGUgZXhjZXB0aW9uXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoZSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR0aGlzLnBsYXllci5vblBlcmNlbnRhZ2UocGVyY2VudGFnZSA9PiB7IC8v5Yqo55S75pKt5pS+6Iez5p+Q6L+b5bqm5ZCO5Zue6LCDXG5cdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhwZXJjZW50YWdlKTtcblx0XHRcdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuJGVtaXQoJ3BlcmNlbnRhZ2UnLCBwZXJjZW50YWdlKVxuXHRcdFx0XHRcdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0XHRcdFx0XHQvL1RPRE8gaGFuZGxlIHRoZSBleGNlcHRpb25cblx0XHRcdFx0XHRcdFx0Y29uc29sZS5lcnJvcihlKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHRcblx0XHRcdH0sXG5cdFx0XHRjYWxsUGxheWVyKHZhbCl7XG5cdFx0XHRcdGlmICghdmFsLm5hbWUpIHJldHVybjtcblx0XHRcdFx0bGV0IHtcblx0XHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRcdGFyZ3Ncblx0XHRcdFx0fSA9IHZhbFxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhuYW1lLCBhcmdzKTtcblx0XHRcdFx0aWYgKEFycmF5LmlzQXJyYXkoYXJncykpIHtcblx0XHRcdFx0XHR0aGlzLnBsYXllcltuYW1lXSguLi5hcmdzKVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMucGxheWVyW25hbWVdKGFyZ3MpXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHQvLyAjZW5kaWZcblx0XHRcdC8vICNpZm5kZWYgTVBcblx0XHRcdHJlY2VpdmVSZW5kZXJEYXRhKHZhbCkge1xuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyh2YWwpO1xuXHRcdFx0XHR0aGlzLiRlbWl0KHZhbC5uYW1lLCB2YWwudmFsKVxuXHRcdFx0fVxuXHRcdFx0Ly8gI2VuZGlmXG5cdFx0fSxcblx0XHRtb3VudGVkKCkge1xuXHRcdFx0Ly8gI2lmZGVmIE1QXG5cdFx0XHR0aGlzLnJlbmRlcigpXG5cdFx0XHQvLyAjZW5kaWZcblx0XHR9LFxuXHRcdFxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuXG48IS0tICNpZm5kZWYgTVAgLS0+XG5cblx0PCEtLSAjaWZkZWYgVlVFMyAtLT5cblx0PHNjcmlwdCBsYW5nPVwicmVuZGVyanNcIiBzcmM9Jy4vanMvcmVuZGVyLmpzJyBtb2R1bGU9J3N2Z2EnPjwvc2NyaXB0PlxuXHQ8IS0tICNlbmRpZiAtLT5cblx0XG5cdDwhLS0gI2lmZGVmIFZVRTIgLS0+XG5cdDxzY3JpcHQgbGFuZz1cInJlbmRlcmpzXCIgbW9kdWxlPSdzdmdhJz5cblx0aW1wb3J0IHN2Z2FSZW5kZXIgZnJvbSBcIi4vanMvcmVuZGVyLmpzXCJcblx0ZXhwb3J0IGRlZmF1bHQge1xuXHRcdG1peGluczpbc3ZnYVJlbmRlcl1cblx0fVxuXHQ8L3NjcmlwdD5cblx0PCEtLSAjZW5kaWYgLS0+XG5cblx0XG48IS0tICNlbmRpZiAtLT5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG5cdC5jLXN2Z2Ege1xyXG5cdFx0Ly8gd2lkdGg6IHYtYmluZCh3aWR0aCk7XHJcblx0XHQvLyBoZWlnaHQ6IHYtYmluZChoZWlnaHQpO1xyXG5cclxuXHRcdC8qICNpZm5kZWYgTVAgKi9cclxuXHRcdGRpdiB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0LyogI2VuZGlmICovXHJcblxyXG5cdFx0LmNhbnZhcyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR9XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///64\n"); /***/ }), /* 65 */ @@ -4355,7 +4361,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rua /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);\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 */ 68));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 21));\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/js_sdk/wa-permission/permission.js */ 74));\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//\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//\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//\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 systemInfoSync = uni.getSystemInfoSync();\nvar recorderManager = uni.getRecorderManager();\nvar innerAudioContext = uni.createInnerAudioContext();\ninnerAudioContext.autoplay = true;\nvar timer = 0;\nvar _default = {\n data: function data() {\n return {\n isSvga: false,\n canvasId: 'myCanvas',\n svgaSrcList: [],\n svgaSrc: \"https://api.lyiyuan.cn/profile/upload/2024/11/05/9284d0797a991ef130d9b06759ef9b30.svga\",\n isPlay1: false,\n videoUrl: \"\",\n wrapperScrollHeight: 0,\n tabIndex: 0,\n id: \"\",\n current: 1,\n show1: false,\n show2: false,\n isCoins: false,\n isToggle: true,\n isOpen: false,\n title: \"\",\n content: \"\",\n userInfo: {},\n list: [],\n itemList: [],\n chatList: [],\n userId: \"\",\n img: \"\",\n show: false,\n isPlay: true,\n count: 0,\n balanceInfo: {},\n num: 1,\n giftList: [],\n giftListNum: 1,\n statusBarHeight: 0,\n wrapperHeight: 0,\n total: 0,\n page: 1,\n editorCtx: \"\",\n isBiaoqing: false,\n winWidth: 1,\n winHeight: 1\n };\n },\n onLoad: function onLoad(o) {\n this.statusBarHeight = systemInfoSync.statusBarHeight;\n this.userId = uni.getStorageSync(\"userInfo\").id;\n this.id = o.id;\n this.winWidth = uni.getSystemInfoSync().windowWidth;\n this.winHeight = uni.getSystemInfoSync().windowHeight;\n this.getUserInfo();\n this.getChatList();\n this.userBalance();\n this.getGift();\n },\n onReady: function onReady() {\n var that = this;\n recorderManager.onStop(function (res) {\n that.uploadAudio(res.tempFilePath);\n clearInterval(timer);\n that.isPlay = true;\n });\n innerAudioContext.onEnded(function (res) {\n that.isPlay = false;\n });\n that.watchSocket();\n },\n methods: {\n onFinished: function onFinished() {\n this.isSvga = false;\n __f__(\"log\", \"播放完了\", \" at pages/users/chat/index.vue:266\");\n },\n toToggle1: function toToggle1() {\n this.isPlay1 = !this.isPlay1;\n if (this.isPlay1) {\n innerAudioContext.src = this.userInfo.voice;\n innerAudioContext.play();\n } else {\n innerAudioContext.pause();\n }\n },\n perviewImages: function perviewImages(url) {\n uni.previewImage({\n urls: this.userInfo.xiangce,\n count: url\n });\n },\n perviewImage: function perviewImage(url) {\n uni.previewImage({\n urls: [url]\n });\n },\n toClick: function toClick(idx) {\n this.editorCtx.insertImage({\n src: 'https://api.lyiyuan.cn/profile/upload/static/face/' + idx + '.gif',\n with: 30,\n height: 30,\n success: function success() {}\n });\n },\n imMessageInput: function imMessageInput(e) {\n __f__(\"log\", e, \" at pages/users/chat/index.vue:298\");\n this.content = e.detail.html.replace(/= 8) {\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n if (obj.type == 10) {\n setTimeout(function () {\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=2&id=\" + that.id\n });\n }, 500);\n }\n }\n }\n }\n });\n },\n toBiaoqing: function toBiaoqing(type) {\n if (type == 1) {\n this.isBiaoqing = false;\n this.isOpen = !this.isOpen;\n } else {\n this.isOpen = false;\n this.isBiaoqing = !this.isBiaoqing;\n }\n },\n scrolltoupper: function scrolltoupper(e) {\n if (this.chatList.length <= this.total) {\n this.page++;\n this.getChatList(1);\n }\n },\n toAudio: function toAudio(url) {\n innerAudioContext.src = url;\n innerAudioContext.play();\n },\n toPlay: function toPlay(url) {\n this.show2 = true;\n this.videoUrl = url;\n },\n // 将px转换为rpx\n pxToRpx: function pxToRpx(px) {\n return px * 750 / systemInfoSync.windowWidth;\n },\n //发送得内容,type:1.语音 2.视频 3.文字 4图片 5礼物6搭讪\n giftGiving: function giftGiving() {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\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.$api.giftGiving({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n //用户ID\n \"acceptUserId\": _this.id,\n //被送礼之人ID\n \"giftId\": _this.giftList[_this.tabIndex].id,\n //礼物ID\n \"num\": _this.num //礼物数量\n });\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n toZengsong: function toZengsong() {\n var that = this;\n if (this.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (this.balanceInfo.isBlack >= this.giftList[this.tabIndex].price * that.num) {\n that.isCoins = true;\n return;\n }\n that.img = this.giftList[this.tabIndex].id;\n that.count = that.num;\n that.toSend(5);\n },\n tabItem: function tabItem(index) {\n this.tabIndex = index;\n },\n getGift: function getGift() {\n var _this2 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var _yield$_this2$$api$gi, code, data;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _this2.$api.giftList({\n userId: uni.getStorageSync(\"userInfo\").id,\n limit: 999,\n page: 1\n });\n case 2:\n _yield$_this2$$api$gi = _context2.sent;\n code = _yield$_this2$$api$gi.code;\n data = _yield$_this2$$api$gi.data;\n if (code == 200) {\n if (data.total > 0) {\n data.list.map(function (a) {\n if (a.specialEffects) {\n _this2.svgaSrcList.push(a.specialEffects);\n }\n });\n }\n _this2.giftList = data.list;\n __f__(\"log\", _this2.svgaSrcList, \" at pages/users/chat/index.vue:426\");\n _this2.giftListNum = Math.ceil(data.total / 8);\n }\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n closeGift: function closeGift() {\n this.show1 = false;\n this.isOpen = false;\n this.isBiaoqing = false;\n },\n openGift: function openGift() {\n if (this.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n this.show1 = true;\n this.isOpen = false;\n this.isBiaoqing = false;\n },\n changeswiper: function changeswiper(e) {\n this.current = e.detail.current;\n },\n toEnd: function toEnd() {\n recorderManager.stop();\n },\n toToggle: function toToggle() {\n var that = this;\n this.isToggle = !this.isToggle;\n this.isOpen = false;\n },\n //检查次数\n userBalance: function userBalance() {\n var _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var _yield$_this3$$api$us, code, data;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _this3.$api.userBalance({\n userId: uni.getStorageSync(\"userInfo\").id\n });\n case 2:\n _yield$_this3$$api$us = _context3.sent;\n code = _yield$_this3$$api$us.code;\n data = _yield$_this3$$api$us.data;\n if (code == 200) {\n _this3.balanceInfo = data;\n /***\n \"videoCoins\": 0, //视频可用时长:分钟\n \"wordVoiceDiscount\": 0, //语音视频文字折扣:0表示不打折\n \"voiceCoins\": 0, //语音可用时长:分钟\n \"wordCoins\": 0, //文字可发数量\n \"userBalance\": 1 //当前用户金币余额\n */\n }\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n //结算 type:1.语音 2.视频 3.文字 4图片 5礼物6搭讪\n socialConsumption: function socialConsumption(type) {\n var _this4 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _this4.$api.socialConsumption({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this4.id,\n type: type == 1 || type == 2 || type == 3 ? 3 : type,\n duration: \"\"\n });\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n toOpen: function toOpen() {\n var that = this;\n //{\"userId\":\"123\",\"sellerId\":\"4575676878\",\"type\":3} 发送得内容,type:1.语音 2.视频 3.文字 4图片 5礼物6搭讪\n // console.log(111)\n // console.log(JSON.stringify({\"userId\": uni.getStorageSync(\"userInfo\").id,sellerId:this.id, type:3,\"topic\":\"message\"}))\n // uni.sendSocketMessage({data:JSON.stringify({\"userId\": uni.getStorageSync(\"userInfo\").id,sellerId:this.id, type:3,\"topic\":\"message\"})});\n\n // return ;\n // APP检查权限\n if (uni.getSystemInfoSync().platform == 'android') {\n plus.android.checkPermission('android.permission.RECORD_AUDIO', function (granted) {\n if (granted.checkResult == -1) {\n that.show = true;\n } else {\n that.show = false;\n that.toLuyin();\n }\n }, function (error) {\n __f__(\"error\", 'Error checking permission:', error.message, \" at pages/users/chat/index.vue:506\");\n });\n that.requestAndroidPermission('android.permission.RECORD_AUDIO');\n return;\n }\n that.toLuyin();\n },\n toLuyin: function toLuyin() {\n var that = this;\n clearInterval(timer);\n that.isPlay = false;\n timer = setInterval(function () {\n that.count++;\n }, 1000);\n recorderManager.start({\n format: \"mp3\"\n });\n },\n recorderAuthModal: function recorderAuthModal() {\n var that = this;\n uni.showModal({\n title: '温馨提示',\n content: '为了麦克风的功能,我们需要申请麦克风权限,请您确认授权,否则无法使用该功能~',\n cancelText: '关闭',\n confirmText: '去授权',\n success: function success(res) {\n that.show = false;\n if (res.confirm) {\n _permission.default.gotoAppPermissionSetting();\n }\n }\n });\n },\n requestAndroidPermission: function requestAndroidPermission(permisionID) {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n var that, result;\n return _regenerator.default.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n that = _this5;\n _context5.next = 3;\n return _permission.default.requestAndroidPermission(permisionID);\n case 3:\n result = _context5.sent;\n if (result != 1) {\n that.recorderAuthModal();\n } else {\n that.show = false;\n }\n case 5:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n //上传语音\n uploadAudio: function uploadAudio(filePath) {\n var that = this;\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.balanceInfo.wordCoins <= 0) {\n that.isCoins = true;\n return;\n }\n }\n uni.uploadFile({\n name: 'file',\n url: that.$baseUrl + '/prod-api/common/upload',\n filePath: filePath,\n success: function success(res) {\n var _JSON$parse = JSON.parse(res.data),\n code = _JSON$parse.code,\n fileName = _JSON$parse.fileName,\n url = _JSON$parse.url,\n msg = _JSON$parse.msg;\n if (code == 200) {\n that.img = url;\n that.toSend(1);\n }\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at pages/users/chat/index.vue:578\");\n }\n });\n },\n //上传视频\n uploadVideo: function uploadVideo() {\n var _this6 = this;\n var that = this;\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n uni.chooseVideo({\n count: 1,\n sourceType: [\"album\", \"camera\"],\n success: function success(res1) {\n __f__(\"log\", res1, \" at pages/users/chat/index.vue:597\");\n that.count = res1.duration;\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.balanceInfo.wordCoins <= 0) {\n that.isCoins = true;\n return;\n }\n }\n uni.uploadFile({\n name: 'file',\n url: that.$baseUrl + '/prod-api/common/upload',\n filePath: res1.tempFilePath,\n success: function success(res) {\n var _JSON$parse2 = JSON.parse(res.data),\n code = _JSON$parse2.code,\n fileName = _JSON$parse2.fileName,\n url = _JSON$parse2.url,\n msg = _JSON$parse2.msg;\n if (code == 200) {\n that.img = url;\n _this6.toSend(2);\n }\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at pages/users/chat/index.vue:625\");\n }\n });\n },\n fail: function fail(err) {\n __f__(\"log\", \"fail\", err, \" at pages/users/chat/index.vue:630\");\n }\n });\n },\n //上传图片\n uploadImg: function uploadImg() {\n var that = this;\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n uni.chooseImage({\n count: 1,\n //可以指定是原图还是压缩图,默认二者都有\n sourceType: [\"album\", \"camera\"],\n success: function success(res1) {\n __f__(\"log\", res1, \" at pages/users/chat/index.vue:649\");\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.balanceInfo.wordCoins <= 0) {\n that.isCoins = true;\n return;\n }\n }\n uni.uploadFile({\n name: 'file',\n url: that.$baseUrl + '/prod-api/common/upload',\n filePath: res1.tempFilePaths[0],\n success: function success(res) {\n //1.语音 2.视频 3.文字 4图片 5礼物\n var _JSON$parse3 = JSON.parse(res.data),\n code = _JSON$parse3.code,\n fileName = _JSON$parse3.fileName,\n url = _JSON$parse3.url,\n msg = _JSON$parse3.msg;\n if (code == 200) {\n that.img = url;\n that.toSend(4);\n }\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at pages/users/chat/index.vue:677\");\n }\n });\n },\n fail: function fail(err) {\n __f__(\"log\", \"fail\", err, \" at pages/users/chat/index.vue:682\");\n }\n });\n },\n toSelect: function toSelect(msg) {\n this.content = msg;\n this.toSend(3);\n },\n // 发送得内容,type:1.语音 2.视频 3.文字 4图片 5礼物6搭讪\n toSend: function toSend(type) {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n var that, svgaSrc, _yield$_this7$$api$ch, code, data, _svgaSrc;\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n that = _this7;\n if (!(type == 3)) {\n _context6.next = 9;\n break;\n }\n if (!(that.userInfo.isBlack == 1)) {\n _context6.next = 5;\n break;\n }\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return _context6.abrupt(\"return\");\n case 5:\n if (!(uni.getStorageSync(\"userInfo\").sex == 1)) {\n _context6.next = 9;\n break;\n }\n if (!(that.balanceInfo.wordCoins <= 1)) {\n _context6.next = 9;\n break;\n }\n that.isCoins = true;\n return _context6.abrupt(\"return\");\n case 9:\n svgaSrc = null;\n if (that.giftList && that.giftList.length > 0) {\n svgaSrc = that.giftList[that.tabIndex].specialEffects;\n }\n __f__(\"log\", that.svgaSrc, \" at pages/users/chat/index.vue:714\");\n __f__(\"log\", svgaSrc, \" at pages/users/chat/index.vue:715\");\n that.$refs.cSvgaRef.call(\"clear\");\n that.svgaSrc = svgaSrc;\n that.isSvga = true;\n that.$refs.cSvgaRef.call(\"startAnimation\");\n return _context6.abrupt(\"return\");\n case 20:\n _yield$_this7$$api$ch = _context6.sent;\n code = _yield$_this7$$api$ch.code;\n data = _yield$_this7$$api$ch.data;\n if (code == 200) {\n _svgaSrc = null;\n if (that.giftList && that.giftList.length > 0) {\n _svgaSrc = that.giftList[that.tabIndex].specialEffects;\n }\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: that.id,\n type: type,\n num: that.count + 1,\n message: type == 3 ? that.content : that.img,\n svgaSrc: _svgaSrc ? _svgaSrc : '',\n \"topic\": \"message\"\n })\n });\n if (type == 5) {\n if (_svgaSrc) {\n that.svgaSrc = _svgaSrc;\n that.isSvga = true;\n that.$refs.cSvgaRef.call(\"clear\");\n that.$refs.cSvgaRef.call(\"startAnimation\");\n }\n that.giftGiving();\n } else {\n that.socialConsumption(type);\n }\n that.isOpen = false;\n that.isBiaoqing = false;\n that.show1 = false;\n that.userBalance();\n that.editorCtx.clear();\n that.content = \"\";\n that.count = 0;\n that.num = 1;\n }\n case 24:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n //数组对象去重\n arrayUnique: function arrayUnique(arr, name) {\n var hash = {};\n return arr.reduce(function (item, next) {\n hash[next[name]] ? \"\" : hash[next[name]] = true && item.push(next);\n return item;\n }, []);\n },\n getChatList: function getChatList(type) {\n var _this8 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {\n var that, _yield$_this8$$api$fi, code, data, msg;\n return _regenerator.default.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n that = _this8;\n _context7.next = 3;\n return _this8.$api.findChatList({\n limit: 10,\n page: _this8.page,\n formUserId: uni.getStorageSync(\"userInfo\").id,\n toUserId: _this8.id\n });\n case 3:\n _yield$_this8$$api$fi = _context7.sent;\n code = _yield$_this8$$api$fi.code;\n data = _yield$_this8$$api$fi.data;\n msg = _yield$_this8$$api$fi.msg;\n if (!(code == 200)) {\n _context7.next = 13;\n break;\n }\n _this8.total = data.total;\n if (type == 1) {\n _this8.chatList = that.arrayUnique([].concat((0, _toConsumableArray2.default)(data.list), (0, _toConsumableArray2.default)(_this8.chatList)), 'msgId');\n } else {\n _this8.chatList = data.list;\n }\n if (!(type == 1)) {\n _context7.next = 12;\n break;\n }\n return _context7.abrupt(\"return\");\n case 12:\n setTimeout(function () {\n var wrapper = uni.createSelectorQuery().in(_this8).select('#wrapper');\n wrapper.fields({\n size: true,\n scrollOffset: true\n }, function (data) {\n __f__(\"log\", \"wrapper\", data, \" at pages/users/chat/index.vue:796\");\n that.wrapperScrollHeight = data.scrollHeight * 6;\n }).exec();\n // ;\n }, 100);\n case 13:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }))();\n },\n getUserInfo: function getUserInfo() {\n var _this9 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {\n var _yield$_this9$$api$fi, code, data, msg;\n return _regenerator.default.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return _this9.$api.findOtherUserInfo({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this9.id\n });\n case 2:\n _yield$_this9$$api$fi = _context8.sent;\n code = _yield$_this9$$api$fi.code;\n data = _yield$_this9$$api$fi.data;\n msg = _yield$_this9$$api$fi.msg;\n if (code == 200) {\n _this9.userInfo = data;\n _this9.userInfo.xiangce = [];\n if (data.reserved1) {\n _this9.userInfo.xiangce = data.reserved1.split(\",\");\n }\n _this9.itemList = [\"查看TA的主页\", data.isCare == 0 ? \"关注\" : \"取消关注\", \"举报\", data.isBlack == 0 ? \"加入黑名单\" : \"移除黑名单\"];\n _this9.title = data.nickname + (data.isOnline == 1 ? \"_(在线)\" : \"_(离线)\");\n if (data.operrole == 0) {\n _this9.getConfigData();\n }\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 7:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8);\n }))();\n },\n //字典查询\n getConfigData: function getConfigData() {\n var _this10 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {\n var that, res1;\n return _regenerator.default.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n that = _this10;\n _context9.next = 3;\n return that.$api.getConfigData({\n dictType: 'CONFIG_MESSAGE_NOTICE'\n });\n case 3:\n res1 = _context9.sent;\n that.list = [res1.data.content];\n case 5:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9);\n }))();\n },\n //是否关注\n toCareOrCancel: function toCareOrCancel() {\n var _this11 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {\n var _yield$_this11$$api$c, code, data, msg;\n return _regenerator.default.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return _this11.$api.careOrCancel({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this11.id,\n type: _this11.userInfo.isCare == 0 ? 1 : 2\n });\n case 2:\n _yield$_this11$$api$c = _context10.sent;\n code = _yield$_this11$$api$c.code;\n data = _yield$_this11$$api$c.data;\n msg = _yield$_this11$$api$c.msg;\n if (code == 200) {\n uni.showToast({\n title: _this11.userInfo.isCare == 0 ? \"关注成功\" : \"取消关注\"\n });\n setTimeout(function () {\n _this11.getUserInfo(1);\n }, 2000);\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 7:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10);\n }))();\n },\n //是否加入黑名单\n toYichu: function toYichu() {\n var _this12 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11() {\n var _yield$_this12$$api$a, code, data;\n return _regenerator.default.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return _this12.$api.addOrRemoveBlacklist({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this12.id,\n type: _this12.userInfo.isBlack == 0 ? 1 : 2\n });\n case 2:\n _yield$_this12$$api$a = _context11.sent;\n code = _yield$_this12$$api$a.code;\n data = _yield$_this12$$api$a.data;\n if (code == 200) {\n uni.showToast({\n title: _this12.userInfo.isBlack == 1 ? \"移除成功\" : \"加入成功\"\n });\n setTimeout(function () {\n _this12.getInfo();\n }, 2000);\n }\n case 6:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11);\n }))();\n },\n //视频语音说明\n openShiping: function openShiping() {\n var _this13 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12() {\n var that, _yield$that$$api$cost, code, data;\n return _regenerator.default.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n that = _this13;\n _context12.next = 3;\n return that.$api.costDescription({});\n case 3:\n _yield$that$$api$cost = _context12.sent;\n code = _yield$that$$api$cost.code;\n data = _yield$that$$api$cost.data;\n if (code == 200) {\n uni.showActionSheet({\n title: \"语音/视频通话\",\n itemList: [\"语音通话(\" + data.voiceCoins + \"金币/1分钟)\", \"视频通话(\" + data.videoCoins + \"金币/1分钟)\"],\n success: function success(res) {\n if (res.tapIndex == 0) {\n if (that.userInfo.isOnline == 0) {\n uni.showToast({\n title: \"当前用户已离线\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.balanceInfo.userBalance <= 0) {\n that.isCoins = true;\n return;\n }\n }\n that.isToggle = true;\n that.isOpen = false;\n that.isBiaoqing = false;\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: that.id,\n type: 18,\n \"topic\": \"message\"\n })\n });\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=3&id=\" + that.id\n });\n } else if (res.tapIndex == 1) {\n if (that.userInfo.isOnline == 0) {\n uni.showToast({\n title: \"当前用户已离线\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.balanceInfo.userBalance <= 0) {\n that.isCoins = true;\n return;\n }\n }\n that.isToggle = true;\n that.isOpen = false;\n that.isBiaoqing = false;\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: that.id,\n type: 19,\n \"topic\": \"message\"\n })\n });\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=4&id=\" + that.id\n });\n }\n }\n });\n }\n case 7:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12);\n }))();\n },\n toSheet1: function toSheet1() {\n var that = this;\n that.getcostDescription();\n },\n toSheet: function toSheet() {\n var that = this;\n uni.showActionSheet({\n itemList: this.itemList,\n success: function success(res) {\n if (res.tapIndex == 0) {\n uni.navigateTo({\n url: \"/pages/peiwan/detail?id=\" + that.id\n });\n } else if (res.tapIndex == 1) {\n that.toCareOrCancel();\n } else if (res.tapIndex == 2) {\n uni.navigateTo({\n url: \"/pages/users/feedback/index?type=2&id=\" + that.id\n });\n } else if (res.tapIndex == 3) {\n that.toYichu();\n }\n }\n });\n },\n inputValue: function inputValue(e) {\n __f__(\"log\", e, \" at pages/users/chat/index.vue:983\");\n }\n },\n destroyed: function destroyed() {\n uni.$off(\"toChatObj\");\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdXNlcnMvY2hhdC9pbmRleC52dWUiXSwibmFtZXMiOlsiaW5uZXJBdWRpb0NvbnRleHQiLCJkYXRhIiwiaXNTdmdhIiwiY2FudmFzSWQiLCJzdmdhU3JjTGlzdCIsInN2Z2FTcmMiLCJpc1BsYXkxIiwidmlkZW9VcmwiLCJ3cmFwcGVyU2Nyb2xsSGVpZ2h0IiwidGFiSW5kZXgiLCJpZCIsImN1cnJlbnQiLCJzaG93MSIsInNob3cyIiwiaXNDb2lucyIsImlzVG9nZ2xlIiwiaXNPcGVuIiwidGl0bGUiLCJjb250ZW50IiwidXNlckluZm8iLCJsaXN0IiwiaXRlbUxpc3QiLCJjaGF0TGlzdCIsInVzZXJJZCIsImltZyIsInNob3ciLCJpc1BsYXkiLCJjb3VudCIsImJhbGFuY2VJbmZvIiwibnVtIiwiZ2lmdExpc3QiLCJnaWZ0TGlzdE51bSIsInN0YXR1c0JhckhlaWdodCIsIndyYXBwZXJIZWlnaHQiLCJ0b3RhbCIsInBhZ2UiLCJlZGl0b3JDdHgiLCJpc0JpYW9xaW5nIiwid2luV2lkdGgiLCJ3aW5IZWlnaHQiLCJvbkxvYWQiLCJvblJlYWR5IiwicmVjb3JkZXJNYW5hZ2VyIiwidGhhdCIsImNsZWFySW50ZXJ2YWwiLCJtZXRob2RzIiwib25GaW5pc2hlZCIsInRvVG9nZ2xlMSIsInBlcnZpZXdJbWFnZXMiLCJ1bmkiLCJ1cmxzIiwicGVydmlld0ltYWdlIiwidG9DbGljayIsInNyYyIsIndpdGgiLCJoZWlnaHQiLCJzdWNjZXNzIiwiaW1NZXNzYWdlSW5wdXQiLCJvbkVkaXRvclJlYWR5Iiwid2F0Y2hTb2NrZXQiLCJzZXRUaW1lb3V0IiwidXJsIiwidG9CaWFvcWluZyIsInNjcm9sbHRvdXBwZXIiLCJ0b0F1ZGlvIiwidG9QbGF5IiwicHhUb1JweCIsImdpZnRHaXZpbmciLCJ0b1plbmdzb25nIiwicG9zaXRpb24iLCJpY29uIiwidGFiSXRlbSIsImdldEdpZnQiLCJsaW1pdCIsImNvZGUiLCJjbG9zZUdpZnQiLCJvcGVuR2lmdCIsImNoYW5nZXN3aXBlciIsInRvRW5kIiwidG9Ub2dnbGUiLCJ1c2VyQmFsYW5jZSIsInNvY2lhbENvbnN1bXB0aW9uIiwic2VsbGVySWQiLCJ0eXBlIiwiZHVyYXRpb24iLCJ0b09wZW4iLCJwbHVzIiwidG9MdXlpbiIsInRpbWVyIiwiZm9ybWF0IiwicmVjb3JkZXJBdXRoTW9kYWwiLCJjYW5jZWxUZXh0IiwiY29uZmlybVRleHQiLCJwZXJtaXNpb24iLCJyZXF1ZXN0QW5kcm9pZFBlcm1pc3Npb24iLCJyZXN1bHQiLCJ1cGxvYWRBdWRpbyIsIm5hbWUiLCJmaWxlUGF0aCIsImZpbGVOYW1lIiwibXNnIiwiZmFpbCIsInVwbG9hZFZpZGVvIiwic291cmNlVHlwZSIsInVwbG9hZEltZyIsInRvU2VsZWN0IiwidG9TZW5kIiwibWVzc2FnZSIsImFycmF5VW5pcXVlIiwiaGFzaCIsImdldENoYXRMaXN0IiwiZm9ybVVzZXJJZCIsInRvVXNlcklkIiwid3JhcHBlciIsInNpemUiLCJzY3JvbGxPZmZzZXQiLCJnZXRVc2VySW5mbyIsImdldENvbmZpZ0RhdGEiLCJkaWN0VHlwZSIsInJlczEiLCJ0b0NhcmVPckNhbmNlbCIsInRvWWljaHUiLCJvcGVuU2hpcGluZyIsInRvU2hlZXQxIiwidG9TaGVldCIsImlucHV0VmFsdWUiLCJkZXN0cm95ZWQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUE4TEE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFEQTtBQUVBO0FBQ0E7QUFDQUE7QUFDQTtBQUFBLGVBQ0E7RUFDQUM7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0FDO01BQ0FDO01BQ0FDO01BQ0FEO0lBRUE7SUFDQTNDO01BQ0EyQztJQUNBO0lBQ0FBO0VBQ0E7RUFDQUU7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO1FBQ0EvQztRQUNBQTtNQUNBO1FBQ0FBO01BQ0E7SUFDQTtJQUNBZ0Q7TUFDQUM7UUFDQUM7UUFDQXZCO01BQ0E7SUFDQTtJQUNBd0I7TUFDQUY7UUFDQUM7TUFDQTtJQUNBO0lBQ0FFO01BQ0E7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUMsNkJBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BRUE7TUFDQVQ7UUFDQU47TUFDQTtJQUVBO0lBQ0FnQjtNQUNBO01BQ0FWO1FBQ0E7UUFDQTtRQUNBO1VBQ0E7WUFDQUE7VUFDQTtVQUNBO1lBQ0FBO1VBQ0E7VUFDQTtZQUNBO2NBQ0FOO2NBQ0FBO2NBQ0FBO1lBQ0E7WUFDQTtjQUNBQTtjQUNBQTtZQUNBO1lBQ0E7Y0FDQTtnQkFDQUE7Z0JBQ0FBO2dCQUNBQTtnQkFDQUE7Y0FDQTtZQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQ0E7Z0JBQ0FpQjtrQkFDQVg7b0JBQ0FZO2tCQUNBO2dCQUNBO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFD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Q0FJO29CQUNBbUM7c0JBQ0E7d0JBQ0E7MEJBQ0FQOzRCQUNBaEM7NEJBQ0FvRDs0QkFDQUM7MEJBQ0E7MEJBQ0E7d0JBQ0E7d0JBQ0E7MEJBQ0FyQjs0QkFDQWhDOzRCQUNBb0Q7NEJBQ0FDOzBCQUNBOzBCQUNBO3dCQUNBO3dCQUNBOzBCQUNBOzRCQUNBM0I7NEJBQ0E7MEJBQ0E7d0JBQ0E7d0JBQ0FBO3dCQUNBQTt3QkFDQUE7d0JBQ0FNOzBCQUFBaEQ7NEJBQ0E7NEJBQ0FpRjs0QkFDQUM7NEJBQ0E7MEJBQ0E7d0JBQUE7d0JBQ0FsQzswQkFDQVk7d0JBQ0E7c0JBQ0E7d0JBQ0E7MEJBQ0FaOzRCQUNBaEM7NEJBQ0FvRDs0QkFDQUM7MEJBQ0E7MEJBQ0E7d0JBQ0E7d0JBQ0E7MEJBQ0FyQjs0QkFDQWhDOzRCQUNBb0Q7NEJBQ0FDOzBCQUNBOzBCQUNBO3dCQUNBO3dCQUNBOzBCQUNBOzRCQUNBM0I7NEJBQ0E7MEJBQ0E7d0JBQ0E7d0JBQ0FBO3dCQUNBQTt3QkFDQUE7d0JBQ0FNOzBCQUFBaEQ7NEJBQ0E7NEJBQ0FpRjs0QkFDQUM7NEJBQ0E7MEJBQ0E7d0JBQUE7d0JBQ0FsQzswQkFDQVk7d0JBQ0E7c0JBQ0E7b0JBQ0E7a0JBQ0E7Z0JBQ0E7Y0FBQTtjQUFBO2dCQUFBO1lBQUE7VUFBQTtRQUFBO01BQUE7SUFFQTtJQUNBOEQ7TUFDQTtNQUNBaEY7SUFFQTtJQUNBaUY7TUFDQTtNQUNBM0U7UUFDQTVCO1FBQ0FtQztVQUNBO1lBQ0FQO2NBQ0FZO1lBQ0E7VUFDQTtZQUNBbEI7VUFDQTtZQUNBTTtjQUNBWTtZQUNBO1VBQ0E7WUFDQWxCO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQWtGO01BQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E3RTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiI2Ny5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PHZpZXcgY2xhc3M9XCJjaGF0XCI+XG5cdFx0PHZpZXcgY2xhc3M9XCJjaGF0LW5hdmJhclwiPlxuXHRcdFx0PHUtbmF2YmFyIDp0aXRsZT1cInRpdGxlXCIgdGl0bGVXaWR0aD1cIjUwMFwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInNsb3Qtd3JhcFwiIHYtaWY9XCJ1c2VySW5mby5vcGVycm9sZSA9PSAwXCIgc2xvdD1cInJpZ2h0XCIgQGNsaWNrPVwidG9TaGVldCgpXCI+XG5cdFx0XHRcdFx0PHUtaWNvbiBuYW1lPVwibW9yZS1kb3QtZmlsbFwiIGNvbG9yPVwiIzAwMDAwMFwiIHNpemU9XCIzMFwiPjwvdS1pY29uPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3UtbmF2YmFyPlxuXHRcdDwvdmlldz5cclxuXHRcdDx0ZW1wbGF0ZSB2LWlmPVwidXNlckluZm8ub3BlcnJvbGUgPT0gMFwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJjaGF0LWhkXCIgdi1pZj1cImxpc3QubGVuZ3RoPjBcIj5cblx0XHRcdFx0PHUtbm90aWNlLWJhciBzdHlsZT1cIndpZHRoOiAxMDAlO1wiIDp2b2x1bWUtaWNvbj1cImZhbHNlXCIgbW9kZT1cImhvcml6b250YWxcIiA6bGlzdD1cImxpc3RcIj48L3Utbm90aWNlLWJhcj5cblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdGVtcGxhdGU+XG5cdFx0PHNjcm9sbC12aWV3IGlkPVwid3JhcHBlclwiIGNsYXNzPVwiY2hhdC1iZFwiXG5cdFx0XHQ6Y2xhc3M9XCJsaXN0Lmxlbmd0aD09MD8oKGlzT3BlbiB8fCBpc0JpYW9xaW5nKT8nY2hhdC1iZC1hY3RpdmUxJzonY2hhdC1iZC1hY3RpdmUnKTooaXNPcGVuIHx8IGlzQmlhb3Fpbmc/J2NoYXQtYmQtb24nOicnKVwiXG5cdFx0XHQ6c2Nyb2xsLXk9XCJ0cnVlXCJcblx0XHRcdEBzY3JvbGx0b3VwcGVyPVwic2Nyb2xsdG91cHBlclwiXG5cdFx0XHQ6c2Nyb2xsLXdpdGgtYW5pbWF0aW9uPVwidHJ1ZVwiXG5cdFx0XHQ6c2Nyb2xsLXRvcD1cIndyYXBwZXJTY3JvbGxIZWlnaHRcIlxuXHRcdD5cblx0XHRcdDx2aWV3IGlkPVwid3JhcHBlcjFcIj5cclxuXHRcdFx0XHQ8IS0tIOS4quS6uuS/oeaBryAtLT5cclxuXHRcdFx0XHQ8dGVtcGxhdGUgdi1pZj1cInVzZXJJbmZvLm9wZXJyb2xlID09IDBcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImluZm9cIiB2LWlmPVwiY2hhdExpc3QubGVuZ3RoPD0gMTBcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaGRcIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiYXZhdGFyXCIgOnNyYz1cInVzZXJJbmZvLmZhY2VJbWFnZT91c2VySW5mby5mYWNlSW1hZ2U6dXNlckluZm8uaW1nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvbmVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGVcIj57e3VzZXJJbmZvLnJlYWxuYW1lP3VzZXJJbmZvLm5pY2tuYW1lOnVzZXJJbmZvLm5pY2tuYW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInZpcFwiIHYtaWY9XCJ1c2VySW5mby5tZW1iZXJmbGFnPj0xXCI+VklQe3t1c2VySW5mby5tZW1iZXJmbGFnfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBlaXdhbVwiIHYtaWY9XCJ1c2VySW5mby5yb2xlID09IDJcIj7pmarnjqnluIg8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJzZXhcIiB2LWlmPVwidXNlckluZm8uc2V4ID09MlwiIHNyYz1cIkAvc3RhdGljL3BlaXdhbi1udi5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwic2V4XCIgdi1lbHNlIHNyYz1cIkAvc3RhdGljL3BlaXdhbi1uYW4ucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0d29cIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGFnXCIgdi1pZj1cInVzZXJJbmZvLmFnZVwiPnt7dXNlckluZm8uYWdlfX3lsoE8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRhZ1wiIHYtaWY9XCJ1c2VySW5mby5oZWlnaHRcIj57e3VzZXJJbmZvLmhlaWdodH19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0YWdcIiB2LWlmPVwidXNlckluZm8ud2VpZ2h0XCI+e3t1c2VySW5mby53ZWlnaHR9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGFnXCIgdi1pZj1cInVzZXJJbmZvLnBvc3RcIj57e3VzZXJJbmZvLnBvc3R9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjXCIgOmNsYXNzPVwiaXNQbGF5MT8nYy1vbic6JydcIiB2LWlmPVwidXNlckluZm8udm9pY2VcIiBAY2xpY2s9XCJ0b1RvZ2dsZTEoKVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0e3t1c2VySW5mby52b2ljZVRpbWV9feKAs1xyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiZFwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRcIiB2LWlmPVwidXNlckluZm8uZGVjbGFyYXRpb25cIj5cclxuXHRcdFx0XHRcdFx0XHQj5Lqk5Y+L5a6j6KiA77yae3t1c2VySW5mby5kZWNsYXJhdGlvbn19XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0XCIgdi1pZj1cInVzZXJJbmZvLnhpYW5nY2UgJiYgdXNlckluZm8ueGlhbmdjZS5sZW5ndGggPiAwXCI+XHJcblx0XHRcdFx0XHRcdFx0PGltYWdlIHYtZm9yPVwiKGEsaSkgaW4gdXNlckluZm8ueGlhbmdjZVwiIEBjbGljaz1cInBlcnZpZXdJbWFnZXMoaSlcIiA6a2V5PVwiaVwiIDpzcmM9XCJhXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIiA6Y2xhc3M9XCJhLnNlbmRUeXBlID09IDE/J2l0ZW0tb24nOicnXCIgdi1mb3I9XCIoYSxpbmRleCkgaW4gY2hhdExpc3RcIiA6a2V5PVwiaW5kZXhcIj5cblx0XHRcdFx0XHQ8IS0tIOWinuWKoOWtl+aute+8mnNlbmRUeXBlICAgMeaIkeWPkee7meS9oCAgMuS9oOWPkee7meaIkSAtLT5cblx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1pZj1cImEuc2VuZFR5cGUgPT0gMVwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmclwiPlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRlc2NcIiB2LWlmPVwiYS50eXBlID09IDYgfHwgYS50eXBlPT0zXCIgdi1odG1sPVwiYS5tZXNzYWdlXCI+PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImdpZnRcIiB2LWlmPVwiYS50eXBlID09IDVcIj7pgIHlh7rnpLzniak8aW1hZ2UgbW9kZT1cIndpZHRoRml4XCIgOnNyYz1cImEubWVzc2FnZVwiPjwvaW1hZ2U+e3thLmdpZnRuYW1lfX08dGV4dD5Ye3thLm51bX19PC90ZXh0Pjwvdmlldz5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ5aW5waW5nXCIgdi1pZj1cImEudHlwZSA9PSAxXCIgQGNsaWNrPVwidG9BdWRpbyhhLm1lc3NhZ2UpXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIkAvc3RhdGljL2NoYXQtMDMucG5nXCI+PC9pbWFnZT4ge3thLm51bX194oCdXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ2aWRlb1wiIHYtaWY9XCJhLnR5cGUgPT0gMlwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBAY2xpY2s9XCJ0b1BsYXkoYS5tZXNzYWdlKVwiIHNyYz1cIkAvc3RhdGljL3ZpZGVvX2JnLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbWdcIiB2LWlmPVwiYS50eXBlID09IDRcIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgQGNsaWNrPVwicGVydmlld0ltYWdlKGEubWVzc2FnZSlcIiA6c3JjPVwiYS5tZXNzYWdlXCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbFwiPjxpbWFnZSA6c3JjPVwiYS5sZWZ0RmFjZUltYWdlP2EubGVmdEZhY2VJbWFnZTphLmxlZnRJbWdcIj48L2ltYWdlPjwvdmlldz5cblx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHRcdDx0ZW1wbGF0ZSB2LWVsc2U+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsXCI+PGltYWdlIDpzcmM9XCJhLmxlZnRGYWNlSW1hZ2U/YS5sZWZ0RmFjZUltYWdlOmEubGVmdEltZ1wiPjwvaW1hZ2U+PC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmclwiPlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5hbWVcIj57e2EubGVmdE5pY2tuYW1lfX08dGV4dCB2LWlmPVwiYS5sZWZ0Um9sZSA9PSAyXCI+6Zmq546p5biIPC90ZXh0Pjwvdmlldz5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkZXNjXCIgdi1pZj1cImEudHlwZSA9PSA2IHx8IGEudHlwZT09M1wiIHYtaHRtbD1cImEubWVzc2FnZVwiPjwvdmlldz5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJnaWZ0XCIgdi1pZj1cImEudHlwZSA9PSA1XCI+6YCB5Ye656S854mpPGltYWdlIG1vZGU9XCJ3aWR0aEZpeFwiIDpzcmM9XCJhLm1lc3NhZ2VcIj48L2ltYWdlPnt7YS5naWZ0bmFtZX19PHRleHQ+WHt7YS5udW19fTwvdGV4dD48L3ZpZXc+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwieWlucGluZ1wiIHYtaWY9XCJhLnR5cGUgPT0gMVwiIEBjbGljaz1cInRvQXVkaW8oYS5tZXNzYWdlKVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJAL3N0YXRpYy9jaGF0LTAzLnBuZ1wiPjwvaW1hZ2U+IHt7YS5udW19feKAnVxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidmlkZW9cIiB2LWlmPVwiYS50eXBlID09IDJcIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgQGNsaWNrPVwidG9QbGF5KGEubWVzc2FnZSlcIiBzcmM9XCJAL3N0YXRpYy92aWRlb19iZy5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW1nXCIgdi1pZj1cImEudHlwZSA9PSA0XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIEBjbGljaz1cInBlcnZpZXdJbWFnZShhLm1lc3NhZ2UpXCIgOnNyYz1cImEubWVzc2FnZVwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNoYW5neW9uZ1wiIHYtaWY9XCJjaGF0TGlzdC5sZW5ndGggPiAwXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxpXCIgQGNsaWNrPVwidG9TZWxlY3QoJ+S9oOWlvScpXCI+5L2g5aW9PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaVwiIEBjbGljaz1cInRvU2VsZWN0KCflvojpq5jlhbTorqTor4bkvaAnKVwiPuW+iOmrmOWFtOiupOivhuS9oDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGlcIiBAY2xpY2s9XCJ0b1NlbGVjdCgn5Y+v5Lul6K6k6K+G5LiL5ZCX77yfJylcIj7lj6/ku6XorqTor4bkuIvlkJfvvJ88L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC9zY3JvbGwtdmlldz5cblx0XHQ8dmlldyBjbGFzcz1cImNoYXQtZmRcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwiYVwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImx1eWluXCIgdi1pZj1cInVzZXJJbmZvLm9wZXJyb2xlID09IDBcIiBAY2xpY2s9XCJ0b1RvZ2dsZSgpXCI+XG5cdFx0XHRcdFx0PGltYWdlIHYtaWY9XCJpc1RvZ2dsZVwiIHNyYz1cIi9zdGF0aWMvY2hhdC0wMS5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDxpbWFnZSB2LWVsc2Ugc3JjPVwiL3N0YXRpYy9jaGF0LTA1LnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbnB1dFwiIHYtaWY9XCJpc1RvZ2dsZVwiPlxuXHRcdFx0XHRcdDwhLS0gPGlucHV0IHR5cGU9XCJ0ZXh0XCIgdi1tb2RlbD1cImNvbnRlbnRcIiBwbGFjZWhvbGRlcj1cIuWNleihjOi+k+WFpVwiIC8+IC0tPlxyXG5cdFx0XHRcdFx0PCEtLSA8ZWRpdG9yIGNsYXNzPVwiYm94XCIgcGxhY2Vob2xkZXI9XCLljZXooYzovpPlhaVcIj48L2VkaXRvcj4gLS0+XHJcblx0XHRcdFx0XHQ8ZWRpdG9yIGNsYXNzPVwiYm94XCIgaWQ9XCJlZGl0b3JcIiBwbGFjZWhvbGRlcj1cIlwiIEByZWFkeT1cIm9uRWRpdG9yUmVhZHlcIiBAaW5wdXQ9XCJpbU1lc3NhZ2VJbnB1dFwiPjwvZWRpdG9yPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibW9yZVwiIEBjbGljaz1cInRvQmlhb3FpbmcoMSlcIj5cblx0XHRcdFx0XHRcdDx1LWljb24gbmFtZT1cIm1vcmUtZG90LWZpbGxcIiBjb2xvcj1cIiMwMDAwMDBcIiBzaXplPVwiMzBcIj48L3UtaWNvbj5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbnB1dFwiIHYtZWxzZT5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInN0YXJcIiBAY2xpY2s9XCJ0b09wZW4oKVwiIHYtaWY9XCJpc1BsYXlcIj7lvIDlp4vlvZXpn7M8L3ZpZXc+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzdGFyXCIgQGNsaWNrPVwidG9FbmQoKVwiIHYtZWxzZT7lgZzmraLlvZXpn7M8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJidG5cIiBAY2xpY2s9XCJ0b1NlbmQoMylcIj5cblx0XHRcdFx0XHTlj5HpgIFcblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImJpYW9xaW5nXCIgQGNsaWNrPVwidG9CaWFvcWluZygyKVwiPlxyXG5cdFx0XHRcdFx0PGltYWdlIHYtaWY9XCJpc0JpYW9xaW5nID09IGZhbHNlXCIgc3JjPVwiL3N0YXRpYy9jaGF0LTAyLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8aW1hZ2Ugdi1lbHNlIHNyYz1cIi9zdGF0aWMvY2hhdC0wNS5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8dmlldyBjbGFzcz1cImJcIiB2LWlmPVwiaXNPcGVuXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHRcIiBAY2xpY2s9XCJ1cGxvYWRJbWcoKVwiPlxyXG5cdFx0XHRcdFx0PGltYWdlIHNyYz1cIkAvc3RhdGljL2NoYXQtemhhb3BpYW4ucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkdFwiIEBjbGljaz1cInVwbG9hZFZpZGVvKClcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJAL3N0YXRpYy9jaGF0LXhpYW5namkucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkdFwiIHYtaWY9XCJ1c2VySW5mby5vcGVycm9sZSA9PSAwXCIgQGNsaWNrPVwib3BlblNoaXBpbmcoKVwiPlxyXG5cdFx0XHRcdFx0PGltYWdlIHNyYz1cIkAvc3RhdGljL2NoYXQteWluc2hpcGluLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHRcIiB2LWlmPVwidXNlckluZm8ub3BlcnJvbGUgPT0gMFwiIEBjbGljaz1cIm9wZW5HaWZ0KClcIj5cclxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJAL3N0YXRpYy9jaGF0LWxpd3UucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiY1wiIHYtaWY9XCJpc0JpYW9xaW5nXCI+XHJcblx0XHRcdFx0PGltYWdlIEBjbGljaz1cInRvQ2xpY2soaSlcIiB2LWZvcj1cImkgaW4gNzVcIiA6a2V5PVwiaVwiIDpzcmM9XCInaHR0cHM6Ly9hcGkubHlpeXVhbi5jbi9wcm9maWxlL3VwbG9hZC9zdGF0aWMvZmFjZS8nK2krJy5naWYnXCI+PC9pbWFnZT5cclxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblx0XHQ8dS1wb3B1cCB2LW1vZGVsPVwic2hvd1wiIG1vZGU9XCJ0b3BcIiA6bWFzay1jbG9zZS1hYmxlPSdmYWxzZScgOnpJbmRleD1cIjVcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwicGVybWlzc2lvbnNfYm94XCI+XG5cdFx0XHRcdOW9k+aCqOS9v+eUqEFQUOaXtu+8jOS4uuS6huS9v+eUqOW9lemfs+eahOWKn+iDve+8jOaIkeS7rOmcgOimgeeUs+ivt+m6puWFi+mjjuadg+mZkOOAglxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdS1wb3B1cD5cblx0XHQ8dS1wb3B1cCB2LW1vZGVsPVwic2hvdzFcIiBtb2RlPVwiYm90dG9tXCIgOm1hc2stY2xvc2UtYWJsZT0nZmFsc2UnPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJnaWZ0UG9wdXBcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0aXRsZVwiPuekvOeJqTxpbWFnZSBAY2xpY2s9XCJjbG9zZUdpZnQoKVwiIHNyYz1cIi9zdGF0aWMvY2hhLnBuZ1wiPjwvaW1hZ2U+PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnRcIj5cblx0XHRcdFx0XHQ8c3dpcGVyIGNsYXNzPVwic3dpcGVyXCIgQGNoYW5nZT1cImNoYW5nZXN3aXBlclwiPlxuXHRcdFx0XHRcdFx0PHN3aXBlci1pdGVtIHYtZm9yPVwiaSBpbiBnaWZ0TGlzdE51bVwiIDprZXk9XCJpXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSB2LWZvcj1cIihhLGlkeCkgaW4gZ2lmdExpc3RcIj5cblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIiB2LWlmPVwiKDgqKGktMSkpPGlkeCA8IDgqaVwiIDprZXk9XCJpZHhcIiBAY2xpY2s9XCJ0YWJJdGVtKGlkeClcIiA6Y2xhc3M9XCJpZHggPT0gdGFiSW5kZXg/J2l0ZW0tb24nOicnXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgbW9kZT1cImhlaWdodEZpeFwiIDpzcmM9XCJhLmltZ3VybFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInR4dFwiPnt7YS5uYW1lfX08L3ZpZXc+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm51bVwiPnt7YS5wcmljZX196YeR5biBPC92aWV3PlxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cdFxuXHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHRcdFx0PC9zd2lwZXItaXRlbT5cblx0XHRcdFx0XHQ8L3N3aXBlcj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImluZGljYXRvci1kb3RzXCIgdi1pZj1cImdpZnRMaXN0TnVtID49IDJcIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5kaWNhdG9yLWRvdHMtaXRlbVwiIHYtZm9yPVwiaSBpbiBnaWZ0TGlzdE51bVwiIDprZXk9XCJpXCIgOmNsYXNzPVwiW2N1cnJlbnQgPT0gaSA/ICdpbmRpY2F0b3ItZG90cy1hY3RpdmUnIDogJyddXCI+PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZkXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhXCI+6YeR5biB77yae3tiYWxhbmNlSW5mby51c2VyQmFsYW5jZX19PC92aWV3PlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYlwiPuWFheWAvDxpbWFnZSBzcmM9XCJAL3N0YXRpYy9pY29uLWFycm93LnBuZ1wiPjwvaW1hZ2U+PC92aWV3PlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY1wiPlxuXHRcdFx0XHRcdFx0PGlucHV0IHYtbW9kZWw9XCJudW1cIiAvPlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0blwiIEBjbGljaz1cInRvWmVuZ3NvbmcoKVwiPui1oOmAgTwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdS1wb3B1cD5cblx0XHQ8aW5zdWZmaWNpZW50IDppc0NvaW5zPVwiaXNDb2luc1wiIC8+XG5cdFx0PHUtcG9wdXAgdi1tb2RlbD1cInNob3cyXCIgbW9kZT1cImNlbnRlclwiPlxuXHRcdFx0PHZpZGVvIHN0eWxlPVwid2lkdGg6IDY4MHJweDtcIiB2LWlmPVwidmlkZW9VcmxcIiA6c3JjPVwidmlkZW9VcmxcIiBvYmplY3QtZml0PVwiY29udGFpblwiPjwvdmlkZW8+XG5cdFx0PC91LXBvcHVwPlxyXG5cdFx0PCEtLSBzdmdh5pKt5pS+IC0tPlxyXG5cdFx0PCEtLSA8dmlldyBjbGFzcz1cInNsaVwiIHYtZm9yPVwiKGEsaSkgaW4gc3ZnYVNyY0xpc3RcIiA6a2V5PVwiaVwiPnt7YX19PC92aWV3PiAtLT5cclxuXHRcdDxjLXN2Z2EgcmVmPVwiY1N2Z2FSZWZcIiA6c3R5bGU9XCJ7J3dpZHRoJzogKGlzU3ZnYSA9PSBmYWxzZT8xOndpbldpZHRoKSsncHgnLCAnaGVpZ2h0JzogKGlzU3ZnYT09ZmFsc2U/MTp3aW5IZWlnaHQpKydweCcsICdwb3NpdGlvbic6ICdmaXhlZCcsJ3RvcCc6JzAnLCAnbGVmdCc6IDAsJ3otaW5kZXgnOiAnOTk5JywgJ292ZXJmbG93JzogJ2hpZGRlbid9XCIgOmNhbnZhc0lkPSdjYW52YXNJZCcgOnNyYz1cInN2Z2FTcmNcIiA6bG9vcHM9JzEnIEBmaW5pc2hlZD0nb25GaW5pc2hlZCc+PC9jLXN2Z2E+XG5cdDwvdmlldz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cdGNvbnN0IHN5c3RlbUluZm9TeW5jID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCk7XG5cdGltcG9ydCBwZXJtaXNpb24gZnJvbSBcIkAvanNfc2RrL3dhLXBlcm1pc3Npb24vcGVybWlzc2lvbi5qc1wiXG5cdGNvbnN0IHJlY29yZGVyTWFuYWdlciA9IHVuaS5nZXRSZWNvcmRlck1hbmFnZXIoKTtcblx0Y29uc3QgaW5uZXJBdWRpb0NvbnRleHQgPSB1bmkuY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQoKTtcblx0aW5uZXJBdWRpb0NvbnRleHQuYXV0b3BsYXkgPSB0cnVlO1xuXHRsZXQgdGltZXIgPSAwO1xuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0ZGF0YSgpIHtcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0aXNTdmdhOiBmYWxzZSxcclxuXHRcdFx0XHRjYW52YXNJZDonbXlDYW52YXMnLFxyXG5cdFx0XHRcdHN2Z2FTcmNMaXN0OiBbXSxcclxuXHRcdFx0XHRzdmdhU3JjOiBcImh0dHBzOi8vYXBpLmx5aXl1YW4uY24vcHJvZmlsZS91cGxvYWQvMjAyNC8xMS8wNS85Mjg0ZDA3OTdhOTkxZWYxMzBkOWIwNjc1OWVmOWIzMC5zdmdhXCIsXHJcblx0XHRcdFx0aXNQbGF5MTogZmFsc2UsXG5cdFx0XHRcdHZpZGVvVXJsOiBcIlwiLFxuXHRcdFx0XHR3cmFwcGVyU2Nyb2xsSGVpZ2h0OiAwLFxuXHRcdFx0XHR0YWJJbmRleDogMCxcblx0XHRcdFx0aWQ6IFwiXCIsXG5cdFx0XHRcdGN1cnJlbnQ6IDEsXG5cdFx0XHRcdHNob3cxOiBmYWxzZSxcblx0XHRcdFx0c2hvdzI6IGZhbHNlLFxuXHRcdFx0XHRpc0NvaW5zOiBmYWxzZSxcblx0XHRcdFx0aXNUb2dnbGU6IHRydWUsXG5cdFx0XHRcdGlzT3BlbjogZmFsc2UsXG5cdFx0XHRcdHRpdGxlOiBcIlwiLFxuXHRcdFx0XHRjb250ZW50OiBcIlwiLFxuXHRcdFx0XHR1c2VySW5mbzoge30sXG5cdFx0XHRcdGxpc3Q6IFtdLFxuXHRcdFx0XHRpdGVtTGlzdDogW10sXG5cdFx0XHRcdGNoYXRMaXN0OiBbXSxcblx0XHRcdFx0dXNlcklkOiBcIlwiLFxuXHRcdFx0XHRpbWc6IFwiXCIsXG5cdFx0XHRcdHNob3c6IGZhbHNlLFxuXHRcdFx0XHRpc1BsYXk6IHRydWUsXG5cdFx0XHRcdGNvdW50OiAwLFxuXHRcdFx0XHRiYWxhbmNlSW5mbzoge30sXG5cdFx0XHRcdG51bTogMSxcblx0XHRcdFx0Z2lmdExpc3Q6IFtdLFxuXHRcdFx0XHRnaWZ0TGlzdE51bTogMSxcblx0XHRcdFx0c3RhdHVzQmFySGVpZ2h0OiAwLFxuXHRcdFx0XHR3cmFwcGVySGVpZ2h0OiAwLFxuXHRcdFx0XHR0b3RhbDogMCxcblx0XHRcdFx0cGFnZTogMSxcclxuXHRcdFx0XHRlZGl0b3JDdHg6IFwiXCIsXHJcblx0XHRcdFx0aXNCaWFvcWluZzogZmFsc2UsXHJcblx0XHRcdFx0d2luV2lkdGg6IDEsXHJcblx0XHRcdFx0d2luSGVpZ2h0OiAxXG5cdFx0XHR9O1xuXHRcdH0sXG5cdFx0b25Mb2FkKG8pIHtcblx0XHRcdHRoaXMuc3RhdHVzQmFySGVpZ2h0ID0gc3lzdGVtSW5mb1N5bmMuc3RhdHVzQmFySGVpZ2h0O1xuXHRcdFx0dGhpcy51c2VySWQgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZDtcblx0XHRcdHRoaXMuaWQgPSBvLmlkO1xyXG5cdFx0XHR0aGlzLndpbldpZHRoID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCkud2luZG93V2lkdGg7XHJcblx0XHRcdHRoaXMud2luSGVpZ2h0ID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCkud2luZG93SGVpZ2h0O1xuXHRcdFx0dGhpcy5nZXRVc2VySW5mbygpO1xuXHRcdFx0dGhpcy5nZXRDaGF0TGlzdCgpO1xuXHRcdFx0dGhpcy51c2VyQmFsYW5jZSgpO1xyXG5cdFx0XHR0aGlzLmdldEdpZnQoKTtcblx0XHR9LFxuXHRcdG9uUmVhZHkoKSB7XG5cdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdHJlY29yZGVyTWFuYWdlci5vblN0b3AoZnVuY3Rpb24gKHJlcykge1xuXHRcdFx0XHR0aGF0LnVwbG9hZEF1ZGlvKHJlcy50ZW1wRmlsZVBhdGgpO1xyXG5cdFx0XHRcdGNsZWFySW50ZXJ2YWwodGltZXIpO1xyXG5cdFx0XHRcdHRoYXQuaXNQbGF5ID0gdHJ1ZVxuXHRcdFx0XHRcblx0XHRcdH0pO1xuXHRcdFx0aW5uZXJBdWRpb0NvbnRleHQub25FbmRlZChyZXM9Pntcblx0XHRcdFx0dGhhdC5pc1BsYXkgPSBmYWxzZVxuXHRcdFx0fSlcblx0XHRcdHRoYXQud2F0Y2hTb2NrZXQoKTtcblx0XHR9LFxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0b25GaW5pc2hlZCgpIHtcclxuXHRcdFx0XHR0aGlzLmlzU3ZnYSA9IGZhbHNlXHJcbiBcdFx0XHRcdGNvbnNvbGUubG9nKFwi5pKt5pS+5a6M5LqGXCIpXHJcblx0XHRcdH0sXHJcblx0XHRcdHRvVG9nZ2xlMSgpIHtcclxuXHRcdFx0XHR0aGlzLmlzUGxheTEgPSAhdGhpcy5pc1BsYXkxXHJcblx0XHRcdFx0aWYodGhpcy5pc1BsYXkxKXtcclxuXHRcdFx0XHRcdGlubmVyQXVkaW9Db250ZXh0LnNyYyA9IHRoaXMudXNlckluZm8udm9pY2U7XHJcblx0XHRcdFx0XHRpbm5lckF1ZGlvQ29udGV4dC5wbGF5KCk7XHJcblx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRpbm5lckF1ZGlvQ29udGV4dC5wYXVzZSgpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0cGVydmlld0ltYWdlcyh1cmwpe1xyXG5cdFx0XHRcdHVuaS5wcmV2aWV3SW1hZ2Uoe1xyXG5cdFx0XHRcdFx0dXJsczogdGhpcy51c2VySW5mby54aWFuZ2NlLFxyXG5cdFx0XHRcdFx0Y291bnQ6IHVybFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHBlcnZpZXdJbWFnZSh1cmwpe1xyXG5cdFx0XHRcdHVuaS5wcmV2aWV3SW1hZ2Uoe1xyXG5cdFx0XHRcdFx0dXJsczogW3VybF1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b0NsaWNrIChpZHgpe1xyXG5cdFx0XHRcdHRoaXMuZWRpdG9yQ3R4Lmluc2VydEltYWdlKHtcclxuXHRcdFx0XHRcdHNyYzogJ2h0dHBzOi8vYXBpLmx5aXl1YW4uY24vcHJvZmlsZS91cGxvYWQvc3RhdGljL2ZhY2UvJytpZHgrJy5naWYnLFxyXG5cdFx0XHRcdFx0d2l0aDogMzAsXHJcblx0XHRcdFx0XHRoZWlnaHQ6IDMwLFxyXG5cdFx0XHRcdFx0c3VjY2Vzcygpe1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGltTWVzc2FnZUlucHV0KGUpe1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUpXHJcblx0XHRcdFx0dGhpcy5jb250ZW50ID0gZS5kZXRhaWwuaHRtbC5yZXBsYWNlKC88aW1nIC9nLCc8aW1nIHN0eWxlPVwidmVydGljYWwtYWxpZ246IG1pZGRsZTtcIiAnKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0b25FZGl0b3JSZWFkeSgpIHtcclxuXHRcdFx0XHQvLyAjaWZkZWYgQVBQLVBMVVMgfHwgSDUgfHxNUC1XRUlYSU5cclxuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHR1bmkuY3JlYXRlU2VsZWN0b3JRdWVyeSgpLnNlbGVjdCgnI2VkaXRvcicpLmNvbnRleHQoKHJlcykgPT4ge1xyXG5cdFx0XHRcdCAgdGhhdC5lZGl0b3JDdHggPSByZXMuY29udGV4dFxyXG5cdFx0XHRcdH0pLmV4ZWMoKVxyXG5cdFx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHR9LFxuXHRcdFx0d2F0Y2hTb2NrZXQoKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHR1bmkuJG9uKFwidG9DaGF0T2JqXCIsZnVuY3Rpb24gKHJlcykge1xuXHRcdFx0XHRcdGNvbnN0IG9iaiA9IHJlcy5kYXRhP0pTT04ucGFyc2UocmVzLmRhdGEpOnt9XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhvYmopXHJcblx0XHRcdFx0XHRpZihvYmoudG9waWMgPT0gJ21lc3NhZ2UnKXtcclxuXHRcdFx0XHRcdFx0aWYob2JqLnR5cGVcdCA9PSAxMil7XHJcblx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwid2F0Y2hFdmVudFwiLG9iailcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZihvYmoudHlwZSA9PSAyMCl7XHJcblx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwidG9KaWVzaG91WWluc2hpcFwiLG9iailcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZihvYmoudHlwZTw9Nyl7XHJcblx0XHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQgPT0gb2JqLnNlbGxlcklkKXtcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXQucGFnZSA9IDE7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0LmdldENoYXRMaXN0KCk7XHRcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXRcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQgPT0gb2JqLnVzZXJJZCl7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0LnBhZ2UgPSAxO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5nZXRDaGF0TGlzdCgpO1x0XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdGlmKG9iai50eXBlID09IDUpe1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYob2JqLnN2Z2FTcmMpe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LnN2Z2FTcmMgPSBvYmouc3ZnYVNyYztcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5pc1N2Z2EgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LiRyZWZzLmNTdmdhUmVmLmNhbGwoXCJjbGVhclwiKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC4kcmVmcy5jU3ZnYVJlZi5jYWxsKFwic3RhcnRBbmltYXRpb25cIilcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYob2JqLnR5cGU+PSA4KXtcclxuXHRcdFx0XHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCA9PSBvYmouc2VsbGVySWQpe1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYob2JqLnR5cGUgPT0gMTApe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9waXBlaS9zaGlwaW4vZGV0YWlsP3R5cGU9MiZpZD1cIit0aGF0LmlkXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSw1MDApXHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSxcblx0XHRcdHRvQmlhb3FpbmcodHlwZSkge1xyXG5cdFx0XHRcdGlmKHR5cGU9PTEpe1xyXG5cdFx0XHRcdFx0dGhpcy5pc0JpYW9xaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0XHR0aGlzLmlzT3BlbiA9ICF0aGlzLmlzT3BlblxyXG5cdFx0XHRcdH1lbHNlIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNPcGVuID0gZmFsc2U7XHJcblx0XHRcdFx0XHR0aGlzLmlzQmlhb3FpbmcgPSAhdGhpcy5pc0JpYW9xaW5nXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxuXHRcdFx0c2Nyb2xsdG91cHBlcihlKSB7XG5cdFx0XHRcdGlmKHRoaXMuY2hhdExpc3QubGVuZ3RoIDw9dGhpcy50b3RhbCl7XG5cdFx0XHRcdFx0dGhpcy5wYWdlICsrO1xuXHRcdFx0XHRcdHRoaXMuZ2V0Q2hhdExpc3QoMSk7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHR0b0F1ZGlvKHVybCkge1xuXHRcdFx0XHRpbm5lckF1ZGlvQ29udGV4dC5zcmMgPSB1cmw7XG5cdFx0XHRcdGlubmVyQXVkaW9Db250ZXh0LnBsYXkoKTtcblx0XHRcdH0sXG5cdFx0XHR0b1BsYXkodXJsKXtcblx0XHRcdFx0dGhpcy5zaG93MiA9IHRydWU7XG5cdFx0XHRcdHRoaXMudmlkZW9VcmwgPSB1cmxcblx0XHRcdH0sXG5cdFx0XHQvLyDlsIZweOi9rOaNouS4unJweFxuXHRcdFx0cHhUb1JweChweCkge1xuXHRcdFx0ICAgIHJldHVybiBweCAqIDc1MCAvIHN5c3RlbUluZm9TeW5jLndpbmRvd1dpZHRoO1xuXHRcdFx0fSxcblx0XHRcdC8v5Y+R6YCB5b6X5YaF5a6577yMdHlwZToxLuivremfsyAyLuinhumikSAzLuaWh+WtlyA05Zu+54mHIDXnpLzniak25pCt6K6qXG5cdFx0XHRhc3luYyBnaWZ0R2l2aW5nKCkge1xuXHRcdFx0XHRhd2FpdCB0aGlzLiRhcGkuZ2lmdEdpdmluZyh7XG5cdFx0XHRcdFx0XCJ1c2VySWRcIjogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsIC8v55So5oi3SURcblx0XHRcdFx0XHRcImFjY2VwdFVzZXJJZFwiOiB0aGlzLmlkLCAvL+iiq+mAgeekvOS5i+S6uklEXG5cdFx0XHRcdFx0XCJnaWZ0SWRcIjogdGhpcy5naWZ0TGlzdFt0aGlzLnRhYkluZGV4XS5pZCwgLy/npLznialJRFxuXHRcdFx0XHRcdFwibnVtXCI6IHRoaXMubnVtIC8v56S854mp5pWw6YePXG5cdFx0XHRcdH0pIFxuXHRcdFx0fSxcblx0XHRcdHRvWmVuZ3NvbmcoKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHRpZih0aGlzLnVzZXJJbmZvLmlzQmxhY2sgPT0gMSl7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogXCLlvZPliY3nlKjmiLfmmK/pu5HlkI3ljZXvvIzlt7LpmZDliLZcIixcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRyZXR1cm4gO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmKHRoaXMuYmFsYW5jZUluZm8uaXNCbGFjayA+PSB0aGlzLmdpZnRMaXN0W3RoaXMudGFiSW5kZXhdLnByaWNlKnRoYXQubnVtKXtcblx0XHRcdFx0XHR0aGF0LmlzQ29pbnMgPSB0cnVlO1xuXHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhhdC5pbWcgPSB0aGlzLmdpZnRMaXN0W3RoaXMudGFiSW5kZXhdLmlkXG5cdFx0XHRcdHRoYXQuY291bnQgPSB0aGF0Lm51bVxuXHRcdFx0XHR0aGF0LnRvU2VuZCg1KVxuXHRcdFx0fSxcblx0XHRcdHRhYkl0ZW0oaW5kZXgpe1xuXHRcdFx0XHR0aGlzLnRhYkluZGV4ID0gaW5kZXg7XG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgZ2V0R2lmdCgpIHtcblx0XHRcdFx0Y29uc3QgeyBjb2RlLCBkYXRhIH0gPSBhd2FpdCB0aGlzLiRhcGkuZ2lmdExpc3Qoe1xuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXG5cdFx0XHRcdFx0bGltaXQ6IDk5OSxcblx0XHRcdFx0XHRwYWdlOiAxXG5cdFx0XHRcdH0pIFxuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XHJcblx0XHRcdFx0XHRpZihkYXRhLnRvdGFsID4wKXtcclxuXHRcdFx0XHRcdFx0ZGF0YS5saXN0Lm1hcChhPT57XHJcblx0XHRcdFx0XHRcdFx0aWYoYS5zcGVjaWFsRWZmZWN0cyl7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnN2Z2FTcmNMaXN0LnB1c2goYS5zcGVjaWFsRWZmZWN0cylcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy5naWZ0TGlzdCA9IGRhdGEubGlzdDtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuc3ZnYVNyY0xpc3QpXG5cdFx0XHRcdFx0dGhpcy5naWZ0TGlzdE51bSA9IE1hdGguY2VpbChkYXRhLnRvdGFsLzgpXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRjbG9zZUdpZnQoKXtcblx0XHRcdFx0dGhpcy5zaG93MSA9IGZhbHNlO1xuXHRcdFx0XHR0aGlzLmlzT3BlbiA9IGZhbHNlO1xuXHRcdFx0XHR0aGlzLmlzQmlhb3FpbmcgPSBmYWxzZTtcblx0XHRcdH0sXG5cdFx0XHRvcGVuR2lmdCgpe1xuXHRcdFx0XHRpZih0aGlzLnVzZXJJbmZvLmlzQmxhY2sgPT0gMSl7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogXCLlvZPliY3nlKjmiLfmmK/pu5HlkI3ljZXvvIzlt7LpmZDliLZcIixcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRyZXR1cm4gO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuc2hvdzEgPSB0cnVlO1xuXHRcdFx0XHRcblx0XHRcdFx0dGhpcy5pc09wZW4gPSBmYWxzZTtcblx0XHRcdFx0dGhpcy5pc0JpYW9xaW5nID0gZmFsc2U7XG5cdFx0XHR9LFxuXHRcdFx0Y2hhbmdlc3dpcGVyKGUpe1xuXHRcdFx0XHR0aGlzLmN1cnJlbnQgPSBlLmRldGFpbC5jdXJyZW50XG5cdFx0XHR9LFxuXHRcdFx0dG9FbmQoKSB7XG5cdFx0XHRcdHJlY29yZGVyTWFuYWdlci5zdG9wKCk7XG5cdFx0XHR9LFxuXHRcdFx0dG9Ub2dnbGUoKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHR0aGlzLmlzVG9nZ2xlID0gIXRoaXMuaXNUb2dnbGVcblx0XHRcdFx0dGhpcy5pc09wZW4gPSBmYWxzZTtcblx0XHRcdH0sXG5cdFx0XHQvL+ajgOafpeasoeaVsFxuXHRcdFx0YXN5bmMgdXNlckJhbGFuY2UoKSB7XG5cdFx0XHRcdGNvbnN0IHsgY29kZSwgZGF0YSB9ID0gYXdhaXQgdGhpcy4kYXBpLnVzZXJCYWxhbmNlKHtcblx0XHRcdFx0XHR1c2VySWQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkXG5cdFx0XHRcdH0pIFxuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0dGhpcy5iYWxhbmNlSW5mbyA9IGRhdGFcblx0XHRcdFx0XHQvKioqXG5cdFx0XHRcdFx0XCJ2aWRlb0NvaW5zXCI6IDAsIC8v6KeG6aKR5Y+v55So5pe26ZW/77ya5YiG6ZKfXG5cdFx0XHRcdFx0XCJ3b3JkVm9pY2VEaXNjb3VudFwiOiAwLCAvL+ivremfs+inhumikeaWh+Wtl+aKmOaJo++8mjDooajnpLrkuI3miZPmiphcblx0XHRcdFx0XHRcInZvaWNlQ29pbnNcIjogMCwgLy/or63pn7Plj6/nlKjml7bplb/vvJrliIbpkp9cblx0XHRcdFx0XHRcIndvcmRDb2luc1wiOiAwLCAvL+aWh+Wtl+WPr+WPkeaVsOmHj1xuXHRcdFx0XHRcdFwidXNlckJhbGFuY2VcIjogMSAvL+W9k+WJjeeUqOaIt+mHkeW4geS9meminVxuXHRcdFx0XHRcdCovXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHQvL+e7k+eulyB0eXBlOjEu6K+t6Z+zIDIu6KeG6aKRIDMu5paH5a2XIDTlm77niYcgNeekvOeJqTbmkK3orqpcblx0XHRcdGFzeW5jIHNvY2lhbENvbnN1bXB0aW9uKHR5cGUpIHtcblx0XHRcdFx0YXdhaXQgdGhpcy4kYXBpLnNvY2lhbENvbnN1bXB0aW9uKHtcblx0XHRcdFx0XHR1c2VySWQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxuXHRcdFx0XHRcdHNlbGxlcklkOiB0aGlzLmlkLFxuXHRcdFx0XHRcdHR5cGU6ICh0eXBlID09IDEgfHwgdHlwZSA9PSAyIHx8IHR5cGUgPT0gMyk/Mzp0eXBlLFxuXHRcdFx0XHRcdGR1cmF0aW9uOiBcIlwiXG5cdFx0XHRcdH0pIFxuXHRcdFx0fSxcblx0XHRcdHRvT3Blbigpe1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0Ly97XCJ1c2VySWRcIjpcIjEyM1wiLFwic2VsbGVySWRcIjpcIjQ1NzU2NzY4NzhcIixcInR5cGVcIjozfSAgIOWPkemAgeW+l+WGheWuue+8jHR5cGU6MS7or63pn7MgMi7op4bpopEgMy7mloflrZcgNOWbvueJhyA156S854mpNuaQreiuqlxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZygxMTEpXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHtcInVzZXJJZFwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxzZWxsZXJJZDp0aGlzLmlkLCB0eXBlOjMsXCJ0b3BpY1wiOlwibWVzc2FnZVwifSkpXG5cdFx0XHRcdC8vIHVuaS5zZW5kU29ja2V0TWVzc2FnZSh7ZGF0YTpKU09OLnN0cmluZ2lmeSh7XCJ1c2VySWRcIjogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsc2VsbGVySWQ6dGhpcy5pZCwgdHlwZTozLFwidG9waWNcIjpcIm1lc3NhZ2VcIn0pfSk7XG5cdFx0XHRcdFxuXHRcdFx0XHQvLyByZXR1cm4gO1xuXHRcdFx0XHQvLyBBUFDmo4Dmn6XmnYPpmZBcblx0XHRcdFx0aWYodW5pLmdldFN5c3RlbUluZm9TeW5jKCkucGxhdGZvcm0gPT0gJ2FuZHJvaWQnKSB7XG5cdFx0XHRcdFx0cGx1cy5hbmRyb2lkLmNoZWNrUGVybWlzc2lvbihcblx0XHRcdFx0XHRcdCdhbmRyb2lkLnBlcm1pc3Npb24uUkVDT1JEX0FVRElPJyxcblx0XHRcdFx0XHRcdGdyYW50ZWQgPT4ge1xuXHRcdFx0XHRcdFx0ICBpZiAoZ3JhbnRlZC5jaGVja1Jlc3VsdD09LTEpe1xuXHRcdFx0XHRcdFx0XHR0aGF0LnNob3c9dHJ1ZVxuXHRcdFx0XHRcdFx0ICB9ZWxzZXtcblx0XHRcdFx0XHRcdFx0dGhhdC5zaG93PWZhbHNlXG5cdFx0XHRcdFx0XHRcdHRoYXQudG9MdXlpbigpO1xuXHRcdFx0XHRcdFx0ICB9XG5cdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0ZXJyb3IgPT4ge1xuXHRcdFx0XHRcdFx0ICBjb25zb2xlLmVycm9yKCdFcnJvciBjaGVja2luZyBwZXJtaXNzaW9uOicsIGVycm9yLm1lc3NhZ2UpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCAgKTtcblx0XHRcdFx0XHQgdGhhdC5yZXF1ZXN0QW5kcm9pZFBlcm1pc3Npb24oJ2FuZHJvaWQucGVybWlzc2lvbi5SRUNPUkRfQVVESU8nKVxuXHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhhdC50b0x1eWluKCk7XG5cdFx0XHR9LFxuXHRcdFx0dG9MdXlpbigpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdGNsZWFySW50ZXJ2YWwodGltZXIpXG5cdFx0XHRcdHRoYXQuaXNQbGF5ID0gZmFsc2U7XG5cdFx0XHRcdHRpbWVyID0gc2V0SW50ZXJ2YWwoKCk9Pntcblx0XHRcdFx0XHR0aGF0LmNvdW50Kytcblx0XHRcdFx0fSwxMDAwKVxuXHRcdFx0XHRyZWNvcmRlck1hbmFnZXIuc3RhcnQoe1xuXHRcdFx0XHRcdGZvcm1hdDogXCJtcDNcIlxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdHJlY29yZGVyQXV0aE1vZGFsOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcblx0XHRcdFx0XHR0aXRsZTogJ+a4qemmqOaPkOekuicsXG5cdFx0XHRcdFx0Y29udGVudDogJ+S4uuS6hum6puWFi+mjjueahOWKn+iDve+8jOaIkeS7rOmcgOimgeeUs+ivt+m6puWFi+mjjuadg+mZkO+8jOivt+aCqOehruiupOaOiOadg++8jOWQpuWImeaXoOazleS9v+eUqOivpeWKn+iDvX4nLFxuXHRcdFx0XHRcdGNhbmNlbFRleHQ6ICflhbPpl60nLFxuXHRcdFx0XHRcdGNvbmZpcm1UZXh0OiAn5Y675o6I5p2DJyxcblx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xuXHRcdFx0XHRcdFx0dGhhdC5zaG93PWZhbHNlXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvbmZpcm0pIHtcblx0XHRcdFx0XHRcdFx0cGVybWlzaW9uLmdvdG9BcHBQZXJtaXNzaW9uU2V0dGluZygpXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGFzeW5jIHJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbihwZXJtaXNpb25JRCkge1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0dmFyIHJlc3VsdCA9IGF3YWl0IHBlcm1pc2lvbi5yZXF1ZXN0QW5kcm9pZFBlcm1pc3Npb24ocGVybWlzaW9uSUQpO1xuXHRcdFx0XHRpZihyZXN1bHQgIT0gMSl7XG5cdFx0XHRcdFx0dGhhdC5yZWNvcmRlckF1dGhNb2RhbCgpO1xuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHR0aGF0LnNob3cgPWZhbHNlXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHQvL+S4iuS8oOivremfs1xuXHRcdFx0dXBsb2FkQXVkaW8oZmlsZVBhdGgpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdGlmKHRoYXQudXNlckluZm8uaXNCbGFjayA9PSAxKXtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiBcIuW9k+WJjeeUqOaIt+aYr+m7keWQjeWNle+8jOW3sumZkOWItlwiLFxuXHRcdFx0XHRcdFx0cG9zaXRpb246IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuc2V4ID09IDEpe1xuXHRcdFx0XHRcdGlmKHRoYXQuYmFsYW5jZUluZm8ud29yZENvaW5zIDw9IDApe1xuXHRcdFx0XHRcdFx0dGhhdC5pc0NvaW5zPXRydWU7XG5cdFx0XHRcdFx0XHRyZXR1cm4gO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHR1bmkudXBsb2FkRmlsZSh7XG5cdFx0XHRcdFx0bmFtZTogJ2ZpbGUnLFxuXHRcdFx0XHRcdHVybDogdGhhdC4kYmFzZVVybCsnL3Byb2QtYXBpL2NvbW1vbi91cGxvYWQnLFxuXHRcdFx0XHRcdGZpbGVQYXRoLFxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IHtjb2RlLCBmaWxlTmFtZSwgdXJsLCBtc2d9ID0gSlNPTi5wYXJzZShyZXMuZGF0YSk7XG5cdFx0XHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0XHRcdHRoYXQuaW1nID0gdXJsXG5cdFx0XHRcdFx0XHRcdHRoYXQudG9TZW5kKDEpXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcdFxuXHRcdFx0fSxcblx0XHRcdC8v5LiK5Lyg6KeG6aKRXG5cdFx0XHR1cGxvYWRWaWRlbygpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdGlmKHRoYXQudXNlckluZm8uaXNCbGFjayA9PSAxKXtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiBcIuW9k+WJjeeUqOaIt+aYr+m7keWQjeWNle+8jOW3sumZkOWItlwiLFxuXHRcdFx0XHRcdFx0cG9zaXRpb246IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdH1cblx0XHRcdFx0dW5pLmNob29zZVZpZGVvKHtcblx0XHRcdFx0XHRjb3VudDogMSxcblx0XHRcdFx0XHRzb3VyY2VUeXBlOiBbXCJhbGJ1bVwiLCBcImNhbWVyYVwiXSxcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzMSkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzMSlcblx0XHRcdFx0XHRcdHRoYXQuY291bnQgPSByZXMxLmR1cmF0aW9uO1xuXHRcdFx0XHRcdFx0aWYodGhhdC51c2VySW5mby5pc0JsYWNrID09IDEpe1xuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogXCLlvZPliY3nlKjmiLfmmK/pu5HlkI3ljZXvvIzlt7LpmZDliLZcIixcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLnNleCA9PSAxKXtcblx0XHRcdFx0XHRcdFx0aWYodGhhdC5iYWxhbmNlSW5mby53b3JkQ29pbnMgPD0gMCl7XG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5pc0NvaW5zPXRydWU7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0dW5pLnVwbG9hZEZpbGUoe1xuXHRcdFx0XHRcdFx0XHRuYW1lOiAnZmlsZScsXG5cdFx0XHRcdFx0XHRcdHVybDogdGhhdC4kYmFzZVVybCsnL3Byb2QtYXBpL2NvbW1vbi91cGxvYWQnLFxuXHRcdFx0XHRcdFx0XHRmaWxlUGF0aDogcmVzMS50ZW1wRmlsZVBhdGgsXG5cdFx0XHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRjb25zdCB7Y29kZSwgZmlsZU5hbWUsIHVybCwgbXNnfSA9IEpTT04ucGFyc2UocmVzLmRhdGEpO1xuXHRcdFx0XHRcdFx0XHRcdGlmKGNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuaW1nID0gdXJsXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnRvU2VuZCgyKVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0ZmFpbDogKGVycikgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycilcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSk7XHRcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGZhaWwoZXJyKXtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwiZmFpbFwiLGVycilcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSxcblx0XHRcdC8v5LiK5Lyg5Zu+54mHXG5cdFx0XHR1cGxvYWRJbWcoKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzXG5cdFx0XHRcdGlmKHRoYXQudXNlckluZm8uaXNCbGFjayA9PSAxKXtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiBcIuW9k+WJjeeUqOaIt+aYr+m7keWQjeWNle+8jOW3sumZkOWItlwiLFxuXHRcdFx0XHRcdFx0cG9zaXRpb246IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdH1cblx0XHRcdFx0dW5pLmNob29zZUltYWdlKHtcblx0XHRcdFx0XHRjb3VudDogMSwgLy/lj6/ku6XmjIflrprmmK/ljp/lm77ov5jmmK/ljovnvKnlm77vvIzpu5jorqTkuozogIXpg73mnIlcblx0XHRcdFx0XHRzb3VyY2VUeXBlOiBbXCJhbGJ1bVwiLCBcImNhbWVyYVwiXSxcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzMSkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzMSlcblx0XHRcdFx0XHRcdGlmKHRoYXQudXNlckluZm8uaXNCbGFjayA9PSAxKXtcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5b2T5YmN55So5oi35piv6buR5ZCN5Y2V77yM5bey6ZmQ5Yi2XCIsXG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5zZXggPT0gMSl7XG5cdFx0XHRcdFx0XHRcdGlmKHRoYXQuYmFsYW5jZUluZm8ud29yZENvaW5zIDw9IDApe1xuXHRcdFx0XHRcdFx0XHRcdHRoYXQuaXNDb2lucz10cnVlO1xuXHRcdFx0XHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHVuaS51cGxvYWRGaWxlKHtcblx0XHRcdFx0XHRcdFx0bmFtZTogJ2ZpbGUnLFxuXHRcdFx0XHRcdFx0XHR1cmw6IHRoYXQuJGJhc2VVcmwrJy9wcm9kLWFwaS9jb21tb24vdXBsb2FkJyxcblx0XHRcdFx0XHRcdFx0ZmlsZVBhdGg6IHJlczEudGVtcEZpbGVQYXRoc1swXSxcblx0XHRcdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdC8vMS7or63pn7MgMi7op4bpopEgMy7mloflrZcgNOWbvueJhyA156S854mpXG5cdFx0XHRcdFx0XHRcdFx0Y29uc3Qge2NvZGUsIGZpbGVOYW1lLCB1cmwsIG1zZ30gPSBKU09OLnBhcnNlKHJlcy5kYXRhKTtcblx0XHRcdFx0XHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LmltZyA9IHVybFxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC50b1NlbmQoNClcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlcnIpXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pO1x0XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRmYWlsKGVycil7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcImZhaWxcIixlcnIpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0sXHJcblx0XHRcdFxyXG5cdFx0XHR0b1NlbGVjdChtc2cpe1xyXG5cdFx0XHRcdHRoaXMuY29udGVudCA9IG1zZztcclxuXHRcdFx0XHR0aGlzLnRvU2VuZCgzKTtcclxuXHRcdFx0fSxcblx0XHRcdC8vIOWPkemAgeW+l+WGheWuue+8jHR5cGU6MS7or63pn7MgMi7op4bpopEgMy7mloflrZcgNOWbvueJhyA156S854mpNuaQreiuqlxuXHRcdFx0YXN5bmMgdG9TZW5kKHR5cGUpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdGlmKHR5cGUgPT0gMyl7XG5cdFx0XHRcdFx0aWYodGhhdC51c2VySW5mby5pc0JsYWNrID09IDEpe1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuW9k+WJjeeUqOaIt+aYr+m7keWQjeWNle+8jOW3sumZkOWItlwiLFxuXHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuc2V4ID09IDEpe1xuXHRcdFx0XHRcdFx0aWYodGhhdC5iYWxhbmNlSW5mby53b3JkQ29pbnMgPD0gMSl7XG5cdFx0XHRcdFx0XHRcdHRoYXQuaXNDb2lucz10cnVlO1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4gO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCBzdmdhU3JjID0gbnVsbFxyXG5cdFx0XHRcdGlmKHRoYXQuZ2lmdExpc3QgJiYgdGhhdC5naWZ0TGlzdC5sZW5ndGggPiAwKXtcclxuXHRcdFx0XHRcdHN2Z2FTcmMgPSB0aGF0LmdpZnRMaXN0W3RoYXQudGFiSW5kZXhdLnNwZWNpYWxFZmZlY3RzXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoYXQuc3ZnYVNyYylcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhzdmdhU3JjKVxyXG5cdFx0XHRcdHRoYXQuJHJlZnMuY1N2Z2FSZWYuY2FsbChcImNsZWFyXCIpO1xyXG5cdFx0XHRcdHRoYXQuc3ZnYVNyYyA9IHN2Z2FTcmNcclxuXHRcdFx0XHR0aGF0LmlzU3ZnYSA9IHRydWU7XHJcblx0XHRcdFx0dGhhdC4kcmVmcy5jU3ZnYVJlZi5jYWxsKFwic3RhcnRBbmltYXRpb25cIilcblx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0Y29uc3QgeyBjb2RlLCBkYXRhIH0gPSBhd2FpdCB0aGlzLiRhcGkuY2hhdCh7XG5cdFx0XHRcdFx0dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcblx0XHRcdFx0XHRzZWxsZXJJZDogdGhhdC5pZCxcblx0XHRcdFx0XHR0eXBlLFxuXHRcdFx0XHRcdG51bTogdHlwZSA9PSA1P3RoYXQuY291bnQ6KHRoYXQuY291bnQrMSksXG5cdFx0XHRcdFx0bWVzc2FnZTogdHlwZSA9PSAzP3RoYXQuY29udGVudDogdGhhdC5pbWdcblx0XHRcdFx0fSkgXG5cdFx0XHRcdGlmKGNvZGUgPT0gMjAwKXtcclxuXHRcdFx0XHRcdGxldCBzdmdhU3JjID0gbnVsbFxyXG5cdFx0XHRcdFx0aWYodGhhdC5naWZ0TGlzdCAmJiB0aGF0LmdpZnRMaXN0Lmxlbmd0aCA+IDApe1xyXG5cdFx0XHRcdFx0XHRzdmdhU3JjID0gdGhhdC5naWZ0TGlzdFt0aGF0LnRhYkluZGV4XS5zcGVjaWFsRWZmZWN0c1xyXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHVuaS5zZW5kU29ja2V0TWVzc2FnZSh7ZGF0YTpKU09OLnN0cmluZ2lmeSh7XG5cdFx0XHRcdFx0XHRcInVzZXJJZFwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcblx0XHRcdFx0XHRcdHNlbGxlcklkOnRoYXQuaWQsIFxuXHRcdFx0XHRcdFx0dHlwZSxcblx0XHRcdFx0XHRcdG51bTogKHRoYXQuY291bnQrMSksXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAodHlwZSA9PSAzP3RoYXQuY29udGVudDogdGhhdC5pbWcpLFxyXG5cdFx0XHRcdFx0XHRzdmdhU3JjOiBzdmdhU3JjP3N2Z2FTcmM6JycsXG5cdFx0XHRcdFx0XHRcInRvcGljXCI6XCJtZXNzYWdlXCJcblx0XHRcdFx0XHR9KX0pXG5cdFx0XHRcdFx0aWYodHlwZT09NSl7XHJcblx0XHRcdFx0XHRcdGlmKHN2Z2FTcmMpe1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQuc3ZnYVNyYyA9IHN2Z2FTcmNcclxuXHRcdFx0XHRcdFx0XHR0aGF0LmlzU3ZnYSA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC4kcmVmcy5jU3ZnYVJlZi5jYWxsKFwiY2xlYXJcIik7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC4kcmVmcy5jU3ZnYVJlZi5jYWxsKFwic3RhcnRBbmltYXRpb25cIilcclxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0dGhhdC5naWZ0R2l2aW5nKCk7XG5cdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdHRoYXQuc29jaWFsQ29uc3VtcHRpb24odHlwZSk7XHJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhhdC5pc09wZW4gPSBmYWxzZTtcblx0XHRcdFx0XHR0aGF0LmlzQmlhb3FpbmcgPSBmYWxzZTtcblx0XHRcdFx0XHR0aGF0LnNob3cxID0gZmFsc2U7XG5cdFx0XHRcdFx0dGhhdC51c2VyQmFsYW5jZSgpO1xyXG5cdFx0XHRcdFx0dGhhdC5lZGl0b3JDdHguY2xlYXIoKTtcblx0XHRcdFx0XHR0aGF0LmNvbnRlbnQ9XCJcIlxuXHRcdFx0XHRcdHRoYXQuY291bnQgPSAwO1xuXHRcdFx0XHRcdHRoYXQubnVtID0gMTtcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdC8v5pWw57uE5a+56LGh5Y676YeNXG5cdFx0XHRhcnJheVVuaXF1ZSAoYXJyLCBuYW1lKSB7XG5cdFx0XHRcdHZhciBoYXNoID0ge307XG5cdFx0XHRcdHJldHVybiBhcnIucmVkdWNlKGZ1bmN0aW9uIChpdGVtLCBuZXh0KSB7XG5cdFx0XHRcdFx0aGFzaFtuZXh0W25hbWVdXVxuXHRcdFx0XHRcdFx0PyBcIlwiXG5cdFx0XHRcdFx0XHQ6IChoYXNoW25leHRbbmFtZV1dID0gdHJ1ZSAmJiBpdGVtLnB1c2gobmV4dCkpO1xuXHRcdFx0XHRcdHJldHVybiBpdGVtO1xuXHRcdFx0XHR9LCBbXSk7XG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgZ2V0Q2hhdExpc3QodHlwZSl7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHRjb25zdCB7IGNvZGUsIGRhdGEgLCBtc2cgfSA9IGF3YWl0IHRoaXMuJGFwaS5maW5kQ2hhdExpc3Qoe1xuXHRcdFx0XHRcdGxpbWl0OiAxMCwgXG5cdFx0XHRcdFx0cGFnZTogdGhpcy5wYWdlLFxuXHRcdFx0XHRcdGZvcm1Vc2VySWQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxuXHRcdFx0XHRcdHRvVXNlcklkOiB0aGlzLmlkfSk7XG5cdFx0XHRcdGlmKGNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHR0aGlzLnRvdGFsPSBkYXRhLnRvdGFsO1xuXHRcdFx0XHRcdGlmKHR5cGUgPT0gMSl7XG5cdFx0XHRcdFx0XHR0aGlzLmNoYXRMaXN0PSB0aGF0LmFycmF5VW5pcXVlKFsuLi5kYXRhLmxpc3QsLi4udGhpcy5jaGF0TGlzdF0sJ21zZ0lkJyk7XG5cdFx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0XHR0aGlzLmNoYXRMaXN0PSBkYXRhLmxpc3Rcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYodHlwZSA9PSAxKXtcblx0XHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHNldFRpbWVvdXQoKCk9Pntcblx0XHRcdFx0XHRcdGxldCB3cmFwcGVyID0gdW5pLmNyZWF0ZVNlbGVjdG9yUXVlcnkoKS5pbih0aGlzKS5zZWxlY3QoJyN3cmFwcGVyJyk7XG5cdFx0XHRcdFx0XHR3cmFwcGVyLmZpZWxkcyh7XG5cdFx0XHRcdFx0XHRcdHNpemU6IHRydWUsXG5cdFx0XHRcdFx0XHRcdHNjcm9sbE9mZnNldDogdHJ1ZVxuXHRcdFx0XHRcdFx0fSwgZGF0YSA9PiB7XG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwid3JhcHBlclwiLGRhdGEpXG5cdFx0XHRcdFx0XHRcdHRoYXQud3JhcHBlclNjcm9sbEhlaWdodCA9IGRhdGEuc2Nyb2xsSGVpZ2h0KjZcblx0XHRcdFx0XHRcdH0pLmV4ZWMoKVxuXHRcdFx0XHRcdFx0Ly8gO1xuXHRcdFx0XHRcdH0sMTAwKVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgZ2V0VXNlckluZm8oKSB7XG5cdFx0XHRcdGNvbnN0IHsgY29kZSwgZGF0YSAsIG1zZyB9ID0gYXdhaXQgdGhpcy4kYXBpLmZpbmRPdGhlclVzZXJJbmZvKHt1c2VySWQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLHNlbGxlcklkOiB0aGlzLmlkLH0pO1xuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0dGhpcy51c2VySW5mbyA9IGRhdGE7XG5cdFx0XHRcdFx0dGhpcy51c2VySW5mby54aWFuZ2NlID0gW107XHJcblx0XHRcdFx0XHRpZihkYXRhLnJlc2VydmVkMSl7XHJcblx0XHRcdFx0XHRcdHRoaXMudXNlckluZm8ueGlhbmdjZSA9IGRhdGEucmVzZXJ2ZWQxLnNwbGl0KFwiLFwiKVxyXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuaXRlbUxpc3QgPSBbXCLmn6XnnItUQeeahOS4u+mhtVwiLCAoZGF0YS5pc0NhcmUgPT0gMD9cIuWFs+azqFwiOlwi5Y+W5raI5YWz5rOoXCIpLCBcIuS4vuaKpVwiLCAoZGF0YS5pc0JsYWNrID09IDA/XCLliqDlhaXpu5HlkI3ljZVcIjpcIuenu+mZpOm7keWQjeWNlVwiKV07XG5cdFx0XHRcdFx0dGhpcy50aXRsZSA9IGRhdGEubmlja25hbWUrKGRhdGEuaXNPbmxpbmUgPT0gMT9cIl8o5Zyo57q/KVwiOlwiXyjnprvnur8pXCIpO1xyXG5cdFx0XHRcdFx0aWYoZGF0YS5vcGVycm9sZSA9PSAwKXtcclxuXHRcdFx0XHRcdFx0dGhpcy5nZXRDb25maWdEYXRhKCk7XHJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6IG1zZyxcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdFxuXHRcdFx0Ly/lrZflhbjmn6Xor6Jcblx0XHRcdGFzeW5jIGdldENvbmZpZ0RhdGEoKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHRsZXQgcmVzMSA9IGF3YWl0IHRoYXQuJGFwaS5nZXRDb25maWdEYXRhKHtkaWN0VHlwZTogJ0NPTkZJR19NRVNTQUdFX05PVElDRSd9KTtcblx0XHRcdFx0dGhhdC5saXN0ID0gW3JlczEuZGF0YS5jb250ZW50XVxuXHRcdFx0fSxcblx0XHRcdC8v5piv5ZCm5YWz5rOoXG5cdFx0XHRhc3luYyB0b0NhcmVPckNhbmNlbCgpIHtcblx0XHRcdFx0Y29uc3QgeyBjb2RlLCBkYXRhICwgbXNnIH0gPSBhd2FpdCB0aGlzLiRhcGkuY2FyZU9yQ2FuY2VsKHtcblx0XHRcdFx0XHR1c2VySWQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxuXHRcdFx0XHRcdHNlbGxlcklkOiB0aGlzLmlkLFxuXHRcdFx0XHRcdHR5cGU6IHRoaXMudXNlckluZm8uaXNDYXJlID09IDA/MToyXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogdGhpcy51c2VySW5mby5pc0NhcmUgPT0gMD9cIuWFs+azqOaIkOWKn1wiOlwi5Y+W5raI5YWz5rOoXCJcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdHNldFRpbWVvdXQoKCk9Pntcblx0XHRcdFx0XHRcdHRoaXMuZ2V0VXNlckluZm8oMSlcblx0XHRcdFx0XHR9LDIwMDApXG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6IG1zZyxcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdC8v5piv5ZCm5Yqg5YWl6buR5ZCN5Y2VXG5cdFx0XHRhc3luYyB0b1lpY2h1KCkge1xuXHRcdFx0XHRjb25zdCB7IGNvZGUsIGRhdGEgfSA9IGF3YWl0IHRoaXMuJGFwaS5hZGRPclJlbW92ZUJsYWNrbGlzdCh7XG5cdFx0XHRcdFx0dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcblx0XHRcdFx0XHRzZWxsZXJJZDogdGhpcy5pZCxcblx0XHRcdFx0XHR0eXBlOiB0aGlzLnVzZXJJbmZvLmlzQmxhY2sgPT0gMD8xOjJcblx0XHRcdFx0fSlcblx0XHRcdFx0aWYoY29kZSA9PSAyMDApe1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6dGhpcy51c2VySW5mby5pc0JsYWNrID09IDE/XCLnp7vpmaTmiJDlip9cIjpcIuWKoOWFpeaIkOWKn1wiXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XG5cdFx0XHRcdFx0XHR0aGlzLmdldEluZm8oKTtcblx0XHRcdFx0XHR9LDIwMDApXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRcblx0XHRcdC8v6KeG6aKR6K+t6Z+z6K+05piOXG5cdFx0XHRhc3luYyBvcGVuU2hpcGluZygpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdGNvbnN0IHtjb2RlLCBkYXRhIH0gPSBhd2FpdCB0aGF0LiRhcGkuY29zdERlc2NyaXB0aW9uKHt9KTtcblx0XHRcdFx0aWYoY29kZSA9PSAyMDApe1xuXHRcdFx0XHRcdHVuaS5zaG93QWN0aW9uU2hlZXQoe1xuXHRcdFx0XHRcdFx0dGl0bGU6IFwi6K+t6Z+zL+inhumikemAmuivnVwiLFxuXHRcdFx0XHRcdFx0aXRlbUxpc3Q6IFtcIuivremfs+mAmuivne+8iFwiK2RhdGEudm9pY2VDb2lucytcIumHkeW4gS8x5YiG6ZKf77yJXCIsXCLop4bpopHpgJror53vvIhcIitkYXRhLnZpZGVvQ29pbnMrXCLph5HluIEvMeWIhumSn++8iVwiXSxcblx0XHRcdFx0XHRcdHN1Y2Nlc3MocmVzKXtcblx0XHRcdFx0XHRcdFx0aWYocmVzLnRhcEluZGV4ID09IDApe1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYodGhhdC51c2VySW5mby5pc09ubGluZSA9PSAwKXtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5b2T5YmN55So5oi35bey56a757q/XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFwiYm90dG9tXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiA7XHJcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0aWYodGhhdC51c2VySW5mby5pc0JsYWNrID09IDEpe1xuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuW9k+WJjeeUqOaIt+aYr+m7keWQjeWNle+8jOW3sumZkOWItlwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuc2V4ID09IDEpe1xuXHRcdFx0XHRcdFx0XHRcdFx0aWYodGhhdC5iYWxhbmNlSW5mby51c2VyQmFsYW5jZSA8PSAwKXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5pc0NvaW5zPXRydWU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5pc1RvZ2dsZSA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0LmlzT3BlbiA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5pc0JpYW9xaW5nID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2VuZFNvY2tldE1lc3NhZ2Uoe2RhdGE6SlNPTi5zdHJpbmdpZnkoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcInVzZXJJZFwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0c2VsbGVySWQ6IHRoYXQuaWQsXHJcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IDE4LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcInRvcGljXCI6XCJtZXNzYWdlXCJcclxuXHRcdFx0XHRcdFx0XHRcdH0pfSlcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9waXBlaS9zaGlwaW4vZGV0YWlsP3R5cGU9MyZpZD1cIit0aGF0LmlkXHJcblx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHR9ZWxzZSBpZihyZXMudGFwSW5kZXggPT0gMSl7XHJcblx0XHRcdFx0XHRcdFx0XHRpZih0aGF0LnVzZXJJbmZvLmlzT25saW5lID09IDApe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogXCLlvZPliY3nlKjmiLflt7Lnprvnur9cIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcclxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRpZih0aGF0LnVzZXJJbmZvLmlzQmxhY2sgPT0gMSl7XG5cdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5b2T5YmN55So5oi35piv6buR5ZCN5Y2V77yM5bey6ZmQ5Yi2XCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcblx0XHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5zZXggPT0gMSl7XG5cdFx0XHRcdFx0XHRcdFx0XHRpZih0aGF0LmJhbGFuY2VJbmZvLnVzZXJCYWxhbmNlIDw9IDApe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGF0LmlzQ29pbnM9dHJ1ZTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0LmlzVG9nZ2xlID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXQuaXNPcGVuID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGF0LmlzQmlhb3FpbmcgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zZW5kU29ja2V0TWVzc2FnZSh7ZGF0YTpKU09OLnN0cmluZ2lmeSh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFwidXNlcklkXCI6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzZWxsZXJJZDogdGhhdC5pZCwgXHJcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IDE5LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcInRvcGljXCI6XCJtZXNzYWdlXCJcclxuXHRcdFx0XHRcdFx0XHRcdH0pfSlcblx0XHRcdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvcGlwZWkvc2hpcGluL2RldGFpbD90eXBlPTQmaWQ9XCIrdGhhdC5pZFxyXG5cdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdFx0XG5cdFx0XHR9LFxuXHRcdFx0dG9TaGVldDEoKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHR0aGF0LmdldGNvc3REZXNjcmlwdGlvbigpO1xuXHRcdFx0XHRcblx0XHRcdH0sXG5cdFx0XHR0b1NoZWV0KCkge1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0dW5pLnNob3dBY3Rpb25TaGVldCh7XG5cdFx0XHRcdFx0aXRlbUxpc3Q6IHRoaXMuaXRlbUxpc3QsXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpe1xuXHRcdFx0XHRcdFx0aWYocmVzLnRhcEluZGV4ID09IDApe1xuXHRcdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9wZWl3YW4vZGV0YWlsP2lkPVwiK3RoYXQuaWRcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdH1lbHNlIGlmKHJlcy50YXBJbmRleCA9PSAxKXtcblx0XHRcdFx0XHRcdFx0dGhhdC50b0NhcmVPckNhbmNlbCgpXG5cdFx0XHRcdFx0XHR9ZWxzZSBpZihyZXMudGFwSW5kZXggPT0gMil7XG5cdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3VzZXJzL2ZlZWRiYWNrL2luZGV4P3R5cGU9MiZpZD1cIit0aGF0LmlkXG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHR9ZWxzZSBpZihyZXMudGFwSW5kZXggPT0gMyl7XG5cdFx0XHRcdFx0XHRcdHRoYXQudG9ZaWNodSgpXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGlucHV0VmFsdWUoZSkge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhlKVxuXHRcdFx0fSxcblx0XHR9LFxyXG5cdFx0ZGVzdHJveWVkKCkge1xyXG5cdFx0XHR1bmkuJG9mZihcInRvQ2hhdE9ialwiKVxyXG5cdFx0fVxuXHR9XG48L3NjcmlwdD5cblxuPHN0eWxlIHNjb3BlZCBsYW5nPVwic2Nzc1wiPlxuLmNoYXR7XG5cdC5naWZ0UG9wdXB7XG5cdFx0cGFkZGluZzogNDBycHggMjVycHg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0LnRpdGxle1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGZvbnQtc2l6ZTogMzZycHg7XG5cdFx0XHRjb2xvcjogIzMzMzMzMztcblx0XHRcdGltYWdle1xuXHRcdFx0XHR3aWR0aDogNTBycHg7XG5cdFx0XHRcdGhlaWdodDogNTBycHg7XG5cdFx0XHRcdHJpZ2h0OiAyMHJweDtcblx0XHRcdFx0dG9wOiA0MHJweDtcblx0XHRcdFx0ei1pbmRleDogMjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQuY29udGVudHtcblx0XHRcdHdpZHRoOiAxMTAlO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdG1hcmdpbi1ib3R0b206IDQwcnB4O1xuXHRcdFx0c3dpcGVye1xuXHRcdFx0XHRoZWlnaHQ6IDQ1MHJweDtcblx0XHRcdH1cblx0XHRcdC5pbmRpY2F0b3ItZG90c3tcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHQuaW5kaWNhdG9yLWRvdHMtaXRlbXtcblx0XHRcdFx0XHR3aWR0aDogMTJycHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMnJweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjMDAwMDAwO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjQ7XG5cdFx0XHRcdFx0bWFyZ2luOiAwIDZycHg7XG5cdFx0XHRcdFx0Ji5pbmRpY2F0b3ItZG90cy1hY3RpdmV7XG5cdFx0XHRcdFx0XHR3aWR0aDogMzBycHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDEycnB4O1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogIzAwMDAwMDtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDZycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuaXRlbXtcblx0XHRcdFx0d2lkdGg6IDE2NnJweDtcblx0XHRcdFx0aGVpZ2h0OiAxODBycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNGNUY1RjU7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xuXHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjRjVGNUY1O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdHBhZGRpbmc6IDVycHg7XG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDEzcnB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAzMHJweDtcblx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0aGVpZ2h0OiA5MHJweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQudHh0e1xuXHRcdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogNXJweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQubnVte1xuXHRcdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDIycnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjOTk5O1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDVycHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji1vbntcblx0XHRcdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5mZHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNFQUVBRUE7XG5cdFx0XHRwYWRkaW5nLXRvcDogNDBycHg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHQuYXtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHR9XG5cdFx0XHQuYntcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHJweDtcblx0XHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGltYWdle1xuXHRcdFx0XHRcdHdpZHRoOiA0MHJweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDQwcnB4O1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IC0xcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5je1xuXHRcdFx0XHRpbnB1dHtcblx0XHRcdFx0XHR3aWR0aDogMTY2cnB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGRkZGRkY7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogODBycHg7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNDQ0NDQ0M7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRoZWlnaHQ6IDgwcnB4O1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5idG57XG5cdFx0XHRcdHdpZHRoOiAxNjZycHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA4MHJweDtcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICMwMDAwMDAsICMzRDNCMzgpO1xuXHRcdFx0XHRib3gtc2hhZG93OiAwcHggNHJweCAxOHJweCAwcHggcmdiYSg0Miw0MSwzOSwwLjM0KTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogODBycHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0aGVpZ2h0OiA4MHJweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0Y29sb3I6ICNGRkZGRkY7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYtbmF2YmFye1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdC5zbG90LXdyYXB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDMwcnB4O1xuXHRcdH1cblx0fVxuXHQmLWhke1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogNzBycHg7XG5cdFx0YmFja2dyb3VuZDogI0ZGRUJFQjtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0Y29sb3I6ICMyMjIyMjI7XG5cdFx0bGluZS1oZWlnaHQ6IDcwcnB4O1xuXHRcdHBhZGRpbmc6IDAgMTBycHg7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdH1cblx0Ji1iZHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwIDI1cnB4O1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHQvKiAjaWZkZWYgQVBQLVBMVVMgKi9cclxuXHRcdC8qICNlbmRpZiAqL1xuXHRcdGhlaWdodDogY2FsYygxMDB2aCAtIDE5MHJweCAtIDg4cnB4IC0gNzBycHgpO1xuXHRcdCYtb257XG5cdFx0XHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAxOTBycHggLSA4OHJweCAtIDcwcnB4IC0gMjYwcnB4KTtcblx0XHR9XG5cdFx0Ji1hY3RpdmV7XG5cdFx0XHRoZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjBycHggLSA4OHJweCAtIDcwcnB4KTtcblx0XHR9XG5cdFx0Ji1hY3RpdmUxe1xuXHRcdFx0aGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTIwcnB4IC0gODhycHggLSA3MHJweCAtIDI2MHJweCk7XG5cdFx0fVxyXG5cdFx0LmNoYW5neW9uZ3tcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0Lmxpe1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMjBycHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDUwcnB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICMwMDAwMDA7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBycHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC8vIOS4quS6uuS/oeaBr1xyXG5cdFx0LmluZm97XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdFx0cGFkZGluZzogMjBycHg7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xyXG5cdFx0XHQuaGR7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdC5hdmF0YXJ7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwcnB4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDBycHg7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE1cnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQudXNlcntcclxuXHRcdFx0XHRcdGZsZXg6IDE7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHQuY3tcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDE2NXJweDtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiA5NXJweDtcclxuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICNGRkZGRkY7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybChAL3N0YXRpYy9pY29uLWJvZmFuZy5wbmcpIGNlbnRlciB0b3Agbm8tcmVwZWF0O1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA4OHJweDtcclxuXHRcdFx0XHRcdFx0dGV4dC1pbmRlbnQ6IDkwcnB4O1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHRcdHJpZ2h0OiAtMjBycHg7XHJcblx0XHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdFx0ei1pbmRleDogMjtcclxuXHRcdFx0XHRcdFx0Ji1vbntcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoQC9zdGF0aWMvaWNvbi16YW50aW5nLnBuZykgY2VudGVyIHRvcCBuby1yZXBlYXQ7XHJcblx0XHRcdFx0XHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQudHdve1xyXG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRcdFx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRcdFx0XHRcdC50YWd7XHJcblx0XHRcdFx0XHRcdFx0cGFkZGluZzogMCAyMHJweDtcclxuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICM2NjY2NjY7XHJcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDQwcnB4O1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDQwcnB4O1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGMkYyRjI7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMjBycHg7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC5vbmV7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdC50aXRsZXtcclxuXHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzZycHg7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICMyMjIyMjI7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0LnZpcHtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogNjBycHg7XHJcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDMycnB4O1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IHVybChAL3N0YXRpYy92aXAtYmcucG5nKSBjZW50ZXIgdG9wIG5vLXJlcGVhdDtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMHJweDtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdFx0XHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQucGVpd2Fte1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDBycHg7XHJcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDQwcnB4O1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgIzAwMDAwMCwgIzNEM0IzOCk7XHJcblx0XHRcdFx0XHRcdFx0Ym94LXNoYWRvdzogMHB4IDRycHggMThycHggMHB4IHJnYmEoNDIsNDEsMzksMC4zNCk7XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0XHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMnJweDtcclxuXHRcdFx0XHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQuc2V4e1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuXHRcdFx0XHRcdFx0XHR3aWR0aDogMzBycHg7XHJcblx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAzMHJweDtcclxuXHRcdFx0XHRcdFx0XHRpbWFnZXtcclxuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAzMHJweDtcclxuXHRcdFx0XHRcdFx0XHRcdGhlaWdodDogMzBycHg7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdC5iZHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAyMHJweDtcclxuXHRcdFx0XHQuZHtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICMyMjIyMjI7XHJcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQubGlzdHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRpbWFnZXtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDE1MHJweDtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxNTBycHg7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMjBycHg7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xyXG5cdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxke1xyXG5cdFx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQudGFne1xyXG5cdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDMwcnB4O1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogNTBycHg7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogNTBycHg7XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICMwMDAwMDA7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwcnB4O1xyXG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAyMHJweDtcclxuXHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZHtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxuXHRcdC5pdGVte1xuXHRcdFx0cGFkZGluZzogMjBycHggMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdC5mbHtcblx0XHRcdFx0d2lkdGg6IDgwcnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDgwcnB4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMjBycHg7XG5cdFx0XHRcdGltYWdle1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5mcntcblx0XHRcdFx0ZmxleDogMTtcblx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0Lm5hbWV7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjMjIyMjIyO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHR0ZXh0e1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMHJweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA0MHJweDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjMDAwMDAwLCAjM0QzQjM4KTtcblx0XHRcdFx0XHRcdGJveC1zaGFkb3c6IDBweCA0cnB4IDE4cnB4IDBweCByZ2JhKDQyLDQxLDM5LDAuMzQpO1xuXHRcdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNDBycHg7XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMnJweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMzBycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC52aWRlb3tcblx0XHRcdFx0XHR3aWR0aDogNDAwcnB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGRkZGRkY7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XG5cdFx0XHRcdFx0cGFkZGluZzogMjBycHg7XG5cdFx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmltZ3tcblx0XHRcdFx0XHR3aWR0aDogNDAwcnB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGRkZGRkY7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XG5cdFx0XHRcdFx0cGFkZGluZzogMjBycHg7XG5cdFx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LnlpbnBpbmd7XG5cdFx0XHRcdFx0d2lkdGg6IDIwMHJweDtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuXHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDIwcnB4O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRjb2xvcjogIzAwMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcnB4O1xuXHRcdFx0XHRcdGltYWdle1xuXHRcdFx0XHRcdFx0d2lkdGg6IDUwcnB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA1MHJweDtcblx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogMjBycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5naWZ0e1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNHJweDtcblx0XHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDRweDtcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XG5cdFx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0XHR3aWR0aDogNjBycHg7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDAgMTBycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRleHR7XG5cdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTBycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5kZXNje1xuXHRcdFx0XHRcdG1heC13aWR0aDogNDAwcnB4O1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGRkZGRkY7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMzBycHggMHB4IDMwcnB4IDMwcnB4O1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdFx0XHRcdHBhZGRpbmc6IDMwcnB4O1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0XHRjb2xvcjogIzIyMjIyMjtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDhycHg7XG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdCYtb257XG5cdFx0XHRcdC5mbHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMjBycHg7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC5mcntcblx0XHRcdFx0XHQuZGVzY3tcblx0XHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHRcdGJhY2tncm91bmQ6ICNFQUVCRUI7XG5cdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwcHggMzBycHggMzBycHggMzBycHg7XG5cdFx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC52aWRlb3tcblx0XHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LmltZ3tcblx0XHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQueWlucGluZ3tcclxuXHRcdFx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC52aWRlb3tcblx0XHRcdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0LmdpZnR7XG5cdFx0XHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYtZmR7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0bWluLWhlaWdodDogMTIwcnB4O1xuXHRcdGJhY2tncm91bmQ6ICNGNkY2RjY7XG5cdFx0LmF7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTIwcnB4O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRwYWRkaW5nOiAwIDIwcnB4O1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdC5sdXlpbntcblx0XHRcdFx0d2lkdGg6IDUwcnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDUwcnB4O1xuXHRcdFx0XHRpbWFnZXtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cclxuXHRcdFx0LmJpYW9xaW5ne1xyXG5cdFx0XHRcdHdpZHRoOiA1MHJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDUwcnB4O1xyXG5cdFx0XHRcdGltYWdle1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XG5cdFx0XHQuaW5wdXR7XG5cdFx0XHRcdGZsZXg6IDE7XHJcblx0XHRcdFx0Ly8gbWF4LXdpZHRoOiA0MDBycHg7XG5cdFx0XHRcdGhlaWdodDogODBycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNGRkZGRkY7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHJweDtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0LnN0YXJ7XG5cdFx0XHRcdFx0ZmxleDogMTtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogODBycHg7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNGRkZGRkY7XG5cdFx0XHRcdH1cblx0XHRcdFx0ZWRpdG9yLGlucHV0e1xuXHRcdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdFx0aGVpZ2h0OiA1MHJweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNTBycHg7XG5cdFx0XHRcdFx0bWluLWhlaWdodDogNTBycHg7XG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7IFxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcblx0XHRcdFx0fVxuXHRcdFx0XHQubW9yZXtcblx0XHRcdFx0XHRtYXJnaW46IDAgMjBycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5idG57XG5cdFx0XHRcdHdpZHRoOiAxMDBycHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA3MHJweDtcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICMwMDAwMDAsICMzRDNCMzgpO1xuXHRcdFx0XHRib3gtc2hhZG93OiAwcHggNHJweCAxOHJweCAwcHggcmdiYSg0Miw0MSwzOSwwLjM0KTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTBycHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdFx0Y29sb3I6ICNGRkZGRkY7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHJweDtcblx0XHRcdH1cblx0XHR9XG5cdFx0LmJ7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMjYwcnB4O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTJFMkUyO1xuXHRcdFx0cGFkZGluZzogMCA0NXJweDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHQuZHR7XHJcblx0XHRcdFx0ZmxleDogMTtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDIwMHJweDtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdFx0bWFyZ2luLXRvcDogMzBycHg7XHJcblx0XHRcdFx0aW1hZ2V7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwcnB4O1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDBycHg7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cblx0XHR9XHJcblx0XHQuY3tcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMjYwcnB4O1xyXG5cdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xyXG5cdFx0XHRvdmVyZmxvdy14OiBoaWRkZW47XHJcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTJFMkUyO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDM1cnB4O1xyXG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0XHQmOjotd2Via2l0LXNjcm9sbGJhcntcclxuXHRcdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHR9XHJcblx0XHRcdCY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1ie1xyXG5cdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0aW1hZ2V7XHJcblx0XHRcdFx0d2lkdGg6IDI0cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAyNHB4O1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDVycHg7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNXJweDtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDdycHg7XHJcblx0XHRcdH1cclxuXHRcdH1cblx0fVxufVxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///67\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);\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 */ 68));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 21));\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/js_sdk/wa-permission/permission.js */ 74));\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//\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//\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//\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 systemInfoSync = uni.getSystemInfoSync();\nvar recorderManager = uni.getRecorderManager();\nvar innerAudioContext = uni.createInnerAudioContext();\ninnerAudioContext.autoplay = true;\nvar timer = 0;\nvar _default = {\n data: function data() {\n return {\n isSvga: false,\n canvasId: 'myCanvas',\n svgaSrcList: [],\n svgaSrc: \"https://api.lyiyuan.cn/profile/upload/2024/11/05/9284d0797a991ef130d9b06759ef9b30.svga\",\n isPlay1: false,\n videoUrl: \"\",\n wrapperScrollHeight: 0,\n tabIndex: 0,\n id: \"\",\n current: 1,\n show1: false,\n show2: false,\n isCoins: false,\n isToggle: true,\n isOpen: false,\n title: \"\",\n content: \"\",\n userInfo: {},\n list: [],\n itemList: [],\n chatList: [],\n userId: \"\",\n img: \"\",\n show: false,\n isPlay: true,\n count: 0,\n balanceInfo: {},\n num: 1,\n giftList: [],\n giftListNum: 1,\n statusBarHeight: 0,\n wrapperHeight: 0,\n total: 0,\n page: 1,\n editorCtx: \"\",\n isBiaoqing: false,\n winWidth: 1,\n winHeight: 1\n };\n },\n onLoad: function onLoad(o) {\n this.statusBarHeight = systemInfoSync.statusBarHeight;\n this.userId = uni.getStorageSync(\"userInfo\").id;\n this.id = o.id;\n this.winWidth = uni.getSystemInfoSync().windowWidth;\n this.winHeight = uni.getSystemInfoSync().windowHeight;\n this.getUserInfo();\n this.getChatList();\n this.userBalance();\n this.getGift();\n },\n onReady: function onReady() {\n var that = this;\n recorderManager.onStop(function (res) {\n that.uploadAudio(res.tempFilePath);\n clearInterval(timer);\n that.isPlay = true;\n });\n innerAudioContext.onEnded(function (res) {\n that.isPlay = false;\n });\n that.watchSocket();\n },\n methods: {\n onLoaded: function onLoaded() {\n // console.log(\"加载完了\")\n // this.$refs.cSvgaRef.call(\"startAnimation\")\n },\n onFinished: function onFinished() {\n this.isSvga = false;\n this.svgaSrc = \"\";\n // console.log(\"播放完了\")\n },\n toToggle1: function toToggle1() {\n this.isPlay1 = !this.isPlay1;\n if (this.isPlay1) {\n innerAudioContext.src = this.userInfo.voice;\n innerAudioContext.play();\n } else {\n innerAudioContext.pause();\n }\n },\n perviewImages: function perviewImages(url) {\n uni.previewImage({\n urls: this.userInfo.xiangce,\n count: url\n });\n },\n perviewImage: function perviewImage(url) {\n uni.previewImage({\n urls: [url]\n });\n },\n toClick: function toClick(idx) {\n this.editorCtx.insertImage({\n src: 'https://api.lyiyuan.cn/profile/upload/static/face/' + idx + '.gif',\n with: 30,\n height: 30,\n success: function success() {}\n });\n },\n imMessageInput: function imMessageInput(e) {\n __f__(\"log\", e, \" at pages/users/chat/index.vue:304\");\n this.content = e.detail.html.replace(/= 8) {\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n if (obj.type == 10) {\n setTimeout(function () {\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=2&id=\" + that.id\n });\n }, 500);\n }\n if (obj.type == 18) {\n if (obj.userMsgVoice == 1) {\n uni.$emit(\"playAudio\");\n }\n if (obj.userMsgShock == 1) {\n uni.vibrateLong({\n complete: function complete(res) {\n __f__(\"log\", 'success', res, \" at pages/users/chat/index.vue:371\");\n }\n });\n }\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=3&id=\" + obj.userId + '&fid=' + obj.sellerId\n });\n }\n if (obj.type == 19) {\n if (obj.userMsgVoice == 1) {\n uni.$emit(\"playAudio\");\n }\n if (obj.userMsgShock == 1) {\n uni.vibrateLong({\n complete: function complete(res) {\n __f__(\"log\", 'success', res, \" at pages/users/chat/index.vue:386\");\n }\n });\n }\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=4&id=\" + obj.userId + '&fid=' + obj.sellerId\n });\n }\n }\n }\n }\n });\n },\n toBiaoqing: function toBiaoqing(type) {\n if (type == 1) {\n this.isBiaoqing = false;\n this.isOpen = !this.isOpen;\n } else {\n this.isOpen = false;\n this.isBiaoqing = !this.isBiaoqing;\n }\n },\n scrolltoupper: function scrolltoupper(e) {\n if (this.chatList.length <= this.total) {\n this.page++;\n this.getChatList(1);\n }\n },\n toAudio: function toAudio(url) {\n innerAudioContext.src = url;\n innerAudioContext.play();\n },\n toPlay: function toPlay(url) {\n this.show2 = true;\n this.videoUrl = url;\n },\n // 将px转换为rpx\n pxToRpx: function pxToRpx(px) {\n return px * 750 / systemInfoSync.windowWidth;\n },\n //发送得内容,type:1.语音 2.视频 3.文字 4图片 5礼物6搭讪\n giftGiving: function giftGiving() {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\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.$api.giftGiving({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n //用户ID\n \"acceptUserId\": _this.id,\n //被送礼之人ID\n \"giftId\": _this.giftList[_this.tabIndex].id,\n //礼物ID\n \"num\": _this.num //礼物数量\n });\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n toZengsong: function toZengsong() {\n var that = this;\n if (this.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (this.balanceInfo.isBlack >= this.giftList[this.tabIndex].price * that.num) {\n that.isCoins = true;\n return;\n }\n that.img = this.giftList[this.tabIndex].id;\n that.count = that.num;\n that.toSend(5);\n },\n tabItem: function tabItem(index) {\n this.tabIndex = index;\n },\n getGift: function getGift() {\n var _this2 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var _yield$_this2$$api$gi, code, data;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _this2.$api.giftList({\n userId: uni.getStorageSync(\"userInfo\").id,\n limit: 999,\n page: 1\n });\n case 2:\n _yield$_this2$$api$gi = _context2.sent;\n code = _yield$_this2$$api$gi.code;\n data = _yield$_this2$$api$gi.data;\n if (code == 200) {\n _this2.giftList = data.list;\n _this2.giftListNum = Math.ceil(data.total / 8);\n }\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n closeGift: function closeGift() {\n this.show1 = false;\n this.isOpen = false;\n this.isBiaoqing = false;\n },\n openGift: function openGift() {\n if (this.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n this.show1 = true;\n this.isOpen = false;\n this.isBiaoqing = false;\n },\n changeswiper: function changeswiper(e) {\n this.current = e.detail.current;\n },\n toEnd: function toEnd() {\n recorderManager.stop();\n },\n toToggle: function toToggle() {\n var that = this;\n this.isToggle = !this.isToggle;\n this.isOpen = false;\n },\n //检查次数\n userBalance: function userBalance() {\n var _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var _yield$_this3$$api$us, code, data;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _this3.$api.userBalance({\n userId: uni.getStorageSync(\"userInfo\").id\n });\n case 2:\n _yield$_this3$$api$us = _context3.sent;\n code = _yield$_this3$$api$us.code;\n data = _yield$_this3$$api$us.data;\n if (code == 200) {\n _this3.balanceInfo = data;\n /***\n \"videoCoins\": 0, //视频可用时长:分钟\n \"wordVoiceDiscount\": 0, //语音视频文字折扣:0表示不打折\n \"voiceCoins\": 0, //语音可用时长:分钟\n \"wordCoins\": 0, //文字可发数量\n \"userBalance\": 1 //当前用户金币余额\n */\n }\n case 6:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n //结算 type:1.语音 2.视频 3.文字 4图片 5礼物6搭讪\n socialConsumption: function socialConsumption(type) {\n var _this4 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _this4.$api.socialConsumption({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this4.id,\n type: type == 1 || type == 2 || type == 3 ? 3 : type,\n duration: \"\"\n });\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n toOpen: function toOpen() {\n var that = this;\n //{\"userId\":\"123\",\"sellerId\":\"4575676878\",\"type\":3} 发送得内容,type:1.语音 2.视频 3.文字 4图片 5礼物6搭讪\n // console.log(111)\n // console.log(JSON.stringify({\"userId\": uni.getStorageSync(\"userInfo\").id,sellerId:this.id, type:3,\"topic\":\"message\"}))\n // uni.sendSocketMessage({data:JSON.stringify({\"userId\": uni.getStorageSync(\"userInfo\").id,sellerId:this.id, type:3,\"topic\":\"message\"})});\n\n // return ;\n // APP检查权限\n if (uni.getSystemInfoSync().platform == 'android') {\n plus.android.checkPermission('android.permission.RECORD_AUDIO', function (granted) {\n if (granted.checkResult == -1) {\n that.show = true;\n } else {\n that.show = false;\n that.toLuyin();\n }\n }, function (error) {\n __f__(\"error\", 'Error checking permission:', error.message, \" at pages/users/chat/index.vue:543\");\n });\n that.requestAndroidPermission('android.permission.RECORD_AUDIO');\n return;\n }\n that.toLuyin();\n },\n toLuyin: function toLuyin() {\n var that = this;\n clearInterval(timer);\n that.isPlay = false;\n timer = setInterval(function () {\n that.count++;\n }, 1000);\n recorderManager.start({\n format: \"mp3\"\n });\n },\n recorderAuthModal: function recorderAuthModal() {\n var that = this;\n uni.showModal({\n title: '温馨提示',\n content: '为了麦克风的功能,我们需要申请麦克风权限,请您确认授权,否则无法使用该功能~',\n cancelText: '关闭',\n confirmText: '去授权',\n success: function success(res) {\n that.show = false;\n if (res.confirm) {\n _permission.default.gotoAppPermissionSetting();\n }\n }\n });\n },\n requestAndroidPermission: function requestAndroidPermission(permisionID) {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n var that, result;\n return _regenerator.default.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n that = _this5;\n _context5.next = 3;\n return _permission.default.requestAndroidPermission(permisionID);\n case 3:\n result = _context5.sent;\n if (result != 1) {\n that.recorderAuthModal();\n } else {\n that.show = false;\n }\n case 5:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n //上传语音\n uploadAudio: function uploadAudio(filePath) {\n var that = this;\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.balanceInfo.wordCoins <= 0) {\n that.isCoins = true;\n return;\n }\n }\n uni.uploadFile({\n name: 'file',\n url: that.$baseUrl + '/prod-api/common/upload',\n filePath: filePath,\n success: function success(res) {\n var _JSON$parse = JSON.parse(res.data),\n code = _JSON$parse.code,\n fileName = _JSON$parse.fileName,\n url = _JSON$parse.url,\n msg = _JSON$parse.msg;\n if (code == 200) {\n that.img = url;\n that.toSend(1);\n }\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at pages/users/chat/index.vue:615\");\n }\n });\n },\n //上传视频\n uploadVideo: function uploadVideo() {\n var _this6 = this;\n var that = this;\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n uni.chooseVideo({\n count: 1,\n sourceType: [\"album\", \"camera\"],\n success: function success(res1) {\n __f__(\"log\", res1, \" at pages/users/chat/index.vue:634\");\n that.count = res1.duration;\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.balanceInfo.wordCoins <= 0) {\n that.isCoins = true;\n return;\n }\n }\n uni.uploadFile({\n name: 'file',\n url: that.$baseUrl + '/prod-api/common/upload',\n filePath: res1.tempFilePath,\n success: function success(res) {\n var _JSON$parse2 = JSON.parse(res.data),\n code = _JSON$parse2.code,\n fileName = _JSON$parse2.fileName,\n url = _JSON$parse2.url,\n msg = _JSON$parse2.msg;\n if (code == 200) {\n that.img = url;\n _this6.toSend(2);\n }\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at pages/users/chat/index.vue:662\");\n }\n });\n },\n fail: function fail(err) {\n __f__(\"log\", \"fail\", err, \" at pages/users/chat/index.vue:667\");\n }\n });\n },\n //上传图片\n uploadImg: function uploadImg() {\n var that = this;\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n uni.chooseImage({\n count: 1,\n //可以指定是原图还是压缩图,默认二者都有\n sourceType: [\"album\", \"camera\"],\n success: function success(res1) {\n __f__(\"log\", res1, \" at pages/users/chat/index.vue:686\");\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.balanceInfo.wordCoins <= 0) {\n that.isCoins = true;\n return;\n }\n }\n uni.uploadFile({\n name: 'file',\n url: that.$baseUrl + '/prod-api/common/upload',\n filePath: res1.tempFilePaths[0],\n success: function success(res) {\n //1.语音 2.视频 3.文字 4图片 5礼物\n var _JSON$parse3 = JSON.parse(res.data),\n code = _JSON$parse3.code,\n fileName = _JSON$parse3.fileName,\n url = _JSON$parse3.url,\n msg = _JSON$parse3.msg;\n if (code == 200) {\n that.img = url;\n that.toSend(4);\n }\n },\n fail: function fail(err) {\n __f__(\"log\", err, \" at pages/users/chat/index.vue:714\");\n }\n });\n },\n fail: function fail(err) {\n __f__(\"log\", \"fail\", err, \" at pages/users/chat/index.vue:719\");\n }\n });\n },\n toSelect: function toSelect(msg) {\n this.content = msg;\n this.toSend(3);\n },\n // 发送得内容,type:1.语音 2.视频 3.文字 4图片 5礼物6搭讪\n toSend: function toSend(type) {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n var that, svgaSrc, _yield$_this7$$api$ch, code, data, _svgaSrc;\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n that = _this7;\n if (!(type == 3)) {\n _context6.next = 9;\n break;\n }\n if (!(that.userInfo.isBlack == 1)) {\n _context6.next = 5;\n break;\n }\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return _context6.abrupt(\"return\");\n case 5:\n if (!(uni.getStorageSync(\"userInfo\").sex == 1)) {\n _context6.next = 9;\n break;\n }\n if (!(that.balanceInfo.wordCoins <= 1)) {\n _context6.next = 9;\n break;\n }\n that.isCoins = true;\n return _context6.abrupt(\"return\");\n case 9:\n svgaSrc = null;\n if (that.giftList && that.giftList.length > 0) {\n svgaSrc = that.giftList[that.tabIndex].specialEffects;\n }\n // console.log(that.svgaSrc)\n // console.log(svgaSrc)\n // that.svgaSrc = svgaSrc\n // that.isSvga = true;\n // return ;\n _context6.next = 13;\n return _this7.$api.chat({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: that.id,\n type: type,\n num: type == 5 ? that.count : that.count + 1,\n message: type == 3 ? that.content : that.img\n });\n case 13:\n _yield$_this7$$api$ch = _context6.sent;\n code = _yield$_this7$$api$ch.code;\n data = _yield$_this7$$api$ch.data;\n if (code == 200) {\n _svgaSrc = null;\n if (type == 5) {\n if (that.giftList && that.giftList.length > 0) {\n _svgaSrc = that.giftList[that.tabIndex].specialEffects;\n that.svgaSrc = _svgaSrc;\n that.isSvga = true;\n // if(that.svgaSrc == svgaSrc){\n // \tconsole.log(33333,that.svgaSrc == svgaSrc,that.svgaSrc, svgaSrc)\n // \tthat.isSvga = true;\n // \tthat.$refs.cSvgaRef.call(\"startAnimation\")\n // }else{\n // \tconsole.log(4444,that.svgaSrc == svgaSrc,that.svgaSrc, svgaSrc)\n // \tthat.svgaSrc = svgaSrc\n // \tthat.isSvga = true;\n // }\n }\n\n that.giftGiving();\n }\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: that.id,\n type: type,\n num: that.count + 1,\n message: type == 3 ? that.content : that.img,\n svgaSrc: _svgaSrc ? _svgaSrc : '',\n \"topic\": \"message\"\n })\n });\n that.socialConsumption(type);\n that.isOpen = false;\n that.isBiaoqing = false;\n that.show1 = false;\n that.userBalance();\n that.editorCtx.clear();\n that.content = \"\";\n that.count = 0;\n that.num = 1;\n }\n case 17:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n //数组对象去重\n arrayUnique: function arrayUnique(arr, name) {\n var hash = {};\n return arr.reduce(function (item, next) {\n hash[next[name]] ? \"\" : hash[next[name]] = true && item.push(next);\n return item;\n }, []);\n },\n getChatList: function getChatList(type) {\n var _this8 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {\n var that, _yield$_this8$$api$fi, code, data, msg;\n return _regenerator.default.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n that = _this8;\n _context7.next = 3;\n return _this8.$api.findChatList({\n limit: 10,\n page: _this8.page,\n formUserId: uni.getStorageSync(\"userInfo\").id,\n toUserId: _this8.id\n });\n case 3:\n _yield$_this8$$api$fi = _context7.sent;\n code = _yield$_this8$$api$fi.code;\n data = _yield$_this8$$api$fi.data;\n msg = _yield$_this8$$api$fi.msg;\n if (!(code == 200)) {\n _context7.next = 13;\n break;\n }\n _this8.total = data.total;\n if (type == 1) {\n _this8.chatList = that.arrayUnique([].concat((0, _toConsumableArray2.default)(data.list), (0, _toConsumableArray2.default)(_this8.chatList)), 'msgId');\n } else {\n _this8.chatList = data.list;\n }\n if (!(type == 1)) {\n _context7.next = 12;\n break;\n }\n return _context7.abrupt(\"return\");\n case 12:\n setTimeout(function () {\n var wrapper = uni.createSelectorQuery().in(_this8).select('#wrapper');\n wrapper.fields({\n size: true,\n scrollOffset: true\n }, function (data) {\n // console.log(\"wrapper\",data)\n that.wrapperScrollHeight = data.scrollHeight * 6;\n }).exec();\n // ;\n }, 100);\n case 13:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }))();\n },\n getUserInfo: function getUserInfo() {\n var _this9 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {\n var _yield$_this9$$api$fi, code, data, msg;\n return _regenerator.default.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return _this9.$api.findOtherUserInfo({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this9.id\n });\n case 2:\n _yield$_this9$$api$fi = _context8.sent;\n code = _yield$_this9$$api$fi.code;\n data = _yield$_this9$$api$fi.data;\n msg = _yield$_this9$$api$fi.msg;\n if (code == 200) {\n _this9.userInfo = data;\n _this9.userInfo.xiangce = [];\n if (data.reserved1) {\n _this9.userInfo.xiangce = data.reserved1.split(\",\");\n }\n _this9.itemList = [\"查看TA的主页\", data.isCare == 0 ? \"关注\" : \"取消关注\", \"举报\", data.isBlack == 0 ? \"加入黑名单\" : \"移除黑名单\"];\n _this9.title = data.nickname + (data.isOnline == 1 ? \"_(在线)\" : \"_(离线)\");\n if (data.operrole == 0) {\n _this9.getConfigData();\n }\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 7:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8);\n }))();\n },\n //字典查询\n getConfigData: function getConfigData() {\n var _this10 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee9() {\n var that, res1;\n return _regenerator.default.wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n that = _this10;\n _context9.next = 3;\n return that.$api.getConfigData({\n dictType: 'CONFIG_MESSAGE_NOTICE'\n });\n case 3:\n res1 = _context9.sent;\n that.list = [res1.data.content];\n case 5:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9);\n }))();\n },\n //是否关注\n toCareOrCancel: function toCareOrCancel() {\n var _this11 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee10() {\n var _yield$_this11$$api$c, code, data, msg;\n return _regenerator.default.wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return _this11.$api.careOrCancel({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this11.id,\n type: _this11.userInfo.isCare == 0 ? 1 : 2\n });\n case 2:\n _yield$_this11$$api$c = _context10.sent;\n code = _yield$_this11$$api$c.code;\n data = _yield$_this11$$api$c.data;\n msg = _yield$_this11$$api$c.msg;\n if (code == 200) {\n uni.showToast({\n title: _this11.userInfo.isCare == 0 ? \"关注成功\" : \"取消关注\"\n });\n setTimeout(function () {\n _this11.getUserInfo(1);\n }, 2000);\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 7:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10);\n }))();\n },\n //是否加入黑名单\n toYichu: function toYichu() {\n var _this12 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee11() {\n var _yield$_this12$$api$a, code, data;\n return _regenerator.default.wrap(function _callee11$(_context11) {\n while (1) {\n switch (_context11.prev = _context11.next) {\n case 0:\n _context11.next = 2;\n return _this12.$api.addOrRemoveBlacklist({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this12.id,\n type: _this12.userInfo.isBlack == 0 ? 1 : 2\n });\n case 2:\n _yield$_this12$$api$a = _context11.sent;\n code = _yield$_this12$$api$a.code;\n data = _yield$_this12$$api$a.data;\n if (code == 200) {\n uni.showToast({\n title: _this12.userInfo.isBlack == 1 ? \"移除成功\" : \"加入成功\"\n });\n setTimeout(function () {\n _this12.getInfo();\n }, 2000);\n }\n case 6:\n case \"end\":\n return _context11.stop();\n }\n }\n }, _callee11);\n }))();\n },\n //视频语音说明\n openShiping: function openShiping() {\n var _this13 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee12() {\n var that, _yield$that$$api$cost, code, data;\n return _regenerator.default.wrap(function _callee12$(_context12) {\n while (1) {\n switch (_context12.prev = _context12.next) {\n case 0:\n that = _this13;\n _context12.next = 3;\n return that.$api.costDescription({});\n case 3:\n _yield$that$$api$cost = _context12.sent;\n code = _yield$that$$api$cost.code;\n data = _yield$that$$api$cost.data;\n if (code == 200) {\n uni.showActionSheet({\n title: \"语音/视频通话\",\n itemList: [\"语音通话(\" + data.voiceCoins + \"金币/1分钟)\", \"视频通话(\" + data.videoCoins + \"金币/1分钟)\"],\n success: function success(res) {\n if (res.tapIndex == 0) {\n if (that.userInfo.isOnline == 0) {\n uni.showToast({\n title: \"当前用户已离线\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.balanceInfo.userBalance <= 0) {\n that.isCoins = true;\n return;\n }\n }\n that.isToggle = true;\n that.isOpen = false;\n that.isBiaoqing = false;\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: that.id,\n type: 18,\n \"topic\": \"message\"\n })\n });\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=3&id=\" + that.id\n });\n } else if (res.tapIndex == 1) {\n if (that.userInfo.isOnline == 0) {\n uni.showToast({\n title: \"当前用户已离线\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (that.userInfo.isBlack == 1) {\n uni.showToast({\n title: \"当前用户是黑名单,已限制\",\n position: \"bottom\",\n icon: \"none\"\n });\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.balanceInfo.userBalance <= 0) {\n that.isCoins = true;\n return;\n }\n }\n that.isToggle = true;\n that.isOpen = false;\n that.isBiaoqing = false;\n uni.sendSocketMessage({\n data: JSON.stringify({\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: that.id,\n type: 19,\n \"topic\": \"message\"\n })\n });\n uni.navigateTo({\n url: \"/pages/pipei/shipin/detail?type=4&id=\" + that.id\n });\n }\n }\n });\n }\n case 7:\n case \"end\":\n return _context12.stop();\n }\n }\n }, _callee12);\n }))();\n },\n toSheet1: function toSheet1() {\n var that = this;\n that.getcostDescription();\n },\n toSheet: function toSheet() {\n var that = this;\n uni.showActionSheet({\n itemList: this.itemList,\n success: function success(res) {\n if (res.tapIndex == 0) {\n uni.navigateTo({\n url: \"/pages/peiwan/detail?id=\" + that.id\n });\n } else if (res.tapIndex == 1) {\n that.toCareOrCancel();\n } else if (res.tapIndex == 2) {\n uni.navigateTo({\n url: \"/pages/users/feedback/index?type=2&id=\" + that.id\n });\n } else if (res.tapIndex == 3) {\n that.toYichu();\n }\n }\n });\n },\n inputValue: function inputValue(e) {\n // console.log(e)\n }\n },\n destroyed: function destroyed() {\n uni.$off(\"toChatObj\");\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvdXNlcnMvY2hhdC9pbmRleC52dWUiXSwibmFtZXMiOlsic3lzdGVtSW5mb1N5bmMiLCJ1bmkiLCJnZXRTeXN0ZW1JbmZvU3luYyIsInJlY29yZGVyTWFuYWdlciIsImdldFJlY29yZGVyTWFuYWdlciIsImlubmVyQXVkaW9Db250ZXh0IiwiY3JlYXRlSW5uZXJBdWRpb0NvbnRleHQiLCJhdXRvcGxheSIsInRpbWVyIiwiZGF0YSIsImlzU3ZnYSIsImNhbnZhc0lkIiwic3ZnYVNyY0xpc3QiLCJzdmdhU3JjIiwiaXNQbGF5MSIsInZpZGVvVXJsIiwid3JhcHBlclNjcm9sbEhlaWdodCIsInRhYkluZGV4IiwiaWQiLCJjdXJyZW50Iiwic2hvdzEiLCJzaG93MiIsImlzQ29pbnMiLCJpc1RvZ2dsZSIsImlzT3BlbiIsInRpdGxlIiwiY29udGVudCIsInVzZXJJbmZvIiwibGlzdCIsIml0ZW1MaXN0IiwiY2hhdExpc3QiLCJ1c2VySWQiLCJpbWciLCJzaG93IiwiaXNQbGF5IiwiY291bnQiLCJiYWxhbmNlSW5mbyIsIm51bSIsImdpZnRMaXN0IiwiZ2lmdExpc3ROdW0iLCJzdGF0dXNCYXJIZWlnaHQiLCJ3cmFwcGVySGVpZ2h0IiwidG90YWwiLCJwYWdlIiwiZWRpdG9yQ3R4IiwiaXNCaWFvcWluZyIsIndpbldpZHRoIiwid2luSGVpZ2h0Iiwib25Mb2FkIiwibyIsImdldFN0b3JhZ2VTeW5jIiwid2luZG93V2lkdGgiLCJ3aW5kb3dIZWlnaHQiLCJnZXRVc2VySW5mbyIsImdldENoYXRMaXN0IiwidXNlckJhbGFuY2UiLCJnZXRHaWZ0Iiwib25SZWFkeSIsInRoYXQiLCJvblN0b3AiLCJyZXMiLCJ1cGxvYWRBdWRpbyIsInRlbXBGaWxlUGF0aCIsImNsZWFySW50ZXJ2YWwiLCJvbkVuZGVkIiwid2F0Y2hTb2NrZXQiLCJtZXRob2RzIiwib25Mb2FkZWQiLCJvbkZpbmlzaGVkIiwidG9Ub2dnbGUxIiwic3JjIiwidm9pY2UiLCJwbGF5IiwicGF1c2UiLCJwZXJ2aWV3SW1hZ2VzIiwidXJsIiwicHJldmlld0ltYWdlIiwidXJscyIsInhpYW5nY2UiLCJwZXJ2aWV3SW1hZ2UiLCJ0b0NsaWNrIiwiaWR4IiwiaW5zZXJ0SW1hZ2UiLCJ3aXRoIiwiaGVpZ2h0Iiwic3VjY2VzcyIsImltTWVzc2FnZUlucHV0IiwiZSIsImRldGFpbCIsImh0bWwiLCJyZXBsYWNlIiwib25FZGl0b3JSZWFkeSIsImNyZWF0ZVNlbGVjdG9yUXVlcnkiLCJzZWxlY3QiLCJjb250ZXh0IiwiZXhlYyIsIiRvbiIsIm9iaiIsIkpTT04iLCJwYXJzZSIsInRvcGljIiwidHlwZSIsIiRlbWl0Iiwic2VsbGVySWQiLCIkcmVmcyIsImNTdmdhUmVmIiwiY2FsbCIsInNldFRpbWVvdXQiLCJuYXZpZ2F0ZVRvIiwidXNlck1zZ1ZvaWNlIiwidXNlck1zZ1Nob2NrIiwidmlicmF0ZUxvbmciLCJjb21wbGV0ZSIsInRvQmlhb3FpbmciLCJzY3JvbGx0b3VwcGVyIiwibGVuZ3RoIiwidG9BdWRpbyIsInRvUGxheSIsInB4VG9ScHgiLCJweCIsImdpZnRHaXZpbmciLCIkYXBpIiwidG9aZW5nc29uZyIsImlzQmxhY2siLCJzaG93VG9hc3QiLCJwb3NpdGlvbiIsImljb24iLCJwcmljZSIsInRvU2VuZCIsInRhYkl0ZW0iLCJpbmRleCIsImxpbWl0IiwiY29kZSIsIk1hdGgiLCJjZWlsIiwiY2xvc2VHaWZ0Iiwib3BlbkdpZnQiLCJjaGFuZ2Vzd2lwZXIiLCJ0b0VuZCIsInN0b3AiLCJ0b1RvZ2dsZSIsInNvY2lhbENvbnN1bXB0aW9uIiwiZHVyYXRpb24iLCJ0b09wZW4iLCJwbGF0Zm9ybSIsInBsdXMiLCJhbmRyb2lkIiwiY2hlY2tQZXJtaXNzaW9uIiwiZ3JhbnRlZCIsImNoZWNrUmVzdWx0IiwidG9MdXlpbiIsImVycm9yIiwibWVzc2FnZSIsInJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbiIsInNldEludGVydmFsIiwic3RhcnQiLCJmb3JtYXQiLCJyZWNvcmRlckF1dGhNb2RhbCIsInNob3dNb2RhbCIsImNhbmNlbFRleHQiLCJjb25maXJtVGV4dCIsImNvbmZpcm0iLCJwZXJtaXNpb24iLCJnb3RvQXBwUGVybWlzc2lvblNldHRpbmciLCJwZXJtaXNpb25JRCIsInJlc3VsdCIsImZpbGVQYXRoIiwic2V4Iiwid29yZENvaW5zIiwidXBsb2FkRmlsZSIsIm5hbWUiLCIkYmFzZVVybCIsImZpbGVOYW1lIiwibXNnIiwiZmFpbCIsImVyciIsInVwbG9hZFZpZGVvIiwiY2hvb3NlVmlkZW8iLCJzb3VyY2VUeXBlIiwicmVzMSIsInVwbG9hZEltZyIsImNob29zZUltYWdlIiwidGVtcEZpbGVQYXRocyIsInRvU2VsZWN0Iiwic3BlY2lhbEVmZmVjdHMiLCJjaGF0Iiwic2VuZFNvY2tldE1lc3NhZ2UiLCJzdHJpbmdpZnkiLCJjbGVhciIsImFycmF5VW5pcXVlIiwiYXJyIiwiaGFzaCIsInJlZHVjZSIsIml0ZW0iLCJuZXh0IiwicHVzaCIsImZpbmRDaGF0TGlzdCIsImZvcm1Vc2VySWQiLCJ0b1VzZXJJZCIsIndyYXBwZXIiLCJpbiIsImZpZWxkcyIsInNpemUiLCJzY3JvbGxPZmZzZXQiLCJzY3JvbGxIZWlnaHQiLCJmaW5kT3RoZXJVc2VySW5mbyIsInJlc2VydmVkMSIsInNwbGl0IiwiaXNDYXJlIiwibmlja25hbWUiLCJpc09ubGluZSIsIm9wZXJyb2xlIiwiZ2V0Q29uZmlnRGF0YSIsImRpY3RUeXBlIiwidG9DYXJlT3JDYW5jZWwiLCJjYXJlT3JDYW5jZWwiLCJ0b1lpY2h1IiwiYWRkT3JSZW1vdmVCbGFja2xpc3QiLCJnZXRJbmZvIiwib3BlblNoaXBpbmciLCJjb3N0RGVzY3JpcHRpb24iLCJzaG93QWN0aW9uU2hlZXQiLCJ2b2ljZUNvaW5zIiwidmlkZW9Db2lucyIsInRhcEluZGV4IiwidG9TaGVldDEiLCJnZXRjb3N0RGVzY3JpcHRpb24iLCJ0b1NoZWV0IiwiaW5wdXRWYWx1ZSIsImRlc3Ryb3llZCIsIiRvZmYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUErTEM7QUEvTEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtB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a0JBQWtCLEVBQUU7SUFFMUIsQ0FBQztJQUNEQyxPQUFPLHFCQUFHO01BQ1QsSUFBTXpLLElBQUksR0FBRyxJQUFJO01BQ2pCekQsR0FBRyxDQUFDNE4sZUFBZSxDQUFDO1FBQ25CaE0sUUFBUSxFQUFFLElBQUksQ0FBQ0EsUUFBUTtRQUN2QndELE9BQU8sbUJBQUN6QixHQUFHLEVBQUM7VUFDWCxJQUFHQSxHQUFHLENBQUNvSyxRQUFRLElBQUksQ0FBQyxFQUFDO1lBQ3BCL04sR0FBRyxDQUFDMkcsVUFBVSxDQUFDO2NBQ2RqQyxHQUFHLEVBQUUsMEJBQTBCLEdBQUNqQixJQUFJLENBQUN4QztZQUN0QyxDQUFDLENBQUM7VUFDSCxDQUFDLE1BQUssSUFBRzBDLEdBQUcsQ0FBQ29LLFFBQVEsSUFBSSxDQUFDLEVBQUM7WUFDMUJ0SyxJQUFJLENBQUM0SixjQUFjLEVBQUU7VUFDdEIsQ0FBQyxNQUFLLElBQUcxSixHQUFHLENBQUNvSyxRQUFRLElBQUksQ0FBQyxFQUFDO1lBQzFCL04sR0FBRyxDQUFDMkcsVUFBVSxDQUFDO2NBQ2RqQyxHQUFHLEVBQUUsd0NBQXdDLEdBQUNqQixJQUFJLENBQUN4QztZQUNwRCxDQUFDLENBQUM7VUFDSCxDQUFDLE1BQUssSUFBRzBDLEdBQUcsQ0FBQ29LLFFBQVEsSUFBSSxDQUFDLEVBQUM7WUFDMUJ0SyxJQUFJLENBQUM4SixPQUFPLEVBQUU7VUFDZjtRQUNEO01BQ0QsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUNEWSxVQUFVLHNCQUFDN0ksQ0FBQyxFQUFFO01BQ2I7SUFBQTtFQUVGLENBQUM7RUFDRDhJLFNBQVMsdUJBQUc7SUFDWHBPLEdBQUcsQ0FBQ3FPLElBQUksQ0FBQyxXQUFXLENBQUM7RUFDdEI7QUFDRCxDQUFDO0FBQUEsMkIiLCJmaWxlIjoiNjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG5cblx0Y29uc3Qgc3lzdGVtSW5mb1N5bmMgPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKTtcblx0aW1wb3J0IHBlcm1pc2lvbiBmcm9tIFwiQC9qc19zZGsvd2EtcGVybWlzc2lvbi9wZXJtaXNzaW9uLmpzXCJcblx0Y29uc3QgcmVjb3JkZXJNYW5hZ2VyID0gdW5pLmdldFJlY29yZGVyTWFuYWdlcigpO1xuXHRjb25zdCBpbm5lckF1ZGlvQ29udGV4dCA9IHVuaS5jcmVhdGVJbm5lckF1ZGlvQ29udGV4dCgpO1xuXHRpbm5lckF1ZGlvQ29udGV4dC5hdXRvcGxheSA9IHRydWU7XG5cdGxldCB0aW1lciA9IDA7XG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0aXNTdmdhOiBmYWxzZSxcblx0XHRcdFx0Y2FudmFzSWQ6J215Q2FudmFzJyxcblx0XHRcdFx0c3ZnYVNyY0xpc3Q6IFtdLFxuXHRcdFx0XHRzdmdhU3JjOiBcImh0dHBzOi8vYXBpLmx5aXl1YW4uY24vcHJvZmlsZS91cGxvYWQvMjAyNC8xMS8wNS85Mjg0ZDA3OTdhOTkxZWYxMzBkOWIwNjc1OWVmOWIzMC5zdmdhXCIsXG5cdFx0XHRcdGlzUGxheTE6IGZhbHNlLFxuXHRcdFx0XHR2aWRlb1VybDogXCJcIixcblx0XHRcdFx0d3JhcHBlclNjcm9sbEhlaWdodDogMCxcblx0XHRcdFx0dGFiSW5kZXg6IDAsXG5cdFx0XHRcdGlkOiBcIlwiLFxuXHRcdFx0XHRjdXJyZW50OiAxLFxuXHRcdFx0XHRzaG93MTogZmFsc2UsXG5cdFx0XHRcdHNob3cyOiBmYWxzZSxcblx0XHRcdFx0aXNDb2luczogZmFsc2UsXG5cdFx0XHRcdGlzVG9nZ2xlOiB0cnVlLFxuXHRcdFx0XHRpc09wZW46IGZhbHNlLFxuXHRcdFx0XHR0aXRsZTogXCJcIixcblx0XHRcdFx0Y29udGVudDogXCJcIixcblx0XHRcdFx0dXNlckluZm86IHt9LFxuXHRcdFx0XHRsaXN0OiBbXSxcblx0XHRcdFx0aXRlbUxpc3Q6IFtdLFxuXHRcdFx0XHRjaGF0TGlzdDogW10sXG5cdFx0XHRcdHVzZXJJZDogXCJcIixcblx0XHRcdFx0aW1nOiBcIlwiLFxuXHRcdFx0XHRzaG93OiBmYWxzZSxcblx0XHRcdFx0aXNQbGF5OiB0cnVlLFxuXHRcdFx0XHRjb3VudDogMCxcblx0XHRcdFx0YmFsYW5jZUluZm86IHt9LFxuXHRcdFx0XHRudW06IDEsXG5cdFx0XHRcdGdpZnRMaXN0OiBbXSxcblx0XHRcdFx0Z2lmdExpc3ROdW06IDEsXG5cdFx0XHRcdHN0YXR1c0JhckhlaWdodDogMCxcblx0XHRcdFx0d3JhcHBlckhlaWdodDogMCxcblx0XHRcdFx0dG90YWw6IDAsXG5cdFx0XHRcdHBhZ2U6IDEsXG5cdFx0XHRcdGVkaXRvckN0eDogXCJcIixcblx0XHRcdFx0aXNCaWFvcWluZzogZmFsc2UsXG5cdFx0XHRcdHdpbldpZHRoOiAxLFxuXHRcdFx0XHR3aW5IZWlnaHQ6IDFcblx0XHRcdH07XG5cdFx0fSxcblx0XHRvbkxvYWQobykge1xuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSBzeXN0ZW1JbmZvU3luYy5zdGF0dXNCYXJIZWlnaHQ7XG5cdFx0XHR0aGlzLnVzZXJJZCA9IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkO1xuXHRcdFx0dGhpcy5pZCA9IG8uaWQ7XG5cdFx0XHR0aGlzLndpbldpZHRoID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCkud2luZG93V2lkdGg7XG5cdFx0XHR0aGlzLndpbkhlaWdodCA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLndpbmRvd0hlaWdodDtcblx0XHRcdHRoaXMuZ2V0VXNlckluZm8oKTtcblx0XHRcdHRoaXMuZ2V0Q2hhdExpc3QoKTtcblx0XHRcdHRoaXMudXNlckJhbGFuY2UoKTtcblx0XHRcdHRoaXMuZ2V0R2lmdCgpO1xuXHRcdH0sXG5cdFx0b25SZWFkeSgpIHtcblx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0cmVjb3JkZXJNYW5hZ2VyLm9uU3RvcChmdW5jdGlvbiAocmVzKSB7XG5cdFx0XHRcdHRoYXQudXBsb2FkQXVkaW8ocmVzLnRlbXBGaWxlUGF0aCk7XG5cdFx0XHRcdGNsZWFySW50ZXJ2YWwodGltZXIpO1xuXHRcdFx0XHR0aGF0LmlzUGxheSA9IHRydWVcblx0XHRcdFx0XG5cdFx0XHR9KTtcblx0XHRcdGlubmVyQXVkaW9Db250ZXh0Lm9uRW5kZWQocmVzPT57XG5cdFx0XHRcdHRoYXQuaXNQbGF5ID0gZmFsc2Vcblx0XHRcdH0pXG5cdFx0XHR0aGF0LndhdGNoU29ja2V0KCk7XG5cdFx0fSxcblx0XHRtZXRob2RzOiB7XG5cdFx0XHRvbkxvYWRlZCgpIHtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coXCLliqDovb3lrozkuoZcIilcblx0XHRcdFx0Ly8gdGhpcy4kcmVmcy5jU3ZnYVJlZi5jYWxsKFwic3RhcnRBbmltYXRpb25cIilcblx0XHRcdH0sXG5cdFx0XHRvbkZpbmlzaGVkKCkge1xuXHRcdFx0XHR0aGlzLmlzU3ZnYSA9IGZhbHNlXG5cdFx0XHRcdHRoaXMuc3ZnYVNyYyA9IFwiXCJcbiBcdFx0XHRcdC8vIGNvbnNvbGUubG9nKFwi5pKt5pS+5a6M5LqGXCIpXG5cdFx0XHR9LFxuXHRcdFx0dG9Ub2dnbGUxKCkge1xuXHRcdFx0XHR0aGlzLmlzUGxheTEgPSAhdGhpcy5pc1BsYXkxXG5cdFx0XHRcdGlmKHRoaXMuaXNQbGF5MSl7XG5cdFx0XHRcdFx0aW5uZXJBdWRpb0NvbnRleHQuc3JjID0gdGhpcy51c2VySW5mby52b2ljZTtcblx0XHRcdFx0XHRpbm5lckF1ZGlvQ29udGV4dC5wbGF5KCk7XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdGlubmVyQXVkaW9Db250ZXh0LnBhdXNlKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRwZXJ2aWV3SW1hZ2VzKHVybCl7XG5cdFx0XHRcdHVuaS5wcmV2aWV3SW1hZ2Uoe1xuXHRcdFx0XHRcdHVybHM6IHRoaXMudXNlckluZm8ueGlhbmdjZSxcblx0XHRcdFx0XHRjb3VudDogdXJsXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0cGVydmlld0ltYWdlKHVybCl7XG5cdFx0XHRcdHVuaS5wcmV2aWV3SW1hZ2Uoe1xuXHRcdFx0XHRcdHVybHM6IFt1cmxdXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0dG9DbGljayAoaWR4KXtcblx0XHRcdFx0dGhpcy5lZGl0b3JDdHguaW5zZXJ0SW1hZ2Uoe1xuXHRcdFx0XHRcdHNyYzogJ2h0dHBzOi8vYXBpLmx5aXl1YW4uY24vcHJvZmlsZS91cGxvYWQvc3RhdGljL2ZhY2UvJytpZHgrJy5naWYnLFxuXHRcdFx0XHRcdHdpdGg6IDMwLFxuXHRcdFx0XHRcdGhlaWdodDogMzAsXG5cdFx0XHRcdFx0c3VjY2Vzcygpe1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRpbU1lc3NhZ2VJbnB1dChlKXtcblx0XHRcdFx0Y29uc29sZS5sb2coZSlcblx0XHRcdFx0dGhpcy5jb250ZW50ID0gZS5kZXRhaWwuaHRtbC5yZXBsYWNlKC88aW1nIC9nLCc8aW1nIHN0eWxlPVwidmVydGljYWwtYWxpZ246IG1pZGRsZTtcIiAnKTtcblx0XHRcdH0sXG5cdFx0XHRvbkVkaXRvclJlYWR5KCkge1xuXG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHR1bmkuY3JlYXRlU2VsZWN0b3JRdWVyeSgpLnNlbGVjdCgnI2VkaXRvcicpLmNvbnRleHQoKHJlcykgPT4ge1xuXHRcdFx0XHQgIHRoYXQuZWRpdG9yQ3R4ID0gcmVzLmNvbnRleHRcblx0XHRcdFx0fSkuZXhlYygpXG5cblx0XHRcdH0sXG5cdFx0XHR3YXRjaFNvY2tldCgpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdHVuaS4kb24oXCJ0b0NoYXRPYmpcIixmdW5jdGlvbiAocmVzKSB7XG5cdFx0XHRcdFx0Y29uc3Qgb2JqID0gcmVzLmRhdGE/SlNPTi5wYXJzZShyZXMuZGF0YSk6e31cblx0XHRcdFx0XHRjb25zb2xlLmxvZyhvYmopXG5cdFx0XHRcdFx0aWYob2JqLnRvcGljID09ICdtZXNzYWdlJyl7XG5cdFx0XHRcdFx0XHRpZihvYmoudHlwZVx0ID09IDEyKXtcblx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwid2F0Y2hFdmVudFwiLG9iailcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGlmKG9iai50eXBlID09IDIwKXtcblx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwidG9KaWVzaG91WWluc2hpcFwiLG9iailcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGlmKG9iai50eXBlPD03KXtcblx0XHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQgPT0gb2JqLnNlbGxlcklkKXtcblx0XHRcdFx0XHRcdFx0XHR0aGF0LnBhZ2UgPSAxO1xuXHRcdFx0XHRcdFx0XHRcdHRoYXQuZ2V0Q2hhdExpc3QoKTtcblx0XHRcdFx0XHRcdFx0XHRpZihvYmoudHlwZSA9PSA1KXtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKG9iai5zdmdhU3JjKVxuXHRcdFx0XHRcdFx0XHRcdFx0aWYob2JqLnN2Z2FTcmMpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRpZih0aGF0LnN2Z2FTcmMgPT0gb2JqLnN2Z2FTcmMpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKDExMTIyLHRoYXQuc3ZnYVNyYyA9PSBvYmouc3ZnYVNyYyx0aGF0LnN2Z2FTcmMsb2JqLnN2Z2FTcmMpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5pc1N2Z2EgPSB0cnVlO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuJHJlZnMuY1N2Z2FSZWYuY2FsbChcInN0YXJ0QW5pbWF0aW9uXCIpXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKDIyMjIyLHRoYXQuc3ZnYVNyYyA9PSBvYmouc3ZnYVNyYyx0aGF0LnN2Z2FTcmMsIG9iai5zdmdhU3JjKVxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuaXNTdmdhID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR0aGF0LnN2Z2FTcmMgPSBvYmouc3ZnYVNyYztcblx0XHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB0aGF0LiRyZWZzLmNTdmdhUmVmLmNhbGwoXCJjbGVhclwiKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gdGhhdC4kcmVmcy5jU3ZnYVJlZi5jYWxsKFwic3RhcnRBbmltYXRpb25cIilcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQgPT0gb2JqLnVzZXJJZCl7XG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5wYWdlID0gMTtcblx0XHRcdFx0XHRcdFx0XHR0aGF0LmdldENoYXRMaXN0KCk7XHRcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0aWYob2JqLnR5cGU+PSA4KXtcblx0XHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQgPT0gb2JqLnNlbGxlcklkKXtcblx0XHRcdFx0XHRcdFx0XHRpZihvYmoudHlwZSA9PSAxMCl7XG5cdFx0XHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BpcGVpL3NoaXBpbi9kZXRhaWw/dHlwZT0yJmlkPVwiK3RoYXQuaWRcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdH0sNTAwKVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRpZihvYmoudHlwZSA9PSAxOCl7XG5cdFx0XHRcdFx0XHRcdFx0XHRpZihvYmoudXNlck1zZ1ZvaWNlID09IDEpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR1bmkuJGVtaXQoXCJwbGF5QXVkaW9cIilcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdGlmKG9iai51c2VyTXNnU2hvY2sgPT0gMSl7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVuaS52aWJyYXRlTG9uZyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29tcGxldGU6IGZ1bmN0aW9uIChyZXMpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCdzdWNjZXNzJyxyZXMpO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvcGlwZWkvc2hpcGluL2RldGFpbD90eXBlPTMmaWQ9XCIrb2JqLnVzZXJJZCsnJmZpZD0nK29iai5zZWxsZXJJZFxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0aWYob2JqLnR5cGUgPT0gMTkpe1xuXHRcdFx0XHRcdFx0XHRcdFx0aWYob2JqLnVzZXJNc2dWb2ljZSA9PSAxKXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLiRlbWl0KFwicGxheUF1ZGlvXCIpXG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRpZihvYmoudXNlck1zZ1Nob2NrID09IDEpe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR1bmkudmlicmF0ZUxvbmcoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGNvbXBsZXRlOiBmdW5jdGlvbiAocmVzKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnc3VjY2VzcycscmVzKTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BpcGVpL3NoaXBpbi9kZXRhaWw/dHlwZT00JmlkPVwiK29iai51c2VySWQrJyZmaWQ9JytvYmouc2VsbGVySWRcblx0XHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblx0XHRcdH0sXG5cdFx0XHR0b0JpYW9xaW5nKHR5cGUpIHtcblx0XHRcdFx0aWYodHlwZT09MSl7XG5cdFx0XHRcdFx0dGhpcy5pc0JpYW9xaW5nID0gZmFsc2U7XG5cdFx0XHRcdFx0dGhpcy5pc09wZW4gPSAhdGhpcy5pc09wZW5cblx0XHRcdFx0fWVsc2Uge1xuXHRcdFx0XHRcdHRoaXMuaXNPcGVuID0gZmFsc2U7XG5cdFx0XHRcdFx0dGhpcy5pc0JpYW9xaW5nID0gIXRoaXMuaXNCaWFvcWluZ1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0c2Nyb2xsdG91cHBlcihlKSB7XG5cdFx0XHRcdGlmKHRoaXMuY2hhdExpc3QubGVuZ3RoIDw9dGhpcy50b3RhbCl7XG5cdFx0XHRcdFx0dGhpcy5wYWdlICsrO1xuXHRcdFx0XHRcdHRoaXMuZ2V0Q2hhdExpc3QoMSk7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHR0b0F1ZGlvKHVybCkge1xuXHRcdFx0XHRpbm5lckF1ZGlvQ29udGV4dC5zcmMgPSB1cmw7XG5cdFx0XHRcdGlubmVyQXVkaW9Db250ZXh0LnBsYXkoKTtcblx0XHRcdH0sXG5cdFx0XHR0b1BsYXkodXJsKXtcblx0XHRcdFx0dGhpcy5zaG93MiA9IHRydWU7XG5cdFx0XHRcdHRoaXMudmlkZW9VcmwgPSB1cmxcblx0XHRcdH0sXG5cdFx0XHQvLyDlsIZweOi9rOaNouS4unJweFxuXHRcdFx0cHhUb1JweChweCkge1xuXHRcdFx0ICAgIHJldHVybiBweCAqIDc1MCAvIHN5c3RlbUluZm9TeW5jLndpbmRvd1dpZHRoO1xuXHRcdFx0fSxcblx0XHRcdC8v5Y+R6YCB5b6X5YaF5a6577yMdHlwZToxLuivremfsyAyLuinhumikSAzLuaWh+WtlyA05Zu+54mHIDXnpLzniak25pCt6K6qXG5cdFx0XHRhc3luYyBnaWZ0R2l2aW5nKCkge1xuXHRcdFx0XHRhd2FpdCB0aGlzLiRhcGkuZ2lmdEdpdmluZyh7XG5cdFx0XHRcdFx0XCJ1c2VySWRcIjogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsIC8v55So5oi3SURcblx0XHRcdFx0XHRcImFjY2VwdFVzZXJJZFwiOiB0aGlzLmlkLCAvL+iiq+mAgeekvOS5i+S6uklEXG5cdFx0XHRcdFx0XCJnaWZ0SWRcIjogdGhpcy5naWZ0TGlzdFt0aGlzLnRhYkluZGV4XS5pZCwgLy/npLznialJRFxuXHRcdFx0XHRcdFwibnVtXCI6IHRoaXMubnVtIC8v56S854mp5pWw6YePXG5cdFx0XHRcdH0pIFxuXHRcdFx0fSxcblx0XHRcdHRvWmVuZ3NvbmcoKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHRpZih0aGlzLnVzZXJJbmZvLmlzQmxhY2sgPT0gMSl7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogXCLlvZPliY3nlKjmiLfmmK/pu5HlkI3ljZXvvIzlt7LpmZDliLZcIixcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRyZXR1cm4gO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmKHRoaXMuYmFsYW5jZUluZm8uaXNCbGFjayA+PSB0aGlzLmdpZnRMaXN0W3RoaXMudGFiSW5kZXhdLnByaWNlKnRoYXQubnVtKXtcblx0XHRcdFx0XHR0aGF0LmlzQ29pbnMgPSB0cnVlO1xuXHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhhdC5pbWcgPSB0aGlzLmdpZnRMaXN0W3RoaXMudGFiSW5kZXhdLmlkXG5cdFx0XHRcdHRoYXQuY291bnQgPSB0aGF0Lm51bVxuXHRcdFx0XHR0aGF0LnRvU2VuZCg1KVxuXHRcdFx0fSxcblx0XHRcdHRhYkl0ZW0oaW5kZXgpe1xuXHRcdFx0XHR0aGlzLnRhYkluZGV4ID0gaW5kZXg7XG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgZ2V0R2lmdCgpIHtcblx0XHRcdFx0Y29uc3QgeyBjb2RlLCBkYXRhIH0gPSBhd2FpdCB0aGlzLiRhcGkuZ2lmdExpc3Qoe1xuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXG5cdFx0XHRcdFx0bGltaXQ6IDk5OSxcblx0XHRcdFx0XHRwYWdlOiAxXG5cdFx0XHRcdH0pIFxuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0dGhpcy5naWZ0TGlzdCA9IGRhdGEubGlzdDtcblx0XHRcdFx0XHR0aGlzLmdpZnRMaXN0TnVtID0gTWF0aC5jZWlsKGRhdGEudG90YWwvOClcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGNsb3NlR2lmdCgpe1xuXHRcdFx0XHR0aGlzLnNob3cxID0gZmFsc2U7XG5cdFx0XHRcdHRoaXMuaXNPcGVuID0gZmFsc2U7XG5cdFx0XHRcdHRoaXMuaXNCaWFvcWluZyA9IGZhbHNlO1xuXHRcdFx0fSxcblx0XHRcdG9wZW5HaWZ0KCl7XG5cdFx0XHRcdGlmKHRoaXMudXNlckluZm8uaXNCbGFjayA9PSAxKXtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiBcIuW9k+WJjeeUqOaIt+aYr+m7keWQjeWNle+8jOW3sumZkOWItlwiLFxuXHRcdFx0XHRcdFx0cG9zaXRpb246IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5zaG93MSA9IHRydWU7XG5cdFx0XHRcdFxuXHRcdFx0XHR0aGlzLmlzT3BlbiA9IGZhbHNlO1xuXHRcdFx0XHR0aGlzLmlzQmlhb3FpbmcgPSBmYWxzZTtcblx0XHRcdH0sXG5cdFx0XHRjaGFuZ2Vzd2lwZXIoZSl7XG5cdFx0XHRcdHRoaXMuY3VycmVudCA9IGUuZGV0YWlsLmN1cnJlbnRcblx0XHRcdH0sXG5cdFx0XHR0b0VuZCgpIHtcblx0XHRcdFx0cmVjb3JkZXJNYW5hZ2VyLnN0b3AoKTtcblx0XHRcdH0sXG5cdFx0XHR0b1RvZ2dsZSgpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdHRoaXMuaXNUb2dnbGUgPSAhdGhpcy5pc1RvZ2dsZVxuXHRcdFx0XHR0aGlzLmlzT3BlbiA9IGZhbHNlO1xuXHRcdFx0fSxcblx0XHRcdC8v5qOA5p+l5qyh5pWwXG5cdFx0XHRhc3luYyB1c2VyQmFsYW5jZSgpIHtcblx0XHRcdFx0Y29uc3QgeyBjb2RlLCBkYXRhIH0gPSBhd2FpdCB0aGlzLiRhcGkudXNlckJhbGFuY2Uoe1xuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWRcblx0XHRcdFx0fSkgXG5cdFx0XHRcdGlmKGNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHR0aGlzLmJhbGFuY2VJbmZvID0gZGF0YVxuXHRcdFx0XHRcdC8qKipcblx0XHRcdFx0XHRcInZpZGVvQ29pbnNcIjogMCwgLy/op4bpopHlj6/nlKjml7bplb/vvJrliIbpkp9cblx0XHRcdFx0XHRcIndvcmRWb2ljZURpc2NvdW50XCI6IDAsIC8v6K+t6Z+z6KeG6aKR5paH5a2X5oqY5omj77yaMOihqOekuuS4jeaJk+aKmFxuXHRcdFx0XHRcdFwidm9pY2VDb2luc1wiOiAwLCAvL+ivremfs+WPr+eUqOaXtumVv++8muWIhumSn1xuXHRcdFx0XHRcdFwid29yZENvaW5zXCI6IDAsIC8v5paH5a2X5Y+v5Y+R5pWw6YePXG5cdFx0XHRcdFx0XCJ1c2VyQmFsYW5jZVwiOiAxIC8v5b2T5YmN55So5oi36YeR5biB5L2Z6aKdXG5cdFx0XHRcdFx0Ki9cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdC8v57uT566XIHR5cGU6MS7or63pn7MgMi7op4bpopEgMy7mloflrZcgNOWbvueJhyA156S854mpNuaQreiuqlxuXHRcdFx0YXN5bmMgc29jaWFsQ29uc3VtcHRpb24odHlwZSkge1xuXHRcdFx0XHRhd2FpdCB0aGlzLiRhcGkuc29jaWFsQ29uc3VtcHRpb24oe1xuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXG5cdFx0XHRcdFx0c2VsbGVySWQ6IHRoaXMuaWQsXG5cdFx0XHRcdFx0dHlwZTogKHR5cGUgPT0gMSB8fCB0eXBlID09IDIgfHwgdHlwZSA9PSAzKT8zOnR5cGUsXG5cdFx0XHRcdFx0ZHVyYXRpb246IFwiXCJcblx0XHRcdFx0fSkgXG5cdFx0XHR9LFxuXHRcdFx0dG9PcGVuKCl7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHQvL3tcInVzZXJJZFwiOlwiMTIzXCIsXCJzZWxsZXJJZFwiOlwiNDU3NTY3Njg3OFwiLFwidHlwZVwiOjN9ICAg5Y+R6YCB5b6X5YaF5a6577yMdHlwZToxLuivremfsyAyLuinhumikSAzLuaWh+WtlyA05Zu+54mHIDXnpLzniak25pCt6K6qXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKDExMSlcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coSlNPTi5zdHJpbmdpZnkoe1widXNlcklkXCI6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLHNlbGxlcklkOnRoaXMuaWQsIHR5cGU6MyxcInRvcGljXCI6XCJtZXNzYWdlXCJ9KSlcblx0XHRcdFx0Ly8gdW5pLnNlbmRTb2NrZXRNZXNzYWdlKHtkYXRhOkpTT04uc3RyaW5naWZ5KHtcInVzZXJJZFwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxzZWxsZXJJZDp0aGlzLmlkLCB0eXBlOjMsXCJ0b3BpY1wiOlwibWVzc2FnZVwifSl9KTtcblx0XHRcdFx0XG5cdFx0XHRcdC8vIHJldHVybiA7XG5cdFx0XHRcdC8vIEFQUOajgOafpeadg+mZkFxuXHRcdFx0XHRpZih1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKS5wbGF0Zm9ybSA9PSAnYW5kcm9pZCcpIHtcblx0XHRcdFx0XHRwbHVzLmFuZHJvaWQuY2hlY2tQZXJtaXNzaW9uKFxuXHRcdFx0XHRcdFx0J2FuZHJvaWQucGVybWlzc2lvbi5SRUNPUkRfQVVESU8nLFxuXHRcdFx0XHRcdFx0Z3JhbnRlZCA9PiB7XG5cdFx0XHRcdFx0XHQgIGlmIChncmFudGVkLmNoZWNrUmVzdWx0PT0tMSl7XG5cdFx0XHRcdFx0XHRcdHRoYXQuc2hvdz10cnVlXG5cdFx0XHRcdFx0XHQgIH1lbHNle1xuXHRcdFx0XHRcdFx0XHR0aGF0LnNob3c9ZmFsc2Vcblx0XHRcdFx0XHRcdFx0dGhhdC50b0x1eWluKCk7XG5cdFx0XHRcdFx0XHQgIH1cblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRlcnJvciA9PiB7XG5cdFx0XHRcdFx0XHQgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNoZWNraW5nIHBlcm1pc3Npb246JywgZXJyb3IubWVzc2FnZSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0ICApO1xuXHRcdFx0XHRcdCB0aGF0LnJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbignYW5kcm9pZC5wZXJtaXNzaW9uLlJFQ09SRF9BVURJTycpXG5cdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGF0LnRvTHV5aW4oKTtcblx0XHRcdH0sXG5cdFx0XHR0b0x1eWluKCkge1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0Y2xlYXJJbnRlcnZhbCh0aW1lcilcblx0XHRcdFx0dGhhdC5pc1BsYXkgPSBmYWxzZTtcblx0XHRcdFx0dGltZXIgPSBzZXRJbnRlcnZhbCgoKT0+e1xuXHRcdFx0XHRcdHRoYXQuY291bnQrK1xuXHRcdFx0XHR9LDEwMDApXG5cdFx0XHRcdHJlY29yZGVyTWFuYWdlci5zdGFydCh7XG5cdFx0XHRcdFx0Zm9ybWF0OiBcIm1wM1wiXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0cmVjb3JkZXJBdXRoTW9kYWw6IGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xuXHRcdFx0XHRcdHRpdGxlOiAn5rip6aao5o+Q56S6Jyxcblx0XHRcdFx0XHRjb250ZW50OiAn5Li65LqG6bqm5YWL6aOO55qE5Yqf6IO977yM5oiR5Lus6ZyA6KaB55Sz6K+36bqm5YWL6aOO5p2D6ZmQ77yM6K+35oKo56Gu6K6k5o6I5p2D77yM5ZCm5YiZ5peg5rOV5L2/55So6K+l5Yqf6IO9ficsXG5cdFx0XHRcdFx0Y2FuY2VsVGV4dDogJ+WFs+mXrScsXG5cdFx0XHRcdFx0Y29uZmlybVRleHQ6ICfljrvmjojmnYMnLFxuXHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XG5cdFx0XHRcdFx0XHR0aGF0LnNob3c9ZmFsc2Vcblx0XHRcdFx0XHRcdGlmIChyZXMuY29uZmlybSkge1xuXHRcdFx0XHRcdFx0XHRwZXJtaXNpb24uZ290b0FwcFBlcm1pc3Npb25TZXR0aW5nKClcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgcmVxdWVzdEFuZHJvaWRQZXJtaXNzaW9uKHBlcm1pc2lvbklEKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHR2YXIgcmVzdWx0ID0gYXdhaXQgcGVybWlzaW9uLnJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbihwZXJtaXNpb25JRCk7XG5cdFx0XHRcdGlmKHJlc3VsdCAhPSAxKXtcblx0XHRcdFx0XHR0aGF0LnJlY29yZGVyQXV0aE1vZGFsKCk7XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdHRoYXQuc2hvdyA9ZmFsc2Vcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdC8v5LiK5Lyg6K+t6Z+zXG5cdFx0XHR1cGxvYWRBdWRpbyhmaWxlUGF0aCkge1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0aWYodGhhdC51c2VySW5mby5pc0JsYWNrID09IDEpe1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6IFwi5b2T5YmN55So5oi35piv6buR5ZCN5Y2V77yM5bey6ZmQ5Yi2XCIsXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5zZXggPT0gMSl7XG5cdFx0XHRcdFx0aWYodGhhdC5iYWxhbmNlSW5mby53b3JkQ29pbnMgPD0gMCl7XG5cdFx0XHRcdFx0XHR0aGF0LmlzQ29pbnM9dHJ1ZTtcblx0XHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHVuaS51cGxvYWRGaWxlKHtcblx0XHRcdFx0XHRuYW1lOiAnZmlsZScsXG5cdFx0XHRcdFx0dXJsOiB0aGF0LiRiYXNlVXJsKycvcHJvZC1hcGkvY29tbW9uL3VwbG9hZCcsXG5cdFx0XHRcdFx0ZmlsZVBhdGgsXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3Qge2NvZGUsIGZpbGVOYW1lLCB1cmwsIG1zZ30gPSBKU09OLnBhcnNlKHJlcy5kYXRhKTtcblx0XHRcdFx0XHRcdGlmKGNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHRcdFx0dGhhdC5pbWcgPSB1cmxcblx0XHRcdFx0XHRcdFx0dGhhdC50b1NlbmQoMSlcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycilcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1x0XG5cdFx0XHR9LFxuXHRcdFx0Ly/kuIrkvKDop4bpopFcblx0XHRcdHVwbG9hZFZpZGVvKCkge1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0aWYodGhhdC51c2VySW5mby5pc0JsYWNrID09IDEpe1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6IFwi5b2T5YmN55So5oi35piv6buR5ZCN5Y2V77yM5bey6ZmQ5Yi2XCIsXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0fVxuXHRcdFx0XHR1bmkuY2hvb3NlVmlkZW8oe1xuXHRcdFx0XHRcdGNvdW50OiAxLFxuXHRcdFx0XHRcdHNvdXJjZVR5cGU6IFtcImFsYnVtXCIsIFwiY2FtZXJhXCJdLFxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMxKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMxKVxuXHRcdFx0XHRcdFx0dGhhdC5jb3VudCA9IHJlczEuZHVyYXRpb247XG5cdFx0XHRcdFx0XHRpZih0aGF0LnVzZXJJbmZvLmlzQmxhY2sgPT0gMSl7XG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuW9k+WJjeeUqOaIt+aYr+m7keWQjeWNle+8jOW3sumZkOWItlwiLFxuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuc2V4ID09IDEpe1xuXHRcdFx0XHRcdFx0XHRpZih0aGF0LmJhbGFuY2VJbmZvLndvcmRDb2lucyA8PSAwKXtcblx0XHRcdFx0XHRcdFx0XHR0aGF0LmlzQ29pbnM9dHJ1ZTtcblx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR1bmkudXBsb2FkRmlsZSh7XG5cdFx0XHRcdFx0XHRcdG5hbWU6ICdmaWxlJyxcblx0XHRcdFx0XHRcdFx0dXJsOiB0aGF0LiRiYXNlVXJsKycvcHJvZC1hcGkvY29tbW9uL3VwbG9hZCcsXG5cdFx0XHRcdFx0XHRcdGZpbGVQYXRoOiByZXMxLnRlbXBGaWxlUGF0aCxcblx0XHRcdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHtjb2RlLCBmaWxlTmFtZSwgdXJsLCBtc2d9ID0gSlNPTi5wYXJzZShyZXMuZGF0YSk7XG5cdFx0XHRcdFx0XHRcdFx0aWYoY29kZSA9PSAyMDApe1xuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5pbWcgPSB1cmxcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMudG9TZW5kKDIpXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coZXJyKVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KTtcdFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0ZmFpbChlcnIpe1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJmYWlsXCIsZXJyKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9LFxuXHRcdFx0Ly/kuIrkvKDlm77niYdcblx0XHRcdHVwbG9hZEltZygpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXNcblx0XHRcdFx0aWYodGhhdC51c2VySW5mby5pc0JsYWNrID09IDEpe1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6IFwi5b2T5YmN55So5oi35piv6buR5ZCN5Y2V77yM5bey6ZmQ5Yi2XCIsXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0fVxuXHRcdFx0XHR1bmkuY2hvb3NlSW1hZ2Uoe1xuXHRcdFx0XHRcdGNvdW50OiAxLCAvL+WPr+S7peaMh+WumuaYr+WOn+Wbvui/mOaYr+WOi+e8qeWbvu+8jOm7mOiupOS6jOiAhemDveaciVxuXHRcdFx0XHRcdHNvdXJjZVR5cGU6IFtcImFsYnVtXCIsIFwiY2FtZXJhXCJdLFxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMxKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMxKVxuXHRcdFx0XHRcdFx0aWYodGhhdC51c2VySW5mby5pc0JsYWNrID09IDEpe1xuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0XHR0aXRsZTogXCLlvZPliY3nlKjmiLfmmK/pu5HlkI3ljZXvvIzlt7LpmZDliLZcIixcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLnNleCA9PSAxKXtcblx0XHRcdFx0XHRcdFx0aWYodGhhdC5iYWxhbmNlSW5mby53b3JkQ29pbnMgPD0gMCl7XG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5pc0NvaW5zPXRydWU7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0dW5pLnVwbG9hZEZpbGUoe1xuXHRcdFx0XHRcdFx0XHRuYW1lOiAnZmlsZScsXG5cdFx0XHRcdFx0XHRcdHVybDogdGhhdC4kYmFzZVVybCsnL3Byb2QtYXBpL2NvbW1vbi91cGxvYWQnLFxuXHRcdFx0XHRcdFx0XHRmaWxlUGF0aDogcmVzMS50ZW1wRmlsZVBhdGhzWzBdLFxuXHRcdFx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0Ly8xLuivremfsyAyLuinhumikSAzLuaWh+WtlyA05Zu+54mHIDXnpLznialcblx0XHRcdFx0XHRcdFx0XHRjb25zdCB7Y29kZSwgZmlsZU5hbWUsIHVybCwgbXNnfSA9IEpTT04ucGFyc2UocmVzLmRhdGEpO1xuXHRcdFx0XHRcdFx0XHRcdGlmKGNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuaW1nID0gdXJsXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LnRvU2VuZCg0KVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0ZmFpbDogKGVycikgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGVycilcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSk7XHRcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGZhaWwoZXJyKXtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwiZmFpbFwiLGVycilcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXHRcdFx0fSxcblx0XHRcdFxuXHRcdFx0dG9TZWxlY3QobXNnKXtcblx0XHRcdFx0dGhpcy5jb250ZW50ID0gbXNnO1xuXHRcdFx0XHR0aGlzLnRvU2VuZCgzKTtcblx0XHRcdH0sXG5cdFx0XHQvLyDlj5HpgIHlvpflhoXlrrnvvIx0eXBlOjEu6K+t6Z+zIDIu6KeG6aKRIDMu5paH5a2XIDTlm77niYcgNeekvOeJqTbmkK3orqpcblx0XHRcdGFzeW5jIHRvU2VuZCh0eXBlKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHRpZih0eXBlID09IDMpe1xuXHRcdFx0XHRcdGlmKHRoYXQudXNlckluZm8uaXNCbGFjayA9PSAxKXtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogXCLlvZPliY3nlKjmiLfmmK/pu5HlkI3ljZXvvIzlt7LpmZDliLZcIixcblx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLnNleCA9PSAxKXtcblx0XHRcdFx0XHRcdGlmKHRoYXQuYmFsYW5jZUluZm8ud29yZENvaW5zIDw9IDEpe1xuXHRcdFx0XHRcdFx0XHR0aGF0LmlzQ29pbnM9dHJ1ZTtcblx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0bGV0IHN2Z2FTcmMgPSBudWxsXG5cdFx0XHRcdGlmKHRoYXQuZ2lmdExpc3QgJiYgdGhhdC5naWZ0TGlzdC5sZW5ndGggPiAwKXtcblx0XHRcdFx0XHRzdmdhU3JjID0gdGhhdC5naWZ0TGlzdFt0aGF0LnRhYkluZGV4XS5zcGVjaWFsRWZmZWN0c1xuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoYXQuc3ZnYVNyYylcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coc3ZnYVNyYylcblx0XHRcdFx0Ly8gdGhhdC5zdmdhU3JjID0gc3ZnYVNyY1xuXHRcdFx0XHQvLyB0aGF0LmlzU3ZnYSA9IHRydWU7XG5cdFx0XHRcdC8vIHJldHVybiA7XG5cdFx0XHRcdGNvbnN0IHsgY29kZSwgZGF0YSB9ID0gYXdhaXQgdGhpcy4kYXBpLmNoYXQoe1xuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXG5cdFx0XHRcdFx0c2VsbGVySWQ6IHRoYXQuaWQsXG5cdFx0XHRcdFx0dHlwZSxcblx0XHRcdFx0XHRudW06IHR5cGUgPT0gNT90aGF0LmNvdW50Oih0aGF0LmNvdW50KzEpLFxuXHRcdFx0XHRcdG1lc3NhZ2U6IHR5cGUgPT0gMz90aGF0LmNvbnRlbnQ6IHRoYXQuaW1nXG5cdFx0XHRcdH0pIFxuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0bGV0IHN2Z2FTcmMgPSBudWxsXG5cdFx0XHRcdFx0aWYodHlwZT09NSl7XG5cdFx0XHRcdFx0XHRpZih0aGF0LmdpZnRMaXN0ICYmIHRoYXQuZ2lmdExpc3QubGVuZ3RoID4gMCl7XG5cdFx0XHRcdFx0XHRcdHN2Z2FTcmMgPSB0aGF0LmdpZnRMaXN0W3RoYXQudGFiSW5kZXhdLnNwZWNpYWxFZmZlY3RzO1xuXHRcdFx0XHRcdFx0XHR0aGF0LnN2Z2FTcmMgPSBzdmdhU3JjXG5cdFx0XHRcdFx0XHRcdHRoYXQuaXNTdmdhID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0Ly8gaWYodGhhdC5zdmdhU3JjID09IHN2Z2FTcmMpe1xuXHRcdFx0XHRcdFx0XHQvLyBcdGNvbnNvbGUubG9nKDMzMzMzLHRoYXQuc3ZnYVNyYyA9PSBzdmdhU3JjLHRoYXQuc3ZnYVNyYywgc3ZnYVNyYylcblx0XHRcdFx0XHRcdFx0Ly8gXHR0aGF0LmlzU3ZnYSA9IHRydWU7XG5cdFx0XHRcdFx0XHRcdC8vIFx0dGhhdC4kcmVmcy5jU3ZnYVJlZi5jYWxsKFwic3RhcnRBbmltYXRpb25cIilcblx0XHRcdFx0XHRcdFx0Ly8gfWVsc2V7XG5cdFx0XHRcdFx0XHRcdC8vIFx0Y29uc29sZS5sb2coNDQ0NCx0aGF0LnN2Z2FTcmMgPT0gc3ZnYVNyYyx0aGF0LnN2Z2FTcmMsIHN2Z2FTcmMpXG5cdFx0XHRcdFx0XHRcdC8vIFx0dGhhdC5zdmdhU3JjID0gc3ZnYVNyY1xuXHRcdFx0XHRcdFx0XHQvLyBcdHRoYXQuaXNTdmdhID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0Ly8gfVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0dGhhdC5naWZ0R2l2aW5nKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHVuaS5zZW5kU29ja2V0TWVzc2FnZSh7ZGF0YTpKU09OLnN0cmluZ2lmeSh7XG5cdFx0XHRcdFx0XHRcInVzZXJJZFwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcblx0XHRcdFx0XHRcdHNlbGxlcklkOnRoYXQuaWQsIFxuXHRcdFx0XHRcdFx0dHlwZSxcblx0XHRcdFx0XHRcdG51bTogKHRoYXQuY291bnQrMSksXG5cdFx0XHRcdFx0XHRtZXNzYWdlOiAodHlwZSA9PSAzP3RoYXQuY29udGVudDogdGhhdC5pbWcpLFxuXHRcdFx0XHRcdFx0c3ZnYVNyYzogc3ZnYVNyYz9zdmdhU3JjOicnLFxuXHRcdFx0XHRcdFx0XCJ0b3BpY1wiOlwibWVzc2FnZVwiXG5cdFx0XHRcdFx0fSl9KVxuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdHRoYXQuc29jaWFsQ29uc3VtcHRpb24odHlwZSk7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0dGhhdC5pc09wZW4gPSBmYWxzZTtcblx0XHRcdFx0XHR0aGF0LmlzQmlhb3FpbmcgPSBmYWxzZTtcblx0XHRcdFx0XHR0aGF0LnNob3cxID0gZmFsc2U7XG5cdFx0XHRcdFx0dGhhdC51c2VyQmFsYW5jZSgpO1xuXHRcdFx0XHRcdHRoYXQuZWRpdG9yQ3R4LmNsZWFyKCk7XG5cdFx0XHRcdFx0dGhhdC5jb250ZW50PVwiXCJcblx0XHRcdFx0XHR0aGF0LmNvdW50ID0gMDtcblx0XHRcdFx0XHR0aGF0Lm51bSA9IDE7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHQvL+aVsOe7hOWvueixoeWOu+mHjVxuXHRcdFx0YXJyYXlVbmlxdWUgKGFyciwgbmFtZSkge1xuXHRcdFx0XHR2YXIgaGFzaCA9IHt9O1xuXHRcdFx0XHRyZXR1cm4gYXJyLnJlZHVjZShmdW5jdGlvbiAoaXRlbSwgbmV4dCkge1xuXHRcdFx0XHRcdGhhc2hbbmV4dFtuYW1lXV1cblx0XHRcdFx0XHRcdD8gXCJcIlxuXHRcdFx0XHRcdFx0OiAoaGFzaFtuZXh0W25hbWVdXSA9IHRydWUgJiYgaXRlbS5wdXNoKG5leHQpKTtcblx0XHRcdFx0XHRyZXR1cm4gaXRlbTtcblx0XHRcdFx0fSwgW10pO1xuXHRcdFx0fSxcblx0XHRcdGFzeW5jIGdldENoYXRMaXN0KHR5cGUpe1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0Y29uc3QgeyBjb2RlLCBkYXRhICwgbXNnIH0gPSBhd2FpdCB0aGlzLiRhcGkuZmluZENoYXRMaXN0KHtcblx0XHRcdFx0XHRsaW1pdDogMTAsIFxuXHRcdFx0XHRcdHBhZ2U6IHRoaXMucGFnZSxcblx0XHRcdFx0XHRmb3JtVXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcblx0XHRcdFx0XHR0b1VzZXJJZDogdGhpcy5pZH0pO1xuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0dGhpcy50b3RhbD0gZGF0YS50b3RhbDtcblx0XHRcdFx0XHRpZih0eXBlID09IDEpe1xuXHRcdFx0XHRcdFx0dGhpcy5jaGF0TGlzdD0gdGhhdC5hcnJheVVuaXF1ZShbLi4uZGF0YS5saXN0LC4uLnRoaXMuY2hhdExpc3RdLCdtc2dJZCcpO1xuXHRcdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdFx0dGhpcy5jaGF0TGlzdD0gZGF0YS5saXN0XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmKHR5cGUgPT0gMSl7XG5cdFx0XHRcdFx0XHRyZXR1cm4gO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XG5cdFx0XHRcdFx0XHRsZXQgd3JhcHBlciA9IHVuaS5jcmVhdGVTZWxlY3RvclF1ZXJ5KCkuaW4odGhpcykuc2VsZWN0KCcjd3JhcHBlcicpO1xuXHRcdFx0XHRcdFx0d3JhcHBlci5maWVsZHMoe1xuXHRcdFx0XHRcdFx0XHRzaXplOiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRzY3JvbGxPZmZzZXQ6IHRydWVcblx0XHRcdFx0XHRcdH0sIGRhdGEgPT4ge1xuXHRcdFx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhcIndyYXBwZXJcIixkYXRhKVxuXHRcdFx0XHRcdFx0XHR0aGF0LndyYXBwZXJTY3JvbGxIZWlnaHQgPSBkYXRhLnNjcm9sbEhlaWdodCo2XG5cdFx0XHRcdFx0XHR9KS5leGVjKClcblx0XHRcdFx0XHRcdC8vIDtcblx0XHRcdFx0XHR9LDEwMClcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGFzeW5jIGdldFVzZXJJbmZvKCkge1xuXHRcdFx0XHRjb25zdCB7IGNvZGUsIGRhdGEgLCBtc2cgfSA9IGF3YWl0IHRoaXMuJGFwaS5maW5kT3RoZXJVc2VySW5mbyh7dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxzZWxsZXJJZDogdGhpcy5pZCx9KTtcblx0XHRcdFx0aWYoY29kZSA9PSAyMDApe1xuXHRcdFx0XHRcdHRoaXMudXNlckluZm8gPSBkYXRhO1xuXHRcdFx0XHRcdHRoaXMudXNlckluZm8ueGlhbmdjZSA9IFtdO1xuXHRcdFx0XHRcdGlmKGRhdGEucmVzZXJ2ZWQxKXtcblx0XHRcdFx0XHRcdHRoaXMudXNlckluZm8ueGlhbmdjZSA9IGRhdGEucmVzZXJ2ZWQxLnNwbGl0KFwiLFwiKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR0aGlzLml0ZW1MaXN0ID0gW1wi5p+l55yLVEHnmoTkuLvpobVcIiwgKGRhdGEuaXNDYXJlID09IDA/XCLlhbPms6hcIjpcIuWPlua2iOWFs+azqFwiKSwgXCLkuL7miqVcIiwgKGRhdGEuaXNCbGFjayA9PSAwP1wi5Yqg5YWl6buR5ZCN5Y2VXCI6XCLnp7vpmaTpu5HlkI3ljZVcIildO1xuXHRcdFx0XHRcdHRoaXMudGl0bGUgPSBkYXRhLm5pY2tuYW1lKyhkYXRhLmlzT25saW5lID09IDE/XCJfKOWcqOe6vylcIjpcIl8o56a757q/KVwiKTtcblx0XHRcdFx0XHRpZihkYXRhLm9wZXJyb2xlID09IDApe1xuXHRcdFx0XHRcdFx0dGhpcy5nZXRDb25maWdEYXRhKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFxuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiBtc2csXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRcblx0XHRcdC8v5a2X5YW45p+l6K+iXG5cdFx0XHRhc3luYyBnZXRDb25maWdEYXRhKCkge1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0bGV0IHJlczEgPSBhd2FpdCB0aGF0LiRhcGkuZ2V0Q29uZmlnRGF0YSh7ZGljdFR5cGU6ICdDT05GSUdfTUVTU0FHRV9OT1RJQ0UnfSk7XG5cdFx0XHRcdHRoYXQubGlzdCA9IFtyZXMxLmRhdGEuY29udGVudF1cblx0XHRcdH0sXG5cdFx0XHQvL+aYr+WQpuWFs+azqFxuXHRcdFx0YXN5bmMgdG9DYXJlT3JDYW5jZWwoKSB7XG5cdFx0XHRcdGNvbnN0IHsgY29kZSwgZGF0YSAsIG1zZyB9ID0gYXdhaXQgdGhpcy4kYXBpLmNhcmVPckNhbmNlbCh7XG5cdFx0XHRcdFx0dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcblx0XHRcdFx0XHRzZWxsZXJJZDogdGhpcy5pZCxcblx0XHRcdFx0XHR0eXBlOiB0aGlzLnVzZXJJbmZvLmlzQ2FyZSA9PSAwPzE6MlxuXHRcdFx0XHR9KTtcblx0XHRcdFx0aWYoY29kZSA9PSAyMDApe1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6IHRoaXMudXNlckluZm8uaXNDYXJlID09IDA/XCLlhbPms6jmiJDlip9cIjpcIuWPlua2iOWFs+azqFwiXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XG5cdFx0XHRcdFx0XHR0aGlzLmdldFVzZXJJbmZvKDEpXG5cdFx0XHRcdFx0fSwyMDAwKVxuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiBtc2csXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHQvL+aYr+WQpuWKoOWFpem7keWQjeWNlVxuXHRcdFx0YXN5bmMgdG9ZaWNodSgpIHtcblx0XHRcdFx0Y29uc3QgeyBjb2RlLCBkYXRhIH0gPSBhd2FpdCB0aGlzLiRhcGkuYWRkT3JSZW1vdmVCbGFja2xpc3Qoe1xuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXG5cdFx0XHRcdFx0c2VsbGVySWQ6IHRoaXMuaWQsXG5cdFx0XHRcdFx0dHlwZTogdGhpcy51c2VySW5mby5pc0JsYWNrID09IDA/MToyXG5cdFx0XHRcdH0pXG5cdFx0XHRcdGlmKGNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOnRoaXMudXNlckluZm8uaXNCbGFjayA9PSAxP1wi56e76Zmk5oiQ5YqfXCI6XCLliqDlhaXmiJDlip9cIlxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0c2V0VGltZW91dCgoKT0+e1xuXHRcdFx0XHRcdFx0dGhpcy5nZXRJbmZvKCk7XG5cdFx0XHRcdFx0fSwyMDAwKVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0XG5cdFx0XHQvL+inhumikeivremfs+ivtOaYjlxuXHRcdFx0YXN5bmMgb3BlblNoaXBpbmcoKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHRjb25zdCB7Y29kZSwgZGF0YSB9ID0gYXdhaXQgdGhhdC4kYXBpLmNvc3REZXNjcmlwdGlvbih7fSk7XG5cdFx0XHRcdGlmKGNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHR1bmkuc2hvd0FjdGlvblNoZWV0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiBcIuivremfsy/op4bpopHpgJror51cIixcblx0XHRcdFx0XHRcdGl0ZW1MaXN0OiBbXCLor63pn7PpgJror53vvIhcIitkYXRhLnZvaWNlQ29pbnMrXCLph5HluIEvMeWIhumSn++8iVwiLFwi6KeG6aKR6YCa6K+d77yIXCIrZGF0YS52aWRlb0NvaW5zK1wi6YeR5biBLzHliIbpkp/vvIlcIl0sXG5cdFx0XHRcdFx0XHRzdWNjZXNzKHJlcyl7XG5cdFx0XHRcdFx0XHRcdGlmKHJlcy50YXBJbmRleCA9PSAwKXtcblx0XHRcdFx0XHRcdFx0XHRpZih0aGF0LnVzZXJJbmZvLmlzT25saW5lID09IDApe1xuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuW9k+WJjeeUqOaIt+W3suemu+e6v1wiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0aWYodGhhdC51c2VySW5mby5pc0JsYWNrID09IDEpe1xuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuW9k+WJjeeUqOaIt+aYr+m7keWQjeWNle+8jOW3sumZkOWItlwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuc2V4ID09IDEpe1xuXHRcdFx0XHRcdFx0XHRcdFx0aWYodGhhdC5iYWxhbmNlSW5mby51c2VyQmFsYW5jZSA8PSAwKXtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5pc0NvaW5zPXRydWU7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdHRoYXQuaXNUb2dnbGUgPSB0cnVlO1xuXHRcdFx0XHRcdFx0XHRcdHRoYXQuaXNPcGVuID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5pc0JpYW9xaW5nID0gZmFsc2U7XG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNlbmRTb2NrZXRNZXNzYWdlKHtkYXRhOkpTT04uc3RyaW5naWZ5KHtcblx0XHRcdFx0XHRcdFx0XHRcdFwidXNlcklkXCI6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxuXHRcdFx0XHRcdFx0XHRcdFx0c2VsbGVySWQ6IHRoYXQuaWQsXG5cdFx0XHRcdFx0XHRcdFx0XHR0eXBlOiAxOCxcblx0XHRcdFx0XHRcdFx0XHRcdFwidG9waWNcIjpcIm1lc3NhZ2VcIlxuXHRcdFx0XHRcdFx0XHRcdH0pfSlcblx0XHRcdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BpcGVpL3NoaXBpbi9kZXRhaWw/dHlwZT0zJmlkPVwiK3RoYXQuaWRcblx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHR9ZWxzZSBpZihyZXMudGFwSW5kZXggPT0gMSl7XG5cdFx0XHRcdFx0XHRcdFx0aWYodGhhdC51c2VySW5mby5pc09ubGluZSA9PSAwKXtcblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogXCLlvZPliY3nlKjmiLflt7Lnprvnur9cIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGlmKHRoYXQudXNlckluZm8uaXNCbGFjayA9PSAxKXtcblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogXCLlvZPliY3nlKjmiLfmmK/pu5HlkI3ljZXvvIzlt7LpmZDliLZcIixcblx0XHRcdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLnNleCA9PSAxKXtcblx0XHRcdFx0XHRcdFx0XHRcdGlmKHRoYXQuYmFsYW5jZUluZm8udXNlckJhbGFuY2UgPD0gMCl7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuaXNDb2lucz10cnVlO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHR0aGF0LmlzVG9nZ2xlID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0XHR0aGF0LmlzT3BlbiA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0XHRcdHRoYXQuaXNCaWFvcWluZyA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0XHRcdHVuaS5zZW5kU29ja2V0TWVzc2FnZSh7ZGF0YTpKU09OLnN0cmluZ2lmeSh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcInVzZXJJZFwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcblx0XHRcdFx0XHRcdFx0XHRcdHNlbGxlcklkOiB0aGF0LmlkLCBcblx0XHRcdFx0XHRcdFx0XHRcdHR5cGU6IDE5LFxuXHRcdFx0XHRcdFx0XHRcdFx0XCJ0b3BpY1wiOlwibWVzc2FnZVwiXG5cdFx0XHRcdFx0XHRcdFx0fSl9KVxuXHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvcGlwZWkvc2hpcGluL2RldGFpbD90eXBlPTQmaWQ9XCIrdGhhdC5pZFxuXHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0fSxcblx0XHRcdHRvU2hlZXQxKCkge1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0dGhhdC5nZXRjb3N0RGVzY3JpcHRpb24oKTtcblx0XHRcdFx0XG5cdFx0XHR9LFxuXHRcdFx0dG9TaGVldCgpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdHVuaS5zaG93QWN0aW9uU2hlZXQoe1xuXHRcdFx0XHRcdGl0ZW1MaXN0OiB0aGlzLml0ZW1MaXN0LFxuXHRcdFx0XHRcdHN1Y2Nlc3MocmVzKXtcblx0XHRcdFx0XHRcdGlmKHJlcy50YXBJbmRleCA9PSAwKXtcblx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvcGVpd2FuL2RldGFpbD9pZD1cIit0aGF0LmlkXG5cdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHR9ZWxzZSBpZihyZXMudGFwSW5kZXggPT0gMSl7XG5cdFx0XHRcdFx0XHRcdHRoYXQudG9DYXJlT3JDYW5jZWwoKVxuXHRcdFx0XHRcdFx0fWVsc2UgaWYocmVzLnRhcEluZGV4ID09IDIpe1xuXHRcdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy91c2Vycy9mZWVkYmFjay9pbmRleD90eXBlPTImaWQ9XCIrdGhhdC5pZFxuXHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0fWVsc2UgaWYocmVzLnRhcEluZGV4ID09IDMpe1xuXHRcdFx0XHRcdFx0XHR0aGF0LnRvWWljaHUoKVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRpbnB1dFZhbHVlKGUpIHtcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coZSlcblx0XHRcdH0sXG5cdFx0fSxcblx0XHRkZXN0cm95ZWQoKSB7XG5cdFx0XHR1bmkuJG9mZihcInRvQ2hhdE9ialwiKVxuXHRcdH1cblx0fVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///67\n"); /***/ }), /* 68 */ @@ -5313,7 +5319,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rua /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 19));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 3));\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 68));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 21));\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/js_sdk/wa-permission/permission.js */ 74));\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; }\nvar _default = {\n data: function data() {\n return {\n info: {},\n commentList1: [],\n commentList2: [],\n isCoins: false,\n isDashan: false,\n isPopup: false,\n current: 0,\n city: \"\",\n page1: 1,\n page2: 1,\n total1: 1,\n total2: 1,\n balanceInfo: {},\n show: false,\n list: [{\n 'name': '热门'\n }, {\n 'name': '附近'\n }],\n activeStyle: {\n 'fontSize': '35rpx'\n },\n userInfo: {},\n goldInfo: {}\n };\n },\n onPullDownRefresh: function onPullDownRefresh() {\n var that = this;\n if (uni.getStorageSync(\"userInfo\").id) {\n uni.$emit(\"openSocket\");\n }\n setTimeout(function () {\n if (that.current == 0) {\n if (that.commentList1.length <= that.total1) {\n that.page1++;\n setTimeout(function () {\n that.customerRecommendList(1);\n }, 1000);\n }\n } else {\n if (that.commentList2.length <= that.total2) {\n that.page2++;\n setTimeout(function () {\n that.nearbyCustomerList(1);\n }, 1000);\n }\n }\n uni.stopPullDownRefresh();\n }, 2000);\n },\n onLoad: function onLoad() {\n var that = this;\n // APP检查权限\n if (uni.getSystemInfoSync().platform == 'android') {\n plus.android.checkPermission('android.permission.ACCESS_FINE_LOCATION', function (granted) {\n if (granted.checkResult == -1) {\n that.show = true;\n that.getLocation();\n } else {\n that.show = false;\n // 此为uView的跳转方法,详见\"文档-JS\"部分,也可以用uni的uni.navigateTo\n that.getLocation();\n }\n }, function (error) {\n __f__(\"error\", 'Error checking permission:', error.message, \" at pages/index/index.vue:150\");\n });\n that.requestAndroidPermission('android.permission.ACCESS_FINE_LOCATION');\n return;\n } else {\n that.getLocation();\n }\n },\n onReady: function onReady() {\n var that = this;\n uni.$on(\"clickTap\", function (res) {\n __f__(\"log\", res, \" at pages/index/index.vue:163\");\n that.city = res.name;\n if (that.current == 0) {\n that.page1 = 1;\n that.commentList1 = [];\n that.customerRecommendList();\n } else {\n that.page2 = 1;\n that.commentList2 = [];\n that.nearbyCustomerList();\n }\n });\n uni.$on(\"closeSharePopup\", function (res) {\n that.isPopup = false;\n that.isDashan = false;\n that.isCoins = false;\n });\n uni.$on(\"openCoinsPopup\", function (res) {\n that.isCoins = res;\n });\n uni.$on(\"onPopup\", function (res) {\n if (res == 1) {\n that.show = false;\n }\n });\n },\n onShow: function onShow() {\n this.getUserInfo();\n if (uni.getStorageSync(\"userInfo\").id) {\n if (!uni.getStorageSync(\"isOpen\")) {\n uni.$emit(\"openSocket\");\n }\n }\n },\n onReachBottom: function onReachBottom() {\n var that = this;\n uni.showLoading({\n title: \"加载中\"\n });\n if (that.current == 0) {\n if (that.commentList1.length <= that.total1) {\n that.page1++;\n setTimeout(function () {\n that.customerRecommendList(1);\n }, 1000);\n }\n } else {\n if (that.commentList2.length <= that.total2) {\n that.page2++;\n setTimeout(function () {\n that.nearbyCustomerList(1);\n }, 1000);\n }\n }\n },\n methods: {\n //实时上传轨迹\n trackUpload: function trackUpload(res, type) {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var _yield$_this$$api$tra, code, data;\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.$api.trackUpload({\n userId: uni.getStorageSync(\"userInfo\").id,\n lat: res.latitude,\n lon: res.longitude\n });\n case 2:\n _yield$_this$$api$tra = _context.sent;\n code = _yield$_this$$api$tra.code;\n data = _yield$_this$$api$tra.data;\n if (code == 200) {\n if (type == 1) {\n uni.navigateTo({\n url: \"/pages/pipei/tongcheng/index\"\n });\n } else if (type == 2) {\n uni.navigateTo({\n url: \"/pages/pipei/yuyin/index\"\n });\n } else if (type == 3) {\n uni.navigateTo({\n url: \"/pages/pipei/shipin/index\"\n });\n }\n }\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n //检查次数\n userBalance: function userBalance() {\n var _this2 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var _yield$_this2$$api$us, code, data;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _this2.$api.userBalance({\n userId: uni.getStorageSync(\"userInfo\").id\n });\n case 2:\n _yield$_this2$$api$us = _context2.sent;\n code = _yield$_this2$$api$us.code;\n data = _yield$_this2$$api$us.data;\n if (code == 200) {\n _this2.balanceInfo = data;\n }\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n recorderAuthModal: function recorderAuthModal() {\n var that = this;\n uni.showModal({\n title: '定位权限说明',\n content: '便于您使用该功能在当前位置查询所在门店,请您确认授权,否则无法使用该功能。',\n cancelText: '关闭',\n confirmText: '去授权',\n success: function success(res) {\n that.show = false;\n if (res.confirm) {\n _permission.default.gotoAppPermissionSetting();\n }\n }\n });\n },\n requestAndroidPermission: function requestAndroidPermission(permisionID) {\n var _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var that, result;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n that = _this3;\n _context3.next = 3;\n return _permission.default.requestAndroidPermission(permisionID);\n case 3:\n result = _context3.sent;\n if (result != 1) {\n that.recorderAuthModal();\n } else {\n that.show = false;\n // 此为uView的跳转方法,详见\"文档-JS\"部分,也可以用uni的uni.navigateTo\n that.getLocation();\n }\n case 5:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n //首页附近\n nearbyCustomerList: function nearbyCustomerList(type) {\n var _this4 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n var _yield$_this4$$api$ne, code, data, msg;\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n __f__(\"log\", uni.getStorageSync(\"jingweiInfo\").new_city, \" at pages/index/index.vue:280\");\n _context4.next = 3;\n return _this4.$api.nearbyCustomerList({\n userId: uni.getStorageSync(\"userInfo\").id,\n nickname: \"\",\n startAge: \"\",\n endAge: \"\",\n city: uni.getStorageSync(\"jingweiInfo\").new_city ? uni.getStorageSync(\"jingweiInfo\").new_city : uni.getStorageSync(\"jingweiInfo\").city,\n lat: uni.getStorageSync(\"jingweiInfo\").latitude,\n lon: uni.getStorageSync(\"jingweiInfo\").longitude,\n page: _this4.page2,\n limit: 20\n });\n case 3:\n _yield$_this4$$api$ne = _context4.sent;\n code = _yield$_this4$$api$ne.code;\n data = _yield$_this4$$api$ne.data;\n msg = _yield$_this4$$api$ne.msg;\n if (type == 1) {\n uni.hideLoading();\n }\n if (code == 200) {\n _this4.total2 = data.total;\n _this4.commentList2 = _this4.arrayUnique([].concat((0, _toConsumableArray2.default)(_this4.commentList2), (0, _toConsumableArray2.default)(data.list)), 'id');\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n //首页推荐\n customerRecommendList: function customerRecommendList(type) {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n var _yield$_this5$$api$cu, code, data, msg;\n return _regenerator.default.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return _this5.$api.customerRecommendList({\n userId: uni.getStorageSync(\"userInfo\").id,\n nickname: \"\",\n startAge: \"\",\n endAge: \"\",\n lat: uni.getStorageSync(\"jingweiInfo\").latitude,\n lon: uni.getStorageSync(\"jingweiInfo\").longitude,\n city: uni.getStorageSync(\"jingweiInfo\").new_city ? uni.getStorageSync(\"jingweiInfo\").new_city : uni.getStorageSync(\"jingweiInfo\").city,\n page: _this5.page1,\n limit: 20\n });\n case 2:\n _yield$_this5$$api$cu = _context5.sent;\n code = _yield$_this5$$api$cu.code;\n data = _yield$_this5$$api$cu.data;\n msg = _yield$_this5$$api$cu.msg;\n if (type == 1) {\n uni.hideLoading();\n }\n if (code == 200) {\n _this5.total1 = data.total;\n _this5.commentList1 = _this5.arrayUnique([].concat((0, _toConsumableArray2.default)(_this5.commentList1), (0, _toConsumableArray2.default)(data.list)), 'id');\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 8:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n //数组对象去重\n arrayUnique: function arrayUnique(arr, name) {\n var hash = {};\n return arr.reduce(function (item, next) {\n hash[next[name]] ? \"\" : hash[next[name]] = true && item.push(next);\n return item;\n }, []);\n },\n costDescription: function costDescription() {\n var _this6 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n var _yield$_this6$$api$co, code, data;\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return _this6.$api.costDescription({});\n case 2:\n _yield$_this6$$api$co = _context6.sent;\n code = _yield$_this6$$api$co.code;\n data = _yield$_this6$$api$co.data;\n if (code == 200) {\n _this6.goldInfo = data;\n }\n case 6:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n //获取用户信息\n getUserInfo: function getUserInfo() {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {\n var _yield$_this7$$api$fi, code, data, msg;\n return _regenerator.default.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return _this7.$api.findUserInfo({\n userId: uni.getStorageSync(\"userInfo\").id\n });\n case 2:\n _yield$_this7$$api$fi = _context7.sent;\n code = _yield$_this7$$api$fi.code;\n data = _yield$_this7$$api$fi.data;\n msg = _yield$_this7$$api$fi.msg;\n if (code == 200) {\n _this7.userInfo = data;\n _this7.userBalance();\n _this7.costDescription();\n uni.setStorageSync(\"userInfo\", data);\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 7:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }))();\n },\n getLocation: function getLocation() {\n var that = this;\n __f__(\"log\", 111, \" at pages/index/index.vue:368\");\n uni.getLocation({\n type: 'gcj02',\n success: function success(res1) {\n __f__(\"log\", res1, \" at pages/index/index.vue:372\");\n that.trackUpload(res1);\n var latitude = res1.latitude,\n longitude = res1.longitude;\n var url = \"https://restapi.amap.com/v3/geocode/regeo?output=json&location=\".concat(longitude, \",\").concat(latitude, \"&key=4a6e2ba8eac3864f0d88f9b5abd026e6&radius=1000\");\n uni.request({\n url: url,\n success: function success(res) {\n __f__(\"log\", res, \" at pages/index/index.vue:379\");\n var city = res.data.regeocode.addressComponent.city.length == 0 ? res.data.regeocode.addressComponent.province : res.data.regeocode.addressComponent.city;\n that.city = res.data.regeocode.formatted_address.split(res.data.regeocode.addressComponent.township)[1];\n uni.setStorageSync(\"jingweiInfo\", _objectSpread(_objectSpread(_objectSpread({}, res1), res.data.regeocode.addressComponent), {}, {\n formatted: that.city\n }));\n that.show = false;\n if (that.current == 0) {\n that.page1 = 1;\n that.commentList1 = [];\n that.customerRecommendList();\n } else {\n that.page2 = 1;\n that.commentList2 = [];\n that.nearbyCustomerList();\n }\n }\n });\n }\n });\n },\n openPage: function openPage(index, id) {\n var that = this;\n if (index == 1) {\n __f__(\"log\", this.userInfo.realnameFlag, \" at pages/index/index.vue:401\");\n if (this.userInfo.realnameFlag == 0 || this.userInfo.faceFlag == 0 || this.userInfo.phoneFlag == 0) {\n this.isPopup = true;\n return;\n }\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n that.trackUpload(res, 1);\n }\n });\n } else if (index == 2) {\n if (this.userInfo.realnameFlag == 0 || this.userInfo.faceFlag == 0 || this.userInfo.phoneFlag == 0) {\n this.isPopup = true;\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (this.balanceInfo.voiceCoins * 60 <= 0) {\n uni.showModal({\n title: \"温馨提示\",\n content: \"当前账户金币不足,语音通话\" + this.goldInfo.voiceCoins + \"金币/1分钟,请前往充值\",\n confirmColor: \"#000000\",\n success: function success(res) {\n if (res.confirm) {\n uni.navigateTo({\n url: \"/pages/users/recharge/index\"\n });\n }\n }\n });\n return;\n }\n }\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n that.trackUpload(res, 2);\n }\n });\n } else if (index == 3) {\n if (this.userInfo.realnameFlag == 0 || this.userInfo.faceFlag == 0 || this.userInfo.phoneFlag == 0) {\n this.isPopup = true;\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (this.balanceInfo.videoCoins * 60 <= 0) {\n uni.showModal({\n title: \"温馨提示\",\n content: \"当前账户金币不足,语音通话\" + this.goldInfo.videoCoins + \"金币/1分钟,请前往充值\",\n confirmColor: \"#000000\",\n success: function success(res) {\n if (res.confirm) {\n uni.navigateTo({\n url: \"/pages/users/recharge/index\"\n });\n }\n }\n });\n return;\n }\n }\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n that.trackUpload(res, 3);\n }\n });\n } else if (index == 4) {\n uni.navigateTo({\n url: \"/pages/index/search?type=1\"\n });\n } else if (index == 5) {\n uni.navigateTo({\n url: \"/pages/index/city\"\n });\n } else if (index == 6) {\n uni.navigateTo({\n url: \"/pages/peiwan/detail?id=\" + id\n });\n } else if (index == 7) {\n if (this.userInfo.realnameFlag == 0 || this.userInfo.faceFlag == 0 || this.userInfo.phoneFlag == 0) {\n this.isPopup = true;\n return;\n }\n this.info = id;\n this.info.userid = id.id;\n this.isDashan = true;\n }\n },\n changeTabs: function changeTabs(index) {\n this.current = index;\n this.commentList1 = [];\n this.page1 = 1;\n this.page2 = 1;\n this.commentList1 = [];\n this.commentList2 = [];\n if (index == 0) {\n this.customerRecommendList();\n } else {\n this.nearbyCustomerList();\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 */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJpbmZvIiwiY29tbWVudExpc3QxIiwiY29tbWVudExpc3QyIiwiaXNDb2lucyIsImlzRGFzaGFuIiwiaXNQb3B1cCIsImN1cnJlbnQiLCJjaXR5IiwicGFnZTEiLCJwYWdlMiIsInRvdGFsMSIsInRvdGFsMiIsImJhbGFuY2VJbmZvIiwic2hvdyIsImxpc3QiLCJhY3RpdmVTdHlsZSIsInVzZXJJbmZvIiwiZ29sZEluZm8iLCJvblB1bGxEb3duUmVmcmVzaCIsInVuaSIsInNldFRpbWVvdXQiLCJ0aGF0Iiwib25Mb2FkIiwicGx1cyIsIm9uUmVhZHkiLCJvblNob3ciLCJvblJlYWNoQm90dG9tIiwidGl0bGUiLCJtZXRob2RzIiwidHJhY2tVcGxvYWQiLCJ1c2VySWQiLCJsYXQiLCJsb24iLCJjb2RlIiwidXJsIiwidXNlckJhbGFuY2UiLCJyZWNvcmRlckF1dGhNb2RhbCIsImNvbnRlbnQiLCJjYW5jZWxUZXh0IiwiY29uZmlybVRleHQiLCJzdWNjZXNzIiwicGVybWlzaW9uIiwicmVxdWVzdEFuZHJvaWRQZXJtaXNzaW9uIiwicmVzdWx0IiwibmVhcmJ5Q3VzdG9tZXJMaXN0Iiwibmlja25hbWUiLCJzdGFydEFnZSIsImVuZEFnZSIsInBhZ2UiLCJsaW1pdCIsIm1zZyIsInBvc2l0aW9uIiwiaWNvbiIsImN1c3RvbWVyUmVjb21tZW5kTGlzdCIsImFycmF5VW5pcXVlIiwiaGFzaCIsImNvc3REZXNjcmlwdGlvbiIsImdldFVzZXJJbmZvIiwiZ2V0TG9jYXRpb24iLCJ0eXBlIiwibG9uZ2l0dWRlIiwiZm9ybWF0dGVkIiwib3BlblBhZ2UiLCJjb25maXJtQ29sb3IiLCJjaGFuZ2VUYWJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9GQTtBQUFBO0FBQUE7QUFBQSxlQUNBO0VBQ0FBO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7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O1FBQ0E7VUFDQTtVQUNBO1FBQ0E7UUFDQTtVQUNBO1lBQ0FGO2NBQ0FRO2NBQ0FVO2NBQ0EwQjtjQUNBdkI7Z0JBQ0E7a0JBQ0FyQjtvQkFDQWU7a0JBQ0E7Z0JBQ0E7Y0FDQTtZQUNBO1lBQ0E7VUFDQTtRQUNBO1FBQ0FmO1VBQ0F3QztVQUNBbkI7WUFDQW5CO1VBQ0E7UUFDQTtNQUVBO1FBQ0E7VUFDQTtVQUNBO1FBQ0E7UUFDQTtVQUNBO1lBQ0FGO2NBQ0FRO2NBQ0FVO2NBQ0EwQjtjQUNBdkI7Z0JBQ0E7a0JBQ0FyQjtvQkFDQWU7a0JBQ0E7Z0JBQ0E7Y0FDQTtZQUNBO1lBQ0E7VUFDQTtRQUNBO1FBQ0FmO1VBQ0F3QztVQUNBbkI7WUFDQW5CO1VBQ0E7UUFDQTtNQUNBO1FBQ0FGO1VBQ0FlO1FBQ0E7TUFDQTtRQUNBZjtVQUNBZTtRQUNBO01BQ0E7UUFDQWY7VUFDQWU7UUFDQTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E4QjtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiI4OS5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PHZpZXcgY2xhc3M9XCJob21lXCI+XG5cdFx0PHZpZXcgY2xhc3M9XCJob21lLW5hdmJhclwiPlxuXHRcdFx0PHUtbmF2YmFyIDppcy1iYWNrPVwiZmFsc2VcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzbG90LXdyYXBcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImFkZHJlc3NcIiBAY2xpY2s9XCJvcGVuUGFnZSg1KVwiPlxuXHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIkAvc3RhdGljL2Rpbmd3ZWkucG5nXCI+PC9pbWFnZT57e2NpdHl9fVxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlYXJjaFwiIEBjbGljaz1cIm9wZW5QYWdlKDQpXCI+XG5cdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiQC9zdGF0aWMvaWNvbi1zZWFyY2gucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdOivt+i+k+WFpeWQjeensOaQnOe0olxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC91LW5hdmJhcj5cblx0XHQ8L3ZpZXc+XG5cdFx0PHZpZXcgY2xhc3M9XCJob21lLW1lbnVcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiIEBjbGljaz1cIm9wZW5QYWdlKDEpXCI+XG5cdFx0XHRcdDxpbWFnZSBzcmM9XCJAL3N0YXRpYy8xLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCI+5ZCM5Z+O6YCf6YWNPC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtXCIgQGNsaWNrPVwib3BlblBhZ2UoMilcIj5cblx0XHRcdFx0PGltYWdlIHNyYz1cIkAvc3RhdGljLzIucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eHRcIj7or63pn7PpgJ/phY08L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIiBAY2xpY2s9XCJvcGVuUGFnZSgzKVwiPlxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiQC9zdGF0aWMvMy5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInR4dFwiPuinhumikemAn+mFjTwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cdFx0PHZpZXcgY2xhc3M9XCJob21lLXRhYlwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ0YWJcIj5cblx0XHRcdFx0PHUtdGFicyA6bGlzdD1cImxpc3RcIiBiZy1jb2xvcj1cInRyYW5zcGFyZW50XCIgOmlzLXNjcm9sbD1cImZhbHNlXCIgYWN0aXZlLWNvbG9yPVwiIzIyMjIyMlwiIGluYWN0aXZlLWNvbG9yPVwiIzY2NjY2NlwiIGZvbnQtc2l6ZT1cIjMwXCIgOmFjdGl2ZS1pdGVtLXN0eWxlPVwiYWN0aXZlU3R5bGVcIiBiYXItaGVpZ2h0PVwiMTBcIiBiYXItd2lkdGg9XCI2MFwiIHYtbW9kZWw9XCJjdXJyZW50XCIgQGNoYW5nZT1cImNoYW5nZVRhYnNcIj48L3UtdGFicz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cdFx0PHZpZXcgY2xhc3M9XCJob21lLWxpc3RcIiB2LWlmPVwiY3VycmVudD09MFwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtXCIgdi1mb3I9XCIoYSxpKSBpbiBjb21tZW50TGlzdDFcIiA6a2V5PVwiaVwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY1wiIEBjbGljaz1cIm9wZW5QYWdlKDYsYS5pZClcIj5cblx0XHRcdFx0XHQ8aW1hZ2UgOnNyYz1cImEuZmFjZUltYWdlP2EuZmFjZUltYWdlOmEuaW1nXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImluZm9cIiBAY2xpY2s9XCJvcGVuUGFnZSg2LGEuaWQpXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuYW1lXCI+e3thLm5pY2tuYW1lfX08dmlldyBjbGFzcz1cInZpcFwiIHYtaWY9XCJhLm1lbWJlcmZsYWc+PTFcIj5WSVB7e2EubWVtYmVyZmxhZ319PC92aWV3Pjwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRlc2NcIj57e2EuYWdlfX3lsoEve3thLmhlaWdodH19PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hhdFwiIEBjbGljaz1cIm9wZW5QYWdlKDcsYSlcIj5cblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiQC9zdGF0aWMveGluLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdFx05pCt6K6qXG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHRcdDx2aWV3IGNsYXNzPVwiZW1wdHlcIiB2LWlmPVwidG90YWwxID09IDAgXCI+XG5cdFx0XHRcdDxpbWFnZSBzcmM9XCJAL3N0YXRpYy9lbXB0eS5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInR4dFwiPuaaguaXoOaVsOaNrjwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cdFx0PHZpZXcgY2xhc3M9XCJob21lLWxpc3RcIiB2LWVsc2U+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIiB2LWZvcj1cIihhLGkpIGluIGNvbW1lbnRMaXN0MlwiIDprZXk9XCJpXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGljXCIgQGNsaWNrPVwib3BlblBhZ2UoNixhLmlkKVwiPlxuXHRcdFx0XHRcdDxpbWFnZSA6c3JjPVwiYS5mYWNlSW1hZ2U/YS5mYWNlSW1hZ2U6YS5pbWdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mb1wiIEBjbGljaz1cIm9wZW5QYWdlKDYsYS5pZClcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5hbWVcIj57e2Eubmlja25hbWV9fTx2aWV3IGNsYXNzPVwidmlwXCIgdi1pZj1cImEubWVtYmVyZmxhZz49MVwiPlZJUHt7YS5tZW1iZXJmbGFnfX08L3ZpZXc+PC92aWV3PlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZGVzY1wiPnt7YS5hZ2V9feWygS97e2EuaGVpZ2h0fX08L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjaGF0XCIgQGNsaWNrPVwib3BlblBhZ2UoNyxhKVwiPlxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJAL3N0YXRpYy94aW4ucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0XHTmkK3orqpcblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJlbXB0eVwiIHYtaWY9XCJ0b3RhbDIgPT0gMCBcIj5cblx0XHRcdFx0PGltYWdlIHNyYz1cIkAvc3RhdGljL2VtcHR5LnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCI+5pqC5peg5pWw5o2uPC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblx0XHQ8dS1wb3B1cCB2LW1vZGVsPVwic2hvd1wiIG1vZGU9XCJ0b3BcIiA6bWFzay1jbG9zZS1hYmxlPSdmYWxzZScgOnpJbmRleD1cIjVcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwicGVybWlzc2lvbnNfYm94XCI+XG5cdFx0XHRcdOW9k+aCqOS9v+eUqEFQUOaXtu+8jOW6lOeUqOeoi+W6j+WPr+S7peaPkOS+m+WfuuS6juS9jee9rueahOacjeWKoeOAgeWumuS9jeWvvOiIquOAgemZhOi/keaQnOe0ouetieWKn+iDveOAglxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdS1wb3B1cD5cblx0XHQ8dW52ZXJpZmllZCA6aXNQb3B1cD1cImlzUG9wdXBcIiAvPlxuXHRcdDxpbnN1ZmZpY2llbnQgOmlzQ29pbnM9XCJpc0NvaW5zXCIgLz5cblx0XHQ8ZGFzaGFuIDppc0Rhc2hhbj1cImlzRGFzaGFuXCIgOmluZm89XCJpbmZvXCI+PC9kYXNoYW4+XG5cdDwvdmlldz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XHJcblx0aW1wb3J0IHBlcm1pc2lvbiBmcm9tIFwiQC9qc19zZGsvd2EtcGVybWlzc2lvbi9wZXJtaXNzaW9uLmpzXCJcblx0ZXhwb3J0IGRlZmF1bHQge1xuXHRcdGRhdGEoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRpbmZvOiB7fSxcblx0XHRcdFx0Y29tbWVudExpc3QxOiBbXSxcblx0XHRcdFx0Y29tbWVudExpc3QyOiBbXSxcblx0XHRcdFx0aXNDb2luczogZmFsc2UsXG5cdFx0XHRcdGlzRGFzaGFuOiBmYWxzZSxcblx0XHRcdFx0aXNQb3B1cDogZmFsc2UsXG5cdFx0XHRcdGN1cnJlbnQ6IDAsXG5cdFx0XHRcdGNpdHk6IFwiXCIsXG5cdFx0XHRcdHBhZ2UxOiAxLFxuXHRcdFx0XHRwYWdlMjogMSxcblx0XHRcdFx0dG90YWwxOiAxLFxuXHRcdFx0XHR0b3RhbDI6IDEsXHJcblx0XHRcdFx0YmFsYW5jZUluZm86IHt9LFxuXHRcdFx0XHRzaG93OiBmYWxzZSxcblx0XHRcdFx0bGlzdDpbeyduYW1lJzogJ+eDremXqCd9LHsnbmFtZSc6ICfpmYTov5EnfV0sXG5cdFx0XHRcdGFjdGl2ZVN0eWxlOnsnZm9udFNpemUnOiAnMzVycHgnfSxcblx0XHRcdFx0dXNlckluZm86IHt9LFxyXG5cdFx0XHRcdGdvbGRJbmZvOiB7fVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0b25QdWxsRG93blJlZnJlc2goKSB7XG5cdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcclxuXHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQpe1xyXG5cdFx0XHRcdHVuaS4kZW1pdChcIm9wZW5Tb2NrZXRcIik7XHJcblx0XHRcdH1cblx0XHRcdHNldFRpbWVvdXQoKCk9Pntcblx0XHRcdFx0aWYodGhhdC5jdXJyZW50ID09IDApe1xuXHRcdFx0XHRcdGlmKHRoYXQuY29tbWVudExpc3QxLmxlbmd0aCA8PSB0aGF0LnRvdGFsMSl7XG5cdFx0XHRcdFx0XHR0aGF0LnBhZ2UxICsrO1xuXHRcdFx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRcdFx0dGhhdC5jdXN0b21lclJlY29tbWVuZExpc3QoMSk7XG5cdFx0XHRcdFx0XHR9LCAxMDAwKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdGlmKHRoYXQuY29tbWVudExpc3QyLmxlbmd0aCA8PSB0aGF0LnRvdGFsMil7XG5cdFx0XHRcdFx0XHR0aGF0LnBhZ2UyICsrO1xuXHRcdFx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRcdFx0dGhhdC5uZWFyYnlDdXN0b21lckxpc3QoMSk7XG5cdFx0XHRcdFx0XHR9LCAxMDAwKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0dW5pLnN0b3BQdWxsRG93blJlZnJlc2goKTtcblx0XHRcdH0sMjAwMClcblx0XHR9LFxuXHRcdG9uTG9hZCgpIHtcblx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0Ly8gQVBQ5qOA5p+l5p2D6ZmQXG5cdFx0XHRpZih1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKS5wbGF0Zm9ybSA9PSAnYW5kcm9pZCcpIHtcblx0XHRcdFx0cGx1cy5hbmRyb2lkLmNoZWNrUGVybWlzc2lvbihcblx0XHRcdFx0XHQnYW5kcm9pZC5wZXJtaXNzaW9uLkFDQ0VTU19GSU5FX0xPQ0FUSU9OJyxcblx0XHRcdFx0XHRncmFudGVkID0+IHtcblx0XHRcdFx0XHQgIGlmIChncmFudGVkLmNoZWNrUmVzdWx0PT0tMSl7XG5cdFx0XHRcdFx0XHR0aGF0LnNob3cgPSB0cnVlXG5cdFx0XHRcdFx0XHR0aGF0LmdldExvY2F0aW9uKCk7XG5cdFx0XHRcdFx0ICB9ZWxzZXtcblx0XHRcdFx0XHRcdHRoYXQuc2hvdz1mYWxzZVxuXHRcdFx0XHRcdFx0Ly8g5q2k5Li6dVZpZXfnmoTot7Povazmlrnms5XvvIzor6bop4FcIuaWh+ahoy1KU1wi6YOo5YiG77yM5Lmf5Y+v5Lul55SodW5p55qEdW5pLm5hdmlnYXRlVG9cblx0XHRcdFx0XHRcdHRoYXQuZ2V0TG9jYXRpb24oKTtcblx0XHRcdFx0XHQgIH1cblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGVycm9yID0+IHtcblx0XHRcdFx0XHQgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNoZWNraW5nIHBlcm1pc3Npb246JywgZXJyb3IubWVzc2FnZSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHQgICk7XG5cdFx0XHRcdCB0aGF0LnJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbignYW5kcm9pZC5wZXJtaXNzaW9uLkFDQ0VTU19GSU5FX0xPQ0FUSU9OJylcblx0XHRcdFx0cmV0dXJuIDtcblx0XHRcdH1lbHNle1xuXHRcdFx0XHR0aGF0LmdldExvY2F0aW9uKCk7XG5cdFx0XHR9XG5cdFx0XHRcblx0XHR9LFxuXHRcdG9uUmVhZHkoKSB7XG5cdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdHVuaS4kb24oXCJjbGlja1RhcFwiLCByZXM9PntcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHRcdHRoYXQuY2l0eSA9IHJlcy5uYW1lO1xuXHRcdFx0XHRpZih0aGF0LmN1cnJlbnQgPT0gMCl7XG5cdFx0XHRcdFx0dGhhdC5wYWdlMSA9IDE7XG5cdFx0XHRcdFx0dGhhdC5jb21tZW50TGlzdDEgPSBbXTtcblx0XHRcdFx0XHR0aGF0LmN1c3RvbWVyUmVjb21tZW5kTGlzdCgpO1xuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHR0aGF0LnBhZ2UyID0gMTtcblx0XHRcdFx0XHR0aGF0LmNvbW1lbnRMaXN0MiA9IFtdO1xuXHRcdFx0XHRcdHRoYXQubmVhcmJ5Q3VzdG9tZXJMaXN0KCk7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdFx0dW5pLiRvbihcImNsb3NlU2hhcmVQb3B1cFwiLHJlcz0+e1xuXHRcdFx0XHR0aGF0LmlzUG9wdXAgPSBmYWxzZTtcblx0XHRcdFx0dGhhdC5pc0Rhc2hhbj0gIGZhbHNlO1xuXHRcdFx0XHR0aGF0LmlzQ29pbnM9ICBmYWxzZTtcblx0XHRcdH0pXG5cdFx0XHRcblx0XHRcdHVuaS4kb24oXCJvcGVuQ29pbnNQb3B1cFwiLHJlcz0+e1xuXHRcdFx0XHR0aGF0LmlzQ29pbnMgPSByZXNcblx0XHRcdH0pXG5cdFx0XHR1bmkuJG9uKFwib25Qb3B1cFwiLHJlcz0+e1xuXHRcdFx0XHRpZihyZXMgPT0gMSl7XG5cdFx0XHRcdFx0dGhhdC5zaG93PWZhbHNlXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblx0XHRvblNob3coKSB7XG5cdFx0XHR0aGlzLmdldFVzZXJJbmZvKCk7XHJcblx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkKXtcclxuXHRcdFx0XHRpZighdW5pLmdldFN0b3JhZ2VTeW5jKFwiaXNPcGVuXCIpKXtcclxuXHRcdFx0XHRcdHVuaS4kZW1pdChcIm9wZW5Tb2NrZXRcIik7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRvblJlYWNoQm90dG9tKCkge1xuXHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHR1bmkuc2hvd0xvYWRpbmcoe1xuXHRcdFx0XHR0aXRsZTogXCLliqDovb3kuK1cIlxuXHRcdFx0fSlcblx0XHRcdGlmKHRoYXQuY3VycmVudCA9PSAwKXtcblx0XHRcdFx0aWYodGhhdC5jb21tZW50TGlzdDEubGVuZ3RoIDw9IHRoYXQudG90YWwxKXtcblx0XHRcdFx0XHR0aGF0LnBhZ2UxICsrO1xuXHRcdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0XHR0aGF0LmN1c3RvbWVyUmVjb21tZW5kTGlzdCgxKTtcblx0XHRcdFx0XHR9LCAxMDAwKTtcblx0XHRcdFx0fVxuXHRcdFx0fWVsc2V7XG5cdFx0XHRcdGlmKHRoYXQuY29tbWVudExpc3QyLmxlbmd0aCA8PSB0aGF0LnRvdGFsMil7XG5cdFx0XHRcdFx0dGhhdC5wYWdlMiArKztcblx0XHRcdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0dGhhdC5uZWFyYnlDdXN0b21lckxpc3QoMSk7XG5cdFx0XHRcdFx0fSwgMTAwMCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdG1ldGhvZHM6IHtcblx0XHRcdC8v5a6e5pe25LiK5Lyg6L2o6L+5XG5cdFx0XHRhc3luYyB0cmFja1VwbG9hZChyZXMsdHlwZSl7XG5cdFx0XHRcdGNvbnN0IHtjb2RlLCBkYXRhLH0gPSBhd2FpdCB0aGlzLiRhcGkudHJhY2tVcGxvYWQoe1xuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXG5cdFx0XHRcdFx0bGF0OiByZXMubGF0aXR1ZGUsXG5cdFx0XHRcdFx0bG9uOiByZXMubG9uZ2l0dWRlLFxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XHJcblx0XHRcdFx0XHRpZih0eXBlPT0xKXtcclxuXHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvcGlwZWkvdG9uZ2NoZW5nL2luZGV4XCJcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1lbHNlIGlmKHR5cGUgPT0gMil7XHJcblx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BpcGVpL3l1eWluL2luZGV4XCJcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1lbHNlIGlmKHR5cGUgPT0gMyl7XHJcblx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BpcGVpL3NoaXBpbi9pbmRleFwiXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxuXHRcdFx0fSxcclxuXHRcdFx0Ly/mo4Dmn6XmrKHmlbBcclxuXHRcdFx0YXN5bmMgdXNlckJhbGFuY2UoKSB7XHJcblx0XHRcdFx0Y29uc3QgeyBjb2RlLCBkYXRhIH0gPSBhd2FpdCB0aGlzLiRhcGkudXNlckJhbGFuY2Uoe1xyXG5cdFx0XHRcdFx0dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZFxyXG5cdFx0XHRcdH0pIFxyXG5cdFx0XHRcdGlmKGNvZGUgPT0gMjAwKXtcclxuXHRcdFx0XHRcdHRoaXMuYmFsYW5jZUluZm8gPSBkYXRhXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxuXHRcdFx0cmVjb3JkZXJBdXRoTW9kYWw6IGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xuXHRcdFx0XHRcdHRpdGxlOiAn5a6a5L2N5p2D6ZmQ6K+05piOJyxcblx0XHRcdFx0XHRjb250ZW50OiAn5L6/5LqO5oKo5L2/55So6K+l5Yqf6IO95Zyo5b2T5YmN5L2N572u5p+l6K+i5omA5Zyo6Zeo5bqX77yM6K+35oKo56Gu6K6k5o6I5p2D77yM5ZCm5YiZ5peg5rOV5L2/55So6K+l5Yqf6IO944CCJyxcblx0XHRcdFx0XHRjYW5jZWxUZXh0OiAn5YWz6ZetJyxcblx0XHRcdFx0XHRjb25maXJtVGV4dDogJ+WOu+aOiOadgycsXG5cdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcblx0XHRcdFx0XHRcdHRoYXQuc2hvdz1mYWxzZVxuXHRcdFx0XHRcdFx0aWYgKHJlcy5jb25maXJtKSB7XG5cdFx0XHRcdFx0XHRcdHBlcm1pc2lvbi5nb3RvQXBwUGVybWlzc2lvblNldHRpbmcoKVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRhc3luYyByZXF1ZXN0QW5kcm9pZFBlcm1pc3Npb24ocGVybWlzaW9uSUQpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdHZhciByZXN1bHQgPSBhd2FpdCBwZXJtaXNpb24ucmVxdWVzdEFuZHJvaWRQZXJtaXNzaW9uKHBlcm1pc2lvbklEKTtcblx0XHRcdFx0aWYocmVzdWx0ICE9IDEpe1xuXHRcdFx0XHRcdHRoYXQucmVjb3JkZXJBdXRoTW9kYWwoKTtcblx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0dGhhdC5zaG93PWZhbHNlXG5cdFx0XHRcdFx0Ly8g5q2k5Li6dVZpZXfnmoTot7Povazmlrnms5XvvIzor6bop4FcIuaWh+ahoy1KU1wi6YOo5YiG77yM5Lmf5Y+v5Lul55SodW5p55qEdW5pLm5hdmlnYXRlVG9cblx0XHRcdFx0XHR0aGF0LmdldExvY2F0aW9uKCk7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHQvL+mmlumhtemZhOi/kVxuXHRcdFx0YXN5bmMgbmVhcmJ5Q3VzdG9tZXJMaXN0KHR5cGUpe1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHVuaS5nZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIpLm5ld19jaXR5KVxuXHRcdFx0XHRjb25zdCB7IGNvZGUsIGRhdGEgLCBtc2cgfSA9IGF3YWl0IHRoaXMuJGFwaS5uZWFyYnlDdXN0b21lckxpc3Qoe1xuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXG5cdFx0XHRcdFx0bmlja25hbWU6IFwiXCIsXG5cdFx0XHRcdFx0c3RhcnRBZ2U6IFwiXCIsXG5cdFx0XHRcdFx0ZW5kQWdlOiBcIlwiLFxyXG5cdFx0XHRcdFx0Y2l0eTogdW5pLmdldFN0b3JhZ2VTeW5jKFwiamluZ3dlaUluZm9cIikubmV3X2NpdHk/dW5pLmdldFN0b3JhZ2VTeW5jKFwiamluZ3dlaUluZm9cIikubmV3X2NpdHk6dW5pLmdldFN0b3JhZ2VTeW5jKFwiamluZ3dlaUluZm9cIikuY2l0eSxcblx0XHRcdFx0XHRsYXQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIpLmxhdGl0dWRlLFxuXHRcdFx0XHRcdGxvbjogdW5pLmdldFN0b3JhZ2VTeW5jKFwiamluZ3dlaUluZm9cIikubG9uZ2l0dWRlLFxuXHRcdFx0XHRcdHBhZ2U6IHRoaXMucGFnZTIsXG5cdFx0XHRcdFx0bGltaXQ6IDIwXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRpZih0eXBlID09IDEpe1xuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYoY29kZSA9PSAyMDApe1xuXHRcdFx0XHRcdHRoaXMudG90YWwyID0gZGF0YS50b3RhbDtcblx0XHRcdFx0XHR0aGlzLmNvbW1lbnRMaXN0MiA9IHRoaXMuYXJyYXlVbmlxdWUoWy4uLnRoaXMuY29tbWVudExpc3QyLC4uLmRhdGEubGlzdF0sJ2lkJylcblx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogbXNnLFxuXHRcdFx0XHRcdFx0cG9zaXRpb246IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0Ly/pppbpobXmjqjojZBcblx0XHRcdGFzeW5jIGN1c3RvbWVyUmVjb21tZW5kTGlzdCh0eXBlKXtcblx0XHRcdFx0Y29uc3QgeyBjb2RlLCBkYXRhICwgbXNnIH0gPSBhd2FpdCB0aGlzLiRhcGkuY3VzdG9tZXJSZWNvbW1lbmRMaXN0KHtcblx0XHRcdFx0XHR1c2VySWQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxuXHRcdFx0XHRcdG5pY2tuYW1lOiBcIlwiLFxuXHRcdFx0XHRcdHN0YXJ0QWdlOiBcIlwiLFxuXHRcdFx0XHRcdGVuZEFnZTogXCJcIixcclxuXHRcdFx0XHRcdGxhdDogdW5pLmdldFN0b3JhZ2VTeW5jKFwiamluZ3dlaUluZm9cIikubGF0aXR1ZGUsXHJcblx0XHRcdFx0XHRsb246IHVuaS5nZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIpLmxvbmdpdHVkZSxcclxuXHRcdFx0XHRcdGNpdHk6IHVuaS5nZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIpLm5ld19jaXR5P3VuaS5nZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIpLm5ld19jaXR5OnVuaS5nZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIpLmNpdHksXG5cdFx0XHRcdFx0cGFnZTogdGhpcy5wYWdlMSxcblx0XHRcdFx0XHRsaW1pdDogMjBcblx0XHRcdFx0fSk7XG5cdFx0XHRcdGlmKHR5cGUgPT0gMSl7XG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKClcblx0XHRcdFx0fVxuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0dGhpcy50b3RhbDEgPSBkYXRhLnRvdGFsO1xuXHRcdFx0XHRcdHRoaXMuY29tbWVudExpc3QxID0gdGhpcy5hcnJheVVuaXF1ZShbLi4udGhpcy5jb21tZW50TGlzdDEsLi4uZGF0YS5saXN0XSwnaWQnKVxuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiBtc2csXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHQvL+aVsOe7hOWvueixoeWOu+mHjVxuXHRcdFx0YXJyYXlVbmlxdWUgKGFyciwgbmFtZSkge1xuXHRcdFx0XHR2YXIgaGFzaCA9IHt9O1xuXHRcdFx0XHRyZXR1cm4gYXJyLnJlZHVjZShmdW5jdGlvbiAoaXRlbSwgbmV4dCkge1xuXHRcdFx0XHRcdGhhc2hbbmV4dFtuYW1lXV1cblx0XHRcdFx0XHRcdD8gXCJcIlxuXHRcdFx0XHRcdFx0OiAoaGFzaFtuZXh0W25hbWVdXSA9IHRydWUgJiYgaXRlbS5wdXNoKG5leHQpKTtcblx0XHRcdFx0XHRyZXR1cm4gaXRlbTtcblx0XHRcdFx0fSwgW10pO1xuXHRcdFx0fSxcclxuXHRcdFx0YXN5bmMgY29zdERlc2NyaXB0aW9uKCkge1xyXG5cdFx0XHRcdGNvbnN0IHtjb2RlLCBkYXRhIH0gPSBhd2FpdCB0aGlzLiRhcGkuY29zdERlc2NyaXB0aW9uKHt9KTtcclxuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XHJcblx0XHRcdFx0XHR0aGlzLmdvbGRJbmZvID0gZGF0YVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0XG5cdFx0XHQvL+iOt+WPlueUqOaIt+S/oeaBr1xuXHRcdFx0YXN5bmMgZ2V0VXNlckluZm8oKSB7XG5cdFx0XHRcdGNvbnN0IHsgY29kZSwgZGF0YSAsIG1zZyB9ID0gYXdhaXQgdGhpcy4kYXBpLmZpbmRVc2VySW5mbyh7dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZH0pO1xuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0dGhpcy51c2VySW5mbyA9IGRhdGE7XHJcblx0XHRcdFx0XHR0aGlzLnVzZXJCYWxhbmNlKCk7XHJcblx0XHRcdFx0XHR0aGlzLmNvc3REZXNjcmlwdGlvbigpO1xuXHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIsZGF0YSk7XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6IG1zZyxcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGdldExvY2F0aW9uKCkge1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRjb25zb2xlLmxvZygxMTEpXG5cdFx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XG5cdFx0XHRcdFx0dHlwZTogJ2djajAyJyxcblx0XHRcdFx0XHRzdWNjZXNzKHJlczEpIHtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlczEpXG5cdFx0XHRcdFx0XHR0aGF0LnRyYWNrVXBsb2FkKHJlczEpXG5cdFx0XHRcdFx0XHRsZXQgbGF0aXR1ZGUgPSByZXMxLmxhdGl0dWRlLGxvbmdpdHVkZSA9IHJlczEubG9uZ2l0dWRlO1xuXHRcdFx0XHRcdFx0bGV0IHVybCA9IGBodHRwczovL3Jlc3RhcGkuYW1hcC5jb20vdjMvZ2VvY29kZS9yZWdlbz9vdXRwdXQ9anNvbiZsb2NhdGlvbj0ke2xvbmdpdHVkZX0sJHtsYXRpdHVkZX0ma2V5PTRhNmUyYmE4ZWFjMzg2NGYwZDg4ZjliNWFiZDAyNmU2JnJhZGl1cz0xMDAwYFxuXHRcdFx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xuXHRcdFx0XHRcdFx0XHR1cmwsXG5cdFx0XHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHRcdFx0XHRcdFx0bGV0IGNpdHkgPSByZXMuZGF0YS5yZWdlb2NvZGUuYWRkcmVzc0NvbXBvbmVudC5jaXR5Lmxlbmd0aD09MD9yZXMuZGF0YS5yZWdlb2NvZGUuYWRkcmVzc0NvbXBvbmVudC5wcm92aW5jZTpyZXMuZGF0YS5yZWdlb2NvZGUuYWRkcmVzc0NvbXBvbmVudC5jaXR5XG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5jaXR5ID0gcmVzLmRhdGEucmVnZW9jb2RlLmZvcm1hdHRlZF9hZGRyZXNzLnNwbGl0KHJlcy5kYXRhLnJlZ2VvY29kZS5hZGRyZXNzQ29tcG9uZW50LnRvd25zaGlwKVsxXVxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIsey4uLnJlczEsLi4ucmVzLmRhdGEucmVnZW9jb2RlLmFkZHJlc3NDb21wb25lbnQsZm9ybWF0dGVkOiB0aGF0LmNpdHl9KTtcblx0XHRcdFx0XHRcdFx0XHR0aGF0LnNob3cgPSBmYWxzZVxuXHRcdFx0XHRcdFx0XHRcdGlmKHRoYXQuY3VycmVudCA9PSAwKXtcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQucGFnZTEgPSAxO1xuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5jb21tZW50TGlzdDEgPSBbXTtcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuY3VzdG9tZXJSZWNvbW1lbmRMaXN0KCk7XG5cdFx0XHRcdFx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LnBhZ2UyID0gMTtcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuY29tbWVudExpc3QyID0gW107XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0Lm5lYXJieUN1c3RvbWVyTGlzdCgpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0b3BlblBhZ2UoaW5kZXgsaWQpe1xyXG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHRpZihpbmRleCA9PSAxKXtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMudXNlckluZm8ucmVhbG5hbWVGbGFnKVxyXG5cdFx0XHRcdFx0aWYodGhpcy51c2VySW5mby5yZWFsbmFtZUZsYWcgPT0gMCB8fCB0aGlzLnVzZXJJbmZvLmZhY2VGbGFnID09IDAgfHwgdGhpcy51c2VySW5mby5waG9uZUZsYWcgPT0gMCl7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNQb3B1cCA9IHRydWVcclxuXHRcdFx0XHRcdFx0cmV0dXJuIDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdnY2owMicsXHJcblx0XHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC50cmFja1VwbG9hZChyZXMsMSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFxuXHRcdFx0XHR9ZWxzZSBpZihpbmRleCA9PSAyKXtcclxuXHRcdFx0XHRcdGlmKHRoaXMudXNlckluZm8ucmVhbG5hbWVGbGFnID09IDAgfHwgdGhpcy51c2VySW5mby5mYWNlRmxhZyA9PSAwIHx8IHRoaXMudXNlckluZm8ucGhvbmVGbGFnID09IDApe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmlzUG9wdXAgPSB0cnVlXHJcblx0XHRcdFx0XHRcdHJldHVybiA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5zZXggPT0gMSl7XHJcblx0XHRcdFx0XHRcdGlmKHRoaXMuYmFsYW5jZUluZm8udm9pY2VDb2lucyo2MCA8PSAwKXtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIua4qemmqOaPkOekulwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCLlvZPliY3otKbmiLfph5HluIHkuI3otrPvvIzor63pn7PpgJror51cIit0aGlzLmdvbGRJbmZvLnZvaWNlQ29pbnMrXCLph5HluIEvMeWIhumSnyzor7fliY3lvoDlhYXlgLxcIixcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmZpcm1Db2xvcjogXCIjMDAwMDAwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZihyZXMuY29uZmlybSl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy91c2Vycy9yZWNoYXJnZS9pbmRleFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dW5pLmdldExvY2F0aW9uKHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ2djajAyJyxcclxuXHRcdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LnRyYWNrVXBsb2FkKHJlcywyKVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFxuXHRcdFx0XHR9ZWxzZSBpZihpbmRleCA9PSAzKXtcclxuXHRcdFx0XHRcdGlmKHRoaXMudXNlckluZm8ucmVhbG5hbWVGbGFnID09IDAgfHwgdGhpcy51c2VySW5mby5mYWNlRmxhZyA9PSAwIHx8IHRoaXMudXNlckluZm8ucGhvbmVGbGFnID09IDApe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmlzUG9wdXAgPSB0cnVlXHJcblx0XHRcdFx0XHRcdHJldHVybiA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5zZXggPT0gMSl7XHJcblx0XHRcdFx0XHRcdGlmKHRoaXMuYmFsYW5jZUluZm8udmlkZW9Db2lucyo2MCA8PSAwKXtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIua4qemmqOaPkOekulwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCLlvZPliY3otKbmiLfph5HluIHkuI3otrPvvIzor63pn7PpgJror51cIit0aGlzLmdvbGRJbmZvLnZpZGVvQ29pbnMrXCLph5HluIEvMeWIhumSnyzor7fliY3lvoDlhYXlgLxcIixcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmZpcm1Db2xvcjogXCIjMDAwMDAwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZihyZXMuY29uZmlybSl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy91c2Vycy9yZWNoYXJnZS9pbmRleFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcclxuXHRcdFx0XHRcdFx0fVx0XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR1bmkuZ2V0TG9jYXRpb24oe1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnZ2NqMDInLFxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQudHJhY2tVcGxvYWQocmVzLDMpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1lbHNlIGlmKGluZGV4ID09IDQpe1xuXHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvaW5kZXgvc2VhcmNoP3R5cGU9MVwiXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fWVsc2UgaWYoaW5kZXggPT0gNSl7XG5cdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9pbmRleC9jaXR5XCJcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9ZWxzZSBpZihpbmRleCA9PSA2KXtcblx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BlaXdhbi9kZXRhaWw/aWQ9XCIraWRcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9ZWxzZSBpZihpbmRleCA9PSA3KXtcblx0XHRcdFx0XHRpZih0aGlzLnVzZXJJbmZvLnJlYWxuYW1lRmxhZyA9PSAwIHx8IHRoaXMudXNlckluZm8uZmFjZUZsYWcgPT0gMCB8fCB0aGlzLnVzZXJJbmZvLnBob25lRmxhZyA9PSAwKXtcblx0XHRcdFx0XHRcdHRoaXMuaXNQb3B1cCA9IHRydWVcblx0XHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuaW5mbyA9IGlkXG5cdFx0XHRcdFx0dGhpcy5pbmZvLnVzZXJpZCA9IGlkLmlkXG5cdFx0XHRcdFx0dGhpcy5pc0Rhc2hhbiA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRjaGFuZ2VUYWJzKGluZGV4KXtcblx0XHRcdFx0dGhpcy5jdXJyZW50ID0gaW5kZXg7XHJcblx0XHRcdFx0dGhpcy5jb21tZW50TGlzdDEgPSBbXVxyXG5cdFx0XHRcdHRoaXMucGFnZTEgPSAxXHJcblx0XHRcdFx0dGhpcy5wYWdlMiA9IDFcclxuXHRcdFx0XHR0aGlzLmNvbW1lbnRMaXN0MSA9IFtdXHJcblx0XHRcdFx0dGhpcy5jb21tZW50TGlzdDIgPSBbXVxuXHRcdFx0XHRpZihpbmRleCA9PSAwKXtcblx0XHRcdFx0XHR0aGlzLmN1c3RvbWVyUmVjb21tZW5kTGlzdCgpO1xuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHR0aGlzLm5lYXJieUN1c3RvbWVyTGlzdCgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdH1cblx0fVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBzY29wZWQgbGFuZz1cInNjc3NcIj5cbi5ob21le1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHQucGVybWlzc2lvbnNfYm94e1xuXHRcdHBhZGRpbmctdG9wOiAxODBycHg7XG5cdH1cblx0LmVtcHR5e1xuXHRcdHBhZGRpbmc6IDE1MHJweCAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0Y29sb3I6ICMyMjIyMjI7XG5cdFx0aW1hZ2V7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiA0NjBycHg7XG5cdFx0XHRoZWlnaHQ6IDQwMHJweDtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH1cblx0fVxuXHQmLW5hdmJhcntcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC5zbG90LXdyYXB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IDAgMjVycHg7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHQuYWRkcmVzc3tcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0Y29sb3I6ICMyMjIyMjI7XG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDI1MHJweDtcblx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0d2lkdGg6IDMwcnB4O1xuXHRcdFx0XHRcdGhlaWdodDogMzBycHg7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA3cnB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHR0b3A6IDVycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5zZWFyY2h7XG5cdFx0XHRcdHdpZHRoOiA0MzZycHg7XG5cdFx0XHRcdGhlaWdodDogNzBycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNGNUY1RjU7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDcwcnB4O1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcblx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0d2lkdGg6IDMwcnB4O1xuXHRcdFx0XHRcdGhlaWdodDogMzBycHg7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA3cnB4O1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyNXJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLW1lbnV7XG5cdFx0cGFkZGluZzogMCAyNXJweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0Lml0ZW17XG5cdFx0XHR3aWR0aDogMjIwcnB4O1xuXHRcdFx0aGVpZ2h0OiAxNDBycHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRpbWFnZXtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cblx0XHRcdC50eHR7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMThycHg7XG5cdFx0XHRcdHRvcDogNTVycHg7XG5cdFx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XG5cdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLXRhYntcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdG1hcmdpbi10b3A6IDEwcnB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LnRhYntcblx0XHRcdHdpZHRoOiAyNTBycHg7XG5cdFx0fVxuXHR9XG5cdCYtbGlzdHtcblx0XHRwYWRkaW5nOiAwIDI1cnB4IDI1cnB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0Lml0ZW17XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMjAwcnB4O1xuXHRcdFx0YmFja2dyb3VuZDogI0ZGRkZGRjtcblx0XHRcdGJveC1zaGFkb3c6IDBweCA0cnB4IDEwcnB4IDBweCByZ2JhKDAsMCwwLDAuMDYpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XG5cdFx0XHRwYWRkaW5nOiAzMHJweDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdFx0LnBpY3tcblx0XHRcdFx0d2lkdGg6IDE0MHJweDtcblx0XHRcdFx0aGVpZ2h0OiAxNDBycHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcnB4O1xuXHRcdFx0XHRpbWFnZXtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5pbmZve1xuXHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHQubmFtZXtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICMyMjIyMjI7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdC52aXB7XG5cdFx0XHRcdFx0XHR3aWR0aDogNjBycHg7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzJycHg7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoQC9zdGF0aWMvdmlwLWJnLnBuZykgY2VudGVyIHRvcCBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMHJweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmRlc2N7XG5cdFx0XHRcdFx0d2lkdGg6IDE4MHJweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDBycHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI0YyRjJGMjtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA0MHJweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICMwMDAwMDA7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuY2hhdHtcblx0XHRcdFx0d2lkdGg6IDE1MHJweDtcblx0XHRcdFx0aGVpZ2h0OiA5MHJweDtcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICMwMDAwMDAsICMzRDNCMzgpO1xuXHRcdFx0XHRib3gtc2hhZG93OiAwcHggNHJweCAxOHJweCAwcHggcmdiYSg0Miw0MSwzOSwwLjM0KTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogOTBycHg7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0d2lkdGg6IDY1cnB4O1xuXHRcdFx0XHRcdGhlaWdodDogMzJycHg7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAxNXJweCBhdXRvIDVycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cdFxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///89\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 2);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 19));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 3));\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 68));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 21));\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/js_sdk/wa-permission/permission.js */ 74));\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; }\nvar _default = {\n data: function data() {\n return {\n info: {},\n commentList1: [],\n commentList2: [],\n isCoins: false,\n isDashan: false,\n isPopup: false,\n current: 0,\n city: \"\",\n page1: 1,\n page2: 1,\n total1: 1,\n total2: 1,\n balanceInfo: {},\n show: false,\n list: [{\n 'name': '热门'\n }, {\n 'name': '附近'\n }],\n activeStyle: {\n 'fontSize': '35rpx'\n },\n userInfo: {},\n goldInfo: {}\n };\n },\n onPullDownRefresh: function onPullDownRefresh() {\n var that = this;\n if (uni.getStorageSync(\"userInfo\").id) {\n uni.$emit(\"openSocket\");\n }\n setTimeout(function () {\n if (that.current == 0) {\n if (that.commentList1.length <= that.total1) {\n that.page1++;\n setTimeout(function () {\n that.customerRecommendList(1);\n }, 1000);\n }\n } else {\n if (that.commentList2.length <= that.total2) {\n that.page2++;\n setTimeout(function () {\n that.nearbyCustomerList(1);\n }, 1000);\n }\n }\n uni.stopPullDownRefresh();\n }, 2000);\n },\n onLoad: function onLoad() {\n var that = this;\n // APP检查权限\n if (uni.getSystemInfoSync().platform == 'android') {\n plus.android.checkPermission('android.permission.ACCESS_FINE_LOCATION', function (granted) {\n if (granted.checkResult == -1) {\n that.show = true;\n that.getLocation();\n } else {\n that.show = false;\n // 此为uView的跳转方法,详见\"文档-JS\"部分,也可以用uni的uni.navigateTo\n that.getLocation();\n }\n }, function (error) {\n __f__(\"error\", 'Error checking permission:', error.message, \" at pages/index/index.vue:150\");\n });\n that.requestAndroidPermission('android.permission.ACCESS_FINE_LOCATION');\n return;\n } else {\n that.getLocation();\n }\n },\n onReady: function onReady() {\n var that = this;\n uni.$on(\"clickTap\", function (res) {\n __f__(\"log\", res, \" at pages/index/index.vue:163\");\n that.city = res.name;\n if (that.current == 0) {\n that.page1 = 1;\n that.commentList1 = [];\n that.customerRecommendList();\n } else {\n that.page2 = 1;\n that.commentList2 = [];\n that.nearbyCustomerList();\n }\n });\n uni.$on(\"closeSharePopup\", function (res) {\n that.isPopup = false;\n that.isDashan = false;\n that.isCoins = false;\n });\n uni.$on(\"openCoinsPopup\", function (res) {\n that.isCoins = res;\n });\n uni.$on(\"onPopup\", function (res) {\n if (res == 1) {\n that.show = false;\n }\n });\n },\n onShow: function onShow() {\n this.getUserInfo();\n if (uni.getStorageSync(\"userInfo\").id) {\n if (!uni.getStorageSync(\"isOpen\")) {\n uni.$emit(\"openSocket\");\n }\n }\n },\n onReachBottom: function onReachBottom() {\n var that = this;\n uni.showLoading({\n title: \"加载中\"\n });\n if (that.current == 0) {\n if (that.commentList1.length <= that.total1) {\n that.page1++;\n setTimeout(function () {\n that.customerRecommendList(1);\n }, 1000);\n }\n } else {\n if (that.commentList2.length <= that.total2) {\n that.page2++;\n setTimeout(function () {\n that.nearbyCustomerList(1);\n }, 1000);\n }\n }\n },\n methods: {\n //实时上传轨迹\n trackUpload: function trackUpload(res, type) {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var _yield$_this$$api$tra, code, data;\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.$api.trackUpload({\n userId: uni.getStorageSync(\"userInfo\").id,\n lat: res.latitude,\n lon: res.longitude\n });\n case 2:\n _yield$_this$$api$tra = _context.sent;\n code = _yield$_this$$api$tra.code;\n data = _yield$_this$$api$tra.data;\n if (code == 200) {\n if (type == 1) {\n uni.navigateTo({\n url: \"/pages/pipei/tongcheng/index\"\n });\n } else if (type == 2) {\n uni.navigateTo({\n url: \"/pages/pipei/yuyin/index\"\n });\n } else if (type == 3) {\n uni.navigateTo({\n url: \"/pages/pipei/shipin/index\"\n });\n }\n }\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n //检查次数\n userBalance: function userBalance() {\n var _this2 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var _yield$_this2$$api$us, code, data;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return _this2.$api.userBalance({\n userId: uni.getStorageSync(\"userInfo\").id\n });\n case 2:\n _yield$_this2$$api$us = _context2.sent;\n code = _yield$_this2$$api$us.code;\n data = _yield$_this2$$api$us.data;\n if (code == 200) {\n _this2.balanceInfo = data;\n }\n case 6:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n recorderAuthModal: function recorderAuthModal() {\n var that = this;\n uni.showModal({\n title: '定位权限说明',\n content: '便于您使用该功能在当前位置查询所在门店,请您确认授权,否则无法使用该功能。',\n cancelText: '关闭',\n confirmText: '去授权',\n success: function success(res) {\n that.show = false;\n if (res.confirm) {\n _permission.default.gotoAppPermissionSetting();\n }\n }\n });\n },\n requestAndroidPermission: function requestAndroidPermission(permisionID) {\n var _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var that, result;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n that = _this3;\n _context3.next = 3;\n return _permission.default.requestAndroidPermission(permisionID);\n case 3:\n result = _context3.sent;\n if (result != 1) {\n that.recorderAuthModal();\n } else {\n that.show = false;\n // 此为uView的跳转方法,详见\"文档-JS\"部分,也可以用uni的uni.navigateTo\n that.getLocation();\n }\n case 5:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n //首页附近\n nearbyCustomerList: function nearbyCustomerList(type) {\n var _this4 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n var _yield$_this4$$api$ne, code, data, msg;\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n __f__(\"log\", uni.getStorageSync(\"jingweiInfo\").new_city, \" at pages/index/index.vue:280\");\n _context4.next = 3;\n return _this4.$api.nearbyCustomerList({\n userId: uni.getStorageSync(\"userInfo\").id,\n nickname: \"\",\n startAge: \"\",\n endAge: \"\",\n city: uni.getStorageSync(\"jingweiInfo\").new_city ? uni.getStorageSync(\"jingweiInfo\").new_city : uni.getStorageSync(\"jingweiInfo\").city,\n lat: uni.getStorageSync(\"jingweiInfo\").latitude,\n lon: uni.getStorageSync(\"jingweiInfo\").longitude,\n page: _this4.page2,\n limit: 20\n });\n case 3:\n _yield$_this4$$api$ne = _context4.sent;\n code = _yield$_this4$$api$ne.code;\n data = _yield$_this4$$api$ne.data;\n msg = _yield$_this4$$api$ne.msg;\n if (type == 1) {\n uni.hideLoading();\n }\n if (code == 200) {\n _this4.total2 = data.total;\n _this4.commentList2 = _this4.arrayUnique([].concat((0, _toConsumableArray2.default)(_this4.commentList2), (0, _toConsumableArray2.default)(data.list)), 'id');\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 9:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n //首页推荐\n customerRecommendList: function customerRecommendList(type) {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n var _yield$_this5$$api$cu, code, data, msg;\n return _regenerator.default.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return _this5.$api.customerRecommendList({\n userId: uni.getStorageSync(\"userInfo\").id,\n nickname: \"\",\n startAge: \"\",\n endAge: \"\",\n lat: uni.getStorageSync(\"jingweiInfo\").latitude,\n lon: uni.getStorageSync(\"jingweiInfo\").longitude,\n city: uni.getStorageSync(\"jingweiInfo\").new_city ? uni.getStorageSync(\"jingweiInfo\").new_city : uni.getStorageSync(\"jingweiInfo\").city,\n page: _this5.page1,\n limit: 20\n });\n case 2:\n _yield$_this5$$api$cu = _context5.sent;\n code = _yield$_this5$$api$cu.code;\n data = _yield$_this5$$api$cu.data;\n msg = _yield$_this5$$api$cu.msg;\n if (type == 1) {\n uni.hideLoading();\n }\n if (code == 200) {\n _this5.total1 = data.total;\n _this5.commentList1 = _this5.arrayUnique([].concat((0, _toConsumableArray2.default)(_this5.commentList1), (0, _toConsumableArray2.default)(data.list)), 'id');\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 8:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n //数组对象去重\n arrayUnique: function arrayUnique(arr, name) {\n var hash = {};\n return arr.reduce(function (item, next) {\n hash[next[name]] ? \"\" : hash[next[name]] = true && item.push(next);\n return item;\n }, []);\n },\n costDescription: function costDescription() {\n var _this6 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n var _yield$_this6$$api$co, code, data;\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return _this6.$api.costDescription({});\n case 2:\n _yield$_this6$$api$co = _context6.sent;\n code = _yield$_this6$$api$co.code;\n data = _yield$_this6$$api$co.data;\n if (code == 200) {\n _this6.goldInfo = data;\n }\n case 6:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n //获取用户信息\n getUserInfo: function getUserInfo() {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {\n var _yield$_this7$$api$fi, code, data, msg;\n return _regenerator.default.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return _this7.$api.findUserInfo({\n userId: uni.getStorageSync(\"userInfo\").id\n });\n case 2:\n _yield$_this7$$api$fi = _context7.sent;\n code = _yield$_this7$$api$fi.code;\n data = _yield$_this7$$api$fi.data;\n msg = _yield$_this7$$api$fi.msg;\n if (code == 200) {\n _this7.userInfo = data;\n _this7.userBalance();\n _this7.costDescription();\n uni.setStorageSync(\"userInfo\", data);\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 7:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }))();\n },\n getLocation: function getLocation() {\n var that = this;\n uni.getLocation({\n type: 'gcj02',\n success: function success(res1) {\n __f__(\"log\", res1, \" at pages/index/index.vue:371\");\n that.trackUpload(res1);\n var latitude = res1.latitude,\n longitude = res1.longitude;\n var url = \"https://restapi.amap.com/v3/geocode/regeo?output=json&location=\".concat(longitude, \",\").concat(latitude, \"&key=4a6e2ba8eac3864f0d88f9b5abd026e6&radius=1000\");\n uni.request({\n url: url,\n success: function success(res) {\n __f__(\"log\", res, \" at pages/index/index.vue:378\");\n var city = res.data.regeocode.addressComponent.city.length == 0 ? res.data.regeocode.addressComponent.province : res.data.regeocode.addressComponent.city;\n that.city = res.data.regeocode.formatted_address.split(res.data.regeocode.addressComponent.township)[1];\n uni.setStorageSync(\"jingweiInfo\", _objectSpread(_objectSpread(_objectSpread({}, res1), res.data.regeocode.addressComponent), {}, {\n formatted: that.city\n }));\n that.show = false;\n if (that.current == 0) {\n that.page1 = 1;\n that.commentList1 = [];\n that.customerRecommendList();\n } else {\n that.page2 = 1;\n that.commentList2 = [];\n that.nearbyCustomerList();\n }\n }\n });\n }\n });\n },\n openPage: function openPage(index, id) {\n var that = this;\n if (index == 1) {\n __f__(\"log\", this.userInfo.realnameFlag, \" at pages/index/index.vue:400\");\n if (this.userInfo.realnameFlag == 0 || this.userInfo.faceFlag == 0 || this.userInfo.phoneFlag == 0) {\n this.isPopup = true;\n return;\n }\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n that.trackUpload(res, 1);\n }\n });\n } else if (index == 2) {\n if (this.userInfo.realnameFlag == 0 || this.userInfo.faceFlag == 0 || this.userInfo.phoneFlag == 0) {\n this.isPopup = true;\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (this.balanceInfo.voiceCoins * 60 <= 0) {\n uni.showModal({\n title: \"温馨提示\",\n content: \"当前账户金币不足,语音通话\" + this.goldInfo.voiceCoins + \"金币/1分钟,请前往充值\",\n confirmColor: \"#000000\",\n success: function success(res) {\n if (res.confirm) {\n uni.navigateTo({\n url: \"/pages/users/recharge/index\"\n });\n }\n }\n });\n return;\n }\n }\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n that.trackUpload(res, 2);\n }\n });\n } else if (index == 3) {\n if (this.userInfo.realnameFlag == 0 || this.userInfo.faceFlag == 0 || this.userInfo.phoneFlag == 0) {\n this.isPopup = true;\n return;\n }\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (this.balanceInfo.videoCoins * 60 <= 0) {\n uni.showModal({\n title: \"温馨提示\",\n content: \"当前账户金币不足,语音通话\" + this.goldInfo.videoCoins + \"金币/1分钟,请前往充值\",\n confirmColor: \"#000000\",\n success: function success(res) {\n if (res.confirm) {\n uni.navigateTo({\n url: \"/pages/users/recharge/index\"\n });\n }\n }\n });\n return;\n }\n }\n uni.getLocation({\n type: 'gcj02',\n success: function success(res) {\n that.trackUpload(res, 3);\n }\n });\n } else if (index == 4) {\n uni.navigateTo({\n url: \"/pages/index/search?type=1\"\n });\n } else if (index == 5) {\n uni.navigateTo({\n url: \"/pages/index/city\"\n });\n } else if (index == 6) {\n uni.navigateTo({\n url: \"/pages/peiwan/detail?id=\" + id\n });\n } else if (index == 7) {\n if (this.userInfo.realnameFlag == 0 || this.userInfo.faceFlag == 0 || this.userInfo.phoneFlag == 0) {\n this.isPopup = true;\n return;\n }\n this.info = id;\n this.info.userid = id.id;\n this.isDashan = true;\n }\n },\n changeTabs: function changeTabs(index) {\n this.current = index;\n this.commentList1 = [];\n this.page1 = 1;\n this.page2 = 1;\n this.commentList1 = [];\n this.commentList2 = [];\n if (index == 0) {\n this.customerRecommendList();\n } else {\n this.nearbyCustomerList();\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 */ 1)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJpbmZvIiwiY29tbWVudExpc3QxIiwiY29tbWVudExpc3QyIiwiaXNDb2lucyIsImlzRGFzaGFuIiwiaXNQb3B1cCIsImN1cnJlbnQiLCJjaXR5IiwicGFnZTEiLCJwYWdlMiIsInRvdGFsMSIsInRvdGFsMiIsImJhbGFuY2VJbmZvIiwic2hvdyIsImxpc3QiLCJhY3RpdmVTdHlsZSIsInVzZXJJbmZvIiwiZ29sZEluZm8iLCJvblB1bGxEb3duUmVmcmVzaCIsInVuaSIsInNldFRpbWVvdXQiLCJ0aGF0Iiwib25Mb2FkIiwicGx1cyIsIm9uUmVhZHkiLCJvblNob3ciLCJvblJlYWNoQm90dG9tIiwidGl0bGUiLCJtZXRob2RzIiwidHJhY2tVcGxvYWQiLCJ1c2VySWQiLCJsYXQiLCJsb24iLCJjb2RlIiwidXJsIiwidXNlckJhbGFuY2UiLCJyZWNvcmRlckF1dGhNb2RhbCIsImNvbnRlbnQiLCJjYW5jZWxUZXh0IiwiY29uZmlybVRleHQiLCJzdWNjZXNzIiwicGVybWlzaW9uIiwicmVxdWVzdEFuZHJvaWRQZXJtaXNzaW9uIiwicmVzdWx0IiwibmVhcmJ5Q3VzdG9tZXJMaXN0Iiwibmlja25hbWUiLCJzdGFydEFnZSIsImVuZEFnZSIsInBhZ2UiLCJsaW1pdCIsIm1zZyIsInBvc2l0aW9uIiwiaWNvbiIsImN1c3RvbWVyUmVjb21tZW5kTGlzdCIsImFycmF5VW5pcXVlIiwiaGFzaCIsImNvc3REZXNjcmlwdGlvbiIsImdldFVzZXJJbmZvIiwiZ2V0TG9jYXRpb24iLCJ0eXBlIiwibG9uZ2l0dWRlIiwiZm9ybWF0dGVkIiwib3BlblBhZ2UiLCJjb25maXJtQ29sb3IiLCJjaGFuZ2VUYWJzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQW9GQTtBQUFBO0FBQUE7QUFBQSxlQUNBO0VBQ0FBO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7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O1VBQ0E7VUFDQTtRQUNBO1FBQ0E7VUFDQTtZQUNBRjtjQUNBUTtjQUNBVTtjQUNBMEI7Y0FDQXZCO2dCQUNBO2tCQUNBckI7b0JBQ0FlO2tCQUNBO2dCQUNBO2NBQ0E7WUFDQTtZQUNBO1VBQ0E7UUFDQTtRQUNBZjtVQUNBd0M7VUFDQW5CO1lBQ0FuQjtVQUNBO1FBQ0E7TUFFQTtRQUNBO1VBQ0E7VUFDQTtRQUNBO1FBQ0E7VUFDQTtZQUNBRjtjQUNBUTtjQUNBVTtjQUNBMEI7Y0FDQXZCO2dCQUNBO2tCQUNBckI7b0JBQ0FlO2tCQUNBO2dCQUNBO2NBQ0E7WUFDQTtZQUNBO1VBQ0E7UUFDQTtRQUNBZjtVQUNBd0M7VUFDQW5CO1lBQ0FuQjtVQUNBO1FBQ0E7TUFDQTtRQUNBRjtVQUNBZTtRQUNBO01BQ0E7UUFDQWY7VUFDQWU7UUFDQTtNQUNBO1FBQ0FmO1VBQ0FlO1FBQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBOEI7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiODkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3IGNsYXNzPVwiaG9tZVwiPlxuXHRcdDx2aWV3IGNsYXNzPVwiaG9tZS1uYXZiYXJcIj5cblx0XHRcdDx1LW5hdmJhciA6aXMtYmFjaz1cImZhbHNlXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2xvdC13cmFwXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhZGRyZXNzXCIgQGNsaWNrPVwib3BlblBhZ2UoNSlcIj5cblx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCJAL3N0YXRpYy9kaW5nd2VpLnBuZ1wiPjwvaW1hZ2U+e3tjaXR5fX1cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyY2hcIiBAY2xpY2s9XCJvcGVuUGFnZSg0KVwiPlxuXHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIkAvc3RhdGljL2ljb24tc2VhcmNoLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHTor7fovpPlhaXlkI3np7DmkJzntKJcblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdS1uYXZiYXI+XG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwiaG9tZS1tZW51XCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIiBAY2xpY2s9XCJvcGVuUGFnZSgxKVwiPlxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiQC9zdGF0aWMvMS5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInR4dFwiPuWQjOWfjumAn+mFjTwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiIEBjbGljaz1cIm9wZW5QYWdlKDIpXCI+XG5cdFx0XHRcdDxpbWFnZSBzcmM9XCJAL3N0YXRpYy8yLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCI+6K+t6Z+z6YCf6YWNPC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtXCIgQGNsaWNrPVwib3BlblBhZ2UoMylcIj5cblx0XHRcdFx0PGltYWdlIHNyYz1cIkAvc3RhdGljLzMucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eHRcIj7op4bpopHpgJ/phY08L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwiaG9tZS10YWJcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwidGFiXCI+XG5cdFx0XHRcdDx1LXRhYnMgOmxpc3Q9XCJsaXN0XCIgYmctY29sb3I9XCJ0cmFuc3BhcmVudFwiIDppcy1zY3JvbGw9XCJmYWxzZVwiIGFjdGl2ZS1jb2xvcj1cIiMyMjIyMjJcIiBpbmFjdGl2ZS1jb2xvcj1cIiM2NjY2NjZcIiBmb250LXNpemU9XCIzMFwiIDphY3RpdmUtaXRlbS1zdHlsZT1cImFjdGl2ZVN0eWxlXCIgYmFyLWhlaWdodD1cIjEwXCIgYmFyLXdpZHRoPVwiNjBcIiB2LW1vZGVsPVwiY3VycmVudFwiIEBjaGFuZ2U9XCJjaGFuZ2VUYWJzXCI+PC91LXRhYnM+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwiaG9tZS1saXN0XCIgdi1pZj1cImN1cnJlbnQ9PTBcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiIHYtZm9yPVwiKGEsaSkgaW4gY29tbWVudExpc3QxXCIgOmtleT1cImlcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNcIiBAY2xpY2s9XCJvcGVuUGFnZSg2LGEuaWQpXCI+XG5cdFx0XHRcdFx0PGltYWdlIDpzcmM9XCJhLmZhY2VJbWFnZT9hLmZhY2VJbWFnZTphLmltZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmZvXCIgQGNsaWNrPVwib3BlblBhZ2UoNixhLmlkKVwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmFtZVwiPnt7YS5uaWNrbmFtZX19PHZpZXcgY2xhc3M9XCJ2aXBcIiB2LWlmPVwiYS5tZW1iZXJmbGFnPj0xXCI+VklQe3thLm1lbWJlcmZsYWd9fTwvdmlldz48L3ZpZXc+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkZXNjXCI+e3thLmFnZX195bKBL3t7YS5oZWlnaHR9fTwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNoYXRcIiBAY2xpY2s9XCJvcGVuUGFnZSg3LGEpXCI+XG5cdFx0XHRcdFx0PGltYWdlIHNyYz1cIkAvc3RhdGljL3hpbi5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHRcdOaQreiuqlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8dmlldyBjbGFzcz1cImVtcHR5XCIgdi1pZj1cInRvdGFsMSA9PSAwIFwiPlxuXHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiQC9zdGF0aWMvZW1wdHkucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eHRcIj7mmoLml6DmlbDmja48L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwiaG9tZS1saXN0XCIgdi1lbHNlPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtXCIgdi1mb3I9XCIoYSxpKSBpbiBjb21tZW50TGlzdDJcIiA6a2V5PVwiaVwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY1wiIEBjbGljaz1cIm9wZW5QYWdlKDYsYS5pZClcIj5cblx0XHRcdFx0XHQ8aW1hZ2UgOnNyYz1cImEuZmFjZUltYWdlP2EuZmFjZUltYWdlOmEuaW1nXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImluZm9cIiBAY2xpY2s9XCJvcGVuUGFnZSg2LGEuaWQpXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuYW1lXCI+e3thLm5pY2tuYW1lfX08dmlldyBjbGFzcz1cInZpcFwiIHYtaWY9XCJhLm1lbWJlcmZsYWc+PTFcIj5WSVB7e2EubWVtYmVyZmxhZ319PC92aWV3Pjwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRlc2NcIj57e2EuYWdlfX3lsoEve3thLmhlaWdodH19PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hhdFwiIEBjbGljaz1cIm9wZW5QYWdlKDcsYSlcIj5cblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiQC9zdGF0aWMveGluLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdFx05pCt6K6qXG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHRcdDx2aWV3IGNsYXNzPVwiZW1wdHlcIiB2LWlmPVwidG90YWwyID09IDAgXCI+XG5cdFx0XHRcdDxpbWFnZSBzcmM9XCJAL3N0YXRpYy9lbXB0eS5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInR4dFwiPuaaguaXoOaVsOaNrjwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cdFx0PHUtcG9wdXAgdi1tb2RlbD1cInNob3dcIiBtb2RlPVwidG9wXCIgOm1hc2stY2xvc2UtYWJsZT0nZmFsc2UnIDp6SW5kZXg9XCI1XCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cInBlcm1pc3Npb25zX2JveFwiPlxuXHRcdFx0XHTlvZPmgqjkvb/nlKhBUFDml7bvvIzlupTnlKjnqIvluo/lj6/ku6Xmj5Dkvpvln7rkuo7kvY3nva7nmoTmnI3liqHjgIHlrprkvY3lr7zoiKrjgIHpmYTov5HmkJzntKLnrYnlip/og73jgIJcblx0XHRcdDwvdmlldz5cblx0XHQ8L3UtcG9wdXA+XG5cdFx0PHVudmVyaWZpZWQgOmlzUG9wdXA9XCJpc1BvcHVwXCIgLz5cblx0XHQ8aW5zdWZmaWNpZW50IDppc0NvaW5zPVwiaXNDb2luc1wiIC8+XG5cdFx0PGRhc2hhbiA6aXNEYXNoYW49XCJpc0Rhc2hhblwiIDppbmZvPVwiaW5mb1wiPjwvZGFzaGFuPlxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxyXG5cdGltcG9ydCBwZXJtaXNpb24gZnJvbSBcIkAvanNfc2RrL3dhLXBlcm1pc3Npb24vcGVybWlzc2lvbi5qc1wiXG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0aW5mbzoge30sXG5cdFx0XHRcdGNvbW1lbnRMaXN0MTogW10sXG5cdFx0XHRcdGNvbW1lbnRMaXN0MjogW10sXG5cdFx0XHRcdGlzQ29pbnM6IGZhbHNlLFxuXHRcdFx0XHRpc0Rhc2hhbjogZmFsc2UsXG5cdFx0XHRcdGlzUG9wdXA6IGZhbHNlLFxuXHRcdFx0XHRjdXJyZW50OiAwLFxuXHRcdFx0XHRjaXR5OiBcIlwiLFxuXHRcdFx0XHRwYWdlMTogMSxcblx0XHRcdFx0cGFnZTI6IDEsXG5cdFx0XHRcdHRvdGFsMTogMSxcblx0XHRcdFx0dG90YWwyOiAxLFxyXG5cdFx0XHRcdGJhbGFuY2VJbmZvOiB7fSxcblx0XHRcdFx0c2hvdzogZmFsc2UsXG5cdFx0XHRcdGxpc3Q6W3snbmFtZSc6ICfng63pl6gnfSx7J25hbWUnOiAn6ZmE6L+RJ31dLFxuXHRcdFx0XHRhY3RpdmVTdHlsZTp7J2ZvbnRTaXplJzogJzM1cnB4J30sXG5cdFx0XHRcdHVzZXJJbmZvOiB7fSxcclxuXHRcdFx0XHRnb2xkSW5mbzoge31cblx0XHRcdH1cblx0XHR9LFxuXHRcdG9uUHVsbERvd25SZWZyZXNoKCkge1xuXHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XHJcblx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkKXtcclxuXHRcdFx0XHR1bmkuJGVtaXQoXCJvcGVuU29ja2V0XCIpO1xyXG5cdFx0XHR9XG5cdFx0XHRzZXRUaW1lb3V0KCgpPT57XG5cdFx0XHRcdGlmKHRoYXQuY3VycmVudCA9PSAwKXtcblx0XHRcdFx0XHRpZih0aGF0LmNvbW1lbnRMaXN0MS5sZW5ndGggPD0gdGhhdC50b3RhbDEpe1xuXHRcdFx0XHRcdFx0dGhhdC5wYWdlMSArKztcblx0XHRcdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0XHRcdHRoYXQuY3VzdG9tZXJSZWNvbW1lbmRMaXN0KDEpO1xuXHRcdFx0XHRcdFx0fSwgMTAwMCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHRpZih0aGF0LmNvbW1lbnRMaXN0Mi5sZW5ndGggPD0gdGhhdC50b3RhbDIpe1xuXHRcdFx0XHRcdFx0dGhhdC5wYWdlMiArKztcblx0XHRcdFx0XHRcdHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG5cdFx0XHRcdFx0XHRcdHRoYXQubmVhcmJ5Q3VzdG9tZXJMaXN0KDEpO1xuXHRcdFx0XHRcdFx0fSwgMTAwMCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHVuaS5zdG9wUHVsbERvd25SZWZyZXNoKCk7XG5cdFx0XHR9LDIwMDApXG5cdFx0fSxcblx0XHRvbkxvYWQoKSB7XG5cdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdC8vIEFQUOajgOafpeadg+mZkFxuXHRcdFx0aWYodW5pLmdldFN5c3RlbUluZm9TeW5jKCkucGxhdGZvcm0gPT0gJ2FuZHJvaWQnKSB7XG5cdFx0XHRcdHBsdXMuYW5kcm9pZC5jaGVja1Blcm1pc3Npb24oXG5cdFx0XHRcdFx0J2FuZHJvaWQucGVybWlzc2lvbi5BQ0NFU1NfRklORV9MT0NBVElPTicsXG5cdFx0XHRcdFx0Z3JhbnRlZCA9PiB7XG5cdFx0XHRcdFx0ICBpZiAoZ3JhbnRlZC5jaGVja1Jlc3VsdD09LTEpe1xuXHRcdFx0XHRcdFx0dGhhdC5zaG93ID0gdHJ1ZVxuXHRcdFx0XHRcdFx0dGhhdC5nZXRMb2NhdGlvbigpO1xuXHRcdFx0XHRcdCAgfWVsc2V7XG5cdFx0XHRcdFx0XHR0aGF0LnNob3c9ZmFsc2Vcblx0XHRcdFx0XHRcdC8vIOatpOS4unVWaWV355qE6Lez6L2s5pa55rOV77yM6K+m6KeBXCLmlofmoaMtSlNcIumDqOWIhu+8jOS5n+WPr+S7peeUqHVuaeeahHVuaS5uYXZpZ2F0ZVRvXG5cdFx0XHRcdFx0XHR0aGF0LmdldExvY2F0aW9uKCk7XG5cdFx0XHRcdFx0ICB9XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRlcnJvciA9PiB7XG5cdFx0XHRcdFx0ICBjb25zb2xlLmVycm9yKCdFcnJvciBjaGVja2luZyBwZXJtaXNzaW9uOicsIGVycm9yLm1lc3NhZ2UpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0ICApO1xuXHRcdFx0XHQgdGhhdC5yZXF1ZXN0QW5kcm9pZFBlcm1pc3Npb24oJ2FuZHJvaWQucGVybWlzc2lvbi5BQ0NFU1NfRklORV9MT0NBVElPTicpXG5cdFx0XHRcdHJldHVybiA7XG5cdFx0XHR9ZWxzZXtcblx0XHRcdFx0dGhhdC5nZXRMb2NhdGlvbigpO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0fSxcblx0XHRvblJlYWR5KCkge1xuXHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHR1bmkuJG9uKFwiY2xpY2tUYXBcIiwgcmVzPT57XHJcblx0XHRcdFx0Y29uc29sZS5sb2cocmVzKVxuXHRcdFx0XHR0aGF0LmNpdHkgPSByZXMubmFtZTtcblx0XHRcdFx0aWYodGhhdC5jdXJyZW50ID09IDApe1xuXHRcdFx0XHRcdHRoYXQucGFnZTEgPSAxO1xuXHRcdFx0XHRcdHRoYXQuY29tbWVudExpc3QxID0gW107XG5cdFx0XHRcdFx0dGhhdC5jdXN0b21lclJlY29tbWVuZExpc3QoKTtcblx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0dGhhdC5wYWdlMiA9IDE7XG5cdFx0XHRcdFx0dGhhdC5jb21tZW50TGlzdDIgPSBbXTtcblx0XHRcdFx0XHR0aGF0Lm5lYXJieUN1c3RvbWVyTGlzdCgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdHVuaS4kb24oXCJjbG9zZVNoYXJlUG9wdXBcIixyZXM9Pntcblx0XHRcdFx0dGhhdC5pc1BvcHVwID0gZmFsc2U7XG5cdFx0XHRcdHRoYXQuaXNEYXNoYW49ICBmYWxzZTtcblx0XHRcdFx0dGhhdC5pc0NvaW5zPSAgZmFsc2U7XG5cdFx0XHR9KVxuXHRcdFx0XG5cdFx0XHR1bmkuJG9uKFwib3BlbkNvaW5zUG9wdXBcIixyZXM9Pntcblx0XHRcdFx0dGhhdC5pc0NvaW5zID0gcmVzXG5cdFx0XHR9KVxuXHRcdFx0dW5pLiRvbihcIm9uUG9wdXBcIixyZXM9Pntcblx0XHRcdFx0aWYocmVzID09IDEpe1xuXHRcdFx0XHRcdHRoYXQuc2hvdz1mYWxzZVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0b25TaG93KCkge1xuXHRcdFx0dGhpcy5nZXRVc2VySW5mbygpO1xyXG5cdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCl7XHJcblx0XHRcdFx0aWYoIXVuaS5nZXRTdG9yYWdlU3luYyhcImlzT3BlblwiKSl7XHJcblx0XHRcdFx0XHR1bmkuJGVtaXQoXCJvcGVuU29ja2V0XCIpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0b25SZWFjaEJvdHRvbSgpIHtcblx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHtcblx0XHRcdFx0dGl0bGU6IFwi5Yqg6L295LitXCJcblx0XHRcdH0pXG5cdFx0XHRpZih0aGF0LmN1cnJlbnQgPT0gMCl7XG5cdFx0XHRcdGlmKHRoYXQuY29tbWVudExpc3QxLmxlbmd0aCA8PSB0aGF0LnRvdGFsMSl7XG5cdFx0XHRcdFx0dGhhdC5wYWdlMSArKztcblx0XHRcdFx0XHRzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuXHRcdFx0XHRcdFx0dGhhdC5jdXN0b21lclJlY29tbWVuZExpc3QoMSk7XG5cdFx0XHRcdFx0fSwgMTAwMCk7XG5cdFx0XHRcdH1cblx0XHRcdH1lbHNle1xuXHRcdFx0XHRpZih0aGF0LmNvbW1lbnRMaXN0Mi5sZW5ndGggPD0gdGhhdC50b3RhbDIpe1xuXHRcdFx0XHRcdHRoYXQucGFnZTIgKys7XG5cdFx0XHRcdFx0c2V0VGltZW91dChmdW5jdGlvbigpIHtcblx0XHRcdFx0XHRcdHRoYXQubmVhcmJ5Q3VzdG9tZXJMaXN0KDEpO1xuXHRcdFx0XHRcdH0sIDEwMDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRtZXRob2RzOiB7XG5cdFx0XHQvL+WunuaXtuS4iuS8oOi9qOi/uVxuXHRcdFx0YXN5bmMgdHJhY2tVcGxvYWQocmVzLHR5cGUpe1xuXHRcdFx0XHRjb25zdCB7Y29kZSwgZGF0YSx9ID0gYXdhaXQgdGhpcy4kYXBpLnRyYWNrVXBsb2FkKHtcblx0XHRcdFx0XHR1c2VySWQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxuXHRcdFx0XHRcdGxhdDogcmVzLmxhdGl0dWRlLFxuXHRcdFx0XHRcdGxvbjogcmVzLmxvbmdpdHVkZSxcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0aWYoY29kZSA9PSAyMDApe1xyXG5cdFx0XHRcdFx0aWYodHlwZT09MSl7XHJcblx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BpcGVpL3RvbmdjaGVuZy9pbmRleFwiXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9ZWxzZSBpZih0eXBlID09IDIpe1xyXG5cdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9waXBlaS95dXlpbi9pbmRleFwiXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR9ZWxzZSBpZih0eXBlID09IDMpe1xyXG5cdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9waXBlaS9zaGlwaW4vaW5kZXhcIlxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cblx0XHRcdH0sXHJcblx0XHRcdC8v5qOA5p+l5qyh5pWwXHJcblx0XHRcdGFzeW5jIHVzZXJCYWxhbmNlKCkge1xyXG5cdFx0XHRcdGNvbnN0IHsgY29kZSwgZGF0YSB9ID0gYXdhaXQgdGhpcy4kYXBpLnVzZXJCYWxhbmNlKHtcclxuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWRcclxuXHRcdFx0XHR9KSBcclxuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XHJcblx0XHRcdFx0XHR0aGlzLmJhbGFuY2VJbmZvID0gZGF0YVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcblx0XHRcdHJlY29yZGVyQXV0aE1vZGFsOiBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcblx0XHRcdFx0XHR0aXRsZTogJ+WumuS9jeadg+mZkOivtOaYjicsXG5cdFx0XHRcdFx0Y29udGVudDogJ+S+v+S6juaCqOS9v+eUqOivpeWKn+iDveWcqOW9k+WJjeS9jee9ruafpeivouaJgOWcqOmXqOW6l++8jOivt+aCqOehruiupOaOiOadg++8jOWQpuWImeaXoOazleS9v+eUqOivpeWKn+iDveOAgicsXG5cdFx0XHRcdFx0Y2FuY2VsVGV4dDogJ+WFs+mXrScsXG5cdFx0XHRcdFx0Y29uZmlybVRleHQ6ICfljrvmjojmnYMnLFxuXHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XG5cdFx0XHRcdFx0XHR0aGF0LnNob3c9ZmFsc2Vcblx0XHRcdFx0XHRcdGlmIChyZXMuY29uZmlybSkge1xuXHRcdFx0XHRcdFx0XHRwZXJtaXNpb24uZ290b0FwcFBlcm1pc3Npb25TZXR0aW5nKClcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0YXN5bmMgcmVxdWVzdEFuZHJvaWRQZXJtaXNzaW9uKHBlcm1pc2lvbklEKSB7XG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHR2YXIgcmVzdWx0ID0gYXdhaXQgcGVybWlzaW9uLnJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbihwZXJtaXNpb25JRCk7XG5cdFx0XHRcdGlmKHJlc3VsdCAhPSAxKXtcblx0XHRcdFx0XHR0aGF0LnJlY29yZGVyQXV0aE1vZGFsKCk7XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdHRoYXQuc2hvdz1mYWxzZVxuXHRcdFx0XHRcdC8vIOatpOS4unVWaWV355qE6Lez6L2s5pa55rOV77yM6K+m6KeBXCLmlofmoaMtSlNcIumDqOWIhu+8jOS5n+WPr+S7peeUqHVuaeeahHVuaS5uYXZpZ2F0ZVRvXG5cdFx0XHRcdFx0dGhhdC5nZXRMb2NhdGlvbigpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0Ly/pppbpobXpmYTov5Fcblx0XHRcdGFzeW5jIG5lYXJieUN1c3RvbWVyTGlzdCh0eXBlKXtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh1bmkuZ2V0U3RvcmFnZVN5bmMoXCJqaW5nd2VpSW5mb1wiKS5uZXdfY2l0eSlcblx0XHRcdFx0Y29uc3QgeyBjb2RlLCBkYXRhICwgbXNnIH0gPSBhd2FpdCB0aGlzLiRhcGkubmVhcmJ5Q3VzdG9tZXJMaXN0KHtcblx0XHRcdFx0XHR1c2VySWQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxuXHRcdFx0XHRcdG5pY2tuYW1lOiBcIlwiLFxuXHRcdFx0XHRcdHN0YXJ0QWdlOiBcIlwiLFxuXHRcdFx0XHRcdGVuZEFnZTogXCJcIixcclxuXHRcdFx0XHRcdGNpdHk6IHVuaS5nZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIpLm5ld19jaXR5P3VuaS5nZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIpLm5ld19jaXR5OnVuaS5nZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIpLmNpdHksXG5cdFx0XHRcdFx0bGF0OiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJqaW5nd2VpSW5mb1wiKS5sYXRpdHVkZSxcblx0XHRcdFx0XHRsb246IHVuaS5nZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIpLmxvbmdpdHVkZSxcblx0XHRcdFx0XHRwYWdlOiB0aGlzLnBhZ2UyLFxuXHRcdFx0XHRcdGxpbWl0OiAyMFxuXHRcdFx0XHR9KTtcblx0XHRcdFx0aWYodHlwZSA9PSAxKXtcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmKGNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHR0aGlzLnRvdGFsMiA9IGRhdGEudG90YWw7XG5cdFx0XHRcdFx0dGhpcy5jb21tZW50TGlzdDIgPSB0aGlzLmFycmF5VW5pcXVlKFsuLi50aGlzLmNvbW1lbnRMaXN0MiwuLi5kYXRhLmxpc3RdLCdpZCcpXG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6IG1zZyxcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdC8v6aaW6aG15o6o6I2QXG5cdFx0XHRhc3luYyBjdXN0b21lclJlY29tbWVuZExpc3QodHlwZSl7XG5cdFx0XHRcdGNvbnN0IHsgY29kZSwgZGF0YSAsIG1zZyB9ID0gYXdhaXQgdGhpcy4kYXBpLmN1c3RvbWVyUmVjb21tZW5kTGlzdCh7XG5cdFx0XHRcdFx0dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcblx0XHRcdFx0XHRuaWNrbmFtZTogXCJcIixcblx0XHRcdFx0XHRzdGFydEFnZTogXCJcIixcblx0XHRcdFx0XHRlbmRBZ2U6IFwiXCIsXHJcblx0XHRcdFx0XHRsYXQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIpLmxhdGl0dWRlLFxyXG5cdFx0XHRcdFx0bG9uOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJqaW5nd2VpSW5mb1wiKS5sb25naXR1ZGUsXHJcblx0XHRcdFx0XHRjaXR5OiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJqaW5nd2VpSW5mb1wiKS5uZXdfY2l0eT91bmkuZ2V0U3RvcmFnZVN5bmMoXCJqaW5nd2VpSW5mb1wiKS5uZXdfY2l0eTp1bmkuZ2V0U3RvcmFnZVN5bmMoXCJqaW5nd2VpSW5mb1wiKS5jaXR5LFxuXHRcdFx0XHRcdHBhZ2U6IHRoaXMucGFnZTEsXG5cdFx0XHRcdFx0bGltaXQ6IDIwXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRpZih0eXBlID09IDEpe1xuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYoY29kZSA9PSAyMDApe1xuXHRcdFx0XHRcdHRoaXMudG90YWwxID0gZGF0YS50b3RhbDtcblx0XHRcdFx0XHR0aGlzLmNvbW1lbnRMaXN0MSA9IHRoaXMuYXJyYXlVbmlxdWUoWy4uLnRoaXMuY29tbWVudExpc3QxLC4uLmRhdGEubGlzdF0sJ2lkJylcblx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogbXNnLFxuXHRcdFx0XHRcdFx0cG9zaXRpb246IFwiYm90dG9tXCIsXG5cdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0Ly/mlbDnu4Tlr7nosaHljrvph41cblx0XHRcdGFycmF5VW5pcXVlIChhcnIsIG5hbWUpIHtcblx0XHRcdFx0dmFyIGhhc2ggPSB7fTtcblx0XHRcdFx0cmV0dXJuIGFyci5yZWR1Y2UoZnVuY3Rpb24gKGl0ZW0sIG5leHQpIHtcblx0XHRcdFx0XHRoYXNoW25leHRbbmFtZV1dXG5cdFx0XHRcdFx0XHQ/IFwiXCJcblx0XHRcdFx0XHRcdDogKGhhc2hbbmV4dFtuYW1lXV0gPSB0cnVlICYmIGl0ZW0ucHVzaChuZXh0KSk7XG5cdFx0XHRcdFx0cmV0dXJuIGl0ZW07XG5cdFx0XHRcdH0sIFtdKTtcblx0XHRcdH0sXHJcblx0XHRcdGFzeW5jIGNvc3REZXNjcmlwdGlvbigpIHtcclxuXHRcdFx0XHRjb25zdCB7Y29kZSwgZGF0YSB9ID0gYXdhaXQgdGhpcy4kYXBpLmNvc3REZXNjcmlwdGlvbih7fSk7XHJcblx0XHRcdFx0aWYoY29kZSA9PSAyMDApe1xyXG5cdFx0XHRcdFx0dGhpcy5nb2xkSW5mbyA9IGRhdGFcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdFxuXHRcdFx0Ly/ojrflj5bnlKjmiLfkv6Hmga9cblx0XHRcdGFzeW5jIGdldFVzZXJJbmZvKCkge1xuXHRcdFx0XHRjb25zdCB7IGNvZGUsIGRhdGEgLCBtc2cgfSA9IGF3YWl0IHRoaXMuJGFwaS5maW5kVXNlckluZm8oe3VzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWR9KTtcblx0XHRcdFx0aWYoY29kZSA9PSAyMDApe1xuXHRcdFx0XHRcdHRoaXMudXNlckluZm8gPSBkYXRhO1xyXG5cdFx0XHRcdFx0dGhpcy51c2VyQmFsYW5jZSgpO1xyXG5cdFx0XHRcdFx0dGhpcy5jb3N0RGVzY3JpcHRpb24oKTtcblx0XHRcdFx0XHR1bmkuc2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiLGRhdGEpO1xuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdHRpdGxlOiBtc2csXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcblx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRnZXRMb2NhdGlvbigpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XG5cdFx0XHRcdFx0dHlwZTogJ2djajAyJyxcblx0XHRcdFx0XHRzdWNjZXNzKHJlczEpIHtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlczEpXG5cdFx0XHRcdFx0XHR0aGF0LnRyYWNrVXBsb2FkKHJlczEpXG5cdFx0XHRcdFx0XHRsZXQgbGF0aXR1ZGUgPSByZXMxLmxhdGl0dWRlLGxvbmdpdHVkZSA9IHJlczEubG9uZ2l0dWRlO1xuXHRcdFx0XHRcdFx0bGV0IHVybCA9IGBodHRwczovL3Jlc3RhcGkuYW1hcC5jb20vdjMvZ2VvY29kZS9yZWdlbz9vdXRwdXQ9anNvbiZsb2NhdGlvbj0ke2xvbmdpdHVkZX0sJHtsYXRpdHVkZX0ma2V5PTRhNmUyYmE4ZWFjMzg2NGYwZDg4ZjliNWFiZDAyNmU2JnJhZGl1cz0xMDAwYFxuXHRcdFx0XHRcdFx0dW5pLnJlcXVlc3Qoe1xuXHRcdFx0XHRcdFx0XHR1cmwsXG5cdFx0XHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhyZXMpXG5cdFx0XHRcdFx0XHRcdFx0bGV0IGNpdHkgPSByZXMuZGF0YS5yZWdlb2NvZGUuYWRkcmVzc0NvbXBvbmVudC5jaXR5Lmxlbmd0aD09MD9yZXMuZGF0YS5yZWdlb2NvZGUuYWRkcmVzc0NvbXBvbmVudC5wcm92aW5jZTpyZXMuZGF0YS5yZWdlb2NvZGUuYWRkcmVzc0NvbXBvbmVudC5jaXR5XG5cdFx0XHRcdFx0XHRcdFx0dGhhdC5jaXR5ID0gcmVzLmRhdGEucmVnZW9jb2RlLmZvcm1hdHRlZF9hZGRyZXNzLnNwbGl0KHJlcy5kYXRhLnJlZ2VvY29kZS5hZGRyZXNzQ29tcG9uZW50LnRvd25zaGlwKVsxXVxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zZXRTdG9yYWdlU3luYyhcImppbmd3ZWlJbmZvXCIsey4uLnJlczEsLi4ucmVzLmRhdGEucmVnZW9jb2RlLmFkZHJlc3NDb21wb25lbnQsZm9ybWF0dGVkOiB0aGF0LmNpdHl9KTtcblx0XHRcdFx0XHRcdFx0XHR0aGF0LnNob3cgPSBmYWxzZVxuXHRcdFx0XHRcdFx0XHRcdGlmKHRoYXQuY3VycmVudCA9PSAwKXtcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQucGFnZTEgPSAxO1xuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC5jb21tZW50TGlzdDEgPSBbXTtcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuY3VzdG9tZXJSZWNvbW1lbmRMaXN0KCk7XG5cdFx0XHRcdFx0XHRcdFx0fWVsc2V7XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LnBhZ2UyID0gMTtcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuY29tbWVudExpc3QyID0gW107XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0Lm5lYXJieUN1c3RvbWVyTGlzdCgpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0b3BlblBhZ2UoaW5kZXgsaWQpe1xyXG5cdFx0XHRcdGNvbnN0IHRoYXQgPSB0aGlzO1xuXHRcdFx0XHRpZihpbmRleCA9PSAxKXtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMudXNlckluZm8ucmVhbG5hbWVGbGFnKVxyXG5cdFx0XHRcdFx0aWYodGhpcy51c2VySW5mby5yZWFsbmFtZUZsYWcgPT0gMCB8fCB0aGlzLnVzZXJJbmZvLmZhY2VGbGFnID09IDAgfHwgdGhpcy51c2VySW5mby5waG9uZUZsYWcgPT0gMCl7XHJcblx0XHRcdFx0XHRcdHRoaXMuaXNQb3B1cCA9IHRydWVcclxuXHRcdFx0XHRcdFx0cmV0dXJuIDtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XHJcblx0XHRcdFx0XHRcdHR5cGU6ICdnY2owMicsXHJcblx0XHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC50cmFja1VwbG9hZChyZXMsMSlcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFxuXHRcdFx0XHR9ZWxzZSBpZihpbmRleCA9PSAyKXtcclxuXHRcdFx0XHRcdGlmKHRoaXMudXNlckluZm8ucmVhbG5hbWVGbGFnID09IDAgfHwgdGhpcy51c2VySW5mby5mYWNlRmxhZyA9PSAwIHx8IHRoaXMudXNlckluZm8ucGhvbmVGbGFnID09IDApe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmlzUG9wdXAgPSB0cnVlXHJcblx0XHRcdFx0XHRcdHJldHVybiA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5zZXggPT0gMSl7XHJcblx0XHRcdFx0XHRcdGlmKHRoaXMuYmFsYW5jZUluZm8udm9pY2VDb2lucyo2MCA8PSAwKXtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIua4qemmqOaPkOekulwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCLlvZPliY3otKbmiLfph5HluIHkuI3otrPvvIzor63pn7PpgJror51cIit0aGlzLmdvbGRJbmZvLnZvaWNlQ29pbnMrXCLph5HluIEvMeWIhumSnyzor7fliY3lvoDlhYXlgLxcIixcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmZpcm1Db2xvcjogXCIjMDAwMDAwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZihyZXMuY29uZmlybSl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy91c2Vycy9yZWNoYXJnZS9pbmRleFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dW5pLmdldExvY2F0aW9uKHtcclxuXHRcdFx0XHRcdFx0dHlwZTogJ2djajAyJyxcclxuXHRcdFx0XHRcdFx0c3VjY2VzcyhyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LnRyYWNrVXBsb2FkKHJlcywyKVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFxuXHRcdFx0XHR9ZWxzZSBpZihpbmRleCA9PSAzKXtcclxuXHRcdFx0XHRcdGlmKHRoaXMudXNlckluZm8ucmVhbG5hbWVGbGFnID09IDAgfHwgdGhpcy51c2VySW5mby5mYWNlRmxhZyA9PSAwIHx8IHRoaXMudXNlckluZm8ucGhvbmVGbGFnID09IDApe1xyXG5cdFx0XHRcdFx0XHR0aGlzLmlzUG9wdXAgPSB0cnVlXHJcblx0XHRcdFx0XHRcdHJldHVybiA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5zZXggPT0gMSl7XHJcblx0XHRcdFx0XHRcdGlmKHRoaXMuYmFsYW5jZUluZm8udmlkZW9Db2lucyo2MCA8PSAwKXtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIua4qemmqOaPkOekulwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0Y29udGVudDogXCLlvZPliY3otKbmiLfph5HluIHkuI3otrPvvIzor63pn7PpgJror51cIit0aGlzLmdvbGRJbmZvLnZpZGVvQ29pbnMrXCLph5HluIEvMeWIhumSnyzor7fliY3lvoDlhYXlgLxcIixcclxuXHRcdFx0XHRcdFx0XHRcdGNvbmZpcm1Db2xvcjogXCIjMDAwMDAwXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZihyZXMuY29uZmlybSl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy91c2Vycy9yZWNoYXJnZS9pbmRleFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIDtcclxuXHRcdFx0XHRcdFx0fVx0XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR1bmkuZ2V0TG9jYXRpb24oe1xyXG5cdFx0XHRcdFx0XHR0eXBlOiAnZ2NqMDInLFxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQudHJhY2tVcGxvYWQocmVzLDMpXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1lbHNlIGlmKGluZGV4ID09IDQpe1xuXHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvaW5kZXgvc2VhcmNoP3R5cGU9MVwiXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fWVsc2UgaWYoaW5kZXggPT0gNSl7XG5cdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9pbmRleC9jaXR5XCJcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9ZWxzZSBpZihpbmRleCA9PSA2KXtcblx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3BlaXdhbi9kZXRhaWw/aWQ9XCIraWRcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9ZWxzZSBpZihpbmRleCA9PSA3KXtcblx0XHRcdFx0XHRpZih0aGlzLnVzZXJJbmZvLnJlYWxuYW1lRmxhZyA9PSAwIHx8IHRoaXMudXNlckluZm8uZmFjZUZsYWcgPT0gMCB8fCB0aGlzLnVzZXJJbmZvLnBob25lRmxhZyA9PSAwKXtcblx0XHRcdFx0XHRcdHRoaXMuaXNQb3B1cCA9IHRydWVcblx0XHRcdFx0XHRcdHJldHVybiA7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuaW5mbyA9IGlkXG5cdFx0XHRcdFx0dGhpcy5pbmZvLnVzZXJpZCA9IGlkLmlkXG5cdFx0XHRcdFx0dGhpcy5pc0Rhc2hhbiA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRjaGFuZ2VUYWJzKGluZGV4KXtcblx0XHRcdFx0dGhpcy5jdXJyZW50ID0gaW5kZXg7XHJcblx0XHRcdFx0dGhpcy5jb21tZW50TGlzdDEgPSBbXVxyXG5cdFx0XHRcdHRoaXMucGFnZTEgPSAxXHJcblx0XHRcdFx0dGhpcy5wYWdlMiA9IDFcclxuXHRcdFx0XHR0aGlzLmNvbW1lbnRMaXN0MSA9IFtdXHJcblx0XHRcdFx0dGhpcy5jb21tZW50TGlzdDIgPSBbXVxuXHRcdFx0XHRpZihpbmRleCA9PSAwKXtcblx0XHRcdFx0XHR0aGlzLmN1c3RvbWVyUmVjb21tZW5kTGlzdCgpO1xuXHRcdFx0XHR9ZWxzZXtcblx0XHRcdFx0XHR0aGlzLm5lYXJieUN1c3RvbWVyTGlzdCgpO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdH1cblx0fVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBzY29wZWQgbGFuZz1cInNjc3NcIj5cbi5ob21le1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHQucGVybWlzc2lvbnNfYm94e1xuXHRcdHBhZGRpbmctdG9wOiAxODBycHg7XG5cdH1cblx0LmVtcHR5e1xuXHRcdHBhZGRpbmc6IDE1MHJweCAwO1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0Y29sb3I6ICMyMjIyMjI7XG5cdFx0aW1hZ2V7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdHdpZHRoOiA0NjBycHg7XG5cdFx0XHRoZWlnaHQ6IDQwMHJweDtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH1cblx0fVxuXHQmLW5hdmJhcntcblx0XHR3aWR0aDogMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC5zbG90LXdyYXB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IDAgMjVycHg7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHQuYWRkcmVzc3tcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdFx0Y29sb3I6ICMyMjIyMjI7XG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRtYXgtd2lkdGg6IDI1MHJweDtcblx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0d2lkdGg6IDMwcnB4O1xuXHRcdFx0XHRcdGhlaWdodDogMzBycHg7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA3cnB4O1xuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0XHR0b3A6IDVycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5zZWFyY2h7XG5cdFx0XHRcdHdpZHRoOiA0MzZycHg7XG5cdFx0XHRcdGhlaWdodDogNzBycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNGNUY1RjU7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDcwcnB4O1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcblx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0d2lkdGg6IDMwcnB4O1xuXHRcdFx0XHRcdGhlaWdodDogMzBycHg7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA3cnB4O1xuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyNXJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLW1lbnV7XG5cdFx0cGFkZGluZzogMCAyNXJweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0Lml0ZW17XG5cdFx0XHR3aWR0aDogMjIwcnB4O1xuXHRcdFx0aGVpZ2h0OiAxNDBycHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRpbWFnZXtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cblx0XHRcdC50eHR7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMThycHg7XG5cdFx0XHRcdHRvcDogNTVycHg7XG5cdFx0XHRcdHotaW5kZXg6IDI7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XG5cdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQmLXRhYntcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdG1hcmdpbi10b3A6IDEwcnB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0LnRhYntcblx0XHRcdHdpZHRoOiAyNTBycHg7XG5cdFx0fVxuXHR9XG5cdCYtbGlzdHtcblx0XHRwYWRkaW5nOiAwIDI1cnB4IDI1cnB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0Lml0ZW17XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMjAwcnB4O1xuXHRcdFx0YmFja2dyb3VuZDogI0ZGRkZGRjtcblx0XHRcdGJveC1zaGFkb3c6IDBweCA0cnB4IDEwcnB4IDBweCByZ2JhKDAsMCwwLDAuMDYpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XG5cdFx0XHRwYWRkaW5nOiAzMHJweDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdFx0LnBpY3tcblx0XHRcdFx0d2lkdGg6IDE0MHJweDtcblx0XHRcdFx0aGVpZ2h0OiAxNDBycHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcnB4O1xuXHRcdFx0XHRpbWFnZXtcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5pbmZve1xuXHRcdFx0XHRmbGV4OiAxO1xuXHRcdFx0XHQubmFtZXtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICMyMjIyMjI7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdC52aXB7XG5cdFx0XHRcdFx0XHR3aWR0aDogNjBycHg7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMzJycHg7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB1cmwoQC9zdGF0aWMvdmlwLWJnLnBuZykgY2VudGVyIHRvcCBuby1yZXBlYXQ7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyMHJweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmRlc2N7XG5cdFx0XHRcdFx0d2lkdGg6IDE4MHJweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDBycHg7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI0YyRjJGMjtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA0MHJweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICMwMDAwMDA7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQuY2hhdHtcblx0XHRcdFx0d2lkdGg6IDE1MHJweDtcblx0XHRcdFx0aGVpZ2h0OiA5MHJweDtcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICMwMDAwMDAsICMzRDNCMzgpO1xuXHRcdFx0XHRib3gtc2hhZG93OiAwcHggNHJweCAxOHJweCAwcHggcmdiYSg0Miw0MSwzOSwwLjM0KTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogOTBycHg7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHRcdFx0aW1hZ2V7XG5cdFx0XHRcdFx0d2lkdGg6IDY1cnB4O1xuXHRcdFx0XHRcdGhlaWdodDogMzJycHg7XG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdFx0bWFyZ2luOiAxNXJweCBhdXRvIDVycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cdFxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///89\n"); /***/ }), /* 90 */ diff --git a/unpackage/dist/dev/app-plus/app-view.js b/unpackage/dist/dev/app-plus/app-view.js index c648297..f57294f 100644 --- a/unpackage/dist/dev/app-plus/app-view.js +++ b/unpackage/dist/dev/app-plus/app-view.js @@ -2848,6 +2848,9 @@ var render = function () { style: _vm._$g(119, "s"), attrs: { _i: 119 }, on: { + loaded: function ($event) { + return _vm.$handleViewEvent($event) + }, finished: function ($event) { return _vm.$handleViewEvent($event) }, @@ -4819,7 +4822,7 @@ module.exports = exports; "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ%3D%3D& */ 82); +/* harmony import */ var _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ%3D%3D& */ 82); /* harmony import */ var _c_svga_vue_vue_type_renderjs_lang_js_module_svga___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./c-svga.vue?vue&type=renderjs&lang=js&module=svga& */ 84); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _c_svga_vue_vue_type_renderjs_lang_js_module_svga___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _c_svga_vue_vue_type_renderjs_lang_js_module_svga___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony import */ var _c_svga_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./c-svga.vue?vue&type=script&lang=js& */ 103); @@ -4839,14 +4842,14 @@ _c_svga_vue_vue_type_renderjs_lang_js_module_svga___WEBPACK_IMPORTED_MODULE_1__[ var component = Object(_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_4__["default"])( _c_svga_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_2__["default"], - _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["render"], - _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], + _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["render"], + _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], false, null, "0f303cc9", null, false, - _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["components"], + _c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["components"], _c_svga_vue_vue_type_renderjs_lang_js_module_svga___WEBPACK_IMPORTED_MODULE_1__["default"] ) @@ -4856,28 +4859,28 @@ component.options.__file = "uni_modules/c-svga/components/c-svga/c-svga.vue" /***/ }), /* 82 */ /*!*********************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** D:/仁周项目/2024-09-06 陪玩陪俩(纯玩)项目/chunwan/uni_modules/c-svga/components/c-svga/c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ%3D%3D& ***! + !*** D:/仁周项目/2024-09-06 陪玩陪俩(纯玩)项目/chunwan/uni_modules/c-svga/components/c-svga/c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ%3D%3D& ***! \*********************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!./c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ%3D%3D& */ 83); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["render"]; }); +/* harmony import */ var _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/filter-modules-template.js!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../../../../../ruanjian/HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!./c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ%3D%3D& */ 83); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["render"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); -/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["components"]; }); +/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_filter_modules_template_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_ruanjian_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_view_style_js_c_svga_vue_vue_type_template_id_0f303cc9_scoped_true_filter_modules_eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ_3D_3D___WEBPACK_IMPORTED_MODULE_0__["components"]; }); /***/ }), /* 83 */ /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./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--17-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!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!D:/仁周项目/2024-09-06 陪玩陪俩(纯玩)项目/chunwan/uni_modules/c-svga/components/c-svga/c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQzNiwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU1MjJ9fQ%3D%3D& ***! + !*** ./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--17-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!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/view/style.js!D:/仁周项目/2024-09-06 陪玩陪俩(纯玩)项目/chunwan/uni_modules/c-svga/components/c-svga/c-svga.vue?vue&type=template&id=0f303cc9&scoped=true&filter-modules=eyJzdmdhIjp7InR5cGUiOiJyZW5kZXJqcyIsImNvbnRlbnQiOiIiLCJzdGFydCI6NTQwOSwiYXR0cnMiOnsibGFuZyI6ImpzIiwibW9kdWxlIjoic3ZnYSJ9LCJlbmQiOjU0OTV9fQ%3D%3D& ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -5038,14 +5041,14 @@ var _default = { } else { data = that.pdata; } - __f__("log", data, " at uni_modules/c-svga/components/c-svga/js/render.js:45"); + // console.log(data) if (data.src) { - _context.next = 5; + _context.next = 4; break; } __f__("error", '缺少src', " at uni_modules/c-svga/components/c-svga/js/render.js:47"); return _context.abrupt("return"); - case 5: + case 4: if (!that.player) { player = new _svgaplayerweb.default.Player('#' + data.myCanvasId); parser = new _svgaplayerweb.default.Parser(); @@ -5061,9 +5064,9 @@ var _default = { // console.log(await getfile(data.src)); // return _context.t0 = parser; - _context.next = 12; + _context.next = 11; return (0, _getfile.default)(data.src); - case 12: + case 11: _context.t1 = _context.sent; _context.t2 = function (videoItem) { player.setVideoItem(videoItem); @@ -5111,7 +5114,7 @@ var _default = { } that.player = player; that.parser = parser; - case 20: + case 19: case "end": return _context.stop(); } diff --git a/unpackage/dist/dev/app-plus/pages/pipei/shipin/detail.js b/unpackage/dist/dev/app-plus/pages/pipei/shipin/detail.js index bcc6661..68bb3be 100644 --- a/unpackage/dist/dev/app-plus/pages/pipei/shipin/detail.js +++ b/unpackage/dist/dev/app-plus/pages/pipei/shipin/detail.js @@ -1718,7 +1718,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _rua /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 11);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 12));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 15));\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/api/index.js */ 17));\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/js_sdk/wa-permission/permission.js */ 32));\nvar _ZegoExpressEngine = _interopRequireDefault(__webpack_require__(/*! @/uni_modules/zego-ZegoExpressUniApp-JS/components/zego-ZegoExpressUniApp-JS/lib/ZegoExpressEngine */ 33));\nvar _ZegoRemoteView = _interopRequireDefault(__webpack_require__(/*! @/uni_modules/zego-ZegoExpressUniApp-JS/components/zego-ZegoExpressUniApp-JS/zego-view/ZegoRemoteView */ 47));\nvar _ZegoLocalView = _interopRequireDefault(__webpack_require__(/*! @/uni_modules/zego-ZegoExpressUniApp-JS/components/zego-ZegoExpressUniApp-JS/zego-view/ZegoLocalView */ 52));\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//\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//\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 timer = null;\nvar roomConfig = {};\nroomConfig.isUserStatusNotify = true;\nvar profile = {\n appID: 267111980,\n appSign: 'afcaa90a7750ee556e450ca62287c5f9a362e9ed711789717cda0e18f088858e',\n scenario: 0\n};\nvar _default = {\n components: {\n ZegoLocalView: _ZegoLocalView.default,\n ZegoRemoteView: _ZegoRemoteView.default\n },\n data: function data() {\n return {\n isOpenSocket: true,\n isYuyin: true,\n isGuaduan: true,\n isYangshengqi: true,\n isShexiang: true,\n isJieshou: true,\n isToggle: true,\n winWidth: 0,\n winHeight: 0,\n userInfo: {},\n playStreamId: \"\",\n title: \"\",\n count: 0,\n balanceInfo: {},\n userOtherInfo: {},\n background: {\n // 导航栏背景图\n background: 'url(https://api.lyiyuan.cn/profile/upload/static/yuyin-bg.png) center top no-repeat',\n // 还可以设置背景图size属性\n backgroundSize: '100 auto'\n },\n engine: null,\n roomId: \"\",\n type: 2,\n statusBarHeight: 0,\n sellerStreamId: \"\",\n viewModeIndex: 0,\n isCamera: true,\n isStart: true,\n toIsBack: true\n };\n },\n onLoad: function onLoad(o) {\n __f__(\"log\", o, \" at pages/pipei/shipin/detail.nvue:202\");\n this.id = o.id;\n this.type = o.type;\n this.title = this.type == 1 || this.type == 3 ? \"语音通话\" : \"视频通话\";\n this.isStart = this.type == 3 || this.type == 4 ? o.fid ? false : true : true;\n this.isShexiang = this.type == 2 || this.type == 4 ? true : false;\n this.isJieshou = o.type <= 2 ? true : false;\n this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight;\n this.winWidth = uni.getSystemInfoSync().windowWidth;\n this.winHeight = uni.getSystemInfoSync().windowHeight;\n },\n onReady: function onReady() {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var that, res, res1;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n that = _this;\n uni.$on(\"watchEvent\", function (obj) {\n __f__(\"log\", obj, \" at pages/pipei/shipin/detail.nvue:216\");\n if (obj.topic == 'message') {\n if (obj.type == 12) {\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n that.isGuaduan = false;\n that.toGuaduan(1);\n }\n }\n }\n });\n uni.$on(\"toJieshouYinship\", function (obj) {\n __f__(\"log\", \"toJieshouYinship\", obj, \" at pages/pipei/shipin/detail.nvue:228\");\n if (obj.topic == 'message') {\n if (obj.type == 20) {\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n that.toJieshou();\n _this.isOpenSocket = false;\n } else {\n _this.isOpenSocket = false;\n }\n }\n }\n });\n if (!(uni.getSystemInfoSync().platform === \"android\")) {\n _context.next = 13;\n break;\n }\n _context.next = 6;\n return _permission.default.requestAndroidPermission(\"android.permission.RECORD_AUDIO\");\n case 6:\n res = _context.sent;\n _context.next = 9;\n return _permission.default.requestAndroidPermission(\"android.permission.CAMERA\");\n case 9:\n res1 = _context.sent;\n if (res == 1 && res1 == 1) {\n if (_this.type <= 2) {\n _this.toPermission();\n } else {\n _this.getUserInfo(1);\n }\n }\n _this.getOtherUserInfo();\n return _context.abrupt(\"return\");\n case 13:\n if (_this.type <= 2) {\n _this.toPermission();\n } else {\n _this.getUserInfo(1);\n }\n _this.getOtherUserInfo();\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n methods: {\n qiehuan: function qiehuan() {\n this.isToggle = !this.isToggle;\n __f__(\"log\", this.isToggle, \" at pages/pipei/shipin/detail.nvue:270\");\n },\n toJieshou1: function toJieshou1() {\n uni.$emit(\"jieshouYinship\", {\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: this.id,\n type: 20,\n \"topic\": \"message\"\n });\n if (this.isStart == false) {\n this.toJieshou();\n }\n },\n onBack: function onBack() {\n var that = this;\n uni.showModal({\n title: \"温馨提示\",\n content: \"是否要退出房间?\",\n confirmColor: \"#000000\",\n success: function success(res) {\n if (res.confirm) {\n that.isGuaduan = false;\n that.toGuaduan();\n }\n }\n });\n },\n toGuaduan: function toGuaduan(type) {\n var _this$engine, _this$engine2, _this$engine3, _this$engine4;\n if (type != 1) {\n uni.$emit(\"duanYinship\", {\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: this.id,\n type: 12,\n \"topic\": \"message\"\n });\n }\n if (type == 1) {\n uni.$emit(\"showToast\", this.isJieshou);\n }\n this.socialConsumption();\n clearInterval(timer);\n if (this.toIsBack == false) {\n return;\n }\n this.toIsBack = false;\n this.isGuaduan = false;\n /** 停止推流 */\n (_this$engine = this.engine) === null || _this$engine === void 0 ? void 0 : _this$engine.stopPublishingStream();\n /** 停止本地预览 */\n (_this$engine2 = this.engine) === null || _this$engine2 === void 0 ? void 0 : _this$engine2.stopPreview();\n /** 停止拉流 */\n (_this$engine3 = this.engine) === null || _this$engine3 === void 0 ? void 0 : _this$engine3.stopPlayingStream(this.sellerStreamId);\n /** 退出房间 */\n (_this$engine4 = this.engine) === null || _this$engine4 === void 0 ? void 0 : _this$engine4.logoutRoom(this.roomId);\n /** 销毁引擎 */\n _ZegoExpressEngine.default.destroyEngine();\n uni.$off(\"watchEvent\");\n uni.$off(\"toJieshouYinship\");\n uni.navigateBack({\n delta: 1\n });\n },\n toJieshou: function toJieshou() {\n this.toPermission();\n this.$forceUpdate();\n },\n toggleYuyin: function toggleYuyin() {\n this.isYuyin = !this.isYuyin;\n this.engine.muteMicrophone(!this.isYuyin);\n },\n toggleShexiang: function toggleShexiang() {\n this.isShexiang = !this.isShexiang;\n this.engine.enableCamera(this.isShexiang);\n },\n toggleHuamian: function toggleHuamian() {\n this.isCamera = !this.isCamera;\n this.engine.useFrontCamera(this.isCamera);\n },\n toggleYangsheng: function toggleYangsheng() {\n this.isYangshengqi = !this.isYangshengqi;\n this.engine.setAudioRouteToSpeaker(this.isCamera);\n },\n toPermission: function toPermission() {\n var _this2 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _this2.getUserInfo();\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n //查询个人信息\n getUserInfo: function getUserInfo(type) {\n var _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var _yield$api$findUserIn, code, data, msg;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _index.default.findUserInfo({\n userId: uni.getStorageSync(\"userInfo\").id\n });\n case 2:\n _yield$api$findUserIn = _context3.sent;\n code = _yield$api$findUserIn.code;\n data = _yield$api$findUserIn.data;\n msg = _yield$api$findUserIn.msg;\n if (code == 200) {\n _this3.userInfo = data;\n if (type != 1) {\n _this3.userBalance();\n _this3.loginRoom();\n }\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n //查询taren个人信息\n getOtherUserInfo: function getOtherUserInfo(type) {\n var _this4 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n var _yield$api$findOtherU, code, data, msg;\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _index.default.findOtherUserInfo({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this4.id\n });\n case 2:\n _yield$api$findOtherU = _context4.sent;\n code = _yield$api$findOtherU.code;\n data = _yield$api$findOtherU.data;\n msg = _yield$api$findOtherU.msg;\n if (code == 200) {\n __f__(\"log\", \"getOtherUserInfo\", data, \" at pages/pipei/shipin/detail.nvue:377\");\n _this4.userOtherInfo = data;\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 7:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n loginRoom: function loginRoom() {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n var that, res, beautyParam;\n return _regenerator.default.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n that = _this5;\n _context5.next = 3;\n return _index.default.findZegoToken({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this5.id\n });\n case 3:\n res = _context5.sent;\n if (!(res.code == 200)) {\n _context5.next = 38;\n break;\n }\n // 获取token传入\n roomConfig.token = res.data.token;\n _this5.playStreamId = res.data.userStreamId;\n _this5.sellerStreamId = res.data.sellerStreamId;\n _this5.roomId = res.data.roomId;\n __f__(\"log\", \"loginRoom11\", res.data, \" at pages/pipei/shipin/detail.nvue:399\");\n _context5.next = 12;\n return _ZegoExpressEngine.default.createEngineWithProfile(profile);\n case 12:\n _this5.engine = _context5.sent;\n _this5.engine.enableCamera(_this5.isShexiang);\n // 创建美颜环境\n _context5.next = 16;\n return _this5.engine.startEffectsEnv();\n case 16:\n _this5.engine.enableEffectsBeauty(true);\n // 创建美颜参数对象\n beautyParam = {}; // 美白、红润、磨皮、锐化\n beautyParam.whitenIntensity = _this5.userInfo.reserved5;\n beautyParam.rosyIntensity = _this5.userInfo.reserved6;\n beautyParam.smoothIntensity = _this5.userInfo.reserved7;\n beautyParam.sharpenIntensity = _this5.userInfo.reserved8;\n // 设置美颜参数 \n _this5.engine.setEffectsBeautyParam(beautyParam);\n _this5.engine.useFrontCamera(_this5.isCamera);\n // 以下为常用的房间相关回调\n _this5.engine.on('roomStateUpdate', function (roomID, state, errorCode, extendedData) {\n __f__(\"log\", \"roomStateUpdate\", roomID, \" at pages/pipei/shipin/detail.nvue:417\");\n // 房间状态更新回调,登录房间后,当房间连接状态发生变更(如出现房间断开,登录认证失败等情况),SDK会通过该回调通知\n });\n ;\n _this5.engine.on('roomUserUpdate', function (roomID, updateType, userList) {\n // 用户状态更新,登录房间后,当房间内有用户新增或删除时,SDK会通过该回调通知\n __f__(\"log\", \"roomUserUpdate\", roomID, updateType, userList, \" at pages/pipei/shipin/detail.nvue:423\");\n });\n _this5.engine.on('playerStateUpdate', function (roomID, updateType, streamList) {\n __f__(\"log\", \"playerStateUpdate\", roomID, \" at pages/pipei/shipin/detail.nvue:427\");\n // 调用拉流接口成功后,当拉流器状态发生变更,如出现网络中断导致推流异常等情况,SDK在重试拉流的同时,会通过该回调通知\n });\n\n _this5.engine.on('roomStreamUpdate', function (roomID, updateType, streamList) {\n __f__(\"log\", \"roomStreamUpdate\", updateType, streamList, \" at pages/pipei/shipin/detail.nvue:431\");\n // 流状态更新,登录房间后,当房间内有用户新推送或删除音视频流时,SDK会通过该回调通知\n // this.sellerStreamId = streamList[0].streamID;\n });\n // 调用推流接口成功后,当推流器状态发生变更,如出现网络中断导致推流异常等情况,SDK在重试推流的同时,会通过该回调通知\n that.engine.on('publisherStateUpdate', function (streamID, state, errorCode, extendedData) {\n __f__(\"log\", \"publisherStateUpdate\", streamID, \" at pages/pipei/shipin/detail.nvue:437\");\n });\n // 登录房间\n // 开始登录房间\n _this5.engine.loginRoom(res.data.roomId, {\n 'userID': uni.getStorageSync(\"userInfo\").id,\n 'userName': uni.getStorageSync(\"userInfo\").nickname\n }, roomConfig);\n // this.viewModeIndex = ZegoViewMode.AspectFit;\n _this5.engine.startPreview();\n _this5.engine.startPublishingStream(_this5.playStreamId);\n _this5.isJieshou = true;\n clearInterval(timer);\n that.title = that.formatFun(that.count);\n timer = setInterval(function () {\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.type == 1) {\n if (that.balanceInfo.voiceCoins * 60 < that.count) {\n clearInterval(timer);\n that.toGuaduan();\n that.title = that.formatFun(that.count);\n return;\n }\n } else if (that.type == 2) {\n if (that.balanceInfo.videoCoins * 60 < that.count) {\n clearInterval(timer);\n that.toGuaduan();\n that.title = that.formatFun(that.count);\n return;\n }\n }\n }\n that.count++;\n that.title = that.formatFun(that.count);\n }, 1000);\n setTimeout(function () {\n _this5.toTuiliu();\n }, 100);\n case 38:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n //检查次数\n userBalance: function userBalance() {\n var _this6 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n var _yield$_this6$$api$us, code, data;\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return _this6.$api.userBalance({\n userId: uni.getStorageSync(\"userInfo\").id\n });\n case 2:\n _yield$_this6$$api$us = _context6.sent;\n code = _yield$_this6$$api$us.code;\n data = _yield$_this6$$api$us.data;\n if (code == 200) {\n _this6.balanceInfo = data;\n }\n case 6:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n //结算 type:1.语音 2.视频 3.文字 4图片 5礼物6搭讪\n socialConsumption: function socialConsumption(type) {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {\n return _regenerator.default.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return _this7.$api.socialConsumption({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this7.id,\n type: _this7.type == 1 || _this7.type == 3 ? 1 : 2,\n duration: _this7.count + 1\n });\n case 2:\n _this7.userBalance();\n case 3:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }))();\n },\n formatFun: function formatFun(num) {\n var str = \"\",\n h,\n m,\n s;\n h = Math.floor(num / 3600);\n m = Math.floor((num - h * 3600) / 60);\n s = num - h * 3600 - m * 60;\n str = (h <= 9 ? '0' + h : h) + \":\" + (m <= 9 ? '0' + m : m) + \":\" + (s <= 9 ? '0' + s : s);\n return str;\n },\n toTuiliu: function toTuiliu() {\n var that = this;\n __f__(\"log\", \"toTuiliu\", this.sellerStreamId, \" at pages/pipei/shipin/detail.nvue:511\");\n that.engine.startPlayingStream(this.sellerStreamId);\n that.isOpenSocket = false;\n _ZegoExpressEngine.default.instance().on(\"playerStateUpdate\", function (streamID, state, errorCode, extendedData) {\n /** 调用拉流接口成功后,当拉流器状态发生变更,如出现网络中断导致推流异常等情况,SDK在重试拉流的同时,会通过该回调通知 */\n __f__(\"log\", \"playerStateUpdate\", streamID, \" at pages/pipei/shipin/detail.nvue:516\");\n });\n }\n },\n onBackPress: function onBackPress() {\n if (this.isGuaduan) {\n this.toGuaduan();\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 */ 10)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvcGlwZWkvc2hpcGluL2RldGFpbC5udnVlIl0sIm5hbWVzIjpbInJvb21Db25maWciLCJhcHBJRCIsImFwcFNpZ24iLCJzY2VuYXJpbyIsImNvbXBvbmVudHMiLCJaZWdvTG9jYWxWaWV3IiwiWmVnb1JlbW90ZVZpZXciLCJkYXRhIiwiaXNPcGVuU29ja2V0IiwiaXNZdXlpbiIsImlzR3VhZHVhbiIsImlzWWFuZ3NoZW5ncWkiLCJpc1NoZXhpYW5nIiwiaXNKaWVzaG91IiwiaXNUb2dnbGUiLCJ3aW5XaWR0aCIsIndpbkhlaWdodCIsInVzZXJJbmZvIiwicGxheVN0cmVhbUlkIiwidGl0bGUiLCJjb3VudCIsImJhbGFuY2VJbmZvIiwidXNlck90aGVySW5mbyIsImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kU2l6ZSIsImVuZ2luZSIsInJvb21JZCIsInR5cGUiLCJzdGF0dXNCYXJIZWlnaHQiLCJzZWxsZXJTdHJlYW1JZCIsInZpZXdNb2RlSW5kZXgiLCJpc0NhbWVyYSIsImlzU3RhcnQiLCJ0b0lzQmFjayIsIm9uTG9hZCIsIm9uUmVhZHkiLCJ0aGF0IiwidW5pIiwicGVybWlzaW9uIiwicmVzIiwicmVzMSIsIm1ldGhvZHMiLCJxaWVodWFuIiwidG9KaWVzaG91MSIsInNlbGxlcklkIiwib25CYWNrIiwiY29udGVudCIsImNvbmZpcm1Db2xvciIsInN1Y2Nlc3MiLCJ0b0d1YWR1YW4iLCJjbGVhckludGVydmFsIiwiWmVnb0V4cHJlc3NFbmdpbmUiLCJkZWx0YSIsInRvSmllc2hvdSIsInRvZ2dsZVl1eWluIiwidG9nZ2xlU2hleGlhbmciLCJ0b2dnbGVIdWFtaWFuIiwidG9nZ2xlWWFuZ3NoZW5nIiwidG9QZXJtaXNzaW9uIiwiZ2V0VXNlckluZm8iLCJhcGkiLCJ1c2VySWQiLCJjb2RlIiwibXNnIiwicG9zaXRpb24iLCJpY29uIiwiZ2V0T3RoZXJVc2VySW5mbyIsImxvZ2luUm9vbSIsImJlYXV0eVBhcmFtIiwidGltZXIiLCJzZXRUaW1lb3V0IiwidXNlckJhbGFuY2UiLCJzb2NpYWxDb25zdW1wdGlvbiIsImR1cmF0aW9uIiwiZm9ybWF0RnVuIiwiaCIsIm0iLCJzIiwic3RyIiwidG9UdWlsaXUiLCJvbkJhY2tQcmVzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBb0pBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFOQTtBQU9BO0FBQ0FBO0FBQ0E7RUFDQUM7RUFDQUM7RUFDQUM7QUFDQTtBQUFBLGVBQ0E7RUFDQUM7SUFDQUM7SUFDQUM7RUFDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0E7UUFDQUE7UUFDQTtRQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFBQTtJQUFBO01BQUE7TUFBQTtRQUFBO1VBQUE7WUFBQTtjQUNBQztjQUNBQztnQkFDQTtnQkFDQTtrQkFDQTtvQkFDQTtzQkFDQUQ7c0JBQ0FBO29CQUNBO2tCQUNBO2dCQUNBO2NBQ0E7Y0FFQUM7Z0JBQ0E7Z0JBQ0E7a0JBQ0E7b0JBQ0E7c0JBQ0FEO3NCQUNBO29CQUNBO3NCQUNBO29CQUNBO2tCQUNBO2dCQUNBO2NBQ0E7Y0FBQSxNQUVBQztnQkFBQTtnQkFBQTtjQUFBO2NBQUE7Y0FBQSxPQUNBQyw2Q0FDQSxrQ0FDQTtZQUFBO2NB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O3dCQUNBZDt3QkFDQUE7d0JBQ0E7c0JBQ0E7b0JBQ0E7a0JBQ0E7a0JBQ0FBO2tCQUNBQTtnQkFDQTtnQkFDQWtDO2tCQUNBO2dCQUNBO2NBQUE7Y0FBQTtnQkFBQTtZQUFBO1VBQUE7UUFBQTtNQUFBO0lBRUE7SUFDQTtJQUNBQztNQUFBO01BQUE7UUFBQTtRQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUFBO2dCQUFBLE9BQ0E7a0JBQ0FWO2dCQUNBO2NBQUE7Z0JBQUE7Z0JBRkFDO2dCQUFBdkQ7Z0JBR0E7a0JBQ0E7Z0JBQ0E7Y0FBQTtjQUFBO2dCQUFBO1lBQUE7VUFBQTtRQUFBO01BQUE7SUFDQTtJQUNBO0lBQ0FpRTtNQUFBO01BQUE7UUFBQTtVQUFBO1lBQUE7Y0FBQTtnQkFBQTtnQkFBQSxPQUNBO2tCQUNBWDtrQkFDQWpCO2tCQUNBakI7a0JBQ0E4QztnQkFDQTtjQUFBO2dCQUNBO2NBQUE7Y0FBQTtnQkFBQTtZQUFBO1VBQUE7UUFBQTtNQUFBO0lBQ0E7SUFDQUM7TUFDQTtRQUFBQztRQUFBQztRQUFBQztNQUNBRjtNQUNBQztNQUNBQztNQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0EzQztNQUNBQTtNQUNBZTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQTZCO0lBQ0E7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjMxLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuXHQ8dmlldyBjbGFzcz1cInJvb21cIiA6c3R5bGU9XCJ7J3dpZHRoJzogd2luV2lkdGgrJ3B4JywgJ2hlaWdodCc6IHdpbkhlaWdodCsncHgnfVwiPlxuXHRcdDx2aWV3IGNsYXNzPVwicm9vbS1uYXZiYXJcIiA6c3R5bGU9XCJ7J3dpZHRoJzogd2luV2lkdGgrJ3B4JywgJ2hlaWdodCc6IChzdGF0dXNCYXJIZWlnaHQrNDQpKydweCd9XCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIm5hdmJhclwiIDpzdHlsZT1cInsnd2lkdGgnOiB3aW5XaWR0aCsncHgnLCAnbWFyZ2luLXRvcCc6IChzdGF0dXNCYXJIZWlnaHQpKydweCd9XCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYmFja1wiIEBjbGljaz1cIm9uQmFjaygpXCIgOnN0eWxlPVwieyd0b3AnOiAoc3RhdHVzQmFySGVpZ2h0KSsncHgnfVwiPlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImltZ1wiIHNyYz1cIkAvc3RhdGljL2Fycm93LWxlZnQucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlXCIgOnN0eWxlPVwieyd3aWR0aCc6IHdpbldpZHRoKydweCd9XCI+PHRleHQgY2xhc3M9XCJ0eHRcIj57e3RpdGxlfX08L3RleHQ+PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblx0XHQ8dmlldyB2LWlmPVwidHlwZSA9PSAyIHx8IHR5cGUgPT0gNFwiPlxyXG5cdFx0XHQ8IS0tICAgQGNsaWNrPVwicWllaHVhbigpXCIgLS0+XG5cdFx0XHQ8dmlldyBjbGFzcz1cInJvb20taGRcIiB2LWlmPVwiaXNPcGVuU29ja2V0ID09IGZhbHNlXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYVwiIHYtaWY9XCJpc1RvZ2dsZVwiPlxyXG5cdFx0XHRcdFx0PHplZ28tbG9jYWwtdmlldyBjbGFzcz1cInZpZGVvLXZpZXdcIiA6c3R5bGU9XCJ7J3dpZHRoJzogd2luV2lkdGgrJ3B4JywgJ2hlaWdodCc6IHdpbkhlaWdodCsncHgnfVwiPjwvemVnby1sb2NhbC12aWV3PlxyXG5cdFx0XHRcdFx0PHplZ28tcmVtb3RlLXZpZXcgIGNsYXNzPVwic2hpdHVcIiA6c3RyZWFtSUQ9XCJzZWxsZXJTdHJlYW1JZFwiIDpzdHlsZT1cInsndG9wJzogKHN0YXR1c0JhckhlaWdodCs2MCkrJ3B4J31cIj48L3plZ28tcmVtb3RlLXZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImFcIiB2LWVsc2U+XG5cdFx0XHRcdFx0PHplZ28tcmVtb3RlLXZpZXcgY2xhc3M9XCJ2aWRlby12aWV3XCIgOnN0cmVhbUlEPVwic2VsbGVyU3RyZWFtSWRcIiA6c3R5bGU9XCJ7J3dpZHRoJzogd2luV2lkdGgrJ3B4JywgJ2hlaWdodCc6IHdpbkhlaWdodCsncHgnfVwiPjwvemVnby1yZW1vdGUtdmlldz5cblx0XHRcdFx0XHQ8emVnby1sb2NhbC12aWV3ICBjbGFzcz1cInNoaXR1XCIgOnN0eWxlPVwieyd0b3AnOiAoc3RhdHVzQmFySGVpZ2h0KzYwKSsncHgnfVwiPjwvemVnby1sb2NhbC12aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwicm9vbS1iZFwiIDpzdHlsZT1cInsnd2lkdGgnOiB3aW5XaWR0aCsncHgnLCAnaGVpZ2h0Jzogd2luSGVpZ2h0KydweCd9XCIgdi1pZj1cImlzT3BlblNvY2tldFwiPlxuXHRcdFx0PGltYWdlIGNsYXNzPVwicGljXCIgOnN0eWxlPVwieyd3aWR0aCc6IHdpbldpZHRoKydweCcsICdoZWlnaHQnOiB3aW5IZWlnaHQrJ3B4J31cIiAgc3JjPVwiQC9zdGF0aWMveXV5aW4tYmcucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJkaWFuLW9uXCIgPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mb1wiPlxyXG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiYXZhdGFyXCIgOnNyYz1cInVzZXJPdGhlckluZm8uZmFjZUltYWdlP3VzZXJPdGhlckluZm8uZmFjZUltYWdlOnVzZXJPdGhlckluZm8uaW1nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmFtZVwiPjx0ZXh0IGNsYXNzPVwidFwiPnt7dXNlck90aGVySW5mby5uaWNrbmFtZX19PC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCI+PHRleHQgY2xhc3M9XCJ0XCI+e3t1c2VyT3RoZXJJbmZvLmFnZX195bKBL3t7dXNlck90aGVySW5mby5oZWlnaHR9fTwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidGFnXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlc1wiPjx0ZXh0IGNsYXNzPVwidFwiPuS4quaAp+etvuWQje+8mjwvdGV4dD48L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRlc2NzXCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidFwiPnt7dXNlck90aGVySW5mby5kZWNsYXJhdGlvbn19PC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblx0XHQ8dmlldyBjbGFzcz1cInJvb20tZmRcIiB2LWlmPVwidHlwZT09MSB8fCB0eXBlPT0zXCIgOnN0eWxlPVwieyd3aWR0aCc6IHdpbldpZHRoKydweCd9XCIgPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGljXCIgQGNsaWNrPVwidG9nZ2xlWXV5aW4oKVwiIHYtaWY9XCJpc0ppZXNob3U9PXRydWVcIj5cblx0XHRcdFx0XHQ8aW1hZ2Ugdi1pZj1cImlzWXV5aW5cIiBjbGFzcz1cInBpbWdcIiBzcmM9XCJAL3N0YXRpYy95dXlpbi0wMS5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDxpbWFnZSB2LWVsc2UgY2xhc3M9XCJwaW1nXCIgc3JjPVwiQC9zdGF0aWMveXV5aW4tMDEtb24ucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCIgdi1pZj1cImlzSmllc2hvdT09dHJ1ZVwiPlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ0XCI+e3tpc1l1eWluPyflvIDlkK8nOiflhbPpl60nfX08L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtXCIgdi1pZj1cImlzSmllc2hvdVwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY1wiPlxuXHRcdFx0XHRcdDxpbWFnZSBAY2xpY2s9XCJ0b0d1YWR1YW4oKVwiIGNsYXNzPVwicGltZ1wiIHNyYz1cIkAvc3RhdGljL3l1eWluLTAyLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInR4dFwiPlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ0XCI+5oyC5patPC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHRlbXBsYXRlIHYtaWY9XCJpc0ppZXNob3UgPT0gZmFsc2VcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGljXCI+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSBAY2xpY2s9XCJ0b0d1YWR1YW4oKVwiIGNsYXNzPVwicGltZ1wiIHNyYz1cIkAvc3RhdGljL3l1eWluLTAyLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInR4dFwiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInRcIj7mjILmlq08L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiIHYtaWY9XCJpc1N0YXJ0ID09IGZhbHNlXCI+PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiIHYtaWY9XCJpc1N0YXJ0ID09IGZhbHNlXCIgQGNsaWNrPVwidG9KaWVzaG91MSgpXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY1wiPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJwaW1nXCIgc3JjPVwiQC9zdGF0aWMveXV5aW4tMDUucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidFwiPnt7aXNTdGFydD8n562J5b6FJzon5o6l5Y+XJ319PC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC90ZW1wbGF0ZT5cblx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY1wiIEBjbGljaz1cInRvZ2dsZVlhbmdzaGVuZygpXCIgdi1pZj1cImlzSmllc2hvdT09dHJ1ZVwiPlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBpbWdcIiB2LWlmPVwiaXNZYW5nc2hlbmdxaVwiIHNyYz1cIkAvc3RhdGljL3l1eWluLTAzLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwicGltZ1wiIHYtZWxzZSBzcmM9XCJAL3N0YXRpYy95dXlpbi0wMy1vbi5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eHRcIiB2LWlmPVwiaXNKaWVzaG91PT10cnVlXCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInRcIj57e2lzWWFuZ3NoZW5ncWk/J+W8gOWQryc6J+WFs+mXrSd9fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwicm9vbS1mZFwiIHYtaWY9XCJ0eXBlPT0yIHx8IHR5cGU9PTRcIiA6c3R5bGU9XCJ7J3dpZHRoJzogd2luV2lkdGgrJ3B4J31cIiA+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIiB2LWlmPVwiaXNKaWVzaG91XCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGljXCIgQGNsaWNrPVwidG9nZ2xlWXV5aW4oKVwiIHYtaWY9XCJpc0ppZXNob3U9PXRydWVcIj5cblx0XHRcdFx0XHQ8aW1hZ2Ugdi1pZj1cImlzWXV5aW5cIiBjbGFzcz1cInBpbWdcIiBzcmM9XCJAL3N0YXRpYy95dXlpbi0wMS5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDxpbWFnZSB2LWVsc2UgY2xhc3M9XCJwaW1nXCIgc3JjPVwiQC9zdGF0aWMveXV5aW4tMDEtb24ucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInRcIj57e2lzWXV5aW4/J+W8gOWQryc6J+WFs+mXrSd9fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIiB2LWlmPVwiaXNKaWVzaG91XCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGljXCIgQGNsaWNrPVwidG9nZ2xlWWFuZ3NoZW5nKClcIj5cblx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJwaW1nXCIgdi1pZj1cImlzWWFuZ3NoZW5ncWlcIiBzcmM9XCJAL3N0YXRpYy95dXlpbi0wMy5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBpbWdcIiB2LWVsc2Ugc3JjPVwiQC9zdGF0aWMveXV5aW4tMDMtb24ucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInRcIj57e2lzWWFuZ3NoZW5ncWk/J+W8gOWQryc6J+WFs+mXrSd9fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIiB2LWlmPVwiaXNKaWVzaG91XCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGljXCIgQGNsaWNrPVwidG9nZ2xlU2hleGlhbmcoKVwiIHYtaWY9XCJpc0ppZXNob3U9PXRydWVcIj5cblx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJwaW1nXCIgdi1pZj1cImlzU2hleGlhbmdcIiBzcmM9XCJAL3N0YXRpYy95dXlpbi0wNC5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBpbWdcIiB2LWVsc2Ugc3JjPVwiQC9zdGF0aWMveXV5aW4tMDQtb24ucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInRcIj57e2lzU2hleGlhbmc/J+W8gOWQryc6J+WFs+mXrSd9fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDx0ZW1wbGF0ZSB2LWlmPVwiaXNKaWVzaG91ID09IGZhbHNlXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY1wiPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgQGNsaWNrPVwidG9HdWFkdWFuKClcIiBjbGFzcz1cInBpbWdcIiBzcmM9XCJAL3N0YXRpYy95dXlpbi0wMi5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eHRcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ0XCI+5oyC5patPC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIiB2LWlmPVwiaXNTdGFydCA9PSBmYWxzZVwiIEBjbGljaz1cInRvSmllc2hvdTEoKVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNcIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwicGltZ1wiIHNyYz1cIkAvc3RhdGljL3l1eWluLTA1LnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInR4dFwiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInRcIj57e2lzU3RhcnQ/J+etieW+hSc6J+aOpeWPlyd9fTwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdGVtcGxhdGU+XG5cdFx0PC92aWV3PlxyXG5cdFx0PHRlbXBsYXRlIHYtaWY9XCJpc0ppZXNob3VcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJyb29tLWZkMVwiIHYtaWY9XCJ0eXBlPT0yIHx8IHR5cGU9PTRcIiA6c3R5bGU9XCJ7J3dpZHRoJzogd2luV2lkdGgrJ3B4J31cIiA+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtc1wiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNcIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIEBjbGljaz1cInRvR3VhZHVhbigpXCIgY2xhc3M9XCJwaW1nXCIgc3JjPVwiQC9zdGF0aWMveXV5aW4tMDIucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cIm9mZlwiIEBjbGljaz1cInRvZ2dsZUh1YW1pYW4oKVwiIHNyYz1cIkAvc3RhdGljL3l1eWluLW9mZi5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC90ZW1wbGF0ZT5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblx0bGV0IHRpbWVyID0gbnVsbDtcblx0aW1wb3J0IGFwaSBmcm9tICdAL2FwaS9pbmRleC5qcydcblx0aW1wb3J0IHBlcm1pc2lvbiBmcm9tIFwiQC9qc19zZGsvd2EtcGVybWlzc2lvbi9wZXJtaXNzaW9uLmpzXCJcblx0Ly/lr7zlhaUgWkVHTyBFeHByZXNzIFNES1xuXHRpbXBvcnQgWmVnb0V4cHJlc3NFbmdpbmUgZnJvbSAnQC91bmlfbW9kdWxlcy96ZWdvLVplZ29FeHByZXNzVW5pQXBwLUpTL2NvbXBvbmVudHMvemVnby1aZWdvRXhwcmVzc1VuaUFwcC1KUy9saWIvWmVnb0V4cHJlc3NFbmdpbmUnO1xuXHRpbXBvcnQgWmVnb1JlbW90ZVZpZXcgZnJvbSBcIkAvdW5pX21vZHVsZXMvemVnby1aZWdvRXhwcmVzc1VuaUFwcC1KUy9jb21wb25lbnRzL3plZ28tWmVnb0V4cHJlc3NVbmlBcHAtSlMvemVnby12aWV3L1plZ29SZW1vdGVWaWV3XCI7XG5cdGltcG9ydCBaZWdvTG9jYWxWaWV3IGZyb20gXCJAL3VuaV9tb2R1bGVzL3plZ28tWmVnb0V4cHJlc3NVbmlBcHAtSlMvY29tcG9uZW50cy96ZWdvLVplZ29FeHByZXNzVW5pQXBwLUpTL3plZ28tdmlldy9aZWdvTG9jYWxWaWV3XCI7XG5cdGxldCByb29tQ29uZmlnID0ge307XG5cdHJvb21Db25maWcuaXNVc2VyU3RhdHVzTm90aWZ5ID0gdHJ1ZTtcblx0Y29uc3QgcHJvZmlsZSA9IHtcblx0XHRhcHBJRCA6IDI2NzExMTk4MCxcblx0XHRhcHBTaWduOiAnYWZjYWE5MGE3NzUwZWU1NTZlNDUwY2E2MjI4N2M1ZjlhMzYyZTllZDcxMTc4OTcxN2NkYTBlMThmMDg4ODU4ZScsXG5cdFx0c2NlbmFyaW8gOiAwXG5cdH07XG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRjb21wb25lbnRzOiB7XG5cdFx0ICAgIFplZ29Mb2NhbFZpZXcsXG5cdFx0ICAgIFplZ29SZW1vdGVWaWV3LFxuXHRcdH0sXG5cdFx0ZGF0YSgpIHtcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0aXNPcGVuU29ja2V0OiB0cnVlLFxuXHRcdFx0XHRpc1l1eWluOiB0cnVlLFxuXHRcdFx0XHRpc0d1YWR1YW46IHRydWUsXG5cdFx0XHRcdGlzWWFuZ3NoZW5ncWk6IHRydWUsXG5cdFx0XHRcdGlzU2hleGlhbmc6IHRydWUsXG5cdFx0XHRcdGlzSmllc2hvdTogdHJ1ZSxcblx0XHRcdFx0aXNUb2dnbGU6IHRydWUsXG5cdFx0XHRcdHdpbldpZHRoOiAwLFxuXHRcdFx0XHR3aW5IZWlnaHQ6IDAsXG5cdFx0XHRcdHVzZXJJbmZvOiB7fSxcblx0XHRcdFx0cGxheVN0cmVhbUlkOiBcIlwiLFxuXHRcdFx0XHR0aXRsZTogXCJcIixcblx0XHRcdFx0Y291bnQ6IDAsXHJcblx0XHRcdFx0YmFsYW5jZUluZm86IHt9LFxyXG5cdFx0XHRcdHVzZXJPdGhlckluZm86IHt9LFxuXHRcdFx0XHRiYWNrZ3JvdW5kOiB7XG5cdFx0XHRcdFx0Ly8g5a+86Iiq5qCP6IOM5pmv5Zu+XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogJ3VybChodHRwczovL2FwaS5seWl5dWFuLmNuL3Byb2ZpbGUvdXBsb2FkL3N0YXRpYy95dXlpbi1iZy5wbmcpIGNlbnRlciB0b3Agbm8tcmVwZWF0Jyxcblx0XHRcdFx0XHQvLyDov5jlj6/ku6Xorr7nva7og4zmma/lm75zaXpl5bGe5oCnXG5cdFx0XHRcdFx0YmFja2dyb3VuZFNpemU6ICcxMDAgYXV0bycsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGVuZ2luZTogbnVsbCxcblx0XHRcdFx0cm9vbUlkOiBcIlwiLFxuXHRcdFx0XHR0eXBlOiAyLFxuXHRcdFx0XHRzdGF0dXNCYXJIZWlnaHQ6IDAsXG5cdFx0XHRcdHNlbGxlclN0cmVhbUlkOiBcIlwiLFxuXHRcdFx0XHR2aWV3TW9kZUluZGV4OiAwLFxuXHRcdFx0XHRpc0NhbWVyYTogdHJ1ZSxcclxuXHRcdFx0XHRpc1N0YXJ0OiB0cnVlLFxyXG5cdFx0XHRcdHRvSXNCYWNrOiB0cnVlLFxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0b25Mb2FkKG8pIHtcclxuXHRcdFx0Y29uc29sZS5sb2cobylcblx0XHRcdHRoaXMuaWQgPSBvLmlkO1xuXHRcdFx0dGhpcy50eXBlPW8udHlwZTtcblx0XHRcdHRoaXMudGl0bGUgPSAodGhpcy50eXBlID09IDF8fHRoaXMudHlwZSA9PSAzKT9cIuivremfs+mAmuivnVwiOlwi6KeG6aKR6YCa6K+dXCI7XHJcblx0XHRcdHRoaXMuaXNTdGFydCA9ICh0aGlzLnR5cGUgPT0gM3x8dGhpcy50eXBlID09IDQpPyhvLmZpZD9mYWxzZTp0cnVlKTp0cnVlXG5cdFx0XHR0aGlzLmlzU2hleGlhbmcgPSAodGhpcy50eXBlID09IDIgfHwgdGhpcy50eXBlID09IDQpP3RydWU6ZmFsc2VcclxuXHRcdFx0dGhpcy5pc0ppZXNob3UgPSBvLnR5cGU8PTI/dHJ1ZTpmYWxzZTtcblx0XHRcdHRoaXMuc3RhdHVzQmFySGVpZ2h0ID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCkuc3RhdHVzQmFySGVpZ2h0O1xuXHRcdFx0dGhpcy53aW5XaWR0aCA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLndpbmRvd1dpZHRoO1xuXHRcdFx0dGhpcy53aW5IZWlnaHQgPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKS53aW5kb3dIZWlnaHQ7XG5cdFx0fSxcblx0XHRhc3luYyBvblJlYWR5KCkge1xuXHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHR1bmkuJG9uKFwid2F0Y2hFdmVudFwiLGZ1bmN0aW9uIChvYmopIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhvYmopXG5cdFx0XHRcdGlmKG9iai50b3BpYyA9PSAnbWVzc2FnZScpe1xuXHRcdFx0XHRcdGlmKG9iai50eXBlID09IDEyKXtcblx0XHRcdFx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkID09IG9iai5zZWxsZXJJZCl7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5pc0d1YWR1YW4gPSBmYWxzZTtcblx0XHRcdFx0XHRcdFx0dGhhdC50b0d1YWR1YW4oMSlcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pXHJcblx0XHRcdFxyXG5cdFx0XHR1bmkuJG9uKFwidG9KaWVzaG91WWluc2hpcFwiLChvYmopPT57XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCJ0b0ppZXNob3VZaW5zaGlwXCIsb2JqKVxyXG5cdFx0XHRcdGlmKG9iai50b3BpYyA9PSAnbWVzc2FnZScpe1xyXG5cdFx0XHRcdFx0aWYob2JqLnR5cGUgPT0gMjApe1xyXG5cdFx0XHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCA9PSBvYmouc2VsbGVySWQpe1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQudG9KaWVzaG91KCk7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5pc09wZW5Tb2NrZXQgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5pc09wZW5Tb2NrZXQgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSlcblx0XHRcdC8vICNpZmRlZiBBUFAtUExVU1xuXHRcdFx0aWYgKHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLnBsYXRmb3JtID09PSBcImFuZHJvaWRcIikge1xuXHRcdFx0ICAgY29uc3QgcmVzID0gYXdhaXQgcGVybWlzaW9uLnJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbihcblx0XHRcdFx0XHRcImFuZHJvaWQucGVybWlzc2lvbi5SRUNPUkRfQVVESU9cIlxuXHRcdFx0XHQpO1xuXHRcdFx0ICAgY29uc3QgcmVzMSA9ICBhd2FpdCBwZXJtaXNpb24ucmVxdWVzdEFuZHJvaWRQZXJtaXNzaW9uKFxuXHRcdFx0XHRcdFwiYW5kcm9pZC5wZXJtaXNzaW9uLkNBTUVSQVwiXG5cdFx0XHRcdCk7XHJcblx0XHRcdFx0aWYocmVzID09IDEgJiYgcmVzMSA9PSAxKXtcclxuXHRcdFx0XHRcdGlmKHRoaXMudHlwZSA8PSAyKXtcclxuXHRcdFx0XHRcdFx0dGhpcy50b1Blcm1pc3Npb24oKTtcclxuXHRcdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0XHR0aGlzLmdldFVzZXJJbmZvKDEpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLmdldE90aGVyVXNlckluZm8oKVxyXG5cdFx0XHRcdHJldHVybiA7XG5cdFx0XHR9XG5cdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0XG5cdFx0ICBpZih0aGlzLnR5cGUgPD0gMil7XG5cdFx0XHQgIHRoaXMudG9QZXJtaXNzaW9uKCk7XG5cdFx0ICB9ZWxzZXtcclxuXHRcdFx0ICB0aGlzLmdldFVzZXJJbmZvKDEpO1xyXG5cdFx0ICB9XHJcblx0XHRcdCAgdGhpcy5nZXRPdGhlclVzZXJJbmZvKCk7XG5cdFx0fSxcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdHFpZWh1YW4oKSB7XHJcblx0XHRcdFx0dGhpcy5pc1RvZ2dsZSA9ICF0aGlzLmlzVG9nZ2xlO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuaXNUb2dnbGUpXHJcblx0XHRcdH0sXHJcblx0XHRcdHRvSmllc2hvdTEoKSB7XHJcblx0XHRcdFx0dW5pLiRlbWl0KFwiamllc2hvdVlpbnNoaXBcIix7XHJcblx0XHRcdFx0XHRcInVzZXJJZFwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcclxuXHRcdFx0XHRcdHNlbGxlcklkOiB0aGlzLmlkLCBcclxuXHRcdFx0XHRcdHR5cGU6IDIwLFxyXG5cdFx0XHRcdFx0XCJ0b3BpY1wiOlwibWVzc2FnZVwiLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0aWYodGhpcy5pc1N0YXJ0ID09IGZhbHNlKXtcclxuXHRcdFx0XHRcdHRoaXMudG9KaWVzaG91KCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxuXHRcdFx0b25CYWNrKCkge1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdFx0dGl0bGU6IFwi5rip6aao5o+Q56S6XCIsXG5cdFx0XHRcdFx0Y29udGVudDogXCLmmK/lkKbopoHpgIDlh7rmiL/pl7TvvJ9cIixcblx0XHRcdFx0XHRjb25maXJtQ29sb3I6IFwiIzAwMDAwMFwiLFxuXHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XG5cdFx0XHRcdFx0XHRpZihyZXMuY29uZmlybSl7XG5cdFx0XHRcdFx0XHRcdHRoYXQuaXNHdWFkdWFuID0gZmFsc2Vcblx0XHRcdFx0XHRcdFx0dGhhdC50b0d1YWR1YW4oKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0dG9HdWFkdWFuKHR5cGUpIHtcblx0XHRcdFx0aWYodHlwZSAhPTEpe1xuXHRcdFx0XHRcdHVuaS4kZW1pdChcImR1YW5ZaW5zaGlwXCIse1xuXHRcdFx0XHRcdFx0XCJ1c2VySWRcIjogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXG5cdFx0XHRcdFx0XHRzZWxsZXJJZDogdGhpcy5pZCwgXG5cdFx0XHRcdFx0XHR0eXBlOiAxMixcblx0XHRcdFx0XHRcdFwidG9waWNcIjpcIm1lc3NhZ2VcIixcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9IFxyXG5cdFx0XHRcdGlmKHR5cGUgPT0gMSl7XHJcblx0XHRcdFx0XHR1bmkuJGVtaXQoXCJzaG93VG9hc3RcIix0aGlzLmlzSmllc2hvdSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5zb2NpYWxDb25zdW1wdGlvbigpO1xuXHRcdFx0XHRjbGVhckludGVydmFsKHRpbWVyKVxyXG5cdFx0XHRcdGlmKHRoaXMudG9Jc0JhY2sgID09IGZhbHNlKXtcclxuXHRcdFx0XHRcdHJldHVybiA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMudG9Jc0JhY2sgPSBmYWxzZVxuXHRcdFx0XHR0aGlzLmlzR3VhZHVhbiA9IGZhbHNlXHJcblx0XHRcdFx0LyoqIOWBnOatouaOqOa1gSAqL1xyXG5cdFx0XHRcdHRoaXMuZW5naW5lPy5zdG9wUHVibGlzaGluZ1N0cmVhbSgpO1xyXG5cdFx0XHRcdC8qKiDlgZzmraLmnKzlnLDpooTop4ggKi9cclxuXHRcdFx0XHR0aGlzLmVuZ2luZT8uc3RvcFByZXZpZXcoKTtcclxuXHRcdFx0XHQvKiog5YGc5q2i5ouJ5rWBICovXHJcblx0XHRcdFx0dGhpcy5lbmdpbmU/LnN0b3BQbGF5aW5nU3RyZWFtKHRoaXMuc2VsbGVyU3RyZWFtSWQpO1xyXG5cdFx0XHRcdC8qKiDpgIDlh7rmiL/pl7QgKi9cclxuXHRcdFx0XHR0aGlzLmVuZ2luZT8ubG9nb3V0Um9vbSh0aGlzLnJvb21JZCk7XHJcblx0XHRcdFx0LyoqIOmUgOavgeW8leaTjiAqL1xyXG5cdFx0XHRcdFplZ29FeHByZXNzRW5naW5lLmRlc3Ryb3lFbmdpbmUoKTtcclxuXHRcdFx0XHR1bmkuJG9mZihcIndhdGNoRXZlbnRcIilcclxuXHRcdFx0XHR1bmkuJG9mZihcInRvSmllc2hvdVlpbnNoaXBcIilcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVCYWNrKHtcclxuXHRcdFx0XHRcdGRlbHRhOiAxXHJcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHR0b0ppZXNob3UoKSB7XG5cdFx0XHRcdHRoaXMudG9QZXJtaXNzaW9uKCk7XHJcblx0XHRcdFx0dGhpcy4kZm9yY2VVcGRhdGUoKTtcblx0XHRcdH0sXG5cdFx0XHR0b2dnbGVZdXlpbigpIHtcblx0XHRcdFx0dGhpcy5pc1l1eWluID0gIXRoaXMuaXNZdXlpbjtcblx0XHRcdFx0dGhpcy5lbmdpbmUubXV0ZU1pY3JvcGhvbmUoIXRoaXMuaXNZdXlpbilcblx0XHRcdH0sXG5cdFx0XHR0b2dnbGVTaGV4aWFuZygpIHtcblx0XHRcdFx0dGhpcy5pc1NoZXhpYW5nID0gIXRoaXMuaXNTaGV4aWFuZztcblx0XHRcdFx0dGhpcy5lbmdpbmUuZW5hYmxlQ2FtZXJhKHRoaXMuaXNTaGV4aWFuZylcblx0XHRcdH0sXG5cdFx0XHR0b2dnbGVIdWFtaWFuKCkge1xuXHRcdFx0XHR0aGlzLmlzQ2FtZXJhID0gIXRoaXMuaXNDYW1lcmFcblx0XHRcdFx0dGhpcy5lbmdpbmUudXNlRnJvbnRDYW1lcmEodGhpcy5pc0NhbWVyYSlcblx0XHRcdH0sXG5cdFx0XHR0b2dnbGVZYW5nc2hlbmcoKSB7XG5cdFx0XHRcdHRoaXMuaXNZYW5nc2hlbmdxaSA9ICEgdGhpcy5pc1lhbmdzaGVuZ3FpXG5cdFx0XHRcdHRoaXMuZW5naW5lLnNldEF1ZGlvUm91dGVUb1NwZWFrZXIodGhpcy5pc0NhbWVyYSlcblx0XHRcdH0sXG5cdFx0XHRhc3luYyB0b1Blcm1pc3Npb24oKSB7XG5cdFx0XHRcdHRoaXMuZ2V0VXNlckluZm8oKTtcblx0XHRcdH0sXG5cdFx0XHQvL+afpeivouS4quS6uuS/oeaBr1xuXHRcdFx0YXN5bmMgZ2V0VXNlckluZm8odHlwZSkge1xuXHRcdFx0XHRjb25zdCB7IGNvZGUsIGRhdGEgLCBtc2d9ID0gYXdhaXQgYXBpLmZpbmRVc2VySW5mbyh7dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZH0pO1xuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0dGhpcy51c2VySW5mbyA9IGRhdGE7XHJcblx0XHRcdFx0XHRpZih0eXBlICE9IDEpe1xyXG5cdFx0XHRcdFx0XHR0aGlzLnVzZXJCYWxhbmNlKCk7XHJcblx0XHRcdFx0XHRcdHRoaXMubG9naW5Sb29tKCk7XHJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6IG1zZyxcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSxcclxuXHRcdFx0Ly/mn6Xor6J0YXJlbuS4quS6uuS/oeaBr1xyXG5cdFx0XHRhc3luYyBnZXRPdGhlclVzZXJJbmZvKHR5cGUpIHtcclxuXHRcdFx0XHRjb25zdCB7IGNvZGUsIGRhdGEgLCBtc2cgfSA9IGF3YWl0IGFwaS5maW5kT3RoZXJVc2VySW5mbyh7dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxzZWxsZXJJZDogdGhpcy5pZCx9KTtcclxuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhcImdldE90aGVyVXNlckluZm9cIixkYXRhKVxyXG5cdFx0XHRcdFx0dGhpcy51c2VyT3RoZXJJbmZvID0gZGF0YTtcclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogbXNnLFxyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcclxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcblx0XHRcdGFzeW5jIGxvZ2luUm9vbSgpe1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0Y29uc3QgcmVzID0gYXdhaXQgYXBpLmZpbmRaZWdvVG9rZW4oe1xuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXG5cdFx0XHRcdFx0c2VsbGVySWQ6IHRoaXMuaWRcblx0XHRcdFx0fSlcblx0XHRcdFx0aWYocmVzLmNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHQvLyDojrflj5Z0b2tlbuS8oOWFpVxuXHRcdFx0XHRcdHJvb21Db25maWcudG9rZW4gPSByZXMuZGF0YS50b2tlbjtcblx0XHRcdFx0XHR0aGlzLnBsYXlTdHJlYW1JZCA9IHJlcy5kYXRhLnVzZXJTdHJlYW1JZDtcblx0XHRcdFx0XHR0aGlzLnNlbGxlclN0cmVhbUlkID0gcmVzLmRhdGEuc2VsbGVyU3RyZWFtSWQ7XG5cdFx0XHRcdFx0dGhpcy5yb29tSWQgPSByZXMuZGF0YS5yb29tSWQ7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJsb2dpblJvb20xMVwiLHJlcy5kYXRhKVxuXHRcdFx0XHRcdHRoaXMuZW5naW5lID0gYXdhaXQgWmVnb0V4cHJlc3NFbmdpbmUuY3JlYXRlRW5naW5lV2l0aFByb2ZpbGUocHJvZmlsZSk7XG5cdFx0XHRcdFx0dGhpcy5lbmdpbmUuZW5hYmxlQ2FtZXJhKHRoaXMuaXNTaGV4aWFuZylcblx0XHRcdFx0XHQvLyDliJvlu7rnvo7popznjq/looNcclxuXHRcdFx0XHRcdGF3YWl0IHRoaXMuZW5naW5lLnN0YXJ0RWZmZWN0c0VudigpO1xuXHRcdFx0XHRcdHRoaXMuZW5naW5lLmVuYWJsZUVmZmVjdHNCZWF1dHkodHJ1ZSk7XG5cdFx0XHRcdFx0Ly8g5Yib5bu6576O6aKc5Y+C5pWw5a+56LGhXG5cdFx0XHRcdFx0bGV0IGJlYXV0eVBhcmFtID0ge307XG5cdFx0XHRcdFx0Ly8g576O55m944CB57qi5ram44CB56Oo55qu44CB6ZSQ5YyWXG5cdFx0XHRcdFx0YmVhdXR5UGFyYW0ud2hpdGVuSW50ZW5zaXR5ID0gdGhpcy51c2VySW5mby5yZXNlcnZlZDU7XG5cdFx0XHRcdFx0YmVhdXR5UGFyYW0ucm9zeUludGVuc2l0eSA9IHRoaXMudXNlckluZm8ucmVzZXJ2ZWQ2O1xuXHRcdFx0XHRcdGJlYXV0eVBhcmFtLnNtb290aEludGVuc2l0eSA9IHRoaXMudXNlckluZm8ucmVzZXJ2ZWQ3O1xuXHRcdFx0XHRcdGJlYXV0eVBhcmFtLnNoYXJwZW5JbnRlbnNpdHkgPSB0aGlzLnVzZXJJbmZvLnJlc2VydmVkODtcblx0XHRcdFx0XHQvLyDorr7nva7nvo7popzlj4LmlbAgXG5cdFx0XHRcdFx0dGhpcy5lbmdpbmUuc2V0RWZmZWN0c0JlYXV0eVBhcmFtKGJlYXV0eVBhcmFtKTtcblx0XHRcdFx0XHR0aGlzLmVuZ2luZS51c2VGcm9udENhbWVyYSh0aGlzLmlzQ2FtZXJhKVxuXHRcdFx0XHRcdC8vIOS7peS4i+S4uuW4uOeUqOeahOaIv+mXtOebuOWFs+Wbnuiwg1xuXHRcdFx0XHRcdHRoaXMuZW5naW5lLm9uKCdyb29tU3RhdGVVcGRhdGUnLCAocm9vbUlELCBzdGF0ZSwgZXJyb3JDb2RlLCBleHRlbmRlZERhdGEpID0+IHtcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwicm9vbVN0YXRlVXBkYXRlXCIscm9vbUlEKVxuXHRcdFx0XHRcdCAgLy8g5oi/6Ze054q25oCB5pu05paw5Zue6LCD77yM55m75b2V5oi/6Ze05ZCO77yM5b2T5oi/6Ze06L+e5o6l54q25oCB5Y+R55Sf5Y+Y5pu077yI5aaC5Ye6546w5oi/6Ze05pat5byA77yM55m75b2V6K6k6K+B5aSx6LSl562J5oOF5Ya177yJ77yMU0RL5Lya6YCa6L+H6K+l5Zue6LCD6YCa55+lXG5cdFx0XHRcdFx0fSk7IDtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHR0aGlzLmVuZ2luZS5vbigncm9vbVVzZXJVcGRhdGUnLCAocm9vbUlELCB1cGRhdGVUeXBlLCB1c2VyTGlzdCkgPT4ge1xuXHRcdFx0XHRcdCAgLy8g55So5oi354q25oCB5pu05paw77yM55m75b2V5oi/6Ze05ZCO77yM5b2T5oi/6Ze05YaF5pyJ55So5oi35paw5aKe5oiW5Yig6Zmk5pe277yMU0RL5Lya6YCa6L+H6K+l5Zue6LCD6YCa55+lXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInJvb21Vc2VyVXBkYXRlXCIscm9vbUlELHVwZGF0ZVR5cGUsdXNlckxpc3QpXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0dGhpcy5lbmdpbmUub24oJ3BsYXllclN0YXRlVXBkYXRlJywgKHJvb21JRCwgdXBkYXRlVHlwZSwgc3RyZWFtTGlzdCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJwbGF5ZXJTdGF0ZVVwZGF0ZVwiLHJvb21JRClcblx0XHRcdFx0XHQgIC8vIOiwg+eUqOaLiea1geaOpeWPo+aIkOWKn+WQju+8jOW9k+aLiea1geWZqOeKtuaAgeWPkeeUn+WPmOabtO+8jOWmguWHuueOsOe9kee7nOS4reaWreWvvOiHtOaOqOa1geW8guW4uOetieaDheWGte+8jFNES+WcqOmHjeivleaLiea1geeahOWQjOaXtu+8jOS8mumAmui/h+ivpeWbnuiwg+mAmuefpVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdHRoaXMuZW5naW5lLm9uKCdyb29tU3RyZWFtVXBkYXRlJywgKHJvb21JRCwgdXBkYXRlVHlwZSwgc3RyZWFtTGlzdCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJyb29tU3RyZWFtVXBkYXRlXCIsdXBkYXRlVHlwZSxzdHJlYW1MaXN0KVxuXHRcdFx0XHRcdCAgLy8g5rWB54q25oCB5pu05paw77yM55m75b2V5oi/6Ze05ZCO77yM5b2T5oi/6Ze05YaF5pyJ55So5oi35paw5o6o6YCB5oiW5Yig6Zmk6Z+z6KeG6aKR5rWB5pe277yMU0RL5Lya6YCa6L+H6K+l5Zue6LCD6YCa55+lXG5cdFx0XHRcdFx0XHQvLyB0aGlzLnNlbGxlclN0cmVhbUlkID0gc3RyZWFtTGlzdFswXS5zdHJlYW1JRDtcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHQvLyDosIPnlKjmjqjmtYHmjqXlj6PmiJDlip/lkI7vvIzlvZPmjqjmtYHlmajnirbmgIHlj5HnlJ/lj5jmm7TvvIzlpoLlh7rnjrDnvZHnu5zkuK3mlq3lr7zoh7TmjqjmtYHlvILluLjnrYnmg4XlhrXvvIxTREvlnKjph43or5XmjqjmtYHnmoTlkIzml7bvvIzkvJrpgJrov4for6Xlm57osIPpgJrnn6Vcblx0XHRcdFx0XHR0aGF0LmVuZ2luZS5vbigncHVibGlzaGVyU3RhdGVVcGRhdGUnLCAoc3RyZWFtSUQsIHN0YXRlLCBlcnJvckNvZGUsIGV4dGVuZGVkRGF0YSkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJwdWJsaXNoZXJTdGF0ZVVwZGF0ZVwiLHN0cmVhbUlEKVxyXG5cdFx0XHRcdFx0XHRcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdC8vIOeZu+W9leaIv+mXtFxuXHRcdFx0XHRcdC8vIOW8gOWni+eZu+W9leaIv+mXtFxuXHRcdFx0XHRcdHRoaXMuZW5naW5lLmxvZ2luUm9vbShyZXMuZGF0YS5yb29tSWQsIFxuXHRcdFx0XHRcdFx0e1xuXHRcdFx0XHRcdFx0XHQndXNlcklEJzogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsIFxuXHRcdFx0XHRcdFx0XHQndXNlck5hbWUnOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5uaWNrbmFtZVxuXHRcdFx0XHRcdFx0fSwgXG5cdFx0XHRcdFx0XHRyb29tQ29uZmlnXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0XHQvLyB0aGlzLnZpZXdNb2RlSW5kZXggPSBaZWdvVmlld01vZGUuQXNwZWN0Rml0O1xuXHRcdFx0XHRcdHRoaXMuZW5naW5lLnN0YXJ0UHJldmlldygpO1xuXHRcdFx0XHRcdHRoaXMuZW5naW5lLnN0YXJ0UHVibGlzaGluZ1N0cmVhbSh0aGlzLnBsYXlTdHJlYW1JZCk7XG5cdFx0XHRcdFx0dGhpcy5pc0ppZXNob3UgPSB0cnVlO1xuXHRcdFx0XHRcdGNsZWFySW50ZXJ2YWwodGltZXIpO1xuXHRcdFx0XHRcdHRoYXQudGl0bGUgPSB0aGF0LmZvcm1hdEZ1bih0aGF0LmNvdW50KVxuXHRcdFx0XHRcdHRpbWVyID0gc2V0SW50ZXJ2YWwoKCk9PntcclxuXHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuc2V4ID09IDEpe1xyXG5cdFx0XHRcdFx0XHRcdGlmKHRoYXQudHlwZSA9PSAxKXtcclxuXHRcdFx0XHRcdFx0XHRcdGlmKHRoYXQuYmFsYW5jZUluZm8udm9pY2VDb2lucyo2MCA8IHRoYXQuY291bnQpe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGVhckludGVydmFsKHRpbWVyKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC50b0d1YWR1YW4oKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC50aXRsZSA9IHRoYXQuZm9ybWF0RnVuKHRoYXQuY291bnQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdH1lbHNlIGlmKHRoYXQudHlwZSA9PSAyKXtcclxuXHRcdFx0XHRcdFx0XHRcdGlmKHRoYXQuYmFsYW5jZUluZm8udmlkZW9Db2lucyo2MCA8IHRoYXQuY291bnQpe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRjbGVhckludGVydmFsKHRpbWVyKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC50b0d1YWR1YW4oKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhhdC50aXRsZSA9IHRoYXQuZm9ybWF0RnVuKHRoYXQuY291bnQpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXR1cm4gO1xyXG5cdFx0XHRcdFx0XHRcdFx0fVx0XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR0aGF0LmNvdW50ICsrO1xuXHRcdFx0XHRcdFx0dGhhdC50aXRsZSA9IHRoYXQuZm9ybWF0RnVuKHRoYXQuY291bnQpO1xuXHRcdFx0XHRcdH0sMTAwMClcblx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpPT57XG5cdFx0XHRcdFx0XHR0aGlzLnRvVHVpbGl1KClcblx0XHRcdFx0XHR9LDEwMClcblx0XHRcdFx0fVxuXHRcdFx0fSxcclxuXHRcdFx0Ly/mo4Dmn6XmrKHmlbBcclxuXHRcdFx0YXN5bmMgdXNlckJhbGFuY2UoKSB7XHJcblx0XHRcdFx0Y29uc3QgeyBjb2RlLCBkYXRhIH0gPSBhd2FpdCB0aGlzLiRhcGkudXNlckJhbGFuY2Uoe1xyXG5cdFx0XHRcdFx0dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZFxyXG5cdFx0XHRcdH0pIFxyXG5cdFx0XHRcdGlmKGNvZGUgPT0gMjAwKXtcclxuXHRcdFx0XHRcdHRoaXMuYmFsYW5jZUluZm8gPSBkYXRhXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+e7k+eulyB0eXBlOjEu6K+t6Z+zIDIu6KeG6aKRIDMu5paH5a2XIDTlm77niYcgNeekvOeJqTbmkK3orqpcclxuXHRcdFx0YXN5bmMgc29jaWFsQ29uc3VtcHRpb24odHlwZSkge1xyXG5cdFx0XHRcdGF3YWl0IHRoaXMuJGFwaS5zb2NpYWxDb25zdW1wdGlvbih7XHJcblx0XHRcdFx0XHR1c2VySWQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkLFxyXG5cdFx0XHRcdFx0c2VsbGVySWQ6IHRoaXMuaWQsXHJcblx0XHRcdFx0XHR0eXBlOiAodGhpcy50eXBlID09IDF8fCB0aGlzLnR5cGUgPT0gMyk/MToyLFxyXG5cdFx0XHRcdFx0ZHVyYXRpb246IHRoaXMuY291bnQrMVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy51c2VyQmFsYW5jZSgpO1xyXG5cdFx0XHR9LFxuXHRcdFx0Zm9ybWF0RnVuKG51bSl7XG5cdFx0XHRcdGxldCBzdHIgPSBcIlwiLGgsbSxzO1xuXHRcdFx0XHRoPU1hdGguZmxvb3IobnVtLzM2MDApO1xuXHRcdFx0XHRtPU1hdGguZmxvb3IoKG51bS1oKjM2MDApLzYwKTtcblx0XHRcdFx0cz0obnVtLWgqMzYwMC1tKjYwKTtcblx0XHRcdFx0c3RyID0gKGg8PTk/JzAnK2g6aCkrXCI6XCIrKG08PTk/JzAnK206bSkrXCI6XCIrKHM8PTk/JzAnK3M6cylcblx0XHRcdFx0cmV0dXJuIHN0cjtcblx0XHRcdH0sXG5cdFx0XHR0b1R1aWxpdSgpIHtcblx0XHRcdFx0Y29uc3QgdGhhdCA9IHRoaXM7XG5cdFx0XHRcdGNvbnNvbGUubG9nKFwidG9UdWlsaXVcIix0aGlzLnNlbGxlclN0cmVhbUlkKVxuXHRcdFx0XHR0aGF0LmVuZ2luZS5zdGFydFBsYXlpbmdTdHJlYW0odGhpcy5zZWxsZXJTdHJlYW1JZCk7XHJcblx0XHRcdFx0dGhhdC5pc09wZW5Tb2NrZXQgPSBmYWxzZTtcblx0XHRcdFx0WmVnb0V4cHJlc3NFbmdpbmUuaW5zdGFuY2UoKS5vbihcInBsYXllclN0YXRlVXBkYXRlXCIsIChzdHJlYW1JRCwgc3RhdGUsIGVycm9yQ29kZSwgZXh0ZW5kZWREYXRhKSA9PiB7XG5cdFx0XHRcdCAgICAvKiog6LCD55So5ouJ5rWB5o6l5Y+j5oiQ5Yqf5ZCO77yM5b2T5ouJ5rWB5Zmo54q25oCB5Y+R55Sf5Y+Y5pu077yM5aaC5Ye6546w572R57uc5Lit5pat5a+86Ie05o6o5rWB5byC5bi4562J5oOF5Ya177yMU0RL5Zyo6YeN6K+V5ouJ5rWB55qE5ZCM5pe277yM5Lya6YCa6L+H6K+l5Zue6LCD6YCa55+lICovXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInBsYXllclN0YXRlVXBkYXRlXCIsc3RyZWFtSUQpXG5cdFx0XHRcdCB9KTtcblx0XHRcdH1cblx0XHR9LFxuXHRcdG9uQmFja1ByZXNzKCkge1xuXHRcdFx0aWYodGhpcy5pc0d1YWR1YW4pe1xuXHRcdFx0XHR0aGlzLnRvR3VhZHVhbigpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiPlxuLnJvb217XHJcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwMDtcblx0Ji1uYXZiYXJ7XG5cdFx0aGVpZ2h0OiA0NHB4O1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogMDtcblx0XHR6LWluZGV4OiAxMjI7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdC5uYXZiYXJ7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdFx0aGVpZ2h0OiA0NHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDQ0cHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRmb250LXNpemU6IDMwcHg7XG5cdFx0XHQudHh0e1xuXHRcdFx0XHRmb250LXNpemU6IDIwcHg7XG5cdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0fVxuXHRcdFx0LnRpdGxle1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdH1cblx0XHRcdC5iYWNre1xuXHRcdFx0XHR3aWR0aDogNTBweDtcblx0XHRcdFx0aGVpZ2h0OiA0NHB4O1xuXHRcdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRcdHotaW5kZXg6IDQ0O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0LmltZ3tcblx0XHRcdFx0XHR3aWR0aDogMjBweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Ji1oZHtcblx0IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdCBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0IHotaW5kZXg6IDI7XG5cdC5zaGl0dXtcblx0XHR3aWR0aDogMzAwcnB4O1xuXHRcdGhlaWdodDogMzgwcnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdHJpZ2h0OiAyMHJweDtcblx0XHR0b3A6IDEyMHJweDtcblx0XHR6LWluZGV4OiAyMTI7XG5cdH1cbiB9XG4gJi1iZHtcclxuXHQgcG9zaXRpb246IHJlbGF0aXZlO1xuXHQgLnBpY3tcblx0XHQgd2lkdGg6IDEwMCU7XG5cdFx0IGhlaWdodDogMTAwJTtcblx0XHQgZGlzcGxheTogYmxvY2s7XG5cdCB9XHJcblx0IC5kaWFuLW9ue1xyXG5cdCBcdHdpZHRoOiA2NTBycHg7XHJcblx0IFx0bWluLWhlaWdodDogNjQ4cnB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDUwcnB4O1xyXG5cdFx0dG9wOiAyNTBycHg7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdCBcdC50YWd7XHJcblx0IFx0XHR3aWR0aDogNjYwcnB4O1xyXG5cdCBcdFx0aGVpZ2h0OiAzMzBycHg7XHJcblx0IFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDM1LCAzMiwgNDgsIDAuMzYpO1xyXG5cdCBcdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0IFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHQgXHRcdHBhZGRpbmc6IDMwcnB4O1xyXG5cdCBcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHQgXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0IFx0XHRtYXJnaW4tdG9wOiAzMHJweDtcclxuXHQgXHRcdC50aXRsZXN7XHJcblx0IFx0XHRcdC50e1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcnB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNGRkZGRkY7XHJcblx0XHRcdFx0fVxyXG5cdCBcdFx0fVxyXG5cdCBcdFx0LmRlc2Nze1xyXG5cdCBcdFx0XHRtYXJnaW4tdG9wOiAyMHJweDtcclxuXHQgXHRcdFx0LnR7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNCOEI3QkM7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDVycHg7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRcdH1cclxuXHQgXHRcdH1cclxuXHQgXHR9XHJcblx0IFx0LmluZm97XHJcblx0IFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0IFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHQgXHRcdC5hdmF0YXJ7XHJcblx0IFx0XHRcdHdpZHRoOiAxODBycHg7XHJcblx0IFx0XHRcdGhlaWdodDogMTgwcnB4O1xyXG5cdCBcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0IFx0XHR9XHJcblx0IFx0XHQubmFtZXtcclxuXHQgXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHQgXHRcdFx0bWFyZ2luLXRvcDogMTBycHg7XHJcblx0IFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0IFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0IFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdCBcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdCBcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdCBcdFx0XHRtYXJnaW4tdG9wOiAxMHJweDtcclxuXHRcdFx0XHQudHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0XHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdFx0XHR9XHJcblx0IFx0XHR9XHJcblx0IFx0XHQuYnRue1xyXG5cdCBcdFx0XHR3aWR0aDogMTcwcnB4O1xyXG5cdCBcdFx0XHRsaW5lLWhlaWdodDogNTZycHg7XHJcblx0IFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjRkY5MTI0LCAjQkQ0NzAwKTtcclxuXHQgXHRcdFx0Ym9yZGVyLXJhZGl1czogNTZycHg7XHJcblx0IFx0XHRcdFxyXG5cdCBcdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHQgXHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XHJcblx0IFx0XHRcdC50e1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0IFx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHQgXHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHQgXHRcdFx0fVxyXG5cdCBcdFx0fVxyXG5cdCBcdFx0LnR4dHtcclxuXHQgXHRcdFx0XHJcblx0IFx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xyXG5cdCBcdFx0XHRvcGFjaXR5OiAwLjM7XHJcblx0XHRcdFx0LnR7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHRcdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0XHRcdH1cclxuXHQgXHRcdH1cclxuXHQgXHR9XHJcblx0IH1cbiB9XG4gJi1mZHtcblx0aGVpZ2h0OiAyMjBycHg7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAyMDBycHg7XG5cdHotaW5kZXg6IDEyMjtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0Lml0ZW17XG5cdFx0ZmxleDogMTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHQudHh0e1xuXHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XG5cdFx0XHQudHtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5waWN7XG5cdFx0XHR3aWR0aDogMTMwcnB4O1xuXHRcdFx0aGVpZ2h0OiAxMzBycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHJweDtcblx0XHRcdC5waW1ne1xuXHRcdFx0XHR3aWR0aDogMTMwcnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDEzMHJweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdH1cblx0fVxufVxuXHQmLWZkMXtcbiBcdFx0aGVpZ2h0OiAyMjBycHg7XG4gXHRcdHBvc2l0aW9uOiBmaXhlZDtcbiBcdFx0bGVmdDogMDtcbiBcdFx0Ym90dG9tOiA0MHJweDtcbiBcdFx0ei1pbmRleDogNDQ7XG4gXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdC5pdGVtc3tcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRtYXJnaW4tdG9wOiA3MHJweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0LnBpY3tcblx0XHRcdFx0d2lkdGg6IDEzMHJweDtcblx0XHRcdFx0aGVpZ2h0OiAxMzBycHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHJweDtcblx0XHRcdFx0LnBpbWd7XG5cdFx0XHRcdFx0d2lkdGg6IDEzMHJweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDEzMHJweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdH1cblx0XHRcdC5vZmZ7XG5cdFx0XHRcdHdpZHRoOiA0OXJweDtcblx0XHRcdFx0aGVpZ2h0OiA0NHJweDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMjAwcnB4O1xuXHRcdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0XHR0b3A6IDUwcnB4O1xuXHRcdFx0fVxuXHRcdH1cbiBcdH1cbn1cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///31\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 11);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 12));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 15));\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/api/index.js */ 17));\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/js_sdk/wa-permission/permission.js */ 32));\nvar _ZegoExpressEngine = _interopRequireDefault(__webpack_require__(/*! @/uni_modules/zego-ZegoExpressUniApp-JS/components/zego-ZegoExpressUniApp-JS/lib/ZegoExpressEngine */ 33));\nvar _ZegoRemoteView = _interopRequireDefault(__webpack_require__(/*! @/uni_modules/zego-ZegoExpressUniApp-JS/components/zego-ZegoExpressUniApp-JS/zego-view/ZegoRemoteView */ 47));\nvar _ZegoLocalView = _interopRequireDefault(__webpack_require__(/*! @/uni_modules/zego-ZegoExpressUniApp-JS/components/zego-ZegoExpressUniApp-JS/zego-view/ZegoLocalView */ 52));\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//\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//\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 timer = null;\nvar roomConfig = {};\nroomConfig.isUserStatusNotify = true;\nvar profile = {\n appID: 267111980,\n appSign: 'afcaa90a7750ee556e450ca62287c5f9a362e9ed711789717cda0e18f088858e',\n scenario: 0\n};\nvar _default = {\n components: {\n ZegoLocalView: _ZegoLocalView.default,\n ZegoRemoteView: _ZegoRemoteView.default\n },\n data: function data() {\n return {\n isOpenSocket: true,\n isYuyin: true,\n isGuaduan: true,\n isYangshengqi: true,\n isShexiang: true,\n isJieshou: true,\n isToggle: true,\n winWidth: 0,\n winHeight: 0,\n userInfo: {},\n playStreamId: \"\",\n title: \"\",\n count: 0,\n balanceInfo: {},\n userOtherInfo: {},\n background: {\n // 导航栏背景图\n background: 'url(https://api.lyiyuan.cn/profile/upload/static/yuyin-bg.png) center top no-repeat',\n // 还可以设置背景图size属性\n backgroundSize: '100 auto'\n },\n engine: null,\n roomId: \"\",\n type: 2,\n statusBarHeight: 0,\n sellerStreamId: \"\",\n viewModeIndex: 0,\n isCamera: true,\n isStart: true,\n toIsBack: true\n };\n },\n onLoad: function onLoad(o) {\n __f__(\"log\", o, \" at pages/pipei/shipin/detail.nvue:202\");\n this.id = o.id;\n this.type = o.type;\n this.title = this.type == 1 || this.type == 3 ? \"语音通话\" : \"视频通话\";\n this.isStart = this.type == 3 || this.type == 4 ? o.fid ? false : true : true;\n this.isShexiang = this.type == 2 || this.type == 4 ? true : false;\n this.isJieshou = o.type <= 2 ? true : false;\n this.statusBarHeight = uni.getSystemInfoSync().statusBarHeight;\n this.winWidth = uni.getSystemInfoSync().windowWidth;\n this.winHeight = uni.getSystemInfoSync().windowHeight;\n },\n onReady: function onReady() {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var that, res, res1;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n that = _this;\n uni.$on(\"watchEvent\", function (obj) {\n __f__(\"log\", obj, \" at pages/pipei/shipin/detail.nvue:216\");\n if (obj.topic == 'message') {\n if (obj.type == 12) {\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n that.isGuaduan = false;\n that.toGuaduan(1);\n }\n }\n }\n });\n uni.$on(\"toJieshouYinship\", function (obj) {\n __f__(\"log\", \"toJieshouYinship\", obj, \" at pages/pipei/shipin/detail.nvue:228\");\n if (obj.topic == 'message') {\n if (obj.type == 20) {\n if (uni.getStorageSync(\"userInfo\").id == obj.sellerId) {\n that.toJieshou();\n }\n if (that.type == 1 || that.type == 3) {\n that.isOpenSocket = true;\n } else {\n that.isOpenSocket = false;\n }\n __f__(\"log\", \"that.type\", that.type, \" at pages/pipei/shipin/detail.nvue:239\");\n }\n }\n });\n if (!(uni.getSystemInfoSync().platform === \"android\")) {\n _context.next = 13;\n break;\n }\n _context.next = 6;\n return _permission.default.requestAndroidPermission(\"android.permission.RECORD_AUDIO\");\n case 6:\n res = _context.sent;\n _context.next = 9;\n return _permission.default.requestAndroidPermission(\"android.permission.CAMERA\");\n case 9:\n res1 = _context.sent;\n if (res == 1 && res1 == 1) {\n if (_this.type <= 2) {\n _this.toPermission();\n } else {\n _this.getUserInfo(1);\n }\n }\n _this.getOtherUserInfo();\n return _context.abrupt(\"return\");\n case 13:\n if (_this.type <= 2) {\n _this.toPermission();\n } else {\n _this.getUserInfo(1);\n }\n _this.getOtherUserInfo();\n case 15:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n methods: {\n qiehuan: function qiehuan() {\n this.isToggle = !this.isToggle;\n __f__(\"log\", this.isToggle, \" at pages/pipei/shipin/detail.nvue:273\");\n },\n toJieshou1: function toJieshou1() {\n uni.$emit(\"jieshouYinship\", {\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: this.id,\n type: 20,\n \"topic\": \"message\"\n });\n if (this.isStart == false) {\n this.toJieshou();\n }\n },\n onBack: function onBack() {\n var that = this;\n uni.showModal({\n title: \"温馨提示\",\n content: \"是否要退出房间?\",\n confirmColor: \"#000000\",\n success: function success(res) {\n if (res.confirm) {\n that.isGuaduan = false;\n that.toGuaduan();\n }\n }\n });\n },\n toGuaduan: function toGuaduan(type) {\n var _this$engine, _this$engine2, _this$engine3, _this$engine4;\n if (type != 1) {\n uni.$emit(\"duanYinship\", {\n \"userId\": uni.getStorageSync(\"userInfo\").id,\n sellerId: this.id,\n type: 12,\n \"topic\": \"message\"\n });\n }\n if (type == 1) {\n uni.$emit(\"showToast\", this.isJieshou);\n }\n this.socialConsumption();\n clearInterval(timer);\n if (this.toIsBack == false) {\n return;\n }\n this.toIsBack = false;\n this.isGuaduan = false;\n /** 停止推流 */\n (_this$engine = this.engine) === null || _this$engine === void 0 ? void 0 : _this$engine.stopPublishingStream();\n /** 停止本地预览 */\n (_this$engine2 = this.engine) === null || _this$engine2 === void 0 ? void 0 : _this$engine2.stopPreview();\n /** 停止拉流 */\n (_this$engine3 = this.engine) === null || _this$engine3 === void 0 ? void 0 : _this$engine3.stopPlayingStream(this.sellerStreamId);\n /** 退出房间 */\n (_this$engine4 = this.engine) === null || _this$engine4 === void 0 ? void 0 : _this$engine4.logoutRoom(this.roomId);\n /** 销毁引擎 */\n _ZegoExpressEngine.default.destroyEngine();\n uni.$off(\"watchEvent\");\n uni.$off(\"toJieshouYinship\");\n uni.navigateBack({\n delta: 1\n });\n },\n toJieshou: function toJieshou() {\n this.toPermission();\n this.$forceUpdate();\n },\n toggleYuyin: function toggleYuyin() {\n this.isYuyin = !this.isYuyin;\n this.engine.muteMicrophone(!this.isYuyin);\n },\n toggleShexiang: function toggleShexiang() {\n this.isShexiang = !this.isShexiang;\n this.engine.enableCamera(this.isShexiang);\n },\n toggleHuamian: function toggleHuamian() {\n this.isCamera = !this.isCamera;\n this.engine.useFrontCamera(this.isCamera);\n },\n toggleYangsheng: function toggleYangsheng() {\n this.isYangshengqi = !this.isYangshengqi;\n this.engine.setAudioRouteToSpeaker(this.isCamera);\n },\n toPermission: function toPermission() {\n var _this2 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _this2.getUserInfo();\n case 1:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n //查询个人信息\n getUserInfo: function getUserInfo(type) {\n var _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var _yield$api$findUserIn, code, data, msg;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return _index.default.findUserInfo({\n userId: uni.getStorageSync(\"userInfo\").id\n });\n case 2:\n _yield$api$findUserIn = _context3.sent;\n code = _yield$api$findUserIn.code;\n data = _yield$api$findUserIn.data;\n msg = _yield$api$findUserIn.msg;\n if (code == 200) {\n _this3.userInfo = data;\n if (type != 1) {\n _this3.userBalance();\n _this3.loginRoom();\n }\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 7:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n //查询taren个人信息\n getOtherUserInfo: function getOtherUserInfo(type) {\n var _this4 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n var _yield$api$findOtherU, code, data, msg;\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _index.default.findOtherUserInfo({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this4.id\n });\n case 2:\n _yield$api$findOtherU = _context4.sent;\n code = _yield$api$findOtherU.code;\n data = _yield$api$findOtherU.data;\n msg = _yield$api$findOtherU.msg;\n if (code == 200) {\n __f__(\"log\", \"getOtherUserInfo\", data, \" at pages/pipei/shipin/detail.nvue:380\");\n _this4.userOtherInfo = data;\n } else {\n uni.showToast({\n title: msg,\n position: \"bottom\",\n icon: \"none\"\n });\n }\n case 7:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n loginRoom: function loginRoom() {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n var that, res, beautyParam;\n return _regenerator.default.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n that = _this5;\n _context5.next = 3;\n return _index.default.findZegoToken({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this5.id\n });\n case 3:\n res = _context5.sent;\n if (!(res.code == 200)) {\n _context5.next = 38;\n break;\n }\n // 获取token传入\n roomConfig.token = res.data.token;\n _this5.playStreamId = res.data.userStreamId;\n _this5.sellerStreamId = res.data.sellerStreamId;\n _this5.roomId = res.data.roomId;\n __f__(\"log\", \"loginRoom11\", res.data, \" at pages/pipei/shipin/detail.nvue:402\");\n _context5.next = 12;\n return _ZegoExpressEngine.default.createEngineWithProfile(profile);\n case 12:\n _this5.engine = _context5.sent;\n _this5.engine.enableCamera(_this5.isShexiang);\n // 创建美颜环境\n _context5.next = 16;\n return _this5.engine.startEffectsEnv();\n case 16:\n _this5.engine.enableEffectsBeauty(true);\n // 创建美颜参数对象\n beautyParam = {}; // 美白、红润、磨皮、锐化\n beautyParam.whitenIntensity = _this5.userInfo.reserved5;\n beautyParam.rosyIntensity = _this5.userInfo.reserved6;\n beautyParam.smoothIntensity = _this5.userInfo.reserved7;\n beautyParam.sharpenIntensity = _this5.userInfo.reserved8;\n // 设置美颜参数 \n _this5.engine.setEffectsBeautyParam(beautyParam);\n _this5.engine.useFrontCamera(_this5.isCamera);\n // 以下为常用的房间相关回调\n _this5.engine.on('roomStateUpdate', function (roomID, state, errorCode, extendedData) {\n __f__(\"log\", \"roomStateUpdate\", roomID, \" at pages/pipei/shipin/detail.nvue:421\");\n // 房间状态更新回调,登录房间后,当房间连接状态发生变更(如出现房间断开,登录认证失败等情况),SDK会通过该回调通知\n });\n ;\n _this5.engine.on('roomUserUpdate', function (roomID, updateType, userList) {\n // 用户状态更新,登录房间后,当房间内有用户新增或删除时,SDK会通过该回调通知\n __f__(\"log\", \"roomUserUpdate\", roomID, updateType, userList, \" at pages/pipei/shipin/detail.nvue:427\");\n });\n _this5.engine.on('playerStateUpdate', function (roomID, updateType, streamList) {\n __f__(\"log\", \"playerStateUpdate\", roomID, \" at pages/pipei/shipin/detail.nvue:431\");\n // 调用拉流接口成功后,当拉流器状态发生变更,如出现网络中断导致推流异常等情况,SDK在重试拉流的同时,会通过该回调通知\n });\n\n _this5.engine.on('roomStreamUpdate', function (roomID, updateType, streamList) {\n __f__(\"log\", \"roomStreamUpdate\", updateType, streamList, \" at pages/pipei/shipin/detail.nvue:435\");\n // 流状态更新,登录房间后,当房间内有用户新推送或删除音视频流时,SDK会通过该回调通知\n // this.sellerStreamId = streamList[0].streamID;\n });\n // 调用推流接口成功后,当推流器状态发生变更,如出现网络中断导致推流异常等情况,SDK在重试推流的同时,会通过该回调通知\n that.engine.on('publisherStateUpdate', function (streamID, state, errorCode, extendedData) {\n __f__(\"log\", \"publisherStateUpdate\", streamID, \" at pages/pipei/shipin/detail.nvue:441\");\n });\n // 登录房间\n // 开始登录房间\n _this5.engine.loginRoom(res.data.roomId, {\n 'userID': uni.getStorageSync(\"userInfo\").id,\n 'userName': uni.getStorageSync(\"userInfo\").nickname\n }, roomConfig);\n // this.viewModeIndex = ZegoViewMode.AspectFit;\n _this5.engine.startPreview();\n _this5.engine.startPublishingStream(_this5.playStreamId);\n _this5.isJieshou = true;\n clearInterval(timer);\n that.title = that.formatFun(that.count);\n timer = setInterval(function () {\n if (uni.getStorageSync(\"userInfo\").sex == 1) {\n if (that.type == 1) {\n if (that.balanceInfo.voiceCoins * 60 < that.count) {\n clearInterval(timer);\n that.toGuaduan();\n that.title = that.formatFun(that.count);\n return;\n }\n } else if (that.type == 2) {\n if (that.balanceInfo.videoCoins * 60 < that.count) {\n clearInterval(timer);\n that.toGuaduan();\n that.title = that.formatFun(that.count);\n return;\n }\n }\n }\n that.count++;\n that.title = that.formatFun(that.count);\n }, 1000);\n setTimeout(function () {\n _this5.toTuiliu();\n }, 100);\n case 38:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n //检查次数\n userBalance: function userBalance() {\n var _this6 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n var _yield$_this6$$api$us, code, data;\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.next = 2;\n return _this6.$api.userBalance({\n userId: uni.getStorageSync(\"userInfo\").id\n });\n case 2:\n _yield$_this6$$api$us = _context6.sent;\n code = _yield$_this6$$api$us.code;\n data = _yield$_this6$$api$us.data;\n if (code == 200) {\n _this6.balanceInfo = data;\n }\n case 6:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n //结算 type:1.语音 2.视频 3.文字 4图片 5礼物6搭讪\n socialConsumption: function socialConsumption(type) {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {\n return _regenerator.default.wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n _context7.next = 2;\n return _this7.$api.socialConsumption({\n userId: uni.getStorageSync(\"userInfo\").id,\n sellerId: _this7.id,\n type: _this7.type == 1 || _this7.type == 3 ? 1 : 2,\n duration: _this7.count + 1\n });\n case 2:\n _this7.userBalance();\n case 3:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }))();\n },\n formatFun: function formatFun(num) {\n var str = \"\",\n h,\n m,\n s;\n h = Math.floor(num / 3600);\n m = Math.floor((num - h * 3600) / 60);\n s = num - h * 3600 - m * 60;\n str = (h <= 9 ? '0' + h : h) + \":\" + (m <= 9 ? '0' + m : m) + \":\" + (s <= 9 ? '0' + s : s);\n return str;\n },\n toTuiliu: function toTuiliu() {\n var that = this;\n __f__(\"log\", \"toTuiliu\", this.sellerStreamId, \" at pages/pipei/shipin/detail.nvue:515\");\n that.engine.startPlayingStream(this.sellerStreamId);\n if (that.type == 1 || that.type == 3) {\n __f__(\"log\", 111, \" at pages/pipei/shipin/detail.nvue:518\");\n that.isOpenSocket = true;\n } else {\n __f__(\"log\", 2222, \" at pages/pipei/shipin/detail.nvue:521\");\n that.isOpenSocket = false;\n }\n __f__(\"log\", \"that.type\", that.type, \" at pages/pipei/shipin/detail.nvue:524\");\n _ZegoExpressEngine.default.instance().on(\"playerStateUpdate\", function (streamID, state, errorCode, extendedData) {\n /** 调用拉流接口成功后,当拉流器状态发生变更,如出现网络中断导致推流异常等情况,SDK在重试拉流的同时,会通过该回调通知 */\n __f__(\"log\", \"playerStateUpdate\", streamID, \" at pages/pipei/shipin/detail.nvue:527\");\n });\n }\n },\n onBackPress: function onBackPress() {\n if (this.isGuaduan) {\n this.toGuaduan();\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 */ 10)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvcGlwZWkvc2hpcGluL2RldGFpbC5udnVlIl0sIm5hbWVzIjpbInJvb21Db25maWciLCJhcHBJRCIsImFwcFNpZ24iLCJzY2VuYXJpbyIsImNvbXBvbmVudHMiLCJaZWdvTG9jYWxWaWV3IiwiWmVnb1JlbW90ZVZpZXciLCJkYXRhIiwiaXNPcGVuU29ja2V0IiwiaXNZdXlpbiIsImlzR3VhZHVhbiIsImlzWWFuZ3NoZW5ncWkiLCJpc1NoZXhpYW5nIiwiaXNKaWVzaG91IiwiaXNUb2dnbGUiLCJ3aW5XaWR0aCIsIndpbkhlaWdodCIsInVzZXJJbmZvIiwicGxheVN0cmVhbUlkIiwidGl0bGUiLCJjb3VudCIsImJhbGFuY2VJbmZvIiwidXNlck90aGVySW5mbyIsImJhY2tncm91bmQiLCJiYWNrZ3JvdW5kU2l6ZSIsImVuZ2luZSIsInJvb21JZCIsInR5cGUiLCJzdGF0dXNCYXJIZWlnaHQiLCJzZWxsZXJTdHJlYW1JZCIsInZpZXdNb2RlSW5kZXgiLCJpc0NhbWVyYSIsImlzU3RhcnQiLCJ0b0lzQmFjayIsIm9uTG9hZCIsIm9uUmVhZHkiLCJ0aGF0IiwidW5pIiwicGVybWlzaW9uIiwicmVzIiwicmVzMSIsIm1ldGhvZHMiLCJxaWVodWFuIiwidG9KaWVzaG91MSIsInNlbGxlcklkIiwib25CYWNrIiwiY29udGVudCIsImNvbmZpcm1Db2xvciIsInN1Y2Nlc3MiLCJ0b0d1YWR1YW4iLCJjbGVhckludGVydmFsIiwiWmVnb0V4cHJlc3NFbmdpbmUiLCJkZWx0YSIsInRvSmllc2hvdSIsInRvZ2dsZVl1eWluIiwidG9nZ2xlU2hleGlhbmciLCJ0b2dnbGVIdWFtaWFuIiwidG9nZ2xlWWFuZ3NoZW5nIiwidG9QZXJtaXNzaW9uIiwiZ2V0VXNlckluZm8iLCJhcGkiLCJ1c2VySWQiLCJjb2RlIiwibXNnIiwicG9zaXRpb24iLCJpY29uIiwiZ2V0T3RoZXJVc2VySW5mbyIsImxvZ2luUm9vbSIsImJlYXV0eVBhcmFtIiwidGltZXIiLCJzZXRUaW1lb3V0IiwidXNlckJhbGFuY2UiLCJzb2NpYWxDb25zdW1wdGlvbiIsImR1cmF0aW9uIiwiZm9ybWF0RnVuIiwiaCIsIm0iLCJzIiwic3RyIiwidG9UdWlsaXUiLCJvbkJhY2tQcmVzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBb0pBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFOQTtBQU9BO0FBQ0FBO0FBQ0E7RUFDQUM7RUFDQUM7RUFDQUM7QUFDQTtBQUFBLGVBQ0E7RUFDQUM7SUFDQUM7SUFDQUM7RUFDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0E7UUFDQUE7UUFDQTtRQUNBQztNQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFBQTtJQUFBO01BQUE7TUFBQTtRQUFBO1VBQUE7WUFBQTtjQUNBQztjQUNBQztnQkFDQTtnQkFDQTtrQkFDQTtvQkFDQTtzQkFDQUQ7c0JBQ0FBO29CQUNBO2tCQUNBO2dCQUNBO2NBQ0E7Y0FFQUM7Z0JBQ0E7Z0JBQ0E7a0JBQ0E7b0JBQ0E7c0JBQ0FEO29CQUNBO29CQUNBO3NCQUNBQTtvQkFDQTtzQkFDQUE7b0JBQ0E7b0JBQ0E7a0JBQ0E7Z0JBQ0E7Y0FDQTtjQUFBLE1BRUFDO2dCQUFBO2dCQUFBO2NBQUE7Y0FBQTtjQUFBLE9BQ0FD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QTtvQkFDQTtzQkFDQTt3QkFDQWM7d0JBQ0FkO3dCQUNBQTt3QkFDQTtzQkFDQTtvQkFDQTtrQkFDQTtrQkFDQUE7a0JBQ0FBO2dCQUNBO2dCQUNBa0M7a0JBQ0E7Z0JBQ0E7Y0FBQTtjQUFBO2dCQUFBO1lBQUE7VUFBQTtRQUFBO01BQUE7SUFFQTtJQUNBO0lBQ0FDO01BQUE7TUFBQTtRQUFBO1FBQUE7VUFBQTtZQUFBO2NBQUE7Z0JBQUE7Z0JBQUEsT0FDQTtrQkFDQVY7Z0JBQ0E7Y0FBQTtnQkFBQTtnQkFGQUM7Z0JBQUF2RDtnQkFHQTtrQkFDQTtnQkFDQTtjQUFBO2NBQUE7Z0JBQUE7WUFBQTtVQUFBO1FBQUE7TUFBQTtJQUNBO0lBQ0E7SUFDQWlFO01BQUE7TUFBQTtRQUFBO1VBQUE7WUFBQTtjQUFBO2dCQUFBO2dCQUFBLE9BQ0E7a0JBQ0FYO2tCQUNBakI7a0JBQ0FqQjtrQkFDQThDO2dCQUNBO2NBQUE7Z0JBQ0E7Y0FBQTtjQUFBO2dCQUFBO1lBQUE7VUFBQTtRQUFBO01BQUE7SUFDQTtJQUNBQztNQUNBO1FBQUFDO1FBQUFDO1FBQUFDO01BQ0FGO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTNDO01BQ0E7UUFDQTtRQUNBQTtNQUNBO1FBQ0E7UUFDQUE7TUFDQTtNQUNBO01BQ0FlO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBNkI7SUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMzEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3IGNsYXNzPVwicm9vbVwiIDpzdHlsZT1cInsnd2lkdGgnOiB3aW5XaWR0aCsncHgnLCAnaGVpZ2h0Jzogd2luSGVpZ2h0KydweCd9XCI+XG5cdFx0PHZpZXcgY2xhc3M9XCJyb29tLW5hdmJhclwiIDpzdHlsZT1cInsnd2lkdGgnOiB3aW5XaWR0aCsncHgnLCAnaGVpZ2h0JzogKHN0YXR1c0JhckhlaWdodCs0NCkrJ3B4J31cIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwibmF2YmFyXCIgOnN0eWxlPVwieyd3aWR0aCc6IHdpbldpZHRoKydweCcsICdtYXJnaW4tdG9wJzogKHN0YXR1c0JhckhlaWdodCkrJ3B4J31cIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJiYWNrXCIgQGNsaWNrPVwib25CYWNrKClcIiA6c3R5bGU9XCJ7J3RvcCc6IChzdGF0dXNCYXJIZWlnaHQpKydweCd9XCI+XG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiaW1nXCIgc3JjPVwiQC9zdGF0aWMvYXJyb3ctbGVmdC5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGVcIiA6c3R5bGU9XCJ7J3dpZHRoJzogd2luV2lkdGgrJ3B4J31cIj48dGV4dCBjbGFzcz1cInR4dFwiPnt7dGl0bGV9fTwvdGV4dD48L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IHYtaWY9XCJ0eXBlID09IDIgfHwgdHlwZSA9PSA0XCI+XHJcblx0XHRcdDwhLS0gICBAY2xpY2s9XCJxaWVodWFuKClcIiAtLT5cblx0XHRcdDx2aWV3IGNsYXNzPVwicm9vbS1oZFwiIHYtaWY9XCJpc09wZW5Tb2NrZXQgPT0gZmFsc2VcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJhXCIgdi1pZj1cImlzVG9nZ2xlXCI+XHJcblx0XHRcdFx0XHQ8emVnby1sb2NhbC12aWV3IGNsYXNzPVwidmlkZW8tdmlld1wiIDpzdHlsZT1cInsnd2lkdGgnOiB3aW5XaWR0aCsncHgnLCAnaGVpZ2h0Jzogd2luSGVpZ2h0KydweCd9XCI+PC96ZWdvLWxvY2FsLXZpZXc+XHJcblx0XHRcdFx0XHQ8emVnby1yZW1vdGUtdmlldyAgY2xhc3M9XCJzaGl0dVwiIDpzdHJlYW1JRD1cInNlbGxlclN0cmVhbUlkXCIgOnN0eWxlPVwieyd0b3AnOiAoc3RhdHVzQmFySGVpZ2h0KzYwKSsncHgnfVwiPjwvemVnby1yZW1vdGUtdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYVwiIHYtZWxzZT5cblx0XHRcdFx0XHQ8emVnby1yZW1vdGUtdmlldyBjbGFzcz1cInZpZGVvLXZpZXdcIiA6c3RyZWFtSUQ9XCJzZWxsZXJTdHJlYW1JZFwiIDpzdHlsZT1cInsnd2lkdGgnOiB3aW5XaWR0aCsncHgnLCAnaGVpZ2h0Jzogd2luSGVpZ2h0KydweCd9XCI+PC96ZWdvLXJlbW90ZS12aWV3PlxuXHRcdFx0XHRcdDx6ZWdvLWxvY2FsLXZpZXcgIGNsYXNzPVwic2hpdHVcIiA6c3R5bGU9XCJ7J3RvcCc6IChzdGF0dXNCYXJIZWlnaHQrNjApKydweCd9XCI+PC96ZWdvLWxvY2FsLXZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cdFx0PHZpZXcgY2xhc3M9XCJyb29tLWJkXCIgOnN0eWxlPVwieyd3aWR0aCc6IHdpbldpZHRoKydweCcsICdoZWlnaHQnOiB3aW5IZWlnaHQrJ3B4J31cIiB2LWlmPVwiaXNPcGVuU29ja2V0XCI+XG5cdFx0XHQ8aW1hZ2UgY2xhc3M9XCJwaWNcIiA6c3R5bGU9XCJ7J3dpZHRoJzogd2luV2lkdGgrJ3B4JywgJ2hlaWdodCc6IHdpbkhlaWdodCsncHgnfVwiICBzcmM9XCJAL3N0YXRpYy95dXlpbi1iZy5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImRpYW4tb25cIiA+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmZvXCI+XHJcblx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJhdmF0YXJcIiA6c3JjPVwidXNlck90aGVySW5mby5mYWNlSW1hZ2U/dXNlck90aGVySW5mby5mYWNlSW1hZ2U6dXNlck90aGVySW5mby5pbWdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJuYW1lXCI+PHRleHQgY2xhc3M9XCJ0XCI+e3t1c2VyT3RoZXJJbmZvLm5pY2tuYW1lfX08L3RleHQ+PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eHRcIj48dGV4dCBjbGFzcz1cInRcIj57e3VzZXJPdGhlckluZm8uYWdlfX3lsoEve3t1c2VyT3RoZXJJbmZvLmhlaWdodH19PC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0YWdcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGVzXCI+PHRleHQgY2xhc3M9XCJ0XCI+5Liq5oCn562+5ZCN77yaPC90ZXh0Pjwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZGVzY3NcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ0XCI+e3t1c2VyT3RoZXJJbmZvLmRlY2xhcmF0aW9ufX08L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwicm9vbS1mZFwiIHYtaWY9XCJ0eXBlPT0xIHx8IHR5cGU9PTNcIiA6c3R5bGU9XCJ7J3dpZHRoJzogd2luV2lkdGgrJ3B4J31cIiA+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNcIiBAY2xpY2s9XCJ0b2dnbGVZdXlpbigpXCIgdi1pZj1cImlzSmllc2hvdT09dHJ1ZVwiPlxuXHRcdFx0XHRcdDxpbWFnZSB2LWlmPVwiaXNZdXlpblwiIGNsYXNzPVwicGltZ1wiIHNyYz1cIkAvc3RhdGljL3l1eWluLTAxLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0PGltYWdlIHYtZWxzZSBjbGFzcz1cInBpbWdcIiBzcmM9XCJAL3N0YXRpYy95dXlpbi0wMS1vbi5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eHRcIiB2LWlmPVwiaXNKaWVzaG91PT10cnVlXCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInRcIj57e2lzWXV5aW4/J+W8gOWQryc6J+WFs+mXrSd9fTwvdGV4dD5cclxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIiB2LWlmPVwiaXNKaWVzaG91XCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGljXCI+XG5cdFx0XHRcdFx0PGltYWdlIEBjbGljaz1cInRvR3VhZHVhbigpXCIgY2xhc3M9XCJwaW1nXCIgc3JjPVwiQC9zdGF0aWMveXV5aW4tMDIucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInRcIj7mjILmlq08L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8dGVtcGxhdGUgdi1pZj1cImlzSmllc2hvdSA9PSBmYWxzZVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNcIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIEBjbGljaz1cInRvR3VhZHVhbigpXCIgY2xhc3M9XCJwaW1nXCIgc3JjPVwiQC9zdGF0aWMveXV5aW4tMDIucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidFwiPuaMguaWrTwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtXCIgdi1pZj1cImlzU3RhcnQgPT0gZmFsc2VcIj48L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtXCIgdi1pZj1cImlzU3RhcnQgPT0gZmFsc2VcIiBAY2xpY2s9XCJ0b0ppZXNob3UxKClcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGljXCI+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBpbWdcIiBzcmM9XCJAL3N0YXRpYy95dXlpbi0wNS5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eHRcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJ0XCI+e3tpc1N0YXJ0PyfnrYnlvoUnOifmjqXlj5cnfX08L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGljXCIgQGNsaWNrPVwidG9nZ2xlWWFuZ3NoZW5nKClcIiB2LWlmPVwiaXNKaWVzaG91PT10cnVlXCI+XG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwicGltZ1wiIHYtaWY9XCJpc1lhbmdzaGVuZ3FpXCIgc3JjPVwiQC9zdGF0aWMveXV5aW4tMDMucG5nXCI+PC9pbWFnZT5cblx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJwaW1nXCIgdi1lbHNlIHNyYz1cIkAvc3RhdGljL3l1eWluLTAzLW9uLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInR4dFwiIHYtaWY9XCJpc0ppZXNob3U9PXRydWVcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidFwiPnt7aXNZYW5nc2hlbmdxaT8n5byA5ZCvJzon5YWz6ZetJ319PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cdFx0PHZpZXcgY2xhc3M9XCJyb29tLWZkXCIgdi1pZj1cInR5cGU9PTIgfHwgdHlwZT09NFwiIDpzdHlsZT1cInsnd2lkdGgnOiB3aW5XaWR0aCsncHgnfVwiID5cblx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiIHYtaWY9XCJpc0ppZXNob3VcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNcIiBAY2xpY2s9XCJ0b2dnbGVZdXlpbigpXCIgdi1pZj1cImlzSmllc2hvdT09dHJ1ZVwiPlxuXHRcdFx0XHRcdDxpbWFnZSB2LWlmPVwiaXNZdXlpblwiIGNsYXNzPVwicGltZ1wiIHNyYz1cIkAvc3RhdGljL3l1eWluLTAxLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0PGltYWdlIHYtZWxzZSBjbGFzcz1cInBpbWdcIiBzcmM9XCJAL3N0YXRpYy95dXlpbi0wMS1vbi5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eHRcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidFwiPnt7aXNZdXlpbj8n5byA5ZCvJzon5YWz6ZetJ319PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiIHYtaWY9XCJpc0ppZXNob3VcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNcIiBAY2xpY2s9XCJ0b2dnbGVZYW5nc2hlbmcoKVwiPlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBpbWdcIiB2LWlmPVwiaXNZYW5nc2hlbmdxaVwiIHNyYz1cIkAvc3RhdGljL3l1eWluLTAzLnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwicGltZ1wiIHYtZWxzZSBzcmM9XCJAL3N0YXRpYy95dXlpbi0wMy1vbi5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eHRcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidFwiPnt7aXNZYW5nc2hlbmdxaT8n5byA5ZCvJzon5YWz6ZetJ319PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiIHYtaWY9XCJpc0ppZXNob3VcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNcIiBAY2xpY2s9XCJ0b2dnbGVTaGV4aWFuZygpXCIgdi1pZj1cImlzSmllc2hvdT09dHJ1ZVwiPlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBpbWdcIiB2LWlmPVwiaXNTaGV4aWFuZ1wiIHNyYz1cIkAvc3RhdGljL3l1eWluLTA0LnBuZ1wiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwicGltZ1wiIHYtZWxzZSBzcmM9XCJAL3N0YXRpYy95dXlpbi0wNC1vbi5wbmdcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0eHRcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidFwiPnt7aXNTaGV4aWFuZz8n5byA5ZCvJzon5YWz6ZetJ319PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHRlbXBsYXRlIHYtaWY9XCJpc0ppZXNob3UgPT0gZmFsc2VcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGljXCI+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSBAY2xpY2s9XCJ0b0d1YWR1YW4oKVwiIGNsYXNzPVwicGltZ1wiIHNyYz1cIkAvc3RhdGljL3l1eWluLTAyLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInR4dFwiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInRcIj7mjILmlq08L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiIHYtaWY9XCJpc1N0YXJ0ID09IGZhbHNlXCIgQGNsaWNrPVwidG9KaWVzaG91MSgpXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY1wiPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJwaW1nXCIgc3JjPVwiQC9zdGF0aWMveXV5aW4tMDUucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidHh0XCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidFwiPnt7aXNTdGFydD8n562J5b6FJzon5o6l5Y+XJ319PC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC90ZW1wbGF0ZT5cblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dGVtcGxhdGUgdi1pZj1cImlzSmllc2hvdVwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInJvb20tZmQxXCIgdi1pZj1cInR5cGU9PTIgfHwgdHlwZT09NFwiIDpzdHlsZT1cInsnd2lkdGgnOiB3aW5XaWR0aCsncHgnfVwiID5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1zXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY1wiPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgQGNsaWNrPVwidG9HdWFkdWFuKClcIiBjbGFzcz1cInBpbWdcIiBzcmM9XCJAL3N0YXRpYy95dXlpbi0wMi5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwib2ZmXCIgQGNsaWNrPVwidG9nZ2xlSHVhbWlhbigpXCIgc3JjPVwiQC9zdGF0aWMveXV5aW4tb2ZmLnBuZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3RlbXBsYXRlPlxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHRsZXQgdGltZXIgPSBudWxsO1xuXHRpbXBvcnQgYXBpIGZyb20gJ0AvYXBpL2luZGV4LmpzJ1xuXHRpbXBvcnQgcGVybWlzaW9uIGZyb20gXCJAL2pzX3Nkay93YS1wZXJtaXNzaW9uL3Blcm1pc3Npb24uanNcIlxuXHQvL+WvvOWFpSBaRUdPIEV4cHJlc3MgU0RLXG5cdGltcG9ydCBaZWdvRXhwcmVzc0VuZ2luZSBmcm9tICdAL3VuaV9tb2R1bGVzL3plZ28tWmVnb0V4cHJlc3NVbmlBcHAtSlMvY29tcG9uZW50cy96ZWdvLVplZ29FeHByZXNzVW5pQXBwLUpTL2xpYi9aZWdvRXhwcmVzc0VuZ2luZSc7XG5cdGltcG9ydCBaZWdvUmVtb3RlVmlldyBmcm9tIFwiQC91bmlfbW9kdWxlcy96ZWdvLVplZ29FeHByZXNzVW5pQXBwLUpTL2NvbXBvbmVudHMvemVnby1aZWdvRXhwcmVzc1VuaUFwcC1KUy96ZWdvLXZpZXcvWmVnb1JlbW90ZVZpZXdcIjtcblx0aW1wb3J0IFplZ29Mb2NhbFZpZXcgZnJvbSBcIkAvdW5pX21vZHVsZXMvemVnby1aZWdvRXhwcmVzc1VuaUFwcC1KUy9jb21wb25lbnRzL3plZ28tWmVnb0V4cHJlc3NVbmlBcHAtSlMvemVnby12aWV3L1plZ29Mb2NhbFZpZXdcIjtcblx0bGV0IHJvb21Db25maWcgPSB7fTtcblx0cm9vbUNvbmZpZy5pc1VzZXJTdGF0dXNOb3RpZnkgPSB0cnVlO1xuXHRjb25zdCBwcm9maWxlID0ge1xuXHRcdGFwcElEIDogMjY3MTExOTgwLFxuXHRcdGFwcFNpZ246ICdhZmNhYTkwYTc3NTBlZTU1NmU0NTBjYTYyMjg3YzVmOWEzNjJlOWVkNzExNzg5NzE3Y2RhMGUxOGYwODg4NThlJyxcblx0XHRzY2VuYXJpbyA6IDBcblx0fTtcblx0ZXhwb3J0IGRlZmF1bHQge1xuXHRcdGNvbXBvbmVudHM6IHtcblx0XHQgICAgWmVnb0xvY2FsVmlldyxcblx0XHQgICAgWmVnb1JlbW90ZVZpZXcsXG5cdFx0fSxcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRpc09wZW5Tb2NrZXQ6IHRydWUsXG5cdFx0XHRcdGlzWXV5aW46IHRydWUsXG5cdFx0XHRcdGlzR3VhZHVhbjogdHJ1ZSxcblx0XHRcdFx0aXNZYW5nc2hlbmdxaTogdHJ1ZSxcblx0XHRcdFx0aXNTaGV4aWFuZzogdHJ1ZSxcblx0XHRcdFx0aXNKaWVzaG91OiB0cnVlLFxuXHRcdFx0XHRpc1RvZ2dsZTogdHJ1ZSxcblx0XHRcdFx0d2luV2lkdGg6IDAsXG5cdFx0XHRcdHdpbkhlaWdodDogMCxcblx0XHRcdFx0dXNlckluZm86IHt9LFxuXHRcdFx0XHRwbGF5U3RyZWFtSWQ6IFwiXCIsXG5cdFx0XHRcdHRpdGxlOiBcIlwiLFxuXHRcdFx0XHRjb3VudDogMCxcclxuXHRcdFx0XHRiYWxhbmNlSW5mbzoge30sXHJcblx0XHRcdFx0dXNlck90aGVySW5mbzoge30sXG5cdFx0XHRcdGJhY2tncm91bmQ6IHtcblx0XHRcdFx0XHQvLyDlr7zoiKrmoI/og4zmma/lm75cblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAndXJsKGh0dHBzOi8vYXBpLmx5aXl1YW4uY24vcHJvZmlsZS91cGxvYWQvc3RhdGljL3l1eWluLWJnLnBuZykgY2VudGVyIHRvcCBuby1yZXBlYXQnLFxuXHRcdFx0XHRcdC8vIOi/mOWPr+S7peiuvue9ruiDjOaZr+WbvnNpemXlsZ7mgKdcblx0XHRcdFx0XHRiYWNrZ3JvdW5kU2l6ZTogJzEwMCBhdXRvJyxcblx0XHRcdFx0fSxcblx0XHRcdFx0ZW5naW5lOiBudWxsLFxuXHRcdFx0XHRyb29tSWQ6IFwiXCIsXG5cdFx0XHRcdHR5cGU6IDIsXG5cdFx0XHRcdHN0YXR1c0JhckhlaWdodDogMCxcblx0XHRcdFx0c2VsbGVyU3RyZWFtSWQ6IFwiXCIsXG5cdFx0XHRcdHZpZXdNb2RlSW5kZXg6IDAsXG5cdFx0XHRcdGlzQ2FtZXJhOiB0cnVlLFxyXG5cdFx0XHRcdGlzU3RhcnQ6IHRydWUsXHJcblx0XHRcdFx0dG9Jc0JhY2s6IHRydWUsXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRvbkxvYWQobykge1xyXG5cdFx0XHRjb25zb2xlLmxvZyhvKVxuXHRcdFx0dGhpcy5pZCA9IG8uaWQ7XG5cdFx0XHR0aGlzLnR5cGU9by50eXBlO1xuXHRcdFx0dGhpcy50aXRsZSA9ICh0aGlzLnR5cGUgPT0gMXx8dGhpcy50eXBlID09IDMpP1wi6K+t6Z+z6YCa6K+dXCI6XCLop4bpopHpgJror51cIjtcclxuXHRcdFx0dGhpcy5pc1N0YXJ0ID0gKHRoaXMudHlwZSA9PSAzfHx0aGlzLnR5cGUgPT0gNCk/KG8uZmlkP2ZhbHNlOnRydWUpOnRydWVcblx0XHRcdHRoaXMuaXNTaGV4aWFuZyA9ICh0aGlzLnR5cGUgPT0gMiB8fCB0aGlzLnR5cGUgPT0gNCk/dHJ1ZTpmYWxzZVxyXG5cdFx0XHR0aGlzLmlzSmllc2hvdSA9IG8udHlwZTw9Mj90cnVlOmZhbHNlO1xuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKS5zdGF0dXNCYXJIZWlnaHQ7XG5cdFx0XHR0aGlzLndpbldpZHRoID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCkud2luZG93V2lkdGg7XG5cdFx0XHR0aGlzLndpbkhlaWdodCA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLndpbmRvd0hlaWdodDtcblx0XHR9LFxuXHRcdGFzeW5jIG9uUmVhZHkoKSB7XG5cdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdHVuaS4kb24oXCJ3YXRjaEV2ZW50XCIsZnVuY3Rpb24gKG9iaikge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKG9iailcblx0XHRcdFx0aWYob2JqLnRvcGljID09ICdtZXNzYWdlJyl7XG5cdFx0XHRcdFx0aWYob2JqLnR5cGUgPT0gMTIpe1xuXHRcdFx0XHRcdFx0aWYodW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQgPT0gb2JqLnNlbGxlcklkKXtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LmlzR3VhZHVhbiA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0XHR0aGF0LnRvR3VhZHVhbigxKVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSlcclxuXHRcdFx0XHJcblx0XHRcdHVuaS4kb24oXCJ0b0ppZXNob3VZaW5zaGlwXCIsKG9iaik9PntcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcInRvSmllc2hvdVlpbnNoaXBcIixvYmopXHJcblx0XHRcdFx0aWYob2JqLnRvcGljID09ICdtZXNzYWdlJyl7XHJcblx0XHRcdFx0XHRpZihvYmoudHlwZSA9PSAyMCl7XHJcblx0XHRcdFx0XHRcdGlmKHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkID09IG9iai5zZWxsZXJJZCl7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC50b0ppZXNob3UoKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZih0aGF0LnR5cGUgPT0gMSB8fCB0aGF0LnR5cGUgPT0gMyl7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5pc09wZW5Tb2NrZXQgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LmlzT3BlblNvY2tldCA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwidGhhdC50eXBlXCIsdGhhdC50eXBlKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSlcblx0XHRcdC8vICNpZmRlZiBBUFAtUExVU1xuXHRcdFx0aWYgKHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLnBsYXRmb3JtID09PSBcImFuZHJvaWRcIikge1xuXHRcdFx0ICAgY29uc3QgcmVzID0gYXdhaXQgcGVybWlzaW9uLnJlcXVlc3RBbmRyb2lkUGVybWlzc2lvbihcblx0XHRcdFx0XHRcImFuZHJvaWQucGVybWlzc2lvbi5SRUNPUkRfQVVESU9cIlxuXHRcdFx0XHQpO1xuXHRcdFx0ICAgY29uc3QgcmVzMSA9ICBhd2FpdCBwZXJtaXNpb24ucmVxdWVzdEFuZHJvaWRQZXJtaXNzaW9uKFxuXHRcdFx0XHRcdFwiYW5kcm9pZC5wZXJtaXNzaW9uLkNBTUVSQVwiXG5cdFx0XHRcdCk7XHJcblx0XHRcdFx0aWYocmVzID09IDEgJiYgcmVzMSA9PSAxKXtcclxuXHRcdFx0XHRcdGlmKHRoaXMudHlwZSA8PSAyKXtcclxuXHRcdFx0XHRcdFx0dGhpcy50b1Blcm1pc3Npb24oKTtcclxuXHRcdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0XHR0aGlzLmdldFVzZXJJbmZvKDEpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLmdldE90aGVyVXNlckluZm8oKVxyXG5cdFx0XHRcdHJldHVybiA7XG5cdFx0XHR9XG5cdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0XG5cdFx0ICBpZih0aGlzLnR5cGUgPD0gMil7XG5cdFx0XHQgIHRoaXMudG9QZXJtaXNzaW9uKCk7XG5cdFx0ICB9ZWxzZXtcclxuXHRcdFx0ICB0aGlzLmdldFVzZXJJbmZvKDEpO1xyXG5cdFx0ICB9XHJcblx0XHRcdCAgdGhpcy5nZXRPdGhlclVzZXJJbmZvKCk7XG5cdFx0fSxcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdHFpZWh1YW4oKSB7XHJcblx0XHRcdFx0dGhpcy5pc1RvZ2dsZSA9ICF0aGlzLmlzVG9nZ2xlO1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHRoaXMuaXNUb2dnbGUpXHJcblx0XHRcdH0sXHJcblx0XHRcdHRvSmllc2hvdTEoKSB7XHJcblx0XHRcdFx0dW5pLiRlbWl0KFwiamllc2hvdVlpbnNoaXBcIix7XHJcblx0XHRcdFx0XHRcInVzZXJJZFwiOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxcclxuXHRcdFx0XHRcdHNlbGxlcklkOiB0aGlzLmlkLCBcclxuXHRcdFx0XHRcdHR5cGU6IDIwLFxyXG5cdFx0XHRcdFx0XCJ0b3BpY1wiOlwibWVzc2FnZVwiLFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0aWYodGhpcy5pc1N0YXJ0ID09IGZhbHNlKXtcclxuXHRcdFx0XHRcdHRoaXMudG9KaWVzaG91KCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxuXHRcdFx0b25CYWNrKCkge1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XG5cdFx0XHRcdFx0dGl0bGU6IFwi5rip6aao5o+Q56S6XCIsXG5cdFx0XHRcdFx0Y29udGVudDogXCLmmK/lkKbopoHpgIDlh7rmiL/pl7TvvJ9cIixcblx0XHRcdFx0XHRjb25maXJtQ29sb3I6IFwiIzAwMDAwMFwiLFxuXHRcdFx0XHRcdHN1Y2Nlc3MocmVzKSB7XG5cdFx0XHRcdFx0XHRpZihyZXMuY29uZmlybSl7XG5cdFx0XHRcdFx0XHRcdHRoYXQuaXNHdWFkdWFuID0gZmFsc2Vcblx0XHRcdFx0XHRcdFx0dGhhdC50b0d1YWR1YW4oKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0dG9HdWFkdWFuKHR5cGUpIHtcblx0XHRcdFx0aWYodHlwZSAhPTEpe1xuXHRcdFx0XHRcdHVuaS4kZW1pdChcImR1YW5ZaW5zaGlwXCIse1xuXHRcdFx0XHRcdFx0XCJ1c2VySWRcIjogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXG5cdFx0XHRcdFx0XHRzZWxsZXJJZDogdGhpcy5pZCwgXG5cdFx0XHRcdFx0XHR0eXBlOiAxMixcblx0XHRcdFx0XHRcdFwidG9waWNcIjpcIm1lc3NhZ2VcIixcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9IFxyXG5cdFx0XHRcdGlmKHR5cGUgPT0gMSl7XHJcblx0XHRcdFx0XHR1bmkuJGVtaXQoXCJzaG93VG9hc3RcIix0aGlzLmlzSmllc2hvdSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5zb2NpYWxDb25zdW1wdGlvbigpO1xuXHRcdFx0XHRjbGVhckludGVydmFsKHRpbWVyKVxyXG5cdFx0XHRcdGlmKHRoaXMudG9Jc0JhY2sgID09IGZhbHNlKXtcclxuXHRcdFx0XHRcdHJldHVybiA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHRoaXMudG9Jc0JhY2sgPSBmYWxzZVxuXHRcdFx0XHR0aGlzLmlzR3VhZHVhbiA9IGZhbHNlXHJcblx0XHRcdFx0LyoqIOWBnOatouaOqOa1gSAqL1xyXG5cdFx0XHRcdHRoaXMuZW5naW5lPy5zdG9wUHVibGlzaGluZ1N0cmVhbSgpO1xyXG5cdFx0XHRcdC8qKiDlgZzmraLmnKzlnLDpooTop4ggKi9cclxuXHRcdFx0XHR0aGlzLmVuZ2luZT8uc3RvcFByZXZpZXcoKTtcclxuXHRcdFx0XHQvKiog5YGc5q2i5ouJ5rWBICovXHJcblx0XHRcdFx0dGhpcy5lbmdpbmU/LnN0b3BQbGF5aW5nU3RyZWFtKHRoaXMuc2VsbGVyU3RyZWFtSWQpO1xyXG5cdFx0XHRcdC8qKiDpgIDlh7rmiL/pl7QgKi9cclxuXHRcdFx0XHR0aGlzLmVuZ2luZT8ubG9nb3V0Um9vbSh0aGlzLnJvb21JZCk7XHJcblx0XHRcdFx0LyoqIOmUgOavgeW8leaTjiAqL1xyXG5cdFx0XHRcdFplZ29FeHByZXNzRW5naW5lLmRlc3Ryb3lFbmdpbmUoKTtcclxuXHRcdFx0XHR1bmkuJG9mZihcIndhdGNoRXZlbnRcIilcclxuXHRcdFx0XHR1bmkuJG9mZihcInRvSmllc2hvdVlpbnNoaXBcIilcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVCYWNrKHtcclxuXHRcdFx0XHRcdGRlbHRhOiAxXHJcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHR0b0ppZXNob3UoKSB7XG5cdFx0XHRcdHRoaXMudG9QZXJtaXNzaW9uKCk7XHJcblx0XHRcdFx0dGhpcy4kZm9yY2VVcGRhdGUoKTtcblx0XHRcdH0sXG5cdFx0XHR0b2dnbGVZdXlpbigpIHtcblx0XHRcdFx0dGhpcy5pc1l1eWluID0gIXRoaXMuaXNZdXlpbjtcblx0XHRcdFx0dGhpcy5lbmdpbmUubXV0ZU1pY3JvcGhvbmUoIXRoaXMuaXNZdXlpbilcblx0XHRcdH0sXG5cdFx0XHR0b2dnbGVTaGV4aWFuZygpIHtcblx0XHRcdFx0dGhpcy5pc1NoZXhpYW5nID0gIXRoaXMuaXNTaGV4aWFuZztcblx0XHRcdFx0dGhpcy5lbmdpbmUuZW5hYmxlQ2FtZXJhKHRoaXMuaXNTaGV4aWFuZylcblx0XHRcdH0sXG5cdFx0XHR0b2dnbGVIdWFtaWFuKCkge1xuXHRcdFx0XHR0aGlzLmlzQ2FtZXJhID0gIXRoaXMuaXNDYW1lcmFcblx0XHRcdFx0dGhpcy5lbmdpbmUudXNlRnJvbnRDYW1lcmEodGhpcy5pc0NhbWVyYSlcblx0XHRcdH0sXG5cdFx0XHR0b2dnbGVZYW5nc2hlbmcoKSB7XG5cdFx0XHRcdHRoaXMuaXNZYW5nc2hlbmdxaSA9ICEgdGhpcy5pc1lhbmdzaGVuZ3FpXG5cdFx0XHRcdHRoaXMuZW5naW5lLnNldEF1ZGlvUm91dGVUb1NwZWFrZXIodGhpcy5pc0NhbWVyYSlcblx0XHRcdH0sXG5cdFx0XHRhc3luYyB0b1Blcm1pc3Npb24oKSB7XG5cdFx0XHRcdHRoaXMuZ2V0VXNlckluZm8oKTtcblx0XHRcdH0sXG5cdFx0XHQvL+afpeivouS4quS6uuS/oeaBr1xuXHRcdFx0YXN5bmMgZ2V0VXNlckluZm8odHlwZSkge1xuXHRcdFx0XHRjb25zdCB7IGNvZGUsIGRhdGEgLCBtc2d9ID0gYXdhaXQgYXBpLmZpbmRVc2VySW5mbyh7dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZH0pO1xuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XG5cdFx0XHRcdFx0dGhpcy51c2VySW5mbyA9IGRhdGE7XHJcblx0XHRcdFx0XHRpZih0eXBlICE9IDEpe1xyXG5cdFx0XHRcdFx0XHR0aGlzLnVzZXJCYWxhbmNlKCk7XHJcblx0XHRcdFx0XHRcdHRoaXMubG9naW5Sb29tKCk7XHJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XG5cdFx0XHRcdH1lbHNle1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6IG1zZyxcblx0XHRcdFx0XHRcdHBvc2l0aW9uOiBcImJvdHRvbVwiLFxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSxcclxuXHRcdFx0Ly/mn6Xor6J0YXJlbuS4quS6uuS/oeaBr1xyXG5cdFx0XHRhc3luYyBnZXRPdGhlclVzZXJJbmZvKHR5cGUpIHtcclxuXHRcdFx0XHRjb25zdCB7IGNvZGUsIGRhdGEgLCBtc2cgfSA9IGF3YWl0IGFwaS5maW5kT3RoZXJVc2VySW5mbyh7dXNlcklkOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCxzZWxsZXJJZDogdGhpcy5pZCx9KTtcclxuXHRcdFx0XHRpZihjb2RlID09IDIwMCl7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhcImdldE90aGVyVXNlckluZm9cIixkYXRhKVxyXG5cdFx0XHRcdFx0dGhpcy51c2VyT3RoZXJJbmZvID0gZGF0YTtcclxuXHRcdFx0XHR9ZWxzZXtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogbXNnLFxyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogXCJib3R0b21cIixcclxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcblx0XHRcdGFzeW5jIGxvZ2luUm9vbSgpe1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0Y29uc3QgcmVzID0gYXdhaXQgYXBpLmZpbmRaZWdvVG9rZW4oe1xuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXG5cdFx0XHRcdFx0c2VsbGVySWQ6IHRoaXMuaWRcblx0XHRcdFx0fSlcblx0XHRcdFx0aWYocmVzLmNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHQvLyDojrflj5Z0b2tlbuS8oOWFpVxuXHRcdFx0XHRcdHJvb21Db25maWcudG9rZW4gPSByZXMuZGF0YS50b2tlbjtcblx0XHRcdFx0XHR0aGlzLnBsYXlTdHJlYW1JZCA9IHJlcy5kYXRhLnVzZXJTdHJlYW1JZDtcblx0XHRcdFx0XHR0aGlzLnNlbGxlclN0cmVhbUlkID0gcmVzLmRhdGEuc2VsbGVyU3RyZWFtSWQ7XG5cdFx0XHRcdFx0dGhpcy5yb29tSWQgPSByZXMuZGF0YS5yb29tSWQ7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCJsb2dpblJvb20xMVwiLHJlcy5kYXRhKVxyXG5cdFx0XHRcdFx0XG5cdFx0XHRcdFx0dGhpcy5lbmdpbmUgPSBhd2FpdCBaZWdvRXhwcmVzc0VuZ2luZS5jcmVhdGVFbmdpbmVXaXRoUHJvZmlsZShwcm9maWxlKTtcblx0XHRcdFx0XHR0aGlzLmVuZ2luZS5lbmFibGVDYW1lcmEodGhpcy5pc1NoZXhpYW5nKVxuXHRcdFx0XHRcdC8vIOWIm+W7uue+juminOeOr+Wig1xyXG5cdFx0XHRcdFx0YXdhaXQgdGhpcy5lbmdpbmUuc3RhcnRFZmZlY3RzRW52KCk7XG5cdFx0XHRcdFx0dGhpcy5lbmdpbmUuZW5hYmxlRWZmZWN0c0JlYXV0eSh0cnVlKTtcblx0XHRcdFx0XHQvLyDliJvlu7rnvo7popzlj4LmlbDlr7nosaFcblx0XHRcdFx0XHRsZXQgYmVhdXR5UGFyYW0gPSB7fTtcblx0XHRcdFx0XHQvLyDnvo7nmb3jgIHnuqLmtqbjgIHno6jnmq7jgIHplJDljJZcblx0XHRcdFx0XHRiZWF1dHlQYXJhbS53aGl0ZW5JbnRlbnNpdHkgPSB0aGlzLnVzZXJJbmZvLnJlc2VydmVkNTtcblx0XHRcdFx0XHRiZWF1dHlQYXJhbS5yb3N5SW50ZW5zaXR5ID0gdGhpcy51c2VySW5mby5yZXNlcnZlZDY7XG5cdFx0XHRcdFx0YmVhdXR5UGFyYW0uc21vb3RoSW50ZW5zaXR5ID0gdGhpcy51c2VySW5mby5yZXNlcnZlZDc7XG5cdFx0XHRcdFx0YmVhdXR5UGFyYW0uc2hhcnBlbkludGVuc2l0eSA9IHRoaXMudXNlckluZm8ucmVzZXJ2ZWQ4O1xuXHRcdFx0XHRcdC8vIOiuvue9rue+juminOWPguaVsCBcblx0XHRcdFx0XHR0aGlzLmVuZ2luZS5zZXRFZmZlY3RzQmVhdXR5UGFyYW0oYmVhdXR5UGFyYW0pO1xuXHRcdFx0XHRcdHRoaXMuZW5naW5lLnVzZUZyb250Q2FtZXJhKHRoaXMuaXNDYW1lcmEpXG5cdFx0XHRcdFx0Ly8g5Lul5LiL5Li65bi455So55qE5oi/6Ze055u45YWz5Zue6LCDXG5cdFx0XHRcdFx0dGhpcy5lbmdpbmUub24oJ3Jvb21TdGF0ZVVwZGF0ZScsIChyb29tSUQsIHN0YXRlLCBlcnJvckNvZGUsIGV4dGVuZGVkRGF0YSkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJyb29tU3RhdGVVcGRhdGVcIixyb29tSUQpXG5cdFx0XHRcdFx0ICAvLyDmiL/pl7TnirbmgIHmm7TmlrDlm57osIPvvIznmbvlvZXmiL/pl7TlkI7vvIzlvZPmiL/pl7Tov57mjqXnirbmgIHlj5HnlJ/lj5jmm7TvvIjlpoLlh7rnjrDmiL/pl7Tmlq3lvIDvvIznmbvlvZXorqTor4HlpLHotKXnrYnmg4XlhrXvvInvvIxTREvkvJrpgJrov4for6Xlm57osIPpgJrnn6Vcblx0XHRcdFx0XHR9KTsgO1xuXHRcdFx0XHRcdFxuXHRcdFx0XHRcdHRoaXMuZW5naW5lLm9uKCdyb29tVXNlclVwZGF0ZScsIChyb29tSUQsIHVwZGF0ZVR5cGUsIHVzZXJMaXN0KSA9PiB7XG5cdFx0XHRcdFx0ICAvLyDnlKjmiLfnirbmgIHmm7TmlrDvvIznmbvlvZXmiL/pl7TlkI7vvIzlvZPmiL/pl7TlhoXmnInnlKjmiLfmlrDlop7miJbliKDpmaTml7bvvIxTREvkvJrpgJrov4for6Xlm57osIPpgJrnn6Vcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwicm9vbVVzZXJVcGRhdGVcIixyb29tSUQsdXBkYXRlVHlwZSx1c2VyTGlzdClcblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0XHRcblx0XHRcdFx0XHR0aGlzLmVuZ2luZS5vbigncGxheWVyU3RhdGVVcGRhdGUnLCAocm9vbUlELCB1cGRhdGVUeXBlLCBzdHJlYW1MaXN0KSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInBsYXllclN0YXRlVXBkYXRlXCIscm9vbUlEKVxuXHRcdFx0XHRcdCAgLy8g6LCD55So5ouJ5rWB5o6l5Y+j5oiQ5Yqf5ZCO77yM5b2T5ouJ5rWB5Zmo54q25oCB5Y+R55Sf5Y+Y5pu077yM5aaC5Ye6546w572R57uc5Lit5pat5a+86Ie05o6o5rWB5byC5bi4562J5oOF5Ya177yMU0RL5Zyo6YeN6K+V5ouJ5rWB55qE5ZCM5pe277yM5Lya6YCa6L+H6K+l5Zue6LCD6YCa55+lXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0dGhpcy5lbmdpbmUub24oJ3Jvb21TdHJlYW1VcGRhdGUnLCAocm9vbUlELCB1cGRhdGVUeXBlLCBzdHJlYW1MaXN0KSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInJvb21TdHJlYW1VcGRhdGVcIix1cGRhdGVUeXBlLHN0cmVhbUxpc3QpXG5cdFx0XHRcdFx0ICAvLyDmtYHnirbmgIHmm7TmlrDvvIznmbvlvZXmiL/pl7TlkI7vvIzlvZPmiL/pl7TlhoXmnInnlKjmiLfmlrDmjqjpgIHmiJbliKDpmaTpn7Pop4bpopHmtYHml7bvvIxTREvkvJrpgJrov4for6Xlm57osIPpgJrnn6Vcblx0XHRcdFx0XHRcdC8vIHRoaXMuc2VsbGVyU3RyZWFtSWQgPSBzdHJlYW1MaXN0WzBdLnN0cmVhbUlEO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHRcdC8vIOiwg+eUqOaOqOa1geaOpeWPo+aIkOWKn+WQju+8jOW9k+aOqOa1geWZqOeKtuaAgeWPkeeUn+WPmOabtO+8jOWmguWHuueOsOe9kee7nOS4reaWreWvvOiHtOaOqOa1geW8guW4uOetieaDheWGte+8jFNES+WcqOmHjeivleaOqOa1geeahOWQjOaXtu+8jOS8mumAmui/h+ivpeWbnuiwg+mAmuefpVxuXHRcdFx0XHRcdHRoYXQuZW5naW5lLm9uKCdwdWJsaXNoZXJTdGF0ZVVwZGF0ZScsIChzdHJlYW1JRCwgc3RhdGUsIGVycm9yQ29kZSwgZXh0ZW5kZWREYXRhKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInB1Ymxpc2hlclN0YXRlVXBkYXRlXCIsc3RyZWFtSUQpXHJcblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdFx0Ly8g55m75b2V5oi/6Ze0XG5cdFx0XHRcdFx0Ly8g5byA5aeL55m75b2V5oi/6Ze0XG5cdFx0XHRcdFx0dGhpcy5lbmdpbmUubG9naW5Sb29tKHJlcy5kYXRhLnJvb21JZCwgXG5cdFx0XHRcdFx0XHR7XG5cdFx0XHRcdFx0XHRcdCd1c2VySUQnOiB1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5pZCwgXG5cdFx0XHRcdFx0XHRcdCd1c2VyTmFtZSc6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLm5pY2tuYW1lXG5cdFx0XHRcdFx0XHR9LCBcblx0XHRcdFx0XHRcdHJvb21Db25maWdcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdC8vIHRoaXMudmlld01vZGVJbmRleCA9IFplZ29WaWV3TW9kZS5Bc3BlY3RGaXQ7XG5cdFx0XHRcdFx0dGhpcy5lbmdpbmUuc3RhcnRQcmV2aWV3KCk7XG5cdFx0XHRcdFx0dGhpcy5lbmdpbmUuc3RhcnRQdWJsaXNoaW5nU3RyZWFtKHRoaXMucGxheVN0cmVhbUlkKTtcblx0XHRcdFx0XHR0aGlzLmlzSmllc2hvdSA9IHRydWU7XG5cdFx0XHRcdFx0Y2xlYXJJbnRlcnZhbCh0aW1lcik7XG5cdFx0XHRcdFx0dGhhdC50aXRsZSA9IHRoYXQuZm9ybWF0RnVuKHRoYXQuY291bnQpXG5cdFx0XHRcdFx0dGltZXIgPSBzZXRJbnRlcnZhbCgoKT0+e1xyXG5cdFx0XHRcdFx0XHRpZih1bmkuZ2V0U3RvcmFnZVN5bmMoXCJ1c2VySW5mb1wiKS5zZXggPT0gMSl7XHJcblx0XHRcdFx0XHRcdFx0aWYodGhhdC50eXBlID09IDEpe1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYodGhhdC5iYWxhbmNlSW5mby52b2ljZUNvaW5zKjYwIDwgdGhhdC5jb3VudCl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNsZWFySW50ZXJ2YWwodGltZXIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LnRvR3VhZHVhbigpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LnRpdGxlID0gdGhhdC5mb3JtYXRGdW4odGhhdC5jb3VudCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiA7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fWVsc2UgaWYodGhhdC50eXBlID09IDIpe1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYodGhhdC5iYWxhbmNlSW5mby52aWRlb0NvaW5zKjYwIDwgdGhhdC5jb3VudCl7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGNsZWFySW50ZXJ2YWwodGltZXIpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LnRvR3VhZHVhbigpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LnRpdGxlID0gdGhhdC5mb3JtYXRGdW4odGhhdC5jb3VudCk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiA7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHRcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHRoYXQuY291bnQgKys7XG5cdFx0XHRcdFx0XHR0aGF0LnRpdGxlID0gdGhhdC5mb3JtYXRGdW4odGhhdC5jb3VudCk7XG5cdFx0XHRcdFx0fSwxMDAwKVxuXHRcdFx0XHRcdHNldFRpbWVvdXQoKCk9Pntcblx0XHRcdFx0XHRcdHRoaXMudG9UdWlsaXUoKVxuXHRcdFx0XHRcdH0sMTAwKVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxyXG5cdFx0XHQvL+ajgOafpeasoeaVsFxyXG5cdFx0XHRhc3luYyB1c2VyQmFsYW5jZSgpIHtcclxuXHRcdFx0XHRjb25zdCB7IGNvZGUsIGRhdGEgfSA9IGF3YWl0IHRoaXMuJGFwaS51c2VyQmFsYW5jZSh7XHJcblx0XHRcdFx0XHR1c2VySWQ6IHVuaS5nZXRTdG9yYWdlU3luYyhcInVzZXJJbmZvXCIpLmlkXHJcblx0XHRcdFx0fSkgXHJcblx0XHRcdFx0aWYoY29kZSA9PSAyMDApe1xyXG5cdFx0XHRcdFx0dGhpcy5iYWxhbmNlSW5mbyA9IGRhdGFcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v57uT566XIHR5cGU6MS7or63pn7MgMi7op4bpopEgMy7mloflrZcgNOWbvueJhyA156S854mpNuaQreiuqlxyXG5cdFx0XHRhc3luYyBzb2NpYWxDb25zdW1wdGlvbih0eXBlKSB7XHJcblx0XHRcdFx0YXdhaXQgdGhpcy4kYXBpLnNvY2lhbENvbnN1bXB0aW9uKHtcclxuXHRcdFx0XHRcdHVzZXJJZDogdW5pLmdldFN0b3JhZ2VTeW5jKFwidXNlckluZm9cIikuaWQsXHJcblx0XHRcdFx0XHRzZWxsZXJJZDogdGhpcy5pZCxcclxuXHRcdFx0XHRcdHR5cGU6ICh0aGlzLnR5cGUgPT0gMXx8IHRoaXMudHlwZSA9PSAzKT8xOjIsXHJcblx0XHRcdFx0XHRkdXJhdGlvbjogdGhpcy5jb3VudCsxXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHR0aGlzLnVzZXJCYWxhbmNlKCk7XHJcblx0XHRcdH0sXG5cdFx0XHRmb3JtYXRGdW4obnVtKXtcblx0XHRcdFx0bGV0IHN0ciA9IFwiXCIsaCxtLHM7XG5cdFx0XHRcdGg9TWF0aC5mbG9vcihudW0vMzYwMCk7XG5cdFx0XHRcdG09TWF0aC5mbG9vcigobnVtLWgqMzYwMCkvNjApO1xuXHRcdFx0XHRzPShudW0taCozNjAwLW0qNjApO1xuXHRcdFx0XHRzdHIgPSAoaDw9OT8nMCcraDpoKStcIjpcIisobTw9OT8nMCcrbTptKStcIjpcIisoczw9OT8nMCcrczpzKVxuXHRcdFx0XHRyZXR1cm4gc3RyO1xuXHRcdFx0fSxcblx0XHRcdHRvVHVpbGl1KCkge1xuXHRcdFx0XHRjb25zdCB0aGF0ID0gdGhpcztcblx0XHRcdFx0Y29uc29sZS5sb2coXCJ0b1R1aWxpdVwiLHRoaXMuc2VsbGVyU3RyZWFtSWQpXG5cdFx0XHRcdHRoYXQuZW5naW5lLnN0YXJ0UGxheWluZ1N0cmVhbSh0aGlzLnNlbGxlclN0cmVhbUlkKTtcclxuXHRcdFx0XHRpZih0aGF0LnR5cGUgPT0gMSB8fCB0aGF0LnR5cGUgPT0gMyl7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygxMTEpXHJcblx0XHRcdFx0XHR0aGF0LmlzT3BlblNvY2tldCA9IHRydWU7XHJcblx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygyMjIyKVxyXG5cdFx0XHRcdFx0dGhhdC5pc09wZW5Tb2NrZXQgPSBmYWxzZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCJ0aGF0LnR5cGVcIix0aGF0LnR5cGUpXG5cdFx0XHRcdFplZ29FeHByZXNzRW5naW5lLmluc3RhbmNlKCkub24oXCJwbGF5ZXJTdGF0ZVVwZGF0ZVwiLCAoc3RyZWFtSUQsIHN0YXRlLCBlcnJvckNvZGUsIGV4dGVuZGVkRGF0YSkgPT4ge1xuXHRcdFx0XHQgICAgLyoqIOiwg+eUqOaLiea1geaOpeWPo+aIkOWKn+WQju+8jOW9k+aLiea1geWZqOeKtuaAgeWPkeeUn+WPmOabtO+8jOWmguWHuueOsOe9kee7nOS4reaWreWvvOiHtOaOqOa1geW8guW4uOetieaDheWGte+8jFNES+WcqOmHjeivleaLiea1geeahOWQjOaXtu+8jOS8mumAmui/h+ivpeWbnuiwg+mAmuefpSAqL1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJwbGF5ZXJTdGF0ZVVwZGF0ZVwiLHN0cmVhbUlEKVxuXHRcdFx0XHQgfSk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRvbkJhY2tQcmVzcygpIHtcblx0XHRcdGlmKHRoaXMuaXNHdWFkdWFuKXtcblx0XHRcdFx0dGhpcy50b0d1YWR1YW4oKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cbi5yb29te1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG5cdCYtbmF2YmFye1xuXHRcdGhlaWdodDogNDRweDtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0bGVmdDogMDtcblx0XHR0b3A6IDA7XG5cdFx0ei1pbmRleDogMTIyO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHQubmF2YmFye1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0XHRcdGhlaWdodDogNDRweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA0NHB4O1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0Zm9udC1zaXplOiAzMHB4O1xuXHRcdFx0LnR4dHtcblx0XHRcdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRcdH1cblx0XHRcdC50aXRsZXtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHR9XG5cdFx0XHQuYmFja3tcblx0XHRcdFx0d2lkdGg6IDUwcHg7XG5cdFx0XHRcdGhlaWdodDogNDRweDtcblx0XHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHR6LWluZGV4OiA0NDtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdC5pbWd7XG5cdFx0XHRcdFx0d2lkdGg6IDIwcHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCYtaGR7XG5cdCBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHQgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdCB6LWluZGV4OiAyO1xuXHQuc2hpdHV7XG5cdFx0d2lkdGg6IDMwMHJweDtcblx0XHRoZWlnaHQ6IDM4MHJweDtcblx0XHRib3JkZXItcmFkaXVzOiAxMHJweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRyaWdodDogMjBycHg7XG5cdFx0dG9wOiAxMjBycHg7XG5cdFx0ei1pbmRleDogMjI7XG5cdH1cbiB9XG4gJi1iZHtcclxuXHQgcG9zaXRpb246IHJlbGF0aXZlO1xuXHQgLnBpY3tcblx0XHQgd2lkdGg6IDEwMCU7XG5cdFx0IGhlaWdodDogMTAwJTtcblx0XHQgZGlzcGxheTogYmxvY2s7XG5cdCB9XHJcblx0IC5kaWFuLW9ue1xyXG5cdCBcdHdpZHRoOiA2NTBycHg7XHJcblx0IFx0bWluLWhlaWdodDogNjQ4cnB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDUwcnB4O1xyXG5cdFx0dG9wOiAyNTBycHg7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cdCBcdC50YWd7XHJcblx0IFx0XHR3aWR0aDogNjYwcnB4O1xyXG5cdCBcdFx0aGVpZ2h0OiAzMzBycHg7XHJcblx0IFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDM1LCAzMiwgNDgsIDAuMzYpO1xyXG5cdCBcdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0IFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHQgXHRcdHBhZGRpbmc6IDMwcnB4O1xyXG5cdCBcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHQgXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0IFx0XHRtYXJnaW4tdG9wOiAzMHJweDtcclxuXHQgXHRcdC50aXRsZXN7XHJcblx0IFx0XHRcdC50e1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcnB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNGRkZGRkY7XHJcblx0XHRcdFx0fVxyXG5cdCBcdFx0fVxyXG5cdCBcdFx0LmRlc2Nze1xyXG5cdCBcdFx0XHRtYXJnaW4tdG9wOiAyMHJweDtcclxuXHQgXHRcdFx0LnR7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNCOEI3QkM7XHJcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogNDVycHg7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRcdH1cclxuXHQgXHRcdH1cclxuXHQgXHR9XHJcblx0IFx0LmluZm97XHJcblx0IFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0IFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHQgXHRcdC5hdmF0YXJ7XHJcblx0IFx0XHRcdHdpZHRoOiAxODBycHg7XHJcblx0IFx0XHRcdGhlaWdodDogMTgwcnB4O1xyXG5cdCBcdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0IFx0XHR9XHJcblx0IFx0XHQubmFtZXtcclxuXHQgXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHQgXHRcdFx0bWFyZ2luLXRvcDogMTBycHg7XHJcblx0IFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0IFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0IFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cdCBcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdCBcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdCBcdFx0XHRtYXJnaW4tdG9wOiAxMHJweDtcclxuXHRcdFx0XHQudHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0XHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdFx0XHR9XHJcblx0IFx0XHR9XHJcblx0IFx0XHQuYnRue1xyXG5cdCBcdFx0XHR3aWR0aDogMTcwcnB4O1xyXG5cdCBcdFx0XHRsaW5lLWhlaWdodDogNTZycHg7XHJcblx0IFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgwZGVnLCAjRkY5MTI0LCAjQkQ0NzAwKTtcclxuXHQgXHRcdFx0Ym9yZGVyLXJhZGl1czogNTZycHg7XHJcblx0IFx0XHRcdFxyXG5cdCBcdFx0XHRtYXJnaW46IDAgYXV0bztcclxuXHQgXHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XHJcblx0IFx0XHRcdC50e1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0IFx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHQgXHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHQgXHRcdFx0fVxyXG5cdCBcdFx0fVxyXG5cdCBcdFx0LnR4dHtcclxuXHQgXHRcdFx0XHJcblx0IFx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xyXG5cdCBcdFx0XHRvcGFjaXR5OiAwLjM7XHJcblx0XHRcdFx0LnR7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHRcdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xyXG5cdFx0XHRcdH1cclxuXHQgXHRcdH1cclxuXHQgXHR9XHJcblx0IH1cbiB9XG4gJi1mZHtcblx0aGVpZ2h0OiAyMjBycHg7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0bGVmdDogMDtcblx0Ym90dG9tOiAyMDBycHg7XG5cdHotaW5kZXg6IDEyMjtcblx0ZmxleC1kaXJlY3Rpb246IHJvdztcblx0Lml0ZW17XG5cdFx0ZmxleDogMTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHQudHh0e1xuXHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XG5cdFx0XHQudHtcblx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5waWN7XG5cdFx0XHR3aWR0aDogMTMwcnB4O1xuXHRcdFx0aGVpZ2h0OiAxMzBycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHJweDtcblx0XHRcdC5waW1ne1xuXHRcdFx0XHR3aWR0aDogMTMwcnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDEzMHJweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdH1cblx0fVxufVxuXHQmLWZkMXtcbiBcdFx0aGVpZ2h0OiAyMjBycHg7XG4gXHRcdHBvc2l0aW9uOiBmaXhlZDtcbiBcdFx0bGVmdDogMDtcbiBcdFx0Ym90dG9tOiA0MHJweDtcbiBcdFx0ei1pbmRleDogNDQ7XG4gXHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdC5pdGVtc3tcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRtYXJnaW4tdG9wOiA3MHJweDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0LnBpY3tcblx0XHRcdFx0d2lkdGg6IDEzMHJweDtcblx0XHRcdFx0aGVpZ2h0OiAxMzBycHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxMHJweDtcblx0XHRcdFx0LnBpbWd7XG5cdFx0XHRcdFx0d2lkdGg6IDEzMHJweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDEzMHJweDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdH1cblx0XHRcdC5vZmZ7XG5cdFx0XHRcdHdpZHRoOiA0OXJweDtcblx0XHRcdFx0aGVpZ2h0OiA0NHJweDtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMjAwcnB4O1xuXHRcdFx0XHR6LWluZGV4OiAyO1xuXHRcdFx0XHR0b3A6IDUwcnB4O1xuXHRcdFx0fVxuXHRcdH1cbiBcdH1cbn1cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///31\n"); /***/ }), /* 32 */ @@ -2429,7 +2429,7 @@ module.exports = { 24 ], "zIndex": [ - 212, + 22, 0, 1, 24