From 6ad0dbbec4430323cf98fb700aa14d9d4e46a32d Mon Sep 17 00:00:00 2001 From: "wangmingchuan321@qq.com" Date: Tue, 24 Sep 2024 16:07:10 +0800 Subject: [PATCH] 111 --- components/service-list-item.vue | 53 ++++++++++-- pages/service.vue | 95 ++++++++++++++++------ unpackage/dist/dev/app-plus/app-service.js | 35 +++++++- unpackage/dist/dev/app-plus/app-view.js | 36 +++++++- 4 files changed, 182 insertions(+), 37 deletions(-) diff --git a/components/service-list-item.vue b/components/service-list-item.vue index fcc5d72..524f96a 100644 --- a/components/service-list-item.vue +++ b/components/service-list-item.vue @@ -27,16 +27,17 @@ ¥{{ info.init_price }} - + {{ info.time_long }}分钟 - + - + {{ from == 'technician-info' ? `立即预约` : `选择${$t('action.attendantName')}`}} @@ -44,7 +45,11 @@ - + + + 为了获取您附近的服务人员,更好的为您服务,我们需要申请位置信息权限,请您确认授权,否则无法使用该功能。 + + @@ -53,6 +58,7 @@ mapState, mapMutations } from "vuex" + import permision from '@/utils/permission.js' export default { components: {}, props: { @@ -112,6 +118,31 @@ }, // 选择技-师 toChoose() { + + + let that = this + const appAuthorizeSetting = uni.getAppAuthorizeSetting() + console.log(9987, appAuthorizeSetting); + if (appAuthorizeSetting.locationAuthorized != 'authorized') { + that.$refs.perpopup.open('top') + uni.showModal({ + title: '温馨提示', + content: '为了获取您附近的服务人员,更好的为您服务,我们需要申请位置信息权限,请您确认授权,否则无法使用该功能~', + cancelText: '关闭', + confirmText: '去授权', + success(res) { + if (res.confirm) { + that.$refs.perpopup.close(); + permision.gotoAppPermissionSetting() + } else { + that.$refs.perpopup.close(); + } + } + }) + return + } + + let { from } = this @@ -160,6 +191,15 @@ font-size: 18rpx; } + .permissions_box { + padding: 200rpx 30rpx; + padding-top: 200rpx; + padding-bottom: 50rpx; + font-size: 30rpx; + line-height: 50rpx; + background-color: #fff; + } + .text-delete { font-size: 24rpx; color: #B9B9B9; @@ -173,8 +213,9 @@ } } } - .servefc{ + + .servefc { display: flex; align-items: center; - } + } \ No newline at end of file diff --git a/pages/service.vue b/pages/service.vue index f8b5424..bc79784 100644 --- a/pages/service.vue +++ b/pages/service.vue @@ -14,8 +14,8 @@ :class="[{'mt-md':banner.length ==0},{'abs':banner.length>0}]" :style="{ color: primaryColor }"> - + {{ item.text }} @@ -55,15 +55,16 @@ - {{item.coach_name}} - + {{item.coach_name}} + 新人 - + :style="{height:`33rpx`,width:`80rpx`,color:primaryColor,border:`1rpx solid ${primaryColor}`}" + v-if="item.is_new">新人 + 30天接单{{item.order_count||0}} - + @@ -88,7 +89,8 @@ 新人 + :style="{height:`33rpx`,width:`80rpx`,color:primaryColor,border:`1rpx solid ${primaryColor}`}" + v-if="item.is_new">新人 30天接单{{item.order_count||0}} @@ -97,22 +99,22 @@ - - - + + + - 展示项目 + 展示项目 - + @@ -179,6 +181,14 @@ + + + + 为了获取您附近的服务人员,更好的为您服务,我们需要申请位置信息权限,请您确认授权,否则无法使用该功能。 + + + + @@ -188,6 +198,7 @@ mapActions, mapMutations } from "vuex" + import permision from '@/utils/permission.js' import siteInfo from '@/siteinfo.js'; import serviceListItem from "@/components/service-list-item.vue" import tabbar from "@/components/tabbar.vue" @@ -215,7 +226,7 @@ }, { icon: 'icon-kzz', text: '资质证书' - }], + }], } }, computed: mapState({ @@ -297,9 +308,9 @@ } }, methods: { - tuichu(){ + tuichu() { uni.navigateTo({ - url:'/pages/login' + url: '/pages/login' }) }, ...mapActions(['getConfigInfo', 'getUserInfo', 'updateCommonOptions', 'getServiceIndex', 'getServiceList']), @@ -410,7 +421,7 @@ siteroot } = siteInfo let url = siteroot.split('/index.php')[0] - console.log(123,url); + console.log(123, url); let href = `${url}/h5/#/pages/service?pid=${pid}` let imageUrl = '' this.$jweixin.wxReady(() => { @@ -442,6 +453,30 @@ } }, goCate(e) { + if (e.title == '师傅入驻') { + let that = this + const appAuthorizeSetting = uni.getAppAuthorizeSetting() + console.log(9987, appAuthorizeSetting); + if (appAuthorizeSetting.locationAuthorized != 'authorized') { + that.$refs.perpopup.open('top') + uni.showModal({ + title: '温馨提示', + content: '为了获取您附近的服务人员,更好的为您服务,我们需要申请位置信息权限,请您确认授权,否则无法使用该功能~', + cancelText: '关闭', + confirmText: '去授权', + success(res) { + if (res.confirm) { + that.$refs.perpopup.close(); + permision.gotoAppPermissionSetting() + } else { + that.$refs.perpopup.close(); + } + } + }) + } + return + } + let { id, title, @@ -561,6 +596,7 @@ .recommend-technician { white-space: nowrap; width: 690rpx; + .recommend-item { display: inline-block; } @@ -655,8 +691,8 @@ .radius-top { border-radius: 30rpx 30rpx 0 0; - } - + } + .coupon-popup { width: 658rpx; height: 865rpx; @@ -770,7 +806,7 @@ } } } - + .servetip { font-size: 28rpx; font-weight: 400; @@ -780,11 +816,11 @@ margin: 22rpx 0; } - .servefc{ + .servefc { display: flex; align-items: center; } - + .van-image { position: relative; display: inline-block; @@ -794,8 +830,17 @@ width: 100%; height: 100%; } + .margin-20 { margin: 0.53333rem; - } - - + } + + .permissions_box { + padding: 200rpx 30rpx; + padding-top: 200rpx; + padding-bottom: 50rpx; + font-size: 30rpx; + line-height: 50rpx; + background-color: #fff; + } + \ No newline at end of file diff --git a/unpackage/dist/dev/app-plus/app-service.js b/unpackage/dist/dev/app-plus/app-service.js index 1fc9b46..6b0c4fc 100644 --- a/unpackage/dist/dev/app-plus/app-service.js +++ b/unpackage/dist/dev/app-plus/app-service.js @@ -1441,6 +1441,19 @@ var render = function () { }), _c("tabbar", { attrs: { cur: 1, _i: 72 } }), _c("login-info", { attrs: { _i: 73 } }), + _c( + "uni-popup", + { + ref: "perpopup", + attrs: { type: "top", "mask-click": false, zIndex: 999, _i: 74 }, + }, + [ + _c("view", { + staticClass: _vm._$s(75, "sc", "permissions_box"), + attrs: { _i: 75 }, + }), + ] + ), ], 2 ) @@ -1472,7 +1485,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _C_U /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 13));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 15));\nvar _vuex = __webpack_require__(/*! vuex */ 16);\nvar _siteinfo = _interopRequireDefault(__webpack_require__(/*! @/siteinfo.js */ 18));\nvar _serviceListItem = _interopRequireDefault(__webpack_require__(/*! @/components/service-list-item.vue */ 19));\nvar _tabbar = _interopRequireDefault(__webpack_require__(/*! @/components/tabbar.vue */ 25));\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 components: {\n serviceListItem: _serviceListItem.default,\n tabbar: _tabbar.default\n },\n data: function data() {\n return {\n couponList: [],\n //优惠券 \n isLoad: false,\n options: {},\n loading: true,\n lockTap: false,\n servefc: [{\n icon: 'icon-kzj',\n text: '实名认证'\n }, {\n icon: 'icon-kpk',\n text: '爽约包赔'\n }, {\n icon: 'icon-sybp',\n text: '超时秒退'\n }, {\n icon: 'icon-kzz',\n text: '资质证书'\n }]\n };\n },\n computed: (0, _vuex.mapState)({\n pageActive: function pageActive(state) {\n return state.service.pageActive;\n },\n activeIndex: function activeIndex(state) {\n return state.service.activeIndex;\n },\n tabList: function tabList(state) {\n return state.service.tabList;\n },\n param: function param(state) {\n return state.service.param;\n },\n list: function list(state) {\n return state.service.list;\n },\n banner: function banner(state) {\n return state.service.banner;\n },\n service_cate: function service_cate(state) {\n return state.service.service_cate;\n },\n recommend_list: function recommend_list(state) {\n return state.service.recommend_list;\n },\n recommend_style: function recommend_style(state) {\n return state.service.recommend_style;\n },\n primaryColor: function primaryColor(state) {\n return state.config.configInfo.primaryColor;\n },\n subColor: function subColor(state) {\n return state.config.configInfo.subColor;\n },\n configInfo: function configInfo(state) {\n return state.config.configInfo;\n },\n autograph: function autograph(state) {\n return state.user.autograph;\n },\n userInfo: function userInfo(state) {\n return state.user.userInfo;\n },\n location: function location(state) {\n return state.user.location;\n },\n isGzhLogin: function isGzhLogin(state) {\n return state.user.isGzhLogin;\n },\n haveShieldOper: function haveShieldOper(state) {\n return state.user.haveShieldOper;\n }\n }),\n onLoad: function onLoad(options) {\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 _this.$util.showLoading();\n _context.next = 3;\n return _this.updateCommonOptions(options);\n case 3:\n options = _context.sent;\n _this.options = options;\n uni.onNetworkStatusChange(function (res) {\n var isConnected = res.isConnected;\n if (isConnected && !_this.pageActive) {\n _this.initIndex();\n return;\n }\n });\n _context.next = 8;\n return _this.initIndex();\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n onShow: function onShow() {\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 __f__(\"log\", 1111, \" at pages/service.vue:256\");\n if (_this2.haveShieldOper == 2) {\n _this2.initIndex();\n _this2.updateUserItem({\n key: 'haveShieldOper',\n val: 0\n });\n }\n if (_this2.pageActive && _this2.userInfo.id) {\n _this2.getCouponList();\n }\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n onPullDownRefresh: function onPullDownRefresh() {\n this.initRefresh();\n uni.stopPullDownRefresh();\n },\n onReachBottom: function onReachBottom() {\n if (this.list.current_page >= this.list.last_page || this.loading) return;\n this.loading = true;\n this.getList(this.param.page + 1);\n },\n onShareAppMessage: function onShareAppMessage(e) {\n var _this$userInfo$id = this.userInfo.id,\n pid = _this$userInfo$id === void 0 ? 0 : _this$userInfo$id;\n var path = \"/pages/service?pid=\".concat(pid);\n this.$util.log(path);\n return {\n title: '',\n imageUrl: '',\n path: path\n };\n },\n methods: _objectSpread(_objectSpread(_objectSpread({\n tuichu: function tuichu() {\n uni.navigateTo({\n url: '/pages/login'\n });\n }\n }, (0, _vuex.mapActions)(['getConfigInfo', 'getUserInfo', 'updateCommonOptions', 'getServiceIndex', 'getServiceList'])), (0, _vuex.mapMutations)(['updateServiceItem', 'updateTechnicianItem', 'updateUserItem'])), {}, {\n initIndex: function initIndex() {\n var _arguments = arguments,\n _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var refresh, _this3$options$pid, pid, isGzhLogin, _this3$userInfo$id, uid, location, _this3$configInfo$plu, plugAuth, _plugAuth$recommend, recommend, _location$lng, lng, _location$lat, lat;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n refresh = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : false;\n _this3$options$pid = _this3.options.pid, pid = _this3$options$pid === void 0 ? 0 : _this3$options$pid;\n if (!(!refresh && _this3.pageActive && !pid)) {\n _context3.next = 7;\n break;\n }\n _this3.isLoad = true;\n _this3.loading = false;\n _this3.$util.hideAll();\n return _context3.abrupt(\"return\");\n case 7:\n isGzhLogin = _this3.isGzhLogin;\n _this3$userInfo$id = _this3.userInfo.id, uid = _this3$userInfo$id === void 0 ? 0 : _this3$userInfo$id;\n if (!(pid && !uid)) {\n _context3.next = 12;\n break;\n }\n _context3.next = 12;\n return _this3.getUserInfo();\n case 12:\n if (!(!_this3.configInfo.id || refresh)) {\n _context3.next = 15;\n break;\n }\n _context3.next = 15;\n return _this3.getConfigInfo();\n case 15:\n location = _this3.location;\n _this3$configInfo$plu = _this3.configInfo.plugAuth, plugAuth = _this3$configInfo$plu === void 0 ? {} : _this3$configInfo$plu;\n _plugAuth$recommend = plugAuth.recommend, recommend = _plugAuth$recommend === void 0 ? false : _plugAuth$recommend;\n if (recommend && !location.lat) {\n // location = await this.$util.getBmapLocation()\n\n _this3.updateUserItem({\n key: 'location',\n val: location\n });\n }\n _location$lng = location.lng, lng = _location$lng === void 0 ? 0 : _location$lng, _location$lat = location.lat, lat = _location$lat === void 0 ? 0 : _location$lat;\n _context3.next = 22;\n return _this3.getServiceIndex({\n lat: lat,\n lng: lng\n });\n case 22:\n _this3.updateServiceItem({\n key: 'pageActive',\n val: true\n });\n _this3.isLoad = true;\n if (!_this3.userInfo.id) {\n _context3.next = 29;\n break;\n }\n _context3.next = 27;\n return Promise.all([_this3.getList(1), _this3.getCouponList()]);\n case 27:\n _context3.next = 31;\n break;\n case 29:\n _context3.next = 31;\n return _this3.getList(1);\n case 31:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n initRefresh: function initRefresh() {\n this.initIndex(true);\n },\n toAppShare: function toAppShare() {\n var _this4 = this;\n var _this$userInfo$id2 = this.userInfo.id,\n pid = _this$userInfo$id2 === void 0 ? 0 : _this$userInfo$id2;\n var title = '首页';\n var siteroot = _siteinfo.default.siteroot;\n var url = siteroot.split('/index.php')[0];\n __f__(\"log\", 123, url, \" at pages/service.vue:413\");\n var href = \"\".concat(url, \"/h5/#/pages/service?pid=\").concat(pid);\n var imageUrl = '';\n this.$jweixin.wxReady(function () {\n _this4.$jweixin.showOptionMenu();\n _this4.$jweixin.shareAppMessage(title, '', href, imageUrl);\n _this4.$jweixin.shareTimelineMessage(title, href, imageUrl);\n });\n },\n // 轮播图/广告图跳转\n goBanner: function goBanner(e) {\n // connect_type 1查看大图,2文章\n var connect_type = e.connect_type,\n _e$type_id = e.type_id,\n id = _e$type_id === void 0 ? 0 : _e$type_id,\n current = e.img;\n switch (connect_type) {\n case 1:\n this.$util.previewImage({\n current: current,\n urls: [current]\n });\n break;\n case 2:\n this.$util.goUrl({\n url: \"/user/pages/article?id=\".concat(id)\n });\n break;\n }\n },\n goCate: function goCate(e) {\n var id = e.id,\n title = e.title,\n _e$url = e.url,\n link = _e$url === void 0 ? '' : _e$url;\n var url = link || \"/user/pages/service/list?id=\".concat(id, \"&title=\").concat(title);\n this.$util.goUrl({\n url: url\n });\n },\n userGetCoupon: function userGetCoupon() {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n var ids, res;\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n ids = [];\n _this5.couponList.forEach(function (v) {\n ids.push(v.id);\n });\n _context4.next = 4;\n return _this5.$api.service.userGetCoupon({\n coupon_id: ids\n });\n case 4:\n res = _context4.sent;\n _this5.$util.showToast({\n title: \"\\u9886\\u53D6\\u6210\\u529F\"\n });\n setTimeout(function () {\n _this5.$util.goUrl({\n url: '/user/pages/coupon/list'\n });\n }, 1000);\n _this5.$refs.coupon_item.close();\n _this5.loading = false;\n _this5.$util.hideAll();\n case 10:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n getCouponList: function getCouponList() {\n var _this6 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n var list;\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 _this6.$api.service.couponList();\n case 2:\n list = _context5.sent;\n _this6.couponList = list;\n if (list.length > 0 && _this6.isLoad) {\n _this6.$refs.coupon_item.open();\n }\n _this6.loading = false;\n _this6.$util.hideAll();\n case 7:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n getList: function getList() {\n var _arguments2 = arguments,\n _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n var page, _param, oldList, param, tabList, activeIndex, _tabList$activeIndex, sort, sign, desc;\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n page = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : 0;\n if (page) {\n _param = _this7.$util.deepCopy(_this7.param);\n _param.page = page;\n _this7.updateServiceItem({\n key: 'param',\n val: _param\n });\n }\n oldList = _this7.list, param = _this7.param, tabList = _this7.tabList, activeIndex = _this7.activeIndex;\n _tabList$activeIndex = tabList[activeIndex], sort = _tabList$activeIndex.sort, sign = _tabList$activeIndex.sign;\n desc = activeIndex == 0 || sign == 1 ? '' : 'desc';\n param.sort = \"\".concat(sort, \" \").concat(desc);\n _context6.next = 8;\n return _this7.getServiceList(param);\n case 8:\n _this7.loading = false;\n _this7.$util.hideAll();\n case 10:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n handerTabChange: function handerTabChange(index) {\n this.updateServiceItem({\n key: 'activeIndex',\n val: index\n });\n var tabList = this.$util.deepCopy(this.tabList);\n var _tabList$index = tabList[index],\n is_sign = _tabList$index.is_sign,\n sign = _tabList$index.sign;\n if (is_sign) {\n tabList[index].sign = sign == 0 ? 1 : 0;\n }\n this.updateServiceItem({\n key: 'tabList',\n val: tabList\n });\n this.$util.showLoading();\n uni.pageScrollTo({\n scrollTop: 0\n });\n this.getList(1);\n },\n toTechnician: function toTechnician(index) {\n var _this$recommend_list$ = this.recommend_list[index],\n id = _this$recommend_list$.id,\n city_id = _this$recommend_list$.city_id,\n coach_name = _this$recommend_list$.coach_name;\n this.updateTechnicianItem({\n key: 'pageActive',\n val: false\n });\n this.$util.goUrl({\n url: \"/pages/technician?coach_id=\".concat(id, \"&coach_name=\").concat(coach_name, \"&city_id=\").concat(city_id),\n openType: \"reLaunch\"\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 */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvc2VydmljZS52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsInNlcnZpY2VMaXN0SXRlbSIsInRhYmJhciIsImRhdGEiLCJjb3Vwb25MaXN0IiwiaXNMb2FkIiwib3B0aW9ucyIsImxvYWRpbmciLCJsb2NrVGFwIiwic2VydmVmYyIsImljb24iLCJ0ZXh0IiwiY29tcHV0ZWQiLCJwYWdlQWN0aXZlIiwiYWN0aXZlSW5kZXgiLCJ0YWJMaXN0IiwicGFyYW0iLCJsaXN0IiwiYmFubmVyIiwic2VydmljZV9jYXRlIiwicmVjb21tZW5kX2xpc3QiLCJyZWNvbW1lbmRfc3R5bGUiLCJwcmltYXJ5Q29sb3IiLCJzdWJDb2xvciIsImNvbmZpZ0luZm8iLCJhdXRvZ3JhcGgiLCJ1c2VySW5mbyIsImxvY2F0aW9uIiwiaXNHemhMb2dpbiIsImhhdmVTaGllbGRPcGVyIiwib25Mb2FkIiwidW5pIiwiaXNDb25uZWN0ZWQiLCJyZXMiLCJvblNob3ciLCJrZXkiLCJ2YWwiLCJvblB1bGxEb3duUmVmcmVzaCIsIm9uUmVhY2hCb3R0b20iLCJvblNoYXJlQXBwTWVzc2FnZSIsImlkIiwicGlkIiwidGl0bGUiLCJpbWFnZVVybCIsInBhdGgiLCJtZXRob2RzIiwidHVpY2h1IiwidXJsIiwiaW5pdEluZGV4IiwicmVmcmVzaCIsInBsdWdBdXRoIiwicmVjb21tZW5kIiwibG5nIiwibGF0IiwiUHJvbWlzZSIsImluaXRSZWZyZXNoIiwidG9BcHBTaGFyZSIsInNpdGVyb290Iiwic2l0ZUluZm8iLCJnb0Jhbm5lciIsImNvbm5lY3RfdHlwZSIsImUiLCJ0eXBlX2lkIiwiY3VycmVudCIsImltZyIsInVybHMiLCJnb0NhdGUiLCJsaW5rIiwidXNlckdldENvdXBvbiIsImlkcyIsImNvdXBvbl9pZCIsInNldFRpbWVvdXQiLCJnZXRDb3Vwb25MaXN0IiwiZ2V0TGlzdCIsInBhZ2UiLCJvbGRMaXN0Iiwic29ydCIsInNpZ24iLCJkZXNjIiwiaGFuZGVyVGFiQ2hhbmdlIiwiaXNfc2lnbiIsInNjcm9sbFRvcCIsInRvVGVjaG5pY2lhbiIsImNpdHlfaWQiLCJjb2FjaF9uYW1lIiwib3BlblR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUF5TEE7QUFLQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUEsZUFDQTtFQUNBQTtJQUNBQztJQUNBQztFQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFBQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBQztRQUNBQztNQUNBO1FBQ0FEO1FBQ0FDO01BQ0E7UUFDQUQ7UUFDQUM7TUFDQTtRQUNBRDtRQUNBQztNQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0VBQ0E7RUFDQUM7SUFBQTtJQUFBO01BQUE7UUFBQTtVQUFBO1lBQUE7Y0FDQTtjQUFBO2NBQUEsT0FDQTtZQUFBO2NBQUF4QjtjQUNBO2NBQ0F5QjtnQkFDQSxJQUNBQyxjQUNBQyxJQURBRDtnQkFFQTtrQkFDQTtrQkFDQTtnQkFDQTtjQUNBO2NBQUE7Y0FBQSxPQUNBO1lBQUE7WUFBQTtjQUFBO1VBQUE7UUFBQTtNQUFBO0lBQUE7RUFDQTtFQUNBRTtJQUFBO0lBQUE7TUFBQTtRQUFBO1VBQUE7WUFBQTtjQUNBO2NBUUE7Z0JBQ0E7Z0JBQ0E7a0JBQ0FDO2tCQUNBQztnQkFDQTtjQUNBO2NBQ0E7Z0JBQ0E7Y0FDQTtZQUFBO1lBQUE7Y0FBQTtVQUFBO1FBQUE7TUFBQTtJ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QkFDQTtnQkFDQTtjQUFBO2NBQUE7Z0JBQUE7WUFBQTtVQUFBO1FBQUE7TUFBQTtJQUNBO0lBQ0ErRDtNQUNBO1FBQ0E1QztRQUNBQztNQUNBO01BQ0E7TUFDQSxxQkFHQXJCO1FBRkFpRTtRQUNBSDtNQUVBO1FBQ0E5RDtNQUNBO01BQ0E7UUFDQW9CO1FBQ0FDO01BQ0E7TUFDQTtNQUNBTDtRQUNBa0Q7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQSw0QkFJQTtRQUhBMUM7UUFDQTJDO1FBQ0FDO01BRUE7UUFDQWpEO1FBQ0FDO01BQ0E7TUFDQTtRQUNBVztRQUNBc0M7TUFDQTtJQUNBO0VBQUE7QUFFQTtBQUFBLDJCIiwiZmlsZSI6IjExLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwicGFnZXMtaG9tZVwiIHYtaWY9XCJpc0xvYWRcIj5cclxuXHRcdDwhLS0gI2lmbmRlZiBINSAtLT5cclxuXHRcdDx1bmktbmF2LWJhciA6Zml4ZWQ9XCJ0cnVlXCIgOnNoYWRvdz1cImZhbHNlXCIgOnN0YXR1c0Jhcj1cInRydWVcIiB0aXRsZT1cIummlumhtVwiIGNvbG9yPVwiI2ZmZmZmZlwiXHJcblx0XHRcdDpiYWNrZ3JvdW5kQ29sb3I9XCJwcmltYXJ5Q29sb3JcIj5cclxuXHRcdDwvdW5pLW5hdi1iYXI+XHJcblx0XHQ8dmlldyA6c3R5bGU9XCJ7aGVpZ2h0OmAke2NvbmZpZ0luZm8ubmF2QmFySGVpZ2h0fXB4YH1cIj48L3ZpZXc+XHJcblx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHRcdDx2aWV3IDpjbGFzcz1cIlt7J3JlbCc6YmFubmVyLmxlbmd0aCA+MH1dXCIgOnN0eWxlPVwie2hlaWdodDpiYW5uZXIubGVuZ3RoID4gMD9gNDg0cnB4YDpgODRycHhgfVwiPlxyXG5cdFx0XHQ8YmFubmVyIEBjaGFuZ2U9XCJnb0Jhbm5lclwiIDpsaXN0PVwiYmFubmVyXCIgOm1hcmdpbj1cIjBcIiA6YXV0b3BsYXk9XCJ0cnVlXCIgOmluZGljYXRvckFjdGl2ZUNvbG9yPVwicHJpbWFyeUNvbG9yXCJcclxuXHRcdFx0XHQ6ZG90V2lkdGg9XCIyMFwiIDpkb3RCb3R0b209XCIzMFwiIHYtaWY9XCJiYW5uZXIubGVuZ3RoID4gMFwiPlxyXG5cdFx0XHQ8L2Jhbm5lcj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyY2gtYm94IGZsZXgtY2VudGVyIGZpbGwtYmFzZVwiXHJcblx0XHRcdFx0OmNsYXNzPVwiW3snbXQtbWQnOmJhbm5lci5sZW5ndGggPT0wfSx7J2Ficyc6YmFubmVyLmxlbmd0aD4wfV1cIiA6c3R5bGU9XCJ7IGNvbG9yOiBwcmltYXJ5Q29sb3IgfVwiPlxyXG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlcnZldGlwIHBsLWxnIHByLWxnIHB0LXNtIHBiLXNtXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IEB0YXAuc3RvcD1cInRvSnVtcCgnc2VydmVmYycsIGluZGV4KVwiIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBzZXJ2ZWZjXCJcclxuXHRcdFx0XHRcdFx0OmtleT1cImluZGV4XCIgY2xhc3M9XCJzZXJ2ZWZjXCI+XHJcblx0XHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJpY29uZm9udFwiIDpjbGFzcz1cIml0ZW0uaWNvblwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cIm1sLXNtXCI+e3sgaXRlbS50ZXh0IH19PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PCEtLSDliIbnsbsgLS0+XHJcblx0XHQ8dmlldyBjbGFzcz1cImZpbGwtYmFzZSBwbC1tZCBwci1tZFwiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjtcIiB2LWlmPVwic2VydmljZV9jYXRlLmxlbmd0aD4wXCI+XHJcblx0XHRcdDxjb2x1bW4gQGNoYW5nZT1cImdvQ2F0ZVwiIDpsaXN0PVwic2VydmljZV9jYXRlXCIgOmluZGljYXRvckFjdGl2ZUNvbG9yPVwicHJpbWFyeUNvbG9yXCIgOmNvbE51bT1cIjVcIiA6cm93TnVtPVwiMlwiPlxyXG5cdFx0XHQ8L2NvbHVtbj5cclxuXHRcdDwvdmlldz5cclxuXHJcblx0XHQ8dmlldyBjbGFzcz1cImZpbGwtYmFzZSBwbC1sZyBwci1sZyBwYi1sZ1wiIHYtaWY9XCJyZWNvbW1lbmRfbGlzdCAmJiByZWNvbW1lbmRfbGlzdC5sZW5ndGggPiAwXCI+XHJcblx0XHRcdDx2aWV3IEB0YXAuc3RvcD1cIiR1dGlsLmdvVXJsKHt1cmw6IGAvcGFnZXMvdGVjaG5pY2lhbmAsb3BlblR5cGU6IGByZUxhdW5jaGB9KVwiIGNsYXNzPVwiZmxleC1iZXR3ZWVuIHBiLWxnXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmLXN0LXRpdGxlIHRleHQtYm9sZCBmbGV4LWJldHdlZW5cIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibXItbWRcIiBzdHlsZT1cIndpZHRoOiAxNXB4O2hlaWdodDogMTdweDtcIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi9zdGF0aWMvaW1nL2ljb25fdGVjaG5pY2lhbi5wbmdcIiBjbGFzcz1cInZhbi1pbWdcIiBzdHlsZT1cIm9iamVjdC1maXQ6IGNvdmVyO1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHR7e2DlsZXnpLokeyR0KCdhY3Rpb24uYXR0ZW5kYW50TmFtZScpfWB9fVxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXgteS1jZW50ZXIgZi1jYXB0aW9uIGMtY2FwdGlvblwiPuafpeeci+abtOWkmjxpIGNsYXNzPVwiaWNvbmZvbnQgaWNvbi1yaWdodFwiXHJcblx0XHRcdFx0XHRcdHN0eWxlPVwiZm9udC1zaXplOiAyNHJweDtcIj48L2k+PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDxzY3JvbGwtdmlldyBzY3JvbGwteCBjbGFzcz1cInJlY29tbWVuZC10ZWNobmljaWFuXCI+XHJcblx0XHRcdFx0PGJsb2NrIHYtZm9yPVwiKGl0ZW0saW5kZXgpIGluIHJlY29tbWVuZF9saXN0XCIgOmtleT1cImluZGV4XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBAdGFwLnN0b3A9XCJ0b1RlY2huaWNpYW4oaW5kZXgpXCIgY2xhc3M9XCJyZWNvbW1lbmQtaXRlbSB0eXBlLTFcIiB2LWlmPVwicmVjb21tZW5kX3N0eWxlID09IDFcIj5cclxuXHRcdFx0XHRcdFx0PCEtLSAjaWZkZWYgSDUgLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY292ZXIgcmFkaXVzLTE2XCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoNS1pbWFnZSBjb3ZlciByYWRpdXMtMTZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OnN0eWxlPVwieyBiYWNrZ3JvdW5kSW1hZ2UgOiBgdXJsKCcke2l0ZW0ud29ya19pbWd9JylgfVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHRcdFx0XHRcdFx0PCEtLSAjaWZuZGVmIEg1IC0tPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2UgbW9kZT1cImFzcGVjdEZpbGxcIiBsYXp5LWxvYWQgY2xhc3M9XCJjb3ZlciByYWRpdXMtMTZcIiA6c3JjPVwiaXRlbS53b3JrX2ltZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXgtY2VudGVyIGYtZGVzYyBjLXRpdGxlIHRleHQtYm9sZCBtdC1tZFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZWxsaXBzaXNcIj57e2l0ZW0uY29hY2hfbmFtZX19PC92aWV3Plx0XHRcdFxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHRcdFx0XHRcdFx0XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy10ZWNobmljaWFuIGZsZXgtY2VudGVyIGYtaWNvbnRleHQgcmFkaXVzXCJcclxuXHRcdFx0XHRcdFx0XHRcdDpzdHlsZT1cIntoZWlnaHQ6YDMzcnB4YCx3aWR0aDpgODBycHhgLGNvbG9yOnByaW1hcnlDb2xvcixib3JkZXI6YDFycHggc29saWQgJHtwcmltYXJ5Q29sb3J9YH1cIiB2LWlmPVwiaXRlbS5pc19uZXdcIj7mlrDkurpcclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImYtaWNvbnRleHQgYy1jYXB0aW9uXCIgdi1lbHNlPjMw5aSp5o6l5Y2Ve3tpdGVtLm9yZGVyX2NvdW50fHwwfX1cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cdFxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgQHRhcC5zdG9wPVwidG9UZWNobmljaWFuKGluZGV4KVwiIGNsYXNzPVwicmVjb21tZW5kLWl0ZW0gdHlwZS0yIHBkLW1kXCJcclxuXHRcdFx0XHRcdFx0di1pZj1cInJlY29tbWVuZF9zdHlsZSA9PSAyXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1jZW50ZXIgcGItc21cIj5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tICNpZmRlZiBINSAtLT5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvdmVyIHJhZGl1c1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoNS1pbWFnZSBjb3ZlciByYWRpdXNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ6c3R5bGU9XCJ7IGJhY2tncm91bmRJbWFnZSA6IGB1cmwoJyR7aXRlbS53b3JrX2ltZ30nKWB9XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gI2lmbmRlZiBINSAtLT5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgbW9kZT1cImFzcGVjdEZpbGxcIiBsYXp5LWxvYWQgY2xhc3M9XCJjb3ZlciByYWRpdXNcIiA6c3JjPVwiaXRlbS53b3JrX2ltZ1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSAjZW5kaWYgLS0+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4LTEgbWwtc21cIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZi1kZXNjIGVsbGlwc2lzXCI+e3tpdGVtLmNvYWNoX25hbWV9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC15LWJhc2VsaW5lXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiA0cnB4O1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImljb25mb250IGljb255ZHVpeGluZ3hpbmdzaGl4aW4gaWNvbi1mb250LWNvbG9yXCI+PC9pPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInN0YXItdGV4dCBmbGV4LXktY2VudGVyIGYtY2FwdGlvblwiPnt7aXRlbS5zdGFyfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5ldy10ZWNobmljaWFuIGZsZXgtY2VudGVyIGYtaWNvbnRleHQgcmFkaXVzXCJcclxuXHRcdFx0XHRcdFx0XHRcdDpzdHlsZT1cIntoZWlnaHQ6YDMzcnB4YCx3aWR0aDpgODBycHhgLGNvbG9yOnByaW1hcnlDb2xvcixib3JkZXI6YDFycHggc29saWQgJHtwcmltYXJ5Q29sb3J9YH1cIiB2LWlmPVwiaXRlbS5pc19uZXdcIj7mlrDkurpcclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmLWljb250ZXh0IGMtY2FwdGlvblwiIHYtZWxzZT4zMOWkqeaOpeWNlXt7aXRlbS5vcmRlcl9jb3VudHx8MH19XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC9ibG9jaz5cclxuXHRcdFx0PC9zY3JvbGwtdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdFxyXG5cdFxyXG5cdFx0PHZpZXcgY2xhc3M9XCJmaWxsLWJhc2UgcGwtbGcgcHItbGdcIj5cdFxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImZpbGwtYmFzZSBmbGV4LWJldHdlZW5cIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImYtc3QtdGl0bGUgdGV4dC1ib2xkIGZsZXgtYmV0d2VlblwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtci1tZFwiIHN0eWxlPVwid2lkdGg6IDE1cHg7aGVpZ2h0OiAxN3B4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvaWNvbl9wcm9qZWN0LnBuZ1wiIGNsYXNzPVwidmFuLWltZ1wiIHN0eWxlPVwib2JqZWN0LWZpdDogY292ZXI7XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dGV4dCBAY2xpY2s9XCJ0dWljaHVcIj7lsZXnpLrpobnnm648L3RleHQ+XHRcclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZmlsbC1iYXNlIHBkLWxnIGItMXB4LWJcIiB2LWZvcj1cIihpdGVtLGluZGV4KSBpbiBsaXN0LmRhdGFcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0PHNlcnZpY2UtbGlzdC1pdGVtIDppbmZvPVwiaXRlbVwiPjwvc2VydmljZS1saXN0LWl0ZW0+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHRcclxuXHRcdDxsb2FkLW1vcmUgOm5vTW9yZT1cImxpc3QuY3VycmVudF9wYWdlID49IGxpc3QubGFzdF9wYWdlICYmIGxpc3QuZGF0YS5sZW5ndGggPiAwXCIgOmxvYWRpbmc9XCJsb2FkaW5nXCJcclxuXHRcdFx0di1pZj1cImxvYWRpbmdcIj5cclxuXHRcdDwvbG9hZC1tb3JlPlxyXG5cdFx0PGFibm9yIHYtaWY9XCIhbG9hZGluZyAmJiBsaXN0LmRhdGEubGVuZ3RoIDw9IDAgJiYgbGlzdC5jdXJyZW50X3BhZ2UgPT0gMVwiPjwvYWJub3I+XHJcblxyXG5cdFx0PHZpZXcgY2xhc3M9XCJzcGFjZS1mb290ZXJcIj48L3ZpZXc+XHJcblxyXG5cdFx0PHVuaS1wb3B1cCByZWY9XCJjb3Vwb25faXRlbVwiIHR5cGU9XCJjZW50ZXJcIiA6bWFza0NsaWNrPVwiZmFsc2VcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJjb3Vwb24tcG9wdXAgZmxleC1jZW50ZXJcIj5cclxuXHRcdFx0XHQ8IS0tICNpZmRlZiBINSAtLT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImg1LWltYWdlIGJnLWltZ1wiXHJcblx0XHRcdFx0XHQ6c3R5bGU9XCJ7IGJhY2tncm91bmRJbWFnZSA6IGB1cmwoJ2h0dHBzOi8vbGJxbnl2Mi5taWd1Z3UuY29tL2JpYW56dTMucG5nJylgfVwiPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHRcdFx0XHQ8IS0tICNpZm5kZWYgSDUgLS0+XHJcblx0XHRcdFx0PGltYWdlIG1vZGU9XCJhc3BlY3RGaWxsXCIgbGF6eS1sb2FkIGNsYXNzPVwiYmctaW1nXCIgc3JjPVwiaHR0cHM6Ly9sYnFueXYyLm1pZ3VndS5jb20vYmlhbnp1My5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cclxuXHRcdFx0XHQ8aSBAdGFwLnN0b3A9XCIkcmVmcy5jb3Vwb25faXRlbS5jbG9zZSgpXCIgY2xhc3M9XCJpY29uZm9udCBpY29uLWNsb3NlIGMtYmFzZVwiPjwvaT5cclxuXHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiY291cG9uLWluZm8gZmxleC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidG9wcyBmbGV4LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx0XHRcdOaIkOWKn+mihuWPllxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiXCI+XHJcblx0XHRcdFx0XHRcdFx05Y2h5Yi45bCG5pS+5YWl4oCc5oiR55qELeaIkeeahOWNoeWIuOKAnVxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxpc3RzIGZsZXgtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdDxzY3JvbGwtdmlldyBzY3JvbGwteSBzdHlsZT1cIndpZHRoOiA0MjBycHg7aGVpZ2h0OjEwMCU7XCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0IGZsZXgtYmV0d2VlblwiIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBjb3Vwb25MaXN0XCIgOmtleT1cImluZGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cHM6Ly9sYnFueS5taWd1Z3UuY29tL2FkbWluL2FubW8vY291cG9uL2NvdXBvbi5wbmdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1iZXR3ZWVuXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInByaWNlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0uZGlzY291bnR9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInByaWNlX3RleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt7aXRlbS5mdWxsKjE+MD9g5ruhJHtpdGVtLmZ1bGx95Y+v55SoYDpg56uL5YePYH19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUgZmxleC15LWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZWxsaXBzaXMtM1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3tpdGVtLnRpdGxlfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvc2Nyb2xsLXZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4LWNlbnRlclwiIEB0YXAuc3RvcD1cInVzZXJHZXRDb3Vwb25cIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx06aKG5Y+W5Yiw5Y2h5YyFXHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3VuaS1wb3B1cD5cclxuXHRcdDx2aWV3IDpzdHlsZT1cIntoZWlnaHQ6IGAke2NvbmZpZ0luZm8udGFiYmFySGVpZ2h0fXB4YH1cIj48L3ZpZXc+XHJcblx0XHQ8dGFiYmFyIDpjdXI9XCIxXCI+PC90YWJiYXI+XHJcblxyXG5cdFx0PCEtLSAjaWZkZWYgQVBQLVBMVVMgLS0+XHJcblx0XHQ8bG9naW4taW5mbz48L2xvZ2luLWluZm8+XHJcblx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCB7XHJcblx0XHRtYXBTdGF0ZSxcclxuXHRcdG1hcEFjdGlvbnMsXHJcblx0XHRtYXBNdXRhdGlvbnNcclxuXHR9IGZyb20gXCJ2dWV4XCJcclxuXHRpbXBvcnQgc2l0ZUluZm8gZnJvbSAnQC9zaXRlaW5mby5qcyc7XHJcblx0aW1wb3J0IHNlcnZpY2VMaXN0SXRlbSBmcm9tIFwiQC9jb21wb25lbnRzL3NlcnZpY2UtbGlzdC1pdGVtLnZ1ZVwiXHJcblx0aW1wb3J0IHRhYmJhciBmcm9tIFwiQC9jb21wb25lbnRzL3RhYmJhci52dWVcIlxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuXHRcdFx0c2VydmljZUxpc3RJdGVtLFxyXG5cdFx0XHR0YWJiYXJcclxuXHRcdH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGNvdXBvbkxpc3Q6IFtdLCAvL+S8mOaDoOWIuCBcclxuXHRcdFx0XHRpc0xvYWQ6IGZhbHNlLFxyXG5cdFx0XHRcdG9wdGlvbnM6IHt9LFxyXG5cdFx0XHRcdGxvYWRpbmc6IHRydWUsXHJcblx0XHRcdFx0bG9ja1RhcDogZmFsc2UsXHJcblx0XHRcdFx0c2VydmVmYzogW3tcclxuXHRcdFx0XHRcdGljb246ICdpY29uLWt6aicsXHJcblx0XHRcdFx0XHR0ZXh0OiAn5a6e5ZCN6K6k6K+BJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdGljb246ICdpY29uLWtwaycsXHJcblx0XHRcdFx0XHR0ZXh0OiAn54i957qm5YyF6LWUJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdGljb246ICdpY29uLXN5YnAnLFxyXG5cdFx0XHRcdFx0dGV4dDogJ+i2heaXtuenkumAgCdcclxuXHRcdFx0XHR9LCB7XHJcblx0XHRcdFx0XHRpY29uOiAnaWNvbi1renonLFxyXG5cdFx0XHRcdFx0dGV4dDogJ+i1hOi0qOivgeS5pidcclxuXHRcdFx0XHR9XSxcdFx0XHRcdFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0Y29tcHV0ZWQ6IG1hcFN0YXRlKHtcclxuXHRcdFx0cGFnZUFjdGl2ZTogc3RhdGUgPT4gc3RhdGUuc2VydmljZS5wYWdlQWN0aXZlLFxyXG5cdFx0XHRhY3RpdmVJbmRleDogc3RhdGUgPT4gc3RhdGUuc2VydmljZS5hY3RpdmVJbmRleCxcclxuXHRcdFx0dGFiTGlzdDogc3RhdGUgPT4gc3RhdGUuc2VydmljZS50YWJMaXN0LFxyXG5cdFx0XHRwYXJhbTogc3RhdGUgPT4gc3RhdGUuc2VydmljZS5wYXJhbSxcclxuXHRcdFx0bGlzdDogc3RhdGUgPT4gc3RhdGUuc2VydmljZS5saXN0LFxyXG5cdFx0XHRiYW5uZXI6IHN0YXRlID0+IHN0YXRlLnNlcnZpY2UuYmFubmVyLFxyXG5cdFx0XHRzZXJ2aWNlX2NhdGU6IHN0YXRlID0+IHN0YXRlLnNlcnZpY2Uuc2VydmljZV9jYXRlLFxyXG5cdFx0XHRyZWNvbW1lbmRfbGlzdDogc3RhdGUgPT4gc3RhdGUuc2VydmljZS5yZWNvbW1lbmRfbGlzdCxcclxuXHRcdFx0cmVjb21tZW5kX3N0eWxlOiBzdGF0ZSA9PiBzdGF0ZS5zZXJ2aWNlLnJlY29tbWVuZF9zdHlsZSxcclxuXHRcdFx0cHJpbWFyeUNvbG9yOiBzdGF0ZSA9PiBzdGF0ZS5jb25maWcuY29uZmlnSW5mby5wcmltYXJ5Q29sb3IsXHJcblx0XHRcdHN1YkNvbG9yOiBzdGF0ZSA9PiBzdGF0ZS5jb25maWcuY29uZmlnSW5mby5zdWJDb2xvcixcclxuXHRcdFx0Y29uZmlnSW5mbzogc3RhdGUgPT4gc3RhdGUuY29uZmlnLmNvbmZpZ0luZm8sXHJcblx0XHRcdGF1dG9ncmFwaDogc3RhdGUgPT4gc3RhdGUudXNlci5hdXRvZ3JhcGgsXHJcblx0XHRcdHVzZXJJbmZvOiBzdGF0ZSA9PiBzdGF0ZS51c2VyLnVzZXJJbmZvLFxyXG5cdFx0XHRsb2NhdGlvbjogc3RhdGUgPT4gc3RhdGUudXNlci5sb2NhdGlvbixcclxuXHRcdFx0aXNHemhMb2dpbjogc3RhdGUgPT4gc3RhdGUudXNlci5pc0d6aExvZ2luLFxyXG5cdFx0XHRoYXZlU2hpZWxkT3Blcjogc3RhdGUgPT4gc3RhdGUudXNlci5oYXZlU2hpZWxkT3BlcixcclxuXHRcdH0pLFxyXG5cdFx0YXN5bmMgb25Mb2FkKG9wdGlvbnMpIHtcclxuXHRcdFx0dGhpcy4kdXRpbC5zaG93TG9hZGluZygpXHJcblx0XHRcdG9wdGlvbnMgPSBhd2FpdCB0aGlzLnVwZGF0ZUNvbW1vbk9wdGlvbnMob3B0aW9ucylcclxuXHRcdFx0dGhpcy5vcHRpb25zID0gb3B0aW9uc1xyXG5cdFx0XHR1bmkub25OZXR3b3JrU3RhdHVzQ2hhbmdlKChyZXMpID0+IHtcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0aXNDb25uZWN0ZWRcclxuXHRcdFx0XHR9ID0gcmVzXHJcblx0XHRcdFx0aWYgKGlzQ29ubmVjdGVkICYmICF0aGlzLnBhZ2VBY3RpdmUpIHtcclxuXHRcdFx0XHRcdHRoaXMuaW5pdEluZGV4KClcclxuXHRcdFx0XHRcdHJldHVyblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSlcclxuXHRcdFx0YXdhaXQgdGhpcy5pbml0SW5kZXgoKVxyXG5cdFx0fSxcclxuXHRcdGFzeW5jIG9uU2hvdygpIHtcclxuXHRcdFx0Y29uc29sZS5sb2coMTExMSk7XHJcblx0XHRcdC8vICNpZmRlZiBINVxyXG5cdFx0XHRpZiAodGhpcy4kandlaXhpbi5pc1dlY2hhdCgpKSB7XHJcblx0XHRcdFx0YXdhaXQgdGhpcy4kandlaXhpbi5pbml0SnNzZGsoKTtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygxMjM0KTtcclxuXHRcdFx0XHR0aGlzLnRvQXBwU2hhcmUoKVxyXG5cdFx0XHR9XHJcblx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHRpZiAodGhpcy5oYXZlU2hpZWxkT3BlciA9PSAyKSB7XHJcblx0XHRcdFx0dGhpcy5pbml0SW5kZXgoKVxyXG5cdFx0XHRcdHRoaXMudXBkYXRlVXNlckl0ZW0oe1xyXG5cdFx0XHRcdFx0a2V5OiAnaGF2ZVNoaWVsZE9wZXInLFxyXG5cdFx0XHRcdFx0dmFsOiAwXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAodGhpcy5wYWdlQWN0aXZlICYmIHRoaXMudXNlckluZm8uaWQpIHtcclxuXHRcdFx0XHR0aGlzLmdldENvdXBvbkxpc3QoKVxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0b25QdWxsRG93blJlZnJlc2goKSB7XHJcblx0XHRcdC8vICNpZm5kZWYgQVBQLVBMVVNcclxuXHRcdFx0dW5pLnNob3dOYXZpZ2F0aW9uQmFyTG9hZGluZygpXHJcblx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHR0aGlzLmluaXRSZWZyZXNoKCk7XHJcblx0XHRcdHVuaS5zdG9wUHVsbERvd25SZWZyZXNoKClcclxuXHRcdH0sXHJcblx0XHRvblJlYWNoQm90dG9tKCkge1xyXG5cdFx0XHRpZiAodGhpcy5saXN0LmN1cnJlbnRfcGFnZSA+PSB0aGlzLmxpc3QubGFzdF9wYWdlIHx8IHRoaXMubG9hZGluZykgcmV0dXJuO1xyXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG5cdFx0XHR0aGlzLmdldExpc3QodGhpcy5wYXJhbS5wYWdlICsgMSk7XHJcblx0XHR9LFxyXG5cdFx0b25TaGFyZUFwcE1lc3NhZ2UoZSkge1xyXG5cdFx0XHRsZXQge1xyXG5cdFx0XHRcdGlkOiBwaWQgPSAwXHJcblx0XHRcdH0gPSB0aGlzLnVzZXJJbmZvXHJcblx0XHRcdGxldCBwYXRoID0gYC9wYWdlcy9zZXJ2aWNlP3BpZD0ke3BpZH1gXHJcblx0XHRcdHRoaXMuJHV0aWwubG9nKHBhdGgpXHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0dGl0bGU6ICcnLFxyXG5cdFx0XHRcdGltYWdlVXJsOiAnJyxcclxuXHRcdFx0XHRwYXRoLFxyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHR0dWljaHUoKXtcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6Jy9wYWdlcy9sb2dpbidcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQuLi5tYXBBY3Rpb25zKFsnZ2V0Q29uZmlnSW5mbycsICdnZXRVc2VySW5mbycsICd1cGRhdGVDb21tb25PcHRpb25zJywgJ2dldFNlcnZpY2VJbmRleCcsICdnZXRTZXJ2aWNlTGlzdCddKSxcclxuXHRcdFx0Li4ubWFwTXV0YXRpb25zKFsndXBkYXRlU2VydmljZUl0ZW0nLCAndXBkYXRlVGVjaG5pY2lhbkl0ZW0nLCAndXBkYXRlVXNlckl0ZW0nXSksXHJcblx0XHRcdGFzeW5jIGluaXRJbmRleChyZWZyZXNoID0gZmFsc2UpIHtcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0cGlkID0gMFxyXG5cdFx0XHRcdH0gPSB0aGlzLm9wdGlvbnNcclxuXHRcdFx0XHRpZiAoIXJlZnJlc2ggJiYgdGhpcy5wYWdlQWN0aXZlICYmICFwaWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNMb2FkID0gdHJ1ZVxyXG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2VcclxuXHRcdFx0XHRcdHRoaXMuJHV0aWwuaGlkZUFsbCgpXHJcblx0XHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRpc0d6aExvZ2luXHJcblx0XHRcdFx0fSA9IHRoaXNcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0aWQ6IHVpZCA9IDBcclxuXHRcdFx0XHR9ID0gdGhpcy51c2VySW5mb1xyXG5cdFx0XHRcdGlmIChwaWQgJiYgIXVpZCkge1xyXG5cdFx0XHRcdFx0Ly8gI2lmZGVmIEg1XHJcblx0XHRcdFx0XHRpZiAoaXNHemhMb2dpbikge1xyXG5cdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmdldFVzZXJJbmZvKClcclxuXHRcdFx0XHRcdFx0fSwgMTAwMClcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZ2V0VXNlckluZm8oKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ly8gI2VuZGlmXHJcblx0XHRcdFx0XHQvLyAjaWZuZGVmIEg1XHJcblx0XHRcdFx0XHRhd2FpdCB0aGlzLmdldFVzZXJJbmZvKClcclxuXHRcdFx0XHRcdC8vICNlbmRpZiBcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGlmICghdGhpcy5jb25maWdJbmZvLmlkIHx8IHJlZnJlc2gpIHtcclxuXHRcdFx0XHRcdGF3YWl0IHRoaXMuZ2V0Q29uZmlnSW5mbygpXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0bG9jYXRpb25cclxuXHRcdFx0XHR9ID0gdGhpc1xyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRwbHVnQXV0aCA9IHt9XHJcblx0XHRcdFx0fSA9IHRoaXMuY29uZmlnSW5mb1xyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRyZWNvbW1lbmQgPSBmYWxzZVxyXG5cdFx0XHRcdH0gPSBwbHVnQXV0aFxyXG5cclxuXHRcdFx0XHRpZiAocmVjb21tZW5kICYmICFsb2NhdGlvbi5sYXQpIHtcclxuXHRcdFx0XHRcdC8vICNpZmRlZiBINVxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuJGp3ZWl4aW4uaXNXZWNoYXQoKSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLiR1dGlsLnNob3dMb2FkaW5nKClcclxuXHRcdFx0XHRcdFx0Ly8gYXdhaXQgdGhpcy4kandlaXhpbi5pbml0SnNzZGsoKTtcclxuXHRcdFx0XHRcdFx0YXdhaXQgdGhpcy4kandlaXhpbi53eFJlYWR5MigpO1xyXG5cdFx0XHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0XHRcdGxhdGl0dWRlOiBsYXQgPSAwLFxyXG5cdFx0XHRcdFx0XHRcdGxvbmdpdHVkZTogbG5nID0gMFxyXG5cdFx0XHRcdFx0XHR9ID0gYXdhaXQgdGhpcy4kandlaXhpbi5nZXRXeExvY2F0aW9uKClcclxuXHRcdFx0XHRcdFx0bG9jYXRpb24gPSB7XHJcblx0XHRcdFx0XHRcdFx0bG5nLFxyXG5cdFx0XHRcdFx0XHRcdGxhdCxcclxuXHRcdFx0XHRcdFx0XHRhZGRyZXNzOiAn5a6a5L2N5aSx6LSlJyxcclxuXHRcdFx0XHRcdFx0XHRwcm92aW5jZTogJycsXHJcblx0XHRcdFx0XHRcdFx0Y2l0eTogJycsXHJcblx0XHRcdFx0XHRcdFx0ZGlzdHJpY3Q6ICcnXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHRcdFx0Ly8gI2lmbmRlZiBINVxyXG5cdFx0XHRcdFx0Ly8gbG9jYXRpb24gPSBhd2FpdCB0aGlzLiR1dGlsLmdldEJtYXBMb2NhdGlvbigpXHJcblx0XHRcdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0XHRcdHRoaXMudXBkYXRlVXNlckl0ZW0oe1xyXG5cdFx0XHRcdFx0XHRrZXk6ICdsb2NhdGlvbicsXHJcblx0XHRcdFx0XHRcdHZhbDogbG9jYXRpb25cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRsbmcgPSAwLFxyXG5cdFx0XHRcdFx0XHRsYXQgPSAwXHJcblx0XHRcdFx0fSA9IGxvY2F0aW9uXHJcblxyXG5cdFx0XHRcdGF3YWl0IHRoaXMuZ2V0U2VydmljZUluZGV4KHtcclxuXHRcdFx0XHRcdGxhdCxcclxuXHRcdFx0XHRcdGxuZ1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy51cGRhdGVTZXJ2aWNlSXRlbSh7XHJcblx0XHRcdFx0XHRrZXk6ICdwYWdlQWN0aXZlJyxcclxuXHRcdFx0XHRcdHZhbDogdHJ1ZVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy5pc0xvYWQgPSB0cnVlXHJcblx0XHRcdFx0aWYgKHRoaXMudXNlckluZm8uaWQpIHtcclxuXHRcdFx0XHRcdGF3YWl0IFByb21pc2UuYWxsKFt0aGlzLmdldExpc3QoMSksIHRoaXMuZ2V0Q291cG9uTGlzdCgpXSlcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0YXdhaXQgdGhpcy5nZXRMaXN0KDEpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbml0UmVmcmVzaCgpIHtcclxuXHRcdFx0XHR0aGlzLmluaXRJbmRleCh0cnVlKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b0FwcFNoYXJlKCkge1xyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRpZDogcGlkID0gMFxyXG5cdFx0XHRcdH0gPSB0aGlzLnVzZXJJbmZvXHJcblx0XHRcdFx0bGV0IHRpdGxlID0gJ+mmlumhtSdcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0c2l0ZXJvb3RcclxuXHRcdFx0XHR9ID0gc2l0ZUluZm9cclxuXHRcdFx0XHRsZXQgdXJsID0gc2l0ZXJvb3Quc3BsaXQoJy9pbmRleC5waHAnKVswXVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKDEyMyx1cmwpO1xyXG5cdFx0XHRcdGxldCBocmVmID0gYCR7dXJsfS9oNS8jL3BhZ2VzL3NlcnZpY2U/cGlkPSR7cGlkfWBcclxuXHRcdFx0XHRsZXQgaW1hZ2VVcmwgPSAnJ1xyXG5cdFx0XHRcdHRoaXMuJGp3ZWl4aW4ud3hSZWFkeSgoKSA9PiB7XHJcblx0XHRcdFx0XHR0aGlzLiRqd2VpeGluLnNob3dPcHRpb25NZW51KClcclxuXHRcdFx0XHRcdHRoaXMuJGp3ZWl4aW4uc2hhcmVBcHBNZXNzYWdlKHRpdGxlLCAnJywgaHJlZiwgaW1hZ2VVcmwpXHJcblx0XHRcdFx0XHR0aGlzLiRqd2VpeGluLnNoYXJlVGltZWxpbmVNZXNzYWdlKHRpdGxlLCBocmVmLCBpbWFnZVVybClcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDova7mkq3lm74v5bm/5ZGK5Zu+6Lez6L2sXHJcblx0XHRcdGdvQmFubmVyKGUpIHtcclxuXHRcdFx0XHQvLyBjb25uZWN0X3R5cGUgMeafpeeci+Wkp+Wbvu+8jDLmlofnq6BcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0Y29ubmVjdF90eXBlLFxyXG5cdFx0XHRcdFx0dHlwZV9pZDogaWQgPSAwLFxyXG5cdFx0XHRcdFx0aW1nOiBjdXJyZW50XHJcblx0XHRcdFx0fSA9IGVcclxuXHRcdFx0XHRzd2l0Y2ggKGNvbm5lY3RfdHlwZSkge1xyXG5cdFx0XHRcdFx0Y2FzZSAxOlxyXG5cdFx0XHRcdFx0XHR0aGlzLiR1dGlsLnByZXZpZXdJbWFnZSh7XHJcblx0XHRcdFx0XHRcdFx0Y3VycmVudCxcclxuXHRcdFx0XHRcdFx0XHR1cmxzOiBbY3VycmVudF1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0XHRjYXNlIDI6XHJcblx0XHRcdFx0XHRcdHRoaXMuJHV0aWwuZ29Vcmwoe1xyXG5cdFx0XHRcdFx0XHRcdHVybDogYC91c2VyL3BhZ2VzL2FydGljbGU/aWQ9JHtpZH1gXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Z29DYXRlKGUpIHtcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0aWQsXHJcblx0XHRcdFx0XHR0aXRsZSxcclxuXHRcdFx0XHRcdHVybDogbGluayA9ICcnXHJcblx0XHRcdFx0fSA9IGVcclxuXHRcdFx0XHRsZXQgdXJsID0gbGluayB8fCBgL3VzZXIvcGFnZXMvc2VydmljZS9saXN0P2lkPSR7aWR9JnRpdGxlPSR7dGl0bGV9YFxyXG5cdFx0XHRcdHRoaXMuJHV0aWwuZ29Vcmwoe1xyXG5cdFx0XHRcdFx0dXJsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0YXN5bmMgdXNlckdldENvdXBvbigpIHtcclxuXHRcdFx0XHRsZXQgaWRzID0gW11cclxuXHRcdFx0XHR0aGlzLmNvdXBvbkxpc3QuZm9yRWFjaCh2ID0+IHtcclxuXHRcdFx0XHRcdGlkcy5wdXNoKHYuaWQpXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRsZXQgcmVzID0gYXdhaXQgdGhpcy4kYXBpLnNlcnZpY2UudXNlckdldENvdXBvbih7XHJcblx0XHRcdFx0XHRjb3Vwb25faWQ6IGlkc1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy4kdXRpbC5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0dGl0bGU6IGDpooblj5bmiJDlip9gXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuJHV0aWwuZ29Vcmwoe1xyXG5cdFx0XHRcdFx0XHR1cmw6ICcvdXNlci9wYWdlcy9jb3Vwb24vbGlzdCdcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSwgMTAwMClcclxuXHRcdFx0XHR0aGlzLiRyZWZzLmNvdXBvbl9pdGVtLmNsb3NlKClcclxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZVxyXG5cdFx0XHRcdHRoaXMuJHV0aWwuaGlkZUFsbCgpXHJcblx0XHRcdH0sXHJcblx0XHRcdGFzeW5jIGdldENvdXBvbkxpc3QoKSB7XHJcblx0XHRcdFx0bGV0IGxpc3QgPSBhd2FpdCB0aGlzLiRhcGkuc2VydmljZS5jb3Vwb25MaXN0KClcclxuXHRcdFx0XHR0aGlzLmNvdXBvbkxpc3QgPSBsaXN0XHJcblx0XHRcdFx0aWYgKGxpc3QubGVuZ3RoID4gMCAmJiB0aGlzLmlzTG9hZCkge1xyXG5cdFx0XHRcdFx0dGhpcy4kcmVmcy5jb3Vwb25faXRlbS5vcGVuKClcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLiR1dGlsLmhpZGVBbGwoKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRhc3luYyBnZXRMaXN0KHBhZ2UgPSAwKSB7XHJcblx0XHRcdFx0aWYgKHBhZ2UpIHtcclxuXHRcdFx0XHRcdGxldCBwYXJhbSA9IHRoaXMuJHV0aWwuZGVlcENvcHkodGhpcy5wYXJhbSlcclxuXHRcdFx0XHRcdHBhcmFtLnBhZ2UgPSBwYWdlXHJcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZVNlcnZpY2VJdGVtKHtcclxuXHRcdFx0XHRcdFx0a2V5OiAncGFyYW0nLFxyXG5cdFx0XHRcdFx0XHR2YWw6IHBhcmFtXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0bGlzdDogb2xkTGlzdCxcclxuXHRcdFx0XHRcdHBhcmFtLFxyXG5cdFx0XHRcdFx0dGFiTGlzdCxcclxuXHRcdFx0XHRcdGFjdGl2ZUluZGV4XHJcblx0XHRcdFx0fSA9IHRoaXNcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0c29ydCxcclxuXHRcdFx0XHRcdHNpZ25cclxuXHRcdFx0XHR9ID0gdGFiTGlzdFthY3RpdmVJbmRleF1cclxuXHRcdFx0XHRsZXQgZGVzYyA9IGFjdGl2ZUluZGV4ID09IDAgfHwgc2lnbiA9PSAxID8gJycgOiAnZGVzYydcclxuXHRcdFx0XHRwYXJhbS5zb3J0ID0gYCR7c29ydH0gJHtkZXNjfWBcclxuXHRcdFx0XHRhd2FpdCB0aGlzLmdldFNlcnZpY2VMaXN0KHBhcmFtKVxyXG5cdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy4kdXRpbC5oaWRlQWxsKClcclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGVyVGFiQ2hhbmdlKGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy51cGRhdGVTZXJ2aWNlSXRlbSh7XHJcblx0XHRcdFx0XHRrZXk6ICdhY3RpdmVJbmRleCcsXHJcblx0XHRcdFx0XHR2YWw6IGluZGV4XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRsZXQgdGFiTGlzdCA9IHRoaXMuJHV0aWwuZGVlcENvcHkodGhpcy50YWJMaXN0KVxyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRpc19zaWduLFxyXG5cdFx0XHRcdFx0c2lnbixcclxuXHRcdFx0XHR9ID0gdGFiTGlzdFtpbmRleF07XHJcblx0XHRcdFx0aWYgKGlzX3NpZ24pIHtcclxuXHRcdFx0XHRcdHRhYkxpc3RbaW5kZXhdLnNpZ24gPSBzaWduID09IDAgPyAxIDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy51cGRhdGVTZXJ2aWNlSXRlbSh7XHJcblx0XHRcdFx0XHRrZXk6ICd0YWJMaXN0JyxcclxuXHRcdFx0XHRcdHZhbDogdGFiTGlzdFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy4kdXRpbC5zaG93TG9hZGluZygpXHJcblx0XHRcdFx0dW5pLnBhZ2VTY3JvbGxUbyh7XHJcblx0XHRcdFx0XHRzY3JvbGxUb3A6IDBcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHRoaXMuZ2V0TGlzdCgxKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b1RlY2huaWNpYW4oaW5kZXgpIHtcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0aWQsXHJcblx0XHRcdFx0XHRjaXR5X2lkLFxyXG5cdFx0XHRcdFx0Y29hY2hfbmFtZVxyXG5cdFx0XHRcdH0gPSB0aGlzLnJlY29tbWVuZF9saXN0W2luZGV4XVxyXG5cdFx0XHRcdHRoaXMudXBkYXRlVGVjaG5pY2lhbkl0ZW0oe1xyXG5cdFx0XHRcdFx0a2V5OiAncGFnZUFjdGl2ZScsXHJcblx0XHRcdFx0XHR2YWw6IGZhbHNlXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHR0aGlzLiR1dGlsLmdvVXJsKHtcclxuXHRcdFx0XHRcdHVybDogYC9wYWdlcy90ZWNobmljaWFuP2NvYWNoX2lkPSR7aWR9JmNvYWNoX25hbWU9JHtjb2FjaF9uYW1lfSZjaXR5X2lkPSR7Y2l0eV9pZH1gLFxyXG5cdFx0XHRcdFx0b3BlblR5cGU6IGByZUxhdW5jaGBcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cclxuXHQucGFnZXMtaG9tZSB7XHJcblx0XHQuc2VhcmNoLWJveCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdHotaW5kZXg6IDk7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHR9XHJcblxyXG5cdFx0LnJlY29tbWVuZC10ZWNobmljaWFuIHtcclxuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdFx0d2lkdGg6IDY5MHJweDtcclxuXHRcdFx0LnJlY29tbWVuZC1pdGVtIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5yZWNvbW1lbmQtaXRlbS50eXBlLTEge1xyXG5cdFx0XHRcdHdpZHRoOiAxODBycHg7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDI2cnB4O1xyXG5cclxuXHRcdFx0XHQuY292ZXIge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDE4MHJweDtcclxuXHRcdFx0XHRcdGhlaWdodDogMTgwcnB4O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmVsbGlwc2lzIHtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogMTgwcnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnJlY29tbWVuZC1pdGVtLnR5cGUtMiB7XHJcblx0XHRcdFx0d2lkdGg6IDIwM3JweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDE1MXJweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjRjRGNkY3O1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEycnB4O1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuXHJcblx0XHRcdFx0LmNvdmVyIHtcclxuXHRcdFx0XHRcdHdpZHRoOiA3MHJweDtcclxuXHRcdFx0XHRcdGhlaWdodDogNzBycHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuZWxsaXBzaXMge1xyXG5cdFx0XHRcdFx0bWF4LXdpZHRoOiA4MnJweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5pY29ueWR1aXhpbmd4aW5nc2hpeGluIHtcclxuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgyNzBkZWcsICNGQUQ5NjEgMCUsICNGNzZCMUMgMTAwJSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuc3Rhci10ZXh0IHtcclxuXHRcdFx0XHRcdGhlaWdodDogMjZycHg7XHJcblx0XHRcdFx0XHRjb2xvcjogI0ZGOTUxOTtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiA2cnB4O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0Lm5ldy10ZWNobmljaWFuIHtcclxuXHRcdFx0XHRcdHdpZHRoOiA2N3JweDtcclxuXHRcdFx0XHRcdGhlaWdodDogMzBycHg7XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA4cnB4O1xyXG5cdFx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGVaKDM2MGRlZyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucmVjb21tZW5kLWl0ZW06bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5saXN0LWl0ZW0ge1xyXG5cdFx0XHQuY292ZXIge1xyXG5cdFx0XHRcdHdpZHRoOiAxODBycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxODBycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50aW1lLWxvbmcge1xyXG5cdFx0XHRcdG1pbi13aWR0aDogNzJycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMHJweDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDVycHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgIzRDNTQ1QSAwJSwgIzI4MkIzNCAxMDAlKTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA0cnB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBycHg7XHJcblx0XHRcdFx0Y29sb3I6ICNGRkVFQjk7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxNnJweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmYtaWNvbnRleHQge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMThycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50ZXh0LWRlbGV0ZSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyNHJweDtcclxuXHRcdFx0XHRjb2xvcjogI0I5QjlCOTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lml0ZW0tYnRuIHtcclxuXHRcdFx0XHR3aWR0aDogMTUwcnB4O1xyXG5cdFx0XHRcdGhlaWdodDogNTJycHg7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwcnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucmFkaXVzLXRvcCB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzMHJweCAzMHJweCAwIDA7XHJcblx0fVx0XHJcblx0XHJcblx0LmNvdXBvbi1wb3B1cCB7XHJcblx0XHR3aWR0aDogNjU4cnB4O1xyXG5cdFx0aGVpZ2h0OiA4NjVycHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0LmJnLWltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmljb24tY2xvc2Uge1xyXG5cdFx0XHRmb250LXNpemU6IDYwcnB4O1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogNTBycHg7XHJcblx0XHRcdHJpZ2h0OiA2MHJweDtcclxuXHRcdFx0ei1pbmRleDogOTk5O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb3Vwb24taW5mbyB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cclxuXHRcdFx0LnRvcHMge1xyXG5cdFx0XHRcdHdpZHRoOiA0ODBycHg7XHJcblx0XHRcdFx0Y29sb3I6ICNGQjQ1MjM7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMjYwcnB4O1xyXG5cclxuXHRcdFx0XHQ+dmlldzpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lmxpc3RzIHtcclxuXHRcdFx0XHR3aWR0aDogNTAwcnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMzAwcnB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEwcnB4O1xyXG5cdFx0XHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Ym90dG9tOiAyMjJycHg7XHJcblxyXG5cdFx0XHRcdC5saXN0IHtcclxuXHRcdFx0XHRcdHdpZHRoOiA0MjBycHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEzMHJweDtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcnB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogNXJweDtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdFx0XHQ+aW1hZ2Uge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdD52aWV3IHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDhycHg7XHJcblxyXG5cdFx0XHRcdFx0XHQ+dmlldzpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAzOCU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdD52aWV3Om50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0XHRmbGV4OiAxO1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMTVycHg7XHJcblx0XHRcdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LnByaWNlIHtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDMwcnB4O1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjRkI0NTIzO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQudGl0bGUge1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM2cnB4O1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQucHJpY2VfdGV4dCB7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNjY2M7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cdFx0dmlldy5idG5zIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0aGVpZ2h0OiA4MnJweDtcclxuXHRcdFx0Ym90dG9tOiAwcnB4O1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cclxuXHRcdFx0PnZpZXcge1xyXG5cdFx0XHRcdHdpZHRoOiA0MjJycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiA4MnJweDtcclxuXHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNDBycHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAzNHJweDtcclxuXHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRcclxuXHQuc2VydmV0aXAge1xyXG5cdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdG1hcmdpbjogMjJycHggMDtcclxuXHR9XHJcblxyXG5cdC5zZXJ2ZWZje1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG5cdFxyXG5cdC52YW4taW1hZ2Uge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdH1cclxuXHJcblx0LnZhbi1pbWcge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG5cdC5tYXJnaW4tMjAge1xyXG5cdFx0bWFyZ2luOiAwLjUzMzMzcmVtO1xyXG5cdH1cdFxyXG5cdFxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///11\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 13));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 15));\nvar _vuex = __webpack_require__(/*! vuex */ 16);\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/utils/permission.js */ 106));\nvar _siteinfo = _interopRequireDefault(__webpack_require__(/*! @/siteinfo.js */ 18));\nvar _serviceListItem = _interopRequireDefault(__webpack_require__(/*! @/components/service-list-item.vue */ 19));\nvar _tabbar = _interopRequireDefault(__webpack_require__(/*! @/components/tabbar.vue */ 25));\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 components: {\n serviceListItem: _serviceListItem.default,\n tabbar: _tabbar.default\n },\n data: function data() {\n return {\n couponList: [],\n //优惠券 \n isLoad: false,\n options: {},\n loading: true,\n lockTap: false,\n servefc: [{\n icon: 'icon-kzj',\n text: '实名认证'\n }, {\n icon: 'icon-kpk',\n text: '爽约包赔'\n }, {\n icon: 'icon-sybp',\n text: '超时秒退'\n }, {\n icon: 'icon-kzz',\n text: '资质证书'\n }]\n };\n },\n computed: (0, _vuex.mapState)({\n pageActive: function pageActive(state) {\n return state.service.pageActive;\n },\n activeIndex: function activeIndex(state) {\n return state.service.activeIndex;\n },\n tabList: function tabList(state) {\n return state.service.tabList;\n },\n param: function param(state) {\n return state.service.param;\n },\n list: function list(state) {\n return state.service.list;\n },\n banner: function banner(state) {\n return state.service.banner;\n },\n service_cate: function service_cate(state) {\n return state.service.service_cate;\n },\n recommend_list: function recommend_list(state) {\n return state.service.recommend_list;\n },\n recommend_style: function recommend_style(state) {\n return state.service.recommend_style;\n },\n primaryColor: function primaryColor(state) {\n return state.config.configInfo.primaryColor;\n },\n subColor: function subColor(state) {\n return state.config.configInfo.subColor;\n },\n configInfo: function configInfo(state) {\n return state.config.configInfo;\n },\n autograph: function autograph(state) {\n return state.user.autograph;\n },\n userInfo: function userInfo(state) {\n return state.user.userInfo;\n },\n location: function location(state) {\n return state.user.location;\n },\n isGzhLogin: function isGzhLogin(state) {\n return state.user.isGzhLogin;\n },\n haveShieldOper: function haveShieldOper(state) {\n return state.user.haveShieldOper;\n }\n }),\n onLoad: function onLoad(options) {\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 _this.$util.showLoading();\n _context.next = 3;\n return _this.updateCommonOptions(options);\n case 3:\n options = _context.sent;\n _this.options = options;\n uni.onNetworkStatusChange(function (res) {\n var isConnected = res.isConnected;\n if (isConnected && !_this.pageActive) {\n _this.initIndex();\n return;\n }\n });\n _context.next = 8;\n return _this.initIndex();\n case 8:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n onShow: function onShow() {\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 __f__(\"log\", 1111, \" at pages/service.vue:267\");\n if (_this2.haveShieldOper == 2) {\n _this2.initIndex();\n _this2.updateUserItem({\n key: 'haveShieldOper',\n val: 0\n });\n }\n if (_this2.pageActive && _this2.userInfo.id) {\n _this2.getCouponList();\n }\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n onPullDownRefresh: function onPullDownRefresh() {\n this.initRefresh();\n uni.stopPullDownRefresh();\n },\n onReachBottom: function onReachBottom() {\n if (this.list.current_page >= this.list.last_page || this.loading) return;\n this.loading = true;\n this.getList(this.param.page + 1);\n },\n onShareAppMessage: function onShareAppMessage(e) {\n var _this$userInfo$id = this.userInfo.id,\n pid = _this$userInfo$id === void 0 ? 0 : _this$userInfo$id;\n var path = \"/pages/service?pid=\".concat(pid);\n this.$util.log(path);\n return {\n title: '',\n imageUrl: '',\n path: path\n };\n },\n methods: _objectSpread(_objectSpread(_objectSpread({\n tuichu: function tuichu() {\n uni.navigateTo({\n url: '/pages/login'\n });\n }\n }, (0, _vuex.mapActions)(['getConfigInfo', 'getUserInfo', 'updateCommonOptions', 'getServiceIndex', 'getServiceList'])), (0, _vuex.mapMutations)(['updateServiceItem', 'updateTechnicianItem', 'updateUserItem'])), {}, {\n initIndex: function initIndex() {\n var _arguments = arguments,\n _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var refresh, _this3$options$pid, pid, isGzhLogin, _this3$userInfo$id, uid, location, _this3$configInfo$plu, plugAuth, _plugAuth$recommend, recommend, _location$lng, lng, _location$lat, lat;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n refresh = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : false;\n _this3$options$pid = _this3.options.pid, pid = _this3$options$pid === void 0 ? 0 : _this3$options$pid;\n if (!(!refresh && _this3.pageActive && !pid)) {\n _context3.next = 7;\n break;\n }\n _this3.isLoad = true;\n _this3.loading = false;\n _this3.$util.hideAll();\n return _context3.abrupt(\"return\");\n case 7:\n isGzhLogin = _this3.isGzhLogin;\n _this3$userInfo$id = _this3.userInfo.id, uid = _this3$userInfo$id === void 0 ? 0 : _this3$userInfo$id;\n if (!(pid && !uid)) {\n _context3.next = 12;\n break;\n }\n _context3.next = 12;\n return _this3.getUserInfo();\n case 12:\n if (!(!_this3.configInfo.id || refresh)) {\n _context3.next = 15;\n break;\n }\n _context3.next = 15;\n return _this3.getConfigInfo();\n case 15:\n location = _this3.location;\n _this3$configInfo$plu = _this3.configInfo.plugAuth, plugAuth = _this3$configInfo$plu === void 0 ? {} : _this3$configInfo$plu;\n _plugAuth$recommend = plugAuth.recommend, recommend = _plugAuth$recommend === void 0 ? false : _plugAuth$recommend;\n if (recommend && !location.lat) {\n // location = await this.$util.getBmapLocation()\n\n _this3.updateUserItem({\n key: 'location',\n val: location\n });\n }\n _location$lng = location.lng, lng = _location$lng === void 0 ? 0 : _location$lng, _location$lat = location.lat, lat = _location$lat === void 0 ? 0 : _location$lat;\n _context3.next = 22;\n return _this3.getServiceIndex({\n lat: lat,\n lng: lng\n });\n case 22:\n _this3.updateServiceItem({\n key: 'pageActive',\n val: true\n });\n _this3.isLoad = true;\n if (!_this3.userInfo.id) {\n _context3.next = 29;\n break;\n }\n _context3.next = 27;\n return Promise.all([_this3.getList(1), _this3.getCouponList()]);\n case 27:\n _context3.next = 31;\n break;\n case 29:\n _context3.next = 31;\n return _this3.getList(1);\n case 31:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n initRefresh: function initRefresh() {\n this.initIndex(true);\n },\n toAppShare: function toAppShare() {\n var _this4 = this;\n var _this$userInfo$id2 = this.userInfo.id,\n pid = _this$userInfo$id2 === void 0 ? 0 : _this$userInfo$id2;\n var title = '首页';\n var siteroot = _siteinfo.default.siteroot;\n var url = siteroot.split('/index.php')[0];\n __f__(\"log\", 123, url, \" at pages/service.vue:424\");\n var href = \"\".concat(url, \"/h5/#/pages/service?pid=\").concat(pid);\n var imageUrl = '';\n this.$jweixin.wxReady(function () {\n _this4.$jweixin.showOptionMenu();\n _this4.$jweixin.shareAppMessage(title, '', href, imageUrl);\n _this4.$jweixin.shareTimelineMessage(title, href, imageUrl);\n });\n },\n // 轮播图/广告图跳转\n goBanner: function goBanner(e) {\n // connect_type 1查看大图,2文章\n var connect_type = e.connect_type,\n _e$type_id = e.type_id,\n id = _e$type_id === void 0 ? 0 : _e$type_id,\n current = e.img;\n switch (connect_type) {\n case 1:\n this.$util.previewImage({\n current: current,\n urls: [current]\n });\n break;\n case 2:\n this.$util.goUrl({\n url: \"/user/pages/article?id=\".concat(id)\n });\n break;\n }\n },\n goCate: function goCate(e) {\n if (e.title == '师傅入驻') {\n var that = this;\n var appAuthorizeSetting = uni.getAppAuthorizeSetting();\n __f__(\"log\", 9987, appAuthorizeSetting, \" at pages/service.vue:459\");\n if (appAuthorizeSetting.locationAuthorized != 'authorized') {\n that.$refs.perpopup.open('top');\n uni.showModal({\n title: '温馨提示',\n content: '为了获取您附近的服务人员,更好的为您服务,我们需要申请位置信息权限,请您确认授权,否则无法使用该功能~',\n cancelText: '关闭',\n confirmText: '去授权',\n success: function success(res) {\n if (res.confirm) {\n that.$refs.perpopup.close();\n _permission.default.gotoAppPermissionSetting();\n } else {\n that.$refs.perpopup.close();\n }\n }\n });\n }\n return;\n }\n var id = e.id,\n title = e.title,\n _e$url = e.url,\n link = _e$url === void 0 ? '' : _e$url;\n var url = link || \"/user/pages/service/list?id=\".concat(id, \"&title=\").concat(title);\n this.$util.goUrl({\n url: url\n });\n },\n userGetCoupon: function userGetCoupon() {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n var ids, res;\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n ids = [];\n _this5.couponList.forEach(function (v) {\n ids.push(v.id);\n });\n _context4.next = 4;\n return _this5.$api.service.userGetCoupon({\n coupon_id: ids\n });\n case 4:\n res = _context4.sent;\n _this5.$util.showToast({\n title: \"\\u9886\\u53D6\\u6210\\u529F\"\n });\n setTimeout(function () {\n _this5.$util.goUrl({\n url: '/user/pages/coupon/list'\n });\n }, 1000);\n _this5.$refs.coupon_item.close();\n _this5.loading = false;\n _this5.$util.hideAll();\n case 10:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n getCouponList: function getCouponList() {\n var _this6 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n var list;\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 _this6.$api.service.couponList();\n case 2:\n list = _context5.sent;\n _this6.couponList = list;\n if (list.length > 0 && _this6.isLoad) {\n _this6.$refs.coupon_item.open();\n }\n _this6.loading = false;\n _this6.$util.hideAll();\n case 7:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n getList: function getList() {\n var _arguments2 = arguments,\n _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n var page, _param, oldList, param, tabList, activeIndex, _tabList$activeIndex, sort, sign, desc;\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n page = _arguments2.length > 0 && _arguments2[0] !== undefined ? _arguments2[0] : 0;\n if (page) {\n _param = _this7.$util.deepCopy(_this7.param);\n _param.page = page;\n _this7.updateServiceItem({\n key: 'param',\n val: _param\n });\n }\n oldList = _this7.list, param = _this7.param, tabList = _this7.tabList, activeIndex = _this7.activeIndex;\n _tabList$activeIndex = tabList[activeIndex], sort = _tabList$activeIndex.sort, sign = _tabList$activeIndex.sign;\n desc = activeIndex == 0 || sign == 1 ? '' : 'desc';\n param.sort = \"\".concat(sort, \" \").concat(desc);\n _context6.next = 8;\n return _this7.getServiceList(param);\n case 8:\n _this7.loading = false;\n _this7.$util.hideAll();\n case 10:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n handerTabChange: function handerTabChange(index) {\n this.updateServiceItem({\n key: 'activeIndex',\n val: index\n });\n var tabList = this.$util.deepCopy(this.tabList);\n var _tabList$index = tabList[index],\n is_sign = _tabList$index.is_sign,\n sign = _tabList$index.sign;\n if (is_sign) {\n tabList[index].sign = sign == 0 ? 1 : 0;\n }\n this.updateServiceItem({\n key: 'tabList',\n val: tabList\n });\n this.$util.showLoading();\n uni.pageScrollTo({\n scrollTop: 0\n });\n this.getList(1);\n },\n toTechnician: function toTechnician(index) {\n var _this$recommend_list$ = this.recommend_list[index],\n id = _this$recommend_list$.id,\n city_id = _this$recommend_list$.city_id,\n coach_name = _this$recommend_list$.coach_name;\n this.updateTechnicianItem({\n key: 'pageActive',\n val: false\n });\n this.$util.goUrl({\n url: \"/pages/technician?coach_id=\".concat(id, \"&coach_name=\").concat(coach_name, \"&city_id=\").concat(city_id),\n openType: \"reLaunch\"\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 */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvc2VydmljZS52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsInNlcnZpY2VMaXN0SXRlbSIsInRhYmJhciIsImRhdGEiLCJjb3Vwb25MaXN0IiwiaXNMb2FkIiwib3B0aW9ucyIsImxvYWRpbmciLCJsb2NrVGFwIiwic2VydmVmYyIsImljb24iLCJ0ZXh0IiwiY29tcHV0ZWQiLCJwYWdlQWN0aXZlIiwiYWN0aXZlSW5kZXgiLCJ0YWJMaXN0IiwicGFyYW0iLCJsaXN0IiwiYmFubmVyIiwic2VydmljZV9jYXRlIiwicmVjb21tZW5kX2xpc3QiLCJyZWNvbW1lbmRfc3R5bGUiLCJwcmltYXJ5Q29sb3IiLCJzdWJDb2xvciIsImNvbmZpZ0luZm8iLCJhdXRvZ3JhcGgiLCJ1c2VySW5mbyIsImxvY2F0aW9uIiwiaXNHemhMb2dpbiIsImhhdmVTaGllbGRPcGVyIiwib25Mb2FkIiwidW5pIiwiaXNDb25uZWN0ZWQiLCJyZXMiLCJvblNob3ciLCJrZXkiLCJ2YWwiLCJvblB1bGxEb3duUmVmcmVzaCIsIm9uUmVhY2hCb3R0b20iLCJvblNoYXJlQXBwTWVzc2FnZSIsImlkIiwicGlkIiwidGl0bGUiLCJpbWFnZVVybCIsInBhdGgiLCJtZXRob2RzIiwidHVpY2h1IiwidXJsIiwiaW5pdEluZGV4IiwicmVmcmVzaCIsInBsdWdBdXRoIiwicmVjb21tZW5kIiwibG5nIiwibGF0IiwiUHJvbWlzZSIsImluaXRSZWZyZXNoIiwidG9BcHBTaGFyZSIsInNpdGVyb290Iiwic2l0ZUluZm8iLCJnb0Jhbm5lciIsImNvbm5lY3RfdHlwZSIsImUiLCJ0eXBlX2lkIiwiY3VycmVudCIsImltZyIsInVybHMiLCJnb0NhdGUiLCJ0aGF0IiwiY29udGVudCIsImNhbmNlbFRleHQiLCJjb25maXJtVGV4dCIsInN1Y2Nlc3MiLCJwZXJtaXNpb24iLCJsaW5rIiwidXNlckdldENvdXBvbiIsImlkcyIsImNvdXBvbl9pZCIsInNldFRpbWVvdXQiLCJnZXRDb3Vwb25MaXN0IiwiZ2V0TGlzdCIsInBhZ2UiLCJvbGRMaXN0Iiwic29ydCIsInNpZ24iLCJkZXNjIiwiaGFuZGVyVGFiQ2hhbmdlIiwiaXNfc2lnbiIsInNjcm9sbFRvcCIsInRvVGVjaG5pY2lhbiIsImNpdHlfaWQiLCJjb2FjaF9uYW1lIiwib3BlblR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFtTUE7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUFBO0FBQUE7QUFBQSxlQUNBO0VBQ0FBO0lBQ0FDO0lBQ0FDO0VBQ0E7RUFDQUM7SUFDQTtNQUNBQztNQUFBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7UUFDQUQ7UUFDQUM7TUFDQTtRQUNBRDtRQUNBQztNQUNBO1FBQ0FEO1FBQ0FDO01BQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7RUFDQTtFQUNBQztJQUFBO0lBQUE7TUFBQTtRQUFBO1VBQUE7WUFBQTtjQUNBO2NBQUE7Y0FBQSxPQUNBO1lBQUE7Y0FBQXhCO2NBQ0E7Y0FDQXlCO2dCQUNBLElBQ0FDLGNBQ0FDLElBREFEO2dCQUVBO2tCQUNBO2tCQUNBO2dCQUNBO2NBQ0E7Y0FBQTtjQUFBLE9BQ0E7WUFBQTtZQUFBO2NBQUE7VUFBQTtRQUFBO01BQUE7SUFBQTtFQUNBO0VBQ0FFO0lBQUE7SUFBQTtNQUFBO1FBQUE7VUFBQTtZQUFBO2NBQ0E7Y0FRQTtnQkFDQTtnQkFDQTtr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QUE7Z0JBQUFDO2dCQUNBO2tCQUNBaEU7a0JBQ0FBO2tCQUNBO29CQUNBbUI7b0JBQ0FDO2tCQUNBO2dCQUNBO2dCQUVBNkMsVUFJQSxPQUpBaEUsTUFDQUQsUUFHQSxPQUhBQSxPQUNBRCxVQUVBLE9BRkFBLFNBQ0FELGNBQ0EsT0FEQUE7Z0JBQUEsdUJBS0FDLHNCQUZBbUUsa0NBQ0FDO2dCQUVBQztnQkFDQXBFO2dCQUFBO2dCQUFBLE9BQ0E7Y0FBQTtnQkFDQTtnQkFDQTtjQUFBO2NBQUE7Z0JBQUE7WUFBQTtVQUFBO1FBQUE7TUFBQTtJQUNBO0lBQ0FxRTtNQUNBO1FBQ0FsRDtRQUNBQztNQUNBO01BQ0E7TUFDQSxxQkFHQXJCO1FBRkF1RTtRQUNBSDtNQUVBO1FBQ0FwRTtNQUNBO01BQ0E7UUFDQW9CO1FBQ0FDO01BQ0E7TUFDQTtNQUNBTDtRQUNBd0Q7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQSw0QkFJQTtRQUhBaEQ7UUFDQWlEO1FBQ0FDO01BRUE7UUFDQXZEO1FBQ0FDO01BQ0E7TUFDQTtRQUNBVztRQUNBNEM7TUFDQTtJQUNBO0VBQUE7QUFFQTtBQUFBLDJCIiwiZmlsZSI6IjExLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwicGFnZXMtaG9tZVwiIHYtaWY9XCJpc0xvYWRcIj5cclxuXHRcdDwhLS0gI2lmbmRlZiBINSAtLT5cclxuXHRcdDx1bmktbmF2LWJhciA6Zml4ZWQ9XCJ0cnVlXCIgOnNoYWRvdz1cImZhbHNlXCIgOnN0YXR1c0Jhcj1cInRydWVcIiB0aXRsZT1cIummlumhtVwiIGNvbG9yPVwiI2ZmZmZmZlwiXHJcblx0XHRcdDpiYWNrZ3JvdW5kQ29sb3I9XCJwcmltYXJ5Q29sb3JcIj5cclxuXHRcdDwvdW5pLW5hdi1iYXI+XHJcblx0XHQ8dmlldyA6c3R5bGU9XCJ7aGVpZ2h0OmAke2NvbmZpZ0luZm8ubmF2QmFySGVpZ2h0fXB4YH1cIj48L3ZpZXc+XHJcblx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHRcdDx2aWV3IDpjbGFzcz1cIlt7J3JlbCc6YmFubmVyLmxlbmd0aCA+MH1dXCIgOnN0eWxlPVwie2hlaWdodDpiYW5uZXIubGVuZ3RoID4gMD9gNDg0cnB4YDpgODRycHhgfVwiPlxyXG5cdFx0XHQ8YmFubmVyIEBjaGFuZ2U9XCJnb0Jhbm5lclwiIDpsaXN0PVwiYmFubmVyXCIgOm1hcmdpbj1cIjBcIiA6YXV0b3BsYXk9XCJ0cnVlXCIgOmluZGljYXRvckFjdGl2ZUNvbG9yPVwicHJpbWFyeUNvbG9yXCJcclxuXHRcdFx0XHQ6ZG90V2lkdGg9XCIyMFwiIDpkb3RCb3R0b209XCIzMFwiIHYtaWY9XCJiYW5uZXIubGVuZ3RoID4gMFwiPlxyXG5cdFx0XHQ8L2Jhbm5lcj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyY2gtYm94IGZsZXgtY2VudGVyIGZpbGwtYmFzZVwiXHJcblx0XHRcdFx0OmNsYXNzPVwiW3snbXQtbWQnOmJhbm5lci5sZW5ndGggPT0wfSx7J2Ficyc6YmFubmVyLmxlbmd0aD4wfV1cIiA6c3R5bGU9XCJ7IGNvbG9yOiBwcmltYXJ5Q29sb3IgfVwiPlxyXG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwid2lkdGg6IDEwMCU7XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlcnZldGlwIHBsLWxnIHByLWxnIHB0LXNtIHBiLXNtXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IEB0YXAuc3RvcD1cInRvSnVtcCgnc2VydmVmYycsIGluZGV4KVwiIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBzZXJ2ZWZjXCIgOmtleT1cImluZGV4XCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cInNlcnZlZmNcIj5cclxuXHRcdFx0XHRcdFx0XHQ8aSBjbGFzcz1cImljb25mb250XCIgOmNsYXNzPVwiaXRlbS5pY29uXCI+PC9pPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuIGNsYXNzPVwibWwtc21cIj57eyBpdGVtLnRleHQgfX08L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHJcblx0XHQ8IS0tIOWIhuexuyAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZmlsbC1iYXNlIHBsLW1kIHByLW1kXCIgc3R5bGU9XCJvdmVyZmxvdzogaGlkZGVuO1wiIHYtaWY9XCJzZXJ2aWNlX2NhdGUubGVuZ3RoPjBcIj5cclxuXHRcdFx0PGNvbHVtbiBAY2hhbmdlPVwiZ29DYXRlXCIgOmxpc3Q9XCJzZXJ2aWNlX2NhdGVcIiA6aW5kaWNhdG9yQWN0aXZlQ29sb3I9XCJwcmltYXJ5Q29sb3JcIiA6Y29sTnVtPVwiNVwiIDpyb3dOdW09XCIyXCI+XHJcblx0XHRcdDwvY29sdW1uPlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZmlsbC1iYXNlIHBsLWxnIHByLWxnIHBiLWxnXCIgdi1pZj1cInJlY29tbWVuZF9saXN0ICYmIHJlY29tbWVuZF9saXN0Lmxlbmd0aCA+IDBcIj5cclxuXHRcdFx0PHZpZXcgQHRhcC5zdG9wPVwiJHV0aWwuZ29Vcmwoe3VybDogYC9wYWdlcy90ZWNobmljaWFuYCxvcGVuVHlwZTogYHJlTGF1bmNoYH0pXCIgY2xhc3M9XCJmbGV4LWJldHdlZW4gcGItbGdcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImYtc3QtdGl0bGUgdGV4dC1ib2xkIGZsZXgtYmV0d2VlblwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtci1tZFwiIHN0eWxlPVwid2lkdGg6IDE1cHg7aGVpZ2h0OiAxN3B4O1wiPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWcvaWNvbl90ZWNobmljaWFuLnBuZ1wiIGNsYXNzPVwidmFuLWltZ1wiIHN0eWxlPVwib2JqZWN0LWZpdDogY292ZXI7XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdHt7YOWxleekuiR7JHQoJ2FjdGlvbi5hdHRlbmRhbnROYW1lJyl9YH19XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC15LWNlbnRlciBmLWNhcHRpb24gYy1jYXB0aW9uXCI+5p+l55yL5pu05aSaPGkgY2xhc3M9XCJpY29uZm9udCBpY29uLXJpZ2h0XCJcclxuXHRcdFx0XHRcdFx0c3R5bGU9XCJmb250LXNpemU6IDI0cnB4O1wiPjwvaT48L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PHNjcm9sbC12aWV3IHNjcm9sbC14IGNsYXNzPVwicmVjb21tZW5kLXRlY2huaWNpYW5cIj5cclxuXHRcdFx0XHQ8YmxvY2sgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gcmVjb21tZW5kX2xpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdDx2aWV3IEB0YXAuc3RvcD1cInRvVGVjaG5pY2lhbihpbmRleClcIiBjbGFzcz1cInJlY29tbWVuZC1pdGVtIHR5cGUtMVwiIHYtaWY9XCJyZWNvbW1lbmRfc3R5bGUgPT0gMVwiPlxyXG5cdFx0XHRcdFx0XHQ8IS0tICNpZmRlZiBINSAtLT5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjb3ZlciByYWRpdXMtMTZcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImg1LWltYWdlIGNvdmVyIHJhZGl1cy0xNlwiXHJcblx0XHRcdFx0XHRcdFx0XHQ6c3R5bGU9XCJ7IGJhY2tncm91bmRJbWFnZSA6IGB1cmwoJyR7aXRlbS53b3JrX2ltZ30nKWB9XCI+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdFx0XHRcdFx0XHQ8IS0tICNpZm5kZWYgSDUgLS0+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSBtb2RlPVwiYXNwZWN0RmlsbFwiIGxhenktbG9hZCBjbGFzcz1cImNvdmVyIHJhZGl1cy0xNlwiIDpzcmM9XCJpdGVtLndvcmtfaW1nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0PCEtLSAjZW5kaWYgLS0+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1jZW50ZXIgZi1kZXNjIGMtdGl0bGUgdGV4dC1ib2xkIG10LW1kXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJlbGxpcHNpc1wiPnt7aXRlbS5jb2FjaF9uYW1lfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4LWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRlY2huaWNpYW4gZmxleC1jZW50ZXIgZi1pY29udGV4dCByYWRpdXNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OnN0eWxlPVwie2hlaWdodDpgMzNycHhgLHdpZHRoOmA4MHJweGAsY29sb3I6cHJpbWFyeUNvbG9yLGJvcmRlcjpgMXJweCBzb2xpZCAke3ByaW1hcnlDb2xvcn1gfVwiXHJcblx0XHRcdFx0XHRcdFx0XHR2LWlmPVwiaXRlbS5pc19uZXdcIj7mlrDkurpcclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmLWljb250ZXh0IGMtY2FwdGlvblwiIHYtZWxzZT4zMOWkqeaOpeWNlXt7aXRlbS5vcmRlcl9jb3VudHx8MH19XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBAdGFwLnN0b3A9XCJ0b1RlY2huaWNpYW4oaW5kZXgpXCIgY2xhc3M9XCJyZWNvbW1lbmQtaXRlbSB0eXBlLTIgcGQtbWRcIlxyXG5cdFx0XHRcdFx0XHR2LWlmPVwicmVjb21tZW5kX3N0eWxlID09IDJcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4LWNlbnRlciBwYi1zbVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gI2lmZGVmIEg1IC0tPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY292ZXIgcmFkaXVzXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImg1LWltYWdlIGNvdmVyIHJhZGl1c1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdDpzdHlsZT1cInsgYmFja2dyb3VuZEltYWdlIDogYHVybCgnJHtpdGVtLndvcmtfaW1nfScpYH1cIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSAjZW5kaWYgLS0+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSAjaWZuZGVmIEg1IC0tPlxyXG5cdFx0XHRcdFx0XHRcdDxpbWFnZSBtb2RlPVwiYXNwZWN0RmlsbFwiIGxhenktbG9hZCBjbGFzcz1cImNvdmVyIHJhZGl1c1wiIDpzcmM9XCJpdGVtLndvcmtfaW1nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXgtMSBtbC1zbVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmLWRlc2MgZWxsaXBzaXNcIj57e2l0ZW0uY29hY2hfbmFtZX19PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4LXktYmFzZWxpbmVcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDRycHg7XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxpIGNsYXNzPVwiaWNvbmZvbnQgaWNvbnlkdWl4aW5neGluZ3NoaXhpbiBpY29uLWZvbnQtY29sb3JcIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic3Rhci10ZXh0IGZsZXgteS1jZW50ZXIgZi1jYXB0aW9uXCI+e3tpdGVtLnN0YXJ9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4LWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibmV3LXRlY2huaWNpYW4gZmxleC1jZW50ZXIgZi1pY29udGV4dCByYWRpdXNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0OnN0eWxlPVwie2hlaWdodDpgMzNycHhgLHdpZHRoOmA4MHJweGAsY29sb3I6cHJpbWFyeUNvbG9yLGJvcmRlcjpgMXJweCBzb2xpZCAke3ByaW1hcnlDb2xvcn1gfVwiXHJcblx0XHRcdFx0XHRcdFx0XHR2LWlmPVwiaXRlbS5pc19uZXdcIj7mlrDkurpcclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmLWljb250ZXh0IGMtY2FwdGlvblwiIHYtZWxzZT4zMOWkqeaOpeWNlXt7aXRlbS5vcmRlcl9jb3VudHx8MH19XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC9ibG9jaz5cclxuXHRcdFx0PC9zY3JvbGwtdmlldz5cclxuXHRcdDwvdmlldz5cclxuXHJcblxyXG5cdFx0PHZpZXcgY2xhc3M9XCJmaWxsLWJhc2UgcGwtbGcgcHItbGdcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmaWxsLWJhc2UgZmxleC1iZXR3ZWVuXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmLXN0LXRpdGxlIHRleHQtYm9sZCBmbGV4LWJldHdlZW5cIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibXItbWRcIiBzdHlsZT1cIndpZHRoOiAxNXB4O2hlaWdodDogMTdweDtcIj5cclxuXHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi9zdGF0aWMvaW1nL2ljb25fcHJvamVjdC5wbmdcIiBjbGFzcz1cInZhbi1pbWdcIiBzdHlsZT1cIm9iamVjdC1maXQ6IGNvdmVyO1wiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dGV4dCBAY2xpY2s9XCJ0dWljaHVcIj7lsZXnpLrpobnnm648L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dmlldyBjbGFzcz1cImZpbGwtYmFzZSBwZC1sZyBiLTFweC1iXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gbGlzdC5kYXRhXCIgOmtleT1cImluZGV4XCI+XHJcblx0XHRcdDxzZXJ2aWNlLWxpc3QtaXRlbSA6aW5mbz1cIml0ZW1cIj48L3NlcnZpY2UtbGlzdC1pdGVtPlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDxsb2FkLW1vcmUgOm5vTW9yZT1cImxpc3QuY3VycmVudF9wYWdlID49IGxpc3QubGFzdF9wYWdlICYmIGxpc3QuZGF0YS5sZW5ndGggPiAwXCIgOmxvYWRpbmc9XCJsb2FkaW5nXCJcclxuXHRcdFx0di1pZj1cImxvYWRpbmdcIj5cclxuXHRcdDwvbG9hZC1tb3JlPlxyXG5cdFx0PGFibm9yIHYtaWY9XCIhbG9hZGluZyAmJiBsaXN0LmRhdGEubGVuZ3RoIDw9IDAgJiYgbGlzdC5jdXJyZW50X3BhZ2UgPT0gMVwiPjwvYWJub3I+XHJcblxyXG5cdFx0PHZpZXcgY2xhc3M9XCJzcGFjZS1mb290ZXJcIj48L3ZpZXc+XHJcblxyXG5cdFx0PHVuaS1wb3B1cCByZWY9XCJjb3Vwb25faXRlbVwiIHR5cGU9XCJjZW50ZXJcIiA6bWFza0NsaWNrPVwiZmFsc2VcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJjb3Vwb24tcG9wdXAgZmxleC1jZW50ZXJcIj5cclxuXHRcdFx0XHQ8IS0tICNpZmRlZiBINSAtLT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImg1LWltYWdlIGJnLWltZ1wiXHJcblx0XHRcdFx0XHQ6c3R5bGU9XCJ7IGJhY2tncm91bmRJbWFnZSA6IGB1cmwoJ2h0dHBzOi8vbGJxbnl2Mi5taWd1Z3UuY29tL2JpYW56dTMucG5nJylgfVwiPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHRcdFx0XHQ8IS0tICNpZm5kZWYgSDUgLS0+XHJcblx0XHRcdFx0PGltYWdlIG1vZGU9XCJhc3BlY3RGaWxsXCIgbGF6eS1sb2FkIGNsYXNzPVwiYmctaW1nXCIgc3JjPVwiaHR0cHM6Ly9sYnFueXYyLm1pZ3VndS5jb20vYmlhbnp1My5wbmdcIj48L2ltYWdlPlxyXG5cdFx0XHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cclxuXHRcdFx0XHQ8aSBAdGFwLnN0b3A9XCIkcmVmcy5jb3Vwb25faXRlbS5jbG9zZSgpXCIgY2xhc3M9XCJpY29uZm9udCBpY29uLWNsb3NlIGMtYmFzZVwiPjwvaT5cclxuXHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiY291cG9uLWluZm8gZmxleC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidG9wcyBmbGV4LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx0XHRcdOaIkOWKn+mihuWPllxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiXCI+XHJcblx0XHRcdFx0XHRcdFx05Y2h5Yi45bCG5pS+5YWl4oCc5oiR55qELeaIkeeahOWNoeWIuOKAnVxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxpc3RzIGZsZXgtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdDxzY3JvbGwtdmlldyBzY3JvbGwteSBzdHlsZT1cIndpZHRoOiA0MjBycHg7aGVpZ2h0OjEwMCU7XCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsaXN0IGZsZXgtYmV0d2VlblwiIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBjb3Vwb25MaXN0XCIgOmtleT1cImluZGV4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiaHR0cHM6Ly9sYnFueS5taWd1Z3UuY29tL2FkbWluL2FubW8vY291cG9uL2NvdXBvbi5wbmdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1iZXR3ZWVuXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInByaWNlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e2l0ZW0uZGlzY291bnR9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInByaWNlX3RleHRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt7aXRlbS5mdWxsKjE+MD9g5ruhJHtpdGVtLmZ1bGx95Y+v55SoYDpg56uL5YePYH19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGl0bGUgZmxleC15LWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZWxsaXBzaXMtM1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3tpdGVtLnRpdGxlfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvc2Nyb2xsLXZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4LWNlbnRlclwiIEB0YXAuc3RvcD1cInVzZXJHZXRDb3Vwb25cIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1jZW50ZXJcIj5cclxuXHRcdFx0XHRcdFx06aKG5Y+W5Yiw5Y2h5YyFXHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3VuaS1wb3B1cD5cclxuXHRcdDx2aWV3IDpzdHlsZT1cIntoZWlnaHQ6IGAke2NvbmZpZ0luZm8udGFiYmFySGVpZ2h0fXB4YH1cIj48L3ZpZXc+XHJcblx0XHQ8dGFiYmFyIDpjdXI9XCIxXCI+PC90YWJiYXI+XHJcblxyXG5cdFx0PCEtLSAjaWZkZWYgQVBQLVBMVVMgLS0+XHJcblx0XHQ8bG9naW4taW5mbz48L2xvZ2luLWluZm8+XHJcblx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHJcblx0XHQ8dW5pLXBvcHVwIHJlZj1cInBlcnBvcHVwXCIgdHlwZT1cInRvcFwiIDptYXNrLWNsaWNrPSdmYWxzZScgOnpJbmRleD1cIjk5OVwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInBlcm1pc3Npb25zX2JveFwiPlxyXG5cdFx0XHRcdOS4uuS6huiOt+WPluaCqOmZhOi/keeahOacjeWKoeS6uuWRmO+8jOabtOWlveeahOS4uuaCqOacjeWKoSzmiJHku6zpnIDopoHnlLPor7fkvY3nva7kv6Hmga/mnYPpmZDvvIzor7fmgqjnoa7orqTmjojmnYPvvIzlkKbliJnml6Dms5Xkvb/nlKjor6Xlip/og73jgIJcclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC91bmktcG9wdXA+XHJcblxyXG5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCB7XHJcblx0XHRtYXBTdGF0ZSxcclxuXHRcdG1hcEFjdGlvbnMsXHJcblx0XHRtYXBNdXRhdGlvbnNcclxuXHR9IGZyb20gXCJ2dWV4XCJcclxuXHRpbXBvcnQgcGVybWlzaW9uIGZyb20gJ0AvdXRpbHMvcGVybWlzc2lvbi5qcydcclxuXHRpbXBvcnQgc2l0ZUluZm8gZnJvbSAnQC9zaXRlaW5mby5qcyc7XHJcblx0aW1wb3J0IHNlcnZpY2VMaXN0SXRlbSBmcm9tIFwiQC9jb21wb25lbnRzL3NlcnZpY2UtbGlzdC1pdGVtLnZ1ZVwiXHJcblx0aW1wb3J0IHRhYmJhciBmcm9tIFwiQC9jb21wb25lbnRzL3RhYmJhci52dWVcIlxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuXHRcdFx0c2VydmljZUxpc3RJdGVtLFxyXG5cdFx0XHR0YWJiYXJcclxuXHRcdH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGNvdXBvbkxpc3Q6IFtdLCAvL+S8mOaDoOWIuCBcclxuXHRcdFx0XHRpc0xvYWQ6IGZhbHNlLFxyXG5cdFx0XHRcdG9wdGlvbnM6IHt9LFxyXG5cdFx0XHRcdGxvYWRpbmc6IHRydWUsXHJcblx0XHRcdFx0bG9ja1RhcDogZmFsc2UsXHJcblx0XHRcdFx0c2VydmVmYzogW3tcclxuXHRcdFx0XHRcdGljb246ICdpY29uLWt6aicsXHJcblx0XHRcdFx0XHR0ZXh0OiAn5a6e5ZCN6K6k6K+BJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdGljb246ICdpY29uLWtwaycsXHJcblx0XHRcdFx0XHR0ZXh0OiAn54i957qm5YyF6LWUJ1xyXG5cdFx0XHRcdH0sIHtcclxuXHRcdFx0XHRcdGljb246ICdpY29uLXN5YnAnLFxyXG5cdFx0XHRcdFx0dGV4dDogJ+i2heaXtuenkumAgCdcclxuXHRcdFx0XHR9LCB7XHJcblx0XHRcdFx0XHRpY29uOiAnaWNvbi1renonLFxyXG5cdFx0XHRcdFx0dGV4dDogJ+i1hOi0qOivgeS5pidcclxuXHRcdFx0XHR9XSxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiBtYXBTdGF0ZSh7XHJcblx0XHRcdHBhZ2VBY3RpdmU6IHN0YXRlID0+IHN0YXRlLnNlcnZpY2UucGFnZUFjdGl2ZSxcclxuXHRcdFx0YWN0aXZlSW5kZXg6IHN0YXRlID0+IHN0YXRlLnNlcnZpY2UuYWN0aXZlSW5kZXgsXHJcblx0XHRcdHRhYkxpc3Q6IHN0YXRlID0+IHN0YXRlLnNlcnZpY2UudGFiTGlzdCxcclxuXHRcdFx0cGFyYW06IHN0YXRlID0+IHN0YXRlLnNlcnZpY2UucGFyYW0sXHJcblx0XHRcdGxpc3Q6IHN0YXRlID0+IHN0YXRlLnNlcnZpY2UubGlzdCxcclxuXHRcdFx0YmFubmVyOiBzdGF0ZSA9PiBzdGF0ZS5zZXJ2aWNlLmJhbm5lcixcclxuXHRcdFx0c2VydmljZV9jYXRlOiBzdGF0ZSA9PiBzdGF0ZS5zZXJ2aWNlLnNlcnZpY2VfY2F0ZSxcclxuXHRcdFx0cmVjb21tZW5kX2xpc3Q6IHN0YXRlID0+IHN0YXRlLnNlcnZpY2UucmVjb21tZW5kX2xpc3QsXHJcblx0XHRcdHJlY29tbWVuZF9zdHlsZTogc3RhdGUgPT4gc3RhdGUuc2VydmljZS5yZWNvbW1lbmRfc3R5bGUsXHJcblx0XHRcdHByaW1hcnlDb2xvcjogc3RhdGUgPT4gc3RhdGUuY29uZmlnLmNvbmZpZ0luZm8ucHJpbWFyeUNvbG9yLFxyXG5cdFx0XHRzdWJDb2xvcjogc3RhdGUgPT4gc3RhdGUuY29uZmlnLmNvbmZpZ0luZm8uc3ViQ29sb3IsXHJcblx0XHRcdGNvbmZpZ0luZm86IHN0YXRlID0+IHN0YXRlLmNvbmZpZy5jb25maWdJbmZvLFxyXG5cdFx0XHRhdXRvZ3JhcGg6IHN0YXRlID0+IHN0YXRlLnVzZXIuYXV0b2dyYXBoLFxyXG5cdFx0XHR1c2VySW5mbzogc3RhdGUgPT4gc3RhdGUudXNlci51c2VySW5mbyxcclxuXHRcdFx0bG9jYXRpb246IHN0YXRlID0+IHN0YXRlLnVzZXIubG9jYXRpb24sXHJcblx0XHRcdGlzR3poTG9naW46IHN0YXRlID0+IHN0YXRlLnVzZXIuaXNHemhMb2dpbixcclxuXHRcdFx0aGF2ZVNoaWVsZE9wZXI6IHN0YXRlID0+IHN0YXRlLnVzZXIuaGF2ZVNoaWVsZE9wZXIsXHJcblx0XHR9KSxcclxuXHRcdGFzeW5jIG9uTG9hZChvcHRpb25zKSB7XHJcblx0XHRcdHRoaXMuJHV0aWwuc2hvd0xvYWRpbmcoKVxyXG5cdFx0XHRvcHRpb25zID0gYXdhaXQgdGhpcy51cGRhdGVDb21tb25PcHRpb25zKG9wdGlvbnMpXHJcblx0XHRcdHRoaXMub3B0aW9ucyA9IG9wdGlvbnNcclxuXHRcdFx0dW5pLm9uTmV0d29ya1N0YXR1c0NoYW5nZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdGlzQ29ubmVjdGVkXHJcblx0XHRcdFx0fSA9IHJlc1xyXG5cdFx0XHRcdGlmIChpc0Nvbm5lY3RlZCAmJiAhdGhpcy5wYWdlQWN0aXZlKSB7XHJcblx0XHRcdFx0XHR0aGlzLmluaXRJbmRleCgpXHJcblx0XHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHRcdGF3YWl0IHRoaXMuaW5pdEluZGV4KClcclxuXHRcdH0sXHJcblx0XHRhc3luYyBvblNob3coKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKDExMTEpO1xyXG5cdFx0XHQvLyAjaWZkZWYgSDVcclxuXHRcdFx0aWYgKHRoaXMuJGp3ZWl4aW4uaXNXZWNoYXQoKSkge1xyXG5cdFx0XHRcdGF3YWl0IHRoaXMuJGp3ZWl4aW4uaW5pdEpzc2RrKCk7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coMTIzNCk7XHJcblx0XHRcdFx0dGhpcy50b0FwcFNoYXJlKClcclxuXHRcdFx0fVxyXG5cdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0aWYgKHRoaXMuaGF2ZVNoaWVsZE9wZXIgPT0gMikge1xyXG5cdFx0XHRcdHRoaXMuaW5pdEluZGV4KClcclxuXHRcdFx0XHR0aGlzLnVwZGF0ZVVzZXJJdGVtKHtcclxuXHRcdFx0XHRcdGtleTogJ2hhdmVTaGllbGRPcGVyJyxcclxuXHRcdFx0XHRcdHZhbDogMFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdFx0aWYgKHRoaXMucGFnZUFjdGl2ZSAmJiB0aGlzLnVzZXJJbmZvLmlkKSB7XHJcblx0XHRcdFx0dGhpcy5nZXRDb3Vwb25MaXN0KClcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG9uUHVsbERvd25SZWZyZXNoKCkge1xyXG5cdFx0XHQvLyAjaWZuZGVmIEFQUC1QTFVTXHJcblx0XHRcdHVuaS5zaG93TmF2aWdhdGlvbkJhckxvYWRpbmcoKVxyXG5cdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0dGhpcy5pbml0UmVmcmVzaCgpO1xyXG5cdFx0XHR1bmkuc3RvcFB1bGxEb3duUmVmcmVzaCgpXHJcblx0XHR9LFxyXG5cdFx0b25SZWFjaEJvdHRvbSgpIHtcclxuXHRcdFx0aWYgKHRoaXMubGlzdC5jdXJyZW50X3BhZ2UgPj0gdGhpcy5saXN0Lmxhc3RfcGFnZSB8fCB0aGlzLmxvYWRpbmcpIHJldHVybjtcclxuXHRcdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHRcdFx0dGhpcy5nZXRMaXN0KHRoaXMucGFyYW0ucGFnZSArIDEpO1xyXG5cdFx0fSxcclxuXHRcdG9uU2hhcmVBcHBNZXNzYWdlKGUpIHtcclxuXHRcdFx0bGV0IHtcclxuXHRcdFx0XHRpZDogcGlkID0gMFxyXG5cdFx0XHR9ID0gdGhpcy51c2VySW5mb1xyXG5cdFx0XHRsZXQgcGF0aCA9IGAvcGFnZXMvc2VydmljZT9waWQ9JHtwaWR9YFxyXG5cdFx0XHR0aGlzLiR1dGlsLmxvZyhwYXRoKVxyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHRpdGxlOiAnJyxcclxuXHRcdFx0XHRpbWFnZVVybDogJycsXHJcblx0XHRcdFx0cGF0aCxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0dHVpY2h1KCkge1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogJy9wYWdlcy9sb2dpbidcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQuLi5tYXBBY3Rpb25zKFsnZ2V0Q29uZmlnSW5mbycsICdnZXRVc2VySW5mbycsICd1cGRhdGVDb21tb25PcHRpb25zJywgJ2dldFNlcnZpY2VJbmRleCcsICdnZXRTZXJ2aWNlTGlzdCddKSxcclxuXHRcdFx0Li4ubWFwTXV0YXRpb25zKFsndXBkYXRlU2VydmljZUl0ZW0nLCAndXBkYXRlVGVjaG5pY2lhbkl0ZW0nLCAndXBkYXRlVXNlckl0ZW0nXSksXHJcblx0XHRcdGFzeW5jIGluaXRJbmRleChyZWZyZXNoID0gZmFsc2UpIHtcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0cGlkID0gMFxyXG5cdFx0XHRcdH0gPSB0aGlzLm9wdGlvbnNcclxuXHRcdFx0XHRpZiAoIXJlZnJlc2ggJiYgdGhpcy5wYWdlQWN0aXZlICYmICFwaWQpIHtcclxuXHRcdFx0XHRcdHRoaXMuaXNMb2FkID0gdHJ1ZVxyXG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2VcclxuXHRcdFx0XHRcdHRoaXMuJHV0aWwuaGlkZUFsbCgpXHJcblx0XHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRpc0d6aExvZ2luXHJcblx0XHRcdFx0fSA9IHRoaXNcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0aWQ6IHVpZCA9IDBcclxuXHRcdFx0XHR9ID0gdGhpcy51c2VySW5mb1xyXG5cdFx0XHRcdGlmIChwaWQgJiYgIXVpZCkge1xyXG5cdFx0XHRcdFx0Ly8gI2lmZGVmIEg1XHJcblx0XHRcdFx0XHRpZiAoaXNHemhMb2dpbikge1xyXG5cdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmdldFVzZXJJbmZvKClcclxuXHRcdFx0XHRcdFx0fSwgMTAwMClcclxuXHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZ2V0VXNlckluZm8oKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0Ly8gI2VuZGlmXHJcblx0XHRcdFx0XHQvLyAjaWZuZGVmIEg1XHJcblx0XHRcdFx0XHRhd2FpdCB0aGlzLmdldFVzZXJJbmZvKClcclxuXHRcdFx0XHRcdC8vICNlbmRpZiBcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdGlmICghdGhpcy5jb25maWdJbmZvLmlkIHx8IHJlZnJlc2gpIHtcclxuXHRcdFx0XHRcdGF3YWl0IHRoaXMuZ2V0Q29uZmlnSW5mbygpXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0bG9jYXRpb25cclxuXHRcdFx0XHR9ID0gdGhpc1xyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRwbHVnQXV0aCA9IHt9XHJcblx0XHRcdFx0fSA9IHRoaXMuY29uZmlnSW5mb1xyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRyZWNvbW1lbmQgPSBmYWxzZVxyXG5cdFx0XHRcdH0gPSBwbHVnQXV0aFxyXG5cclxuXHRcdFx0XHRpZiAocmVjb21tZW5kICYmICFsb2NhdGlvbi5sYXQpIHtcclxuXHRcdFx0XHRcdC8vICNpZmRlZiBINVxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuJGp3ZWl4aW4uaXNXZWNoYXQoKSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLiR1dGlsLnNob3dMb2FkaW5nKClcclxuXHRcdFx0XHRcdFx0Ly8gYXdhaXQgdGhpcy4kandlaXhpbi5pbml0SnNzZGsoKTtcclxuXHRcdFx0XHRcdFx0YXdhaXQgdGhpcy4kandlaXhpbi53eFJlYWR5MigpO1xyXG5cdFx0XHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0XHRcdGxhdGl0dWRlOiBsYXQgPSAwLFxyXG5cdFx0XHRcdFx0XHRcdGxvbmdpdHVkZTogbG5nID0gMFxyXG5cdFx0XHRcdFx0XHR9ID0gYXdhaXQgdGhpcy4kandlaXhpbi5nZXRXeExvY2F0aW9uKClcclxuXHRcdFx0XHRcdFx0bG9jYXRpb24gPSB7XHJcblx0XHRcdFx0XHRcdFx0bG5nLFxyXG5cdFx0XHRcdFx0XHRcdGxhdCxcclxuXHRcdFx0XHRcdFx0XHRhZGRyZXNzOiAn5a6a5L2N5aSx6LSlJyxcclxuXHRcdFx0XHRcdFx0XHRwcm92aW5jZTogJycsXHJcblx0XHRcdFx0XHRcdFx0Y2l0eTogJycsXHJcblx0XHRcdFx0XHRcdFx0ZGlzdHJpY3Q6ICcnXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHRcdFx0Ly8gI2lmbmRlZiBINVxyXG5cdFx0XHRcdFx0Ly8gbG9jYXRpb24gPSBhd2FpdCB0aGlzLiR1dGlsLmdldEJtYXBMb2NhdGlvbigpXHJcblx0XHRcdFx0XHQvLyAjZW5kaWZcclxuXHRcdFx0XHRcdHRoaXMudXBkYXRlVXNlckl0ZW0oe1xyXG5cdFx0XHRcdFx0XHRrZXk6ICdsb2NhdGlvbicsXHJcblx0XHRcdFx0XHRcdHZhbDogbG9jYXRpb25cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRsbmcgPSAwLFxyXG5cdFx0XHRcdFx0XHRsYXQgPSAwXHJcblx0XHRcdFx0fSA9IGxvY2F0aW9uXHJcblxyXG5cdFx0XHRcdGF3YWl0IHRoaXMuZ2V0U2VydmljZUluZGV4KHtcclxuXHRcdFx0XHRcdGxhdCxcclxuXHRcdFx0XHRcdGxuZ1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy51cGRhdGVTZXJ2aWNlSXRlbSh7XHJcblx0XHRcdFx0XHRrZXk6ICdwYWdlQWN0aXZlJyxcclxuXHRcdFx0XHRcdHZhbDogdHJ1ZVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy5pc0xvYWQgPSB0cnVlXHJcblx0XHRcdFx0aWYgKHRoaXMudXNlckluZm8uaWQpIHtcclxuXHRcdFx0XHRcdGF3YWl0IFByb21pc2UuYWxsKFt0aGlzLmdldExpc3QoMSksIHRoaXMuZ2V0Q291cG9uTGlzdCgpXSlcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0YXdhaXQgdGhpcy5nZXRMaXN0KDEpXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbml0UmVmcmVzaCgpIHtcclxuXHRcdFx0XHR0aGlzLmluaXRJbmRleCh0cnVlKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b0FwcFNoYXJlKCkge1xyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRpZDogcGlkID0gMFxyXG5cdFx0XHRcdH0gPSB0aGlzLnVzZXJJbmZvXHJcblx0XHRcdFx0bGV0IHRpdGxlID0gJ+mmlumhtSdcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0c2l0ZXJvb3RcclxuXHRcdFx0XHR9ID0gc2l0ZUluZm9cclxuXHRcdFx0XHRsZXQgdXJsID0gc2l0ZXJvb3Quc3BsaXQoJy9pbmRleC5waHAnKVswXVxyXG5cdFx0XHRcdGNvbnNvbGUubG9nKDEyMywgdXJsKTtcclxuXHRcdFx0XHRsZXQgaHJlZiA9IGAke3VybH0vaDUvIy9wYWdlcy9zZXJ2aWNlP3BpZD0ke3BpZH1gXHJcblx0XHRcdFx0bGV0IGltYWdlVXJsID0gJydcclxuXHRcdFx0XHR0aGlzLiRqd2VpeGluLnd4UmVhZHkoKCkgPT4ge1xyXG5cdFx0XHRcdFx0dGhpcy4kandlaXhpbi5zaG93T3B0aW9uTWVudSgpXHJcblx0XHRcdFx0XHR0aGlzLiRqd2VpeGluLnNoYXJlQXBwTWVzc2FnZSh0aXRsZSwgJycsIGhyZWYsIGltYWdlVXJsKVxyXG5cdFx0XHRcdFx0dGhpcy4kandlaXhpbi5zaGFyZVRpbWVsaW5lTWVzc2FnZSh0aXRsZSwgaHJlZiwgaW1hZ2VVcmwpXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6L2u5pKt5Zu+L+W5v+WRiuWbvui3s+i9rFxyXG5cdFx0XHRnb0Jhbm5lcihlKSB7XHJcblx0XHRcdFx0Ly8gY29ubmVjdF90eXBlIDHmn6XnnIvlpKflm77vvIwy5paH56ugXHJcblx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdGNvbm5lY3RfdHlwZSxcclxuXHRcdFx0XHRcdHR5cGVfaWQ6IGlkID0gMCxcclxuXHRcdFx0XHRcdGltZzogY3VycmVudFxyXG5cdFx0XHRcdH0gPSBlXHJcblx0XHRcdFx0c3dpdGNoIChjb25uZWN0X3R5cGUpIHtcclxuXHRcdFx0XHRcdGNhc2UgMTpcclxuXHRcdFx0XHRcdFx0dGhpcy4kdXRpbC5wcmV2aWV3SW1hZ2Uoe1xyXG5cdFx0XHRcdFx0XHRcdGN1cnJlbnQsXHJcblx0XHRcdFx0XHRcdFx0dXJsczogW2N1cnJlbnRdXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSAyOlxyXG5cdFx0XHRcdFx0XHR0aGlzLiR1dGlsLmdvVXJsKHtcclxuXHRcdFx0XHRcdFx0XHR1cmw6IGAvdXNlci9wYWdlcy9hcnRpY2xlP2lkPSR7aWR9YFxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvQ2F0ZShlKSB7XHJcblx0XHRcdFx0aWYgKGUudGl0bGUgPT0gJ+W4iOWCheWFpempuycpIHtcclxuXHRcdFx0XHRcdGxldCB0aGF0ID0gdGhpc1xyXG5cdFx0XHRcdFx0Y29uc3QgYXBwQXV0aG9yaXplU2V0dGluZyA9IHVuaS5nZXRBcHBBdXRob3JpemVTZXR0aW5nKClcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKDk5ODcsIGFwcEF1dGhvcml6ZVNldHRpbmcpO1xyXG5cdFx0XHRcdFx0aWYgKGFwcEF1dGhvcml6ZVNldHRpbmcubG9jYXRpb25BdXRob3JpemVkICE9ICdhdXRob3JpemVkJykge1xyXG5cdFx0XHRcdFx0XHR0aGF0LiRyZWZzLnBlcnBvcHVwLm9wZW4oJ3RvcCcpXHJcblx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0XHRcdHRpdGxlOiAn5rip6aao5o+Q56S6JyxcclxuXHRcdFx0XHRcdFx0XHRjb250ZW50OiAn5Li65LqG6I635Y+W5oKo6ZmE6L+R55qE5pyN5Yqh5Lq65ZGY77yM5pu05aW955qE5Li65oKo5pyN5YqhLOaIkeS7rOmcgOimgeeUs+ivt+S9jee9ruS/oeaBr+adg+mZkO+8jOivt+aCqOehruiupOaOiOadg++8jOWQpuWImeaXoOazleS9v+eUqOivpeWKn+iDvX4nLFxyXG5cdFx0XHRcdFx0XHRcdGNhbmNlbFRleHQ6ICflhbPpl60nLFxyXG5cdFx0XHRcdFx0XHRcdGNvbmZpcm1UZXh0OiAn5Y675o6I5p2DJyxcclxuXHRcdFx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKHJlcy5jb25maXJtKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuJHJlZnMucGVycG9wdXAuY2xvc2UoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0cGVybWlzaW9uLmdvdG9BcHBQZXJtaXNzaW9uU2V0dGluZygpXHJcblx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGF0LiRyZWZzLnBlcnBvcHVwLmNsb3NlKCk7XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0cmV0dXJuXHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0aWQsXHJcblx0XHRcdFx0XHR0aXRsZSxcclxuXHRcdFx0XHRcdHVybDogbGluayA9ICcnXHJcblx0XHRcdFx0fSA9IGVcclxuXHRcdFx0XHRsZXQgdXJsID0gbGluayB8fCBgL3VzZXIvcGFnZXMvc2VydmljZS9saXN0P2lkPSR7aWR9JnRpdGxlPSR7dGl0bGV9YFxyXG5cdFx0XHRcdHRoaXMuJHV0aWwuZ29Vcmwoe1xyXG5cdFx0XHRcdFx0dXJsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0YXN5bmMgdXNlckdldENvdXBvbigpIHtcclxuXHRcdFx0XHRsZXQgaWRzID0gW11cclxuXHRcdFx0XHR0aGlzLmNvdXBvbkxpc3QuZm9yRWFjaCh2ID0+IHtcclxuXHRcdFx0XHRcdGlkcy5wdXNoKHYuaWQpXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRsZXQgcmVzID0gYXdhaXQgdGhpcy4kYXBpLnNlcnZpY2UudXNlckdldENvdXBvbih7XHJcblx0XHRcdFx0XHRjb3Vwb25faWQ6IGlkc1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy4kdXRpbC5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0dGl0bGU6IGDpooblj5bmiJDlip9gXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMuJHV0aWwuZ29Vcmwoe1xyXG5cdFx0XHRcdFx0XHR1cmw6ICcvdXNlci9wYWdlcy9jb3Vwb24vbGlzdCdcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSwgMTAwMClcclxuXHRcdFx0XHR0aGlzLiRyZWZzLmNvdXBvbl9pdGVtLmNsb3NlKClcclxuXHRcdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZVxyXG5cdFx0XHRcdHRoaXMuJHV0aWwuaGlkZUFsbCgpXHJcblx0XHRcdH0sXHJcblx0XHRcdGFzeW5jIGdldENvdXBvbkxpc3QoKSB7XHJcblx0XHRcdFx0bGV0IGxpc3QgPSBhd2FpdCB0aGlzLiRhcGkuc2VydmljZS5jb3Vwb25MaXN0KClcclxuXHRcdFx0XHR0aGlzLmNvdXBvbkxpc3QgPSBsaXN0XHJcblx0XHRcdFx0aWYgKGxpc3QubGVuZ3RoID4gMCAmJiB0aGlzLmlzTG9hZCkge1xyXG5cdFx0XHRcdFx0dGhpcy4kcmVmcy5jb3Vwb25faXRlbS5vcGVuKClcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2VcclxuXHRcdFx0XHR0aGlzLiR1dGlsLmhpZGVBbGwoKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRhc3luYyBnZXRMaXN0KHBhZ2UgPSAwKSB7XHJcblx0XHRcdFx0aWYgKHBhZ2UpIHtcclxuXHRcdFx0XHRcdGxldCBwYXJhbSA9IHRoaXMuJHV0aWwuZGVlcENvcHkodGhpcy5wYXJhbSlcclxuXHRcdFx0XHRcdHBhcmFtLnBhZ2UgPSBwYWdlXHJcblx0XHRcdFx0XHR0aGlzLnVwZGF0ZVNlcnZpY2VJdGVtKHtcclxuXHRcdFx0XHRcdFx0a2V5OiAncGFyYW0nLFxyXG5cdFx0XHRcdFx0XHR2YWw6IHBhcmFtXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0bGlzdDogb2xkTGlzdCxcclxuXHRcdFx0XHRcdHBhcmFtLFxyXG5cdFx0XHRcdFx0dGFiTGlzdCxcclxuXHRcdFx0XHRcdGFjdGl2ZUluZGV4XHJcblx0XHRcdFx0fSA9IHRoaXNcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0c29ydCxcclxuXHRcdFx0XHRcdHNpZ25cclxuXHRcdFx0XHR9ID0gdGFiTGlzdFthY3RpdmVJbmRleF1cclxuXHRcdFx0XHRsZXQgZGVzYyA9IGFjdGl2ZUluZGV4ID09IDAgfHwgc2lnbiA9PSAxID8gJycgOiAnZGVzYydcclxuXHRcdFx0XHRwYXJhbS5zb3J0ID0gYCR7c29ydH0gJHtkZXNjfWBcclxuXHRcdFx0XHRhd2FpdCB0aGlzLmdldFNlcnZpY2VMaXN0KHBhcmFtKVxyXG5cdFx0XHRcdHRoaXMubG9hZGluZyA9IGZhbHNlXHJcblx0XHRcdFx0dGhpcy4kdXRpbC5oaWRlQWxsKClcclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGVyVGFiQ2hhbmdlKGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy51cGRhdGVTZXJ2aWNlSXRlbSh7XHJcblx0XHRcdFx0XHRrZXk6ICdhY3RpdmVJbmRleCcsXHJcblx0XHRcdFx0XHR2YWw6IGluZGV4XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRsZXQgdGFiTGlzdCA9IHRoaXMuJHV0aWwuZGVlcENvcHkodGhpcy50YWJMaXN0KVxyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRpc19zaWduLFxyXG5cdFx0XHRcdFx0c2lnbixcclxuXHRcdFx0XHR9ID0gdGFiTGlzdFtpbmRleF07XHJcblx0XHRcdFx0aWYgKGlzX3NpZ24pIHtcclxuXHRcdFx0XHRcdHRhYkxpc3RbaW5kZXhdLnNpZ24gPSBzaWduID09IDAgPyAxIDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0dGhpcy51cGRhdGVTZXJ2aWNlSXRlbSh7XHJcblx0XHRcdFx0XHRrZXk6ICd0YWJMaXN0JyxcclxuXHRcdFx0XHRcdHZhbDogdGFiTGlzdFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0dGhpcy4kdXRpbC5zaG93TG9hZGluZygpXHJcblx0XHRcdFx0dW5pLnBhZ2VTY3JvbGxUbyh7XHJcblx0XHRcdFx0XHRzY3JvbGxUb3A6IDBcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdHRoaXMuZ2V0TGlzdCgxKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHR0b1RlY2huaWNpYW4oaW5kZXgpIHtcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0aWQsXHJcblx0XHRcdFx0XHRjaXR5X2lkLFxyXG5cdFx0XHRcdFx0Y29hY2hfbmFtZVxyXG5cdFx0XHRcdH0gPSB0aGlzLnJlY29tbWVuZF9saXN0W2luZGV4XVxyXG5cdFx0XHRcdHRoaXMudXBkYXRlVGVjaG5pY2lhbkl0ZW0oe1xyXG5cdFx0XHRcdFx0a2V5OiAncGFnZUFjdGl2ZScsXHJcblx0XHRcdFx0XHR2YWw6IGZhbHNlXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHR0aGlzLiR1dGlsLmdvVXJsKHtcclxuXHRcdFx0XHRcdHVybDogYC9wYWdlcy90ZWNobmljaWFuP2NvYWNoX2lkPSR7aWR9JmNvYWNoX25hbWU9JHtjb2FjaF9uYW1lfSZjaXR5X2lkPSR7Y2l0eV9pZH1gLFxyXG5cdFx0XHRcdFx0b3BlblR5cGU6IGByZUxhdW5jaGBcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcblxyXG48c3R5bGUgbGFuZz1cInNjc3NcIj5cclxuXHQucGFnZXMtaG9tZSB7XHJcblx0XHQuc2VhcmNoLWJveCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdHotaW5kZXg6IDk7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHR9XHJcblxyXG5cdFx0LnJlY29tbWVuZC10ZWNobmljaWFuIHtcclxuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdFx0d2lkdGg6IDY5MHJweDtcclxuXHJcblx0XHRcdC5yZWNvbW1lbmQtaXRlbSB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucmVjb21tZW5kLWl0ZW0udHlwZS0xIHtcclxuXHRcdFx0XHR3aWR0aDogMTgwcnB4O1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAyNnJweDtcclxuXHJcblx0XHRcdFx0LmNvdmVyIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxODBycHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDE4MHJweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5lbGxpcHNpcyB7XHJcblx0XHRcdFx0XHRtYXgtd2lkdGg6IDE4MHJweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5yZWNvbW1lbmQtaXRlbS50eXBlLTIge1xyXG5cdFx0XHRcdHdpZHRoOiAyMDNycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxNTFycHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogI0Y0RjZGNztcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMnJweDtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMjBycHg7XHJcblxyXG5cdFx0XHRcdC5jb3ZlciB7XHJcblx0XHRcdFx0XHR3aWR0aDogNzBycHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDcwcnB4O1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmVsbGlwc2lzIHtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogODJycHg7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuaWNvbnlkdWl4aW5neGluZ3NoaXhpbiB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoMjcwZGVnLCAjRkFEOTYxIDAlLCAjRjc2QjFDIDEwMCUpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LnN0YXItdGV4dCB7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDI2cnB4O1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNGRjk1MTk7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogNnJweDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5uZXctdGVjaG5pY2lhbiB7XHJcblx0XHRcdFx0XHR3aWR0aDogNjdycHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDMwcnB4O1xyXG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogOHJweDtcclxuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlWigzNjBkZWcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnJlY29tbWVuZC1pdGVtOm50aC1jaGlsZCgxKSB7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubGlzdC1pdGVtIHtcclxuXHRcdFx0LmNvdmVyIHtcclxuXHRcdFx0XHR3aWR0aDogMTgwcnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMTgwcnB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQudGltZS1sb25nIHtcclxuXHRcdFx0XHRtaW4td2lkdGg6IDcycnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMzBycHg7XHJcblx0XHRcdFx0cGFkZGluZzogMCA1cnB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsICM0QzU0NUEgMCUsICMyODJCMzQgMTAwJSk7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHJweDtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjRkZFRUI5O1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMTZycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5mLWljb250ZXh0IHtcclxuXHRcdFx0XHRmb250LXNpemU6IDE4cnB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQudGV4dC1kZWxldGUge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XHJcblx0XHRcdFx0Y29sb3I6ICNCOUI5Qjk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5pdGVtLWJ0biB7XHJcblx0XHRcdFx0d2lkdGg6IDE1MHJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDUycnB4O1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMHJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnJhZGl1cy10b3Age1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMzBycHggMzBycHggMCAwO1xyXG5cdH1cclxuXHJcblx0LmNvdXBvbi1wb3B1cCB7XHJcblx0XHR3aWR0aDogNjU4cnB4O1xyXG5cdFx0aGVpZ2h0OiA4NjVycHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0LmJnLWltZyB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmljb24tY2xvc2Uge1xyXG5cdFx0XHRmb250LXNpemU6IDYwcnB4O1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogNTBycHg7XHJcblx0XHRcdHJpZ2h0OiA2MHJweDtcclxuXHRcdFx0ei1pbmRleDogOTk5O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5jb3Vwb24taW5mbyB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0Ym90dG9tOiAwO1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cclxuXHRcdFx0LnRvcHMge1xyXG5cdFx0XHRcdHdpZHRoOiA0ODBycHg7XHJcblx0XHRcdFx0Y29sb3I6ICNGQjQ1MjM7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMjYwcnB4O1xyXG5cclxuXHRcdFx0XHQ+dmlldzpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDMwcnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lmxpc3RzIHtcclxuXHRcdFx0XHR3aWR0aDogNTAwcnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMzAwcnB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEwcnB4O1xyXG5cdFx0XHRcdG92ZXJmbG93LXg6IGhpZGRlbjtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0Ym90dG9tOiAyMjJycHg7XHJcblxyXG5cdFx0XHRcdC5saXN0IHtcclxuXHRcdFx0XHRcdHdpZHRoOiA0MjBycHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEzMHJweDtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDEwcnB4O1xyXG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogNXJweDtcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdFx0XHQ+aW1hZ2Uge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdD52aWV3IHtcclxuXHRcdFx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRcdGxlZnQ6IDhycHg7XHJcblxyXG5cdFx0XHRcdFx0XHQ+dmlldzpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAzOCU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdD52aWV3Om50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0XHRmbGV4OiAxO1xyXG5cdFx0XHRcdFx0XHRcdHBhZGRpbmc6IDAgMTVycHg7XHJcblx0XHRcdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdFx0LnByaWNlIHtcclxuXHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDMwcnB4O1xyXG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjRkI0NTIzO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQudGl0bGUge1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDM2cnB4O1xyXG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHQucHJpY2VfdGV4dCB7XHJcblx0XHRcdFx0XHRcdFx0Y29sb3I6ICNjY2M7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblxyXG5cdFx0dmlldy5idG5zIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0aGVpZ2h0OiA4MnJweDtcclxuXHRcdFx0Ym90dG9tOiAwcnB4O1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cclxuXHRcdFx0PnZpZXcge1xyXG5cdFx0XHRcdHdpZHRoOiA0MjJycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiA4MnJweDtcclxuXHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNDBycHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAzNHJweDtcclxuXHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnNlcnZldGlwIHtcclxuXHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRtYXJnaW46IDIycnB4IDA7XHJcblx0fVxyXG5cclxuXHQuc2VydmVmYyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR9XHJcblxyXG5cdC52YW4taW1hZ2Uge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdH1cclxuXHJcblx0LnZhbi1pbWcge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQubWFyZ2luLTIwIHtcclxuXHRcdG1hcmdpbjogMC41MzMzM3JlbTtcclxuXHR9XHJcblxyXG5cdC5wZXJtaXNzaW9uc19ib3gge1xyXG5cdFx0cGFkZGluZzogMjAwcnB4IDMwcnB4O1xyXG5cdFx0cGFkZGluZy10b3A6IDIwMHJweDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA1MHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTBycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///11\n"); /***/ }), /* 12 */ @@ -3559,7 +3572,21 @@ var render = function () { ), ] ), - ] + _c( + "uni-popup", + { + ref: "perpopup", + attrs: { type: "top", "mask-click": false, zIndex: 999, _i: 22 }, + }, + [ + _c("view", { + staticClass: _vm._$s(23, "sc", "permissions_box"), + attrs: { _i: 23 }, + }), + ] + ), + ], + 1 ) } var recyclableRender = false @@ -3588,7 +3615,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _C_U /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _vuex = __webpack_require__(/*! vuex */ 16);\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 _default2 = {\n components: {},\n props: {\n from: {\n type: String,\n default: function _default() {\n return 'list';\n }\n },\n sid: {\n type: Number,\n default: function _default() {\n return 0;\n }\n },\n info: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n maxWidth: {\n type: String,\n default: function _default() {\n return '490rpx';\n }\n }\n },\n data: function data() {\n return {\n textType: {\n 1: '可服务',\n 2: '服务中',\n 3: '可预约',\n 4: '不可预约'\n }\n };\n },\n computed: (0, _vuex.mapState)({\n primaryColor: function primaryColor(state) {\n return state.config.configInfo.primaryColor;\n },\n subColor: function subColor(state) {\n return state.config.configInfo.subColor;\n },\n userInfo: function userInfo(state) {\n return state.user.userInfo;\n }\n }),\n methods: {\n // 详情\n goDetail: function goDetail() {\n var id = this.info.id;\n var _this$sid = this.sid,\n store_id = _this$sid === void 0 ? 0 : _this$sid;\n var url = \"/user/pages/detail?id=\".concat(id, \"&store_id=\").concat(store_id);\n this.$util.goUrl({\n url: url\n });\n },\n // 选择技-师\n toChoose: function toChoose() {\n var from = this.from;\n if (from == 'technician-info') {\n this.$emit('order');\n return;\n }\n var id = this.info.id;\n var _this$sid2 = this.sid,\n store_id = _this$sid2 === void 0 ? 0 : _this$sid2;\n var url = \"/user/pages/choose-technician?id=\".concat(id, \"&store_id=\").concat(store_id);\n this.$util.goUrl({\n url: url\n });\n },\n toEmit: function toEmit(key) {\n this.$emit(key);\n }\n }\n};\nexports.default = _default2;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy9zZXJ2aWNlLWxpc3QtaXRlbS52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsInByb3BzIiwiZnJvbSIsInR5cGUiLCJkZWZhdWx0Iiwic2lkIiwiaW5mbyIsIm1heFdpZHRoIiwiZGF0YSIsInRleHRUeXBlIiwiY29tcHV0ZWQiLCJwcmltYXJ5Q29sb3IiLCJzdWJDb2xvciIsInVzZXJJbmZvIiwibWV0aG9kcyIsImdvRGV0YWlsIiwiaWQiLCJzdG9yZV9pZCIsInVybCIsInRvQ2hvb3NlIiwidG9FbWl0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFtREE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztnQkFJQTtFQUNBQTtFQUNBQztJQUNBQztNQUNBQztNQUNBQztRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBRjtNQUNBQztRQUNBO01BQ0E7SUFDQTtJQUNBRTtNQUNBSDtNQUNBQztRQUNBO01BQ0E7SUFDQTtJQUNBRztNQUNBSjtNQUNBQztRQUNBO01BQ0E7SUFDQTtFQUNBO0VBQ0FJO0lBQ0E7TUFDQUM7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUFBO0lBQUE7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQUM7TUFDQSxJQUNBQyxLQUNBLFVBREFBO01BRUEsZ0JBRUEsS0FEQVg7UUFBQVk7TUFFQTtNQUNBO1FBQ0FDO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQ0EsSUFDQWpCLE9BQ0EsS0FEQUE7TUFFQTtRQUNBO1FBQ0E7TUFDQTtNQUNBLElBQ0FjLEtBQ0EsVUFEQUE7TUFFQSxpQkFFQSxLQURBWDtRQUFBWTtNQUVBO01BQ0E7UUFDQUM7TUFDQTtJQUNBO0lBQ0FFO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSIsImZpbGUiOiIyMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cInNlcnZpY2UtbGlzdC1pdGVtXCI+XHJcblx0XHQ8dmlldyBAdGFwLnN0b3A9XCJnb0RldGFpbFwiIGNsYXNzPVwibGlzdC1pdGVtIGZsZXgtd2FycFwiPlxyXG5cdFx0XHQ8IS0tICNpZmRlZiBINSAtLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJjb3ZlciByYWRpdXMtMTZcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImg1LWltYWdlIGNvdmVyIHJhZGl1cy0xNlwiIDpzdHlsZT1cInsgYmFja2dyb3VuZEltYWdlIDogYHVybCgnJHtpbmZvLmNvdmVyfScpYH1cIj5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdFx0PCEtLSAjZW5kaWYgLS0+XHJcblx0XHRcdDwhLS0gI2lmbmRlZiBINSAtLT5cclxuXHRcdFx0PGltYWdlIG1vZGU9XCJhc3BlY3RGaWxsXCIgbGF6eS1sb2FkIGNsYXNzPVwiY292ZXIgcmFkaXVzLTE2XCIgOnNyYz1cImluZm8uY292ZXJcIj48L2ltYWdlPlxyXG5cdFx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4LTEgbWwtbWRcIiA6c3R5bGU9XCJ7bWF4V2lkdGg6bWF4V2lkdGh9XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4LWJldHdlZW5cIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZi10aXRsZSBjLXRpdGxlIHRleHQtYm9sZCBtYXgtMjcwIGVsbGlwc2lzXCI+e3sgaW5mby50aXRsZSB9fTwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZi1jYXB0aW9uIGMtY2FwdGlvblwiPui2hXt7IGluZm8udG90YWxfc2FsZSB9feS6uumAieaLqTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmLWNhcHRpb24gYy1jYXB0aW9uIG10LXNtIG1iLXNtIGVsbGlwc2lzXCIgc3R5bGU9XCJoZWlnaHQ6IDM2cnB4O1wiPnt7IGluZm8uc3ViX3RpdGxlIHx8ICcnIH19XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZi1jYXB0aW9uIGMtY2FwdGlvblwiIHYtaWY9XCJpbmZvLm1hdGVyaWFsX3ByaWNlKjE+MFwiPueJqeaWmei0ue+8msKle3tpbmZvLm1hdGVyaWFsX3ByaWNlfX08L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4LWJldHdlZW5cIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC15LWNlbnRlciBmLWRlc2MgYy1jYXB0aW9uIG1heC0zNTAgZWxsaXBzaXNcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4LXktYmFzZWxpbmUgZi1pY29udGV4dCBjLW9yYW5nZSB0ZXh0LWJvbGQgbXItc21cIj5cclxuXHRcdFx0XHRcdFx0XHQ8YiBjbGFzcz1cImYtY2FwdGlvbiBjLW9yYW5nZVwiPu+/pTwvYj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImYtbWQtdGl0bGVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdHt7IGluZm8ucHJpY2UgfX1cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0ZXh0LWRlbGV0ZVwiIHYtaWY9XCJpbmZvLmluaXRfcHJpY2VcIj7vv6V7eyBpbmZvLmluaXRfcHJpY2UgfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2VydmVmYyBtbC1tZFwiPlx0XHJcblx0XHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJpY29uZm9udCBpY29uLXNoaWppYW5cIiA6c3R5bGU9XCJ7IGNvbG9yOiBwcmltYXJ5Q29sb3IgfVwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImYtY2FwdGlvbiBjLXRpdGxlIG1sLXNtXCI+e3sgaW5mby50aW1lX2xvbmcgfX3liIbpkp88L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cdFx0XHRcdFxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PGF1dGggQHRhcC5zdG9wLnByZXZlbnQgOm5lZWRBdXRoPVwidXNlckluZm8gJiYgKCF1c2VySW5mby5waG9uZSB8fCAhdXNlckluZm8ubmlja05hbWUpXCIgOm11c3Q9XCJ0cnVlXCJcclxuXHRcdFx0XHRcdFx0OnR5cGU9XCIhdXNlckluZm8ucGhvbmUgPyAncGhvbmUnIDogJ3VzZXJJbmZvJ1wiIEBnbz1cInRvQ2hvb3NlXCIgc3R5bGU9XCJ3aWR0aDoxOTBycHhcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4LWJldHdlZW5cIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldz48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtLWJ0biBmbGV4LWNlbnRlciBmLWNhcHRpb24gYy1iYXNlXCIgOnN0eWxlPVwie2JhY2tncm91bmQ6IGBsaW5lYXItZ3JhZGllbnQoNjhkZWcsICR7cHJpbWFyeUNvbG9yfSwgJHtzdWJDb2xvcn0pYH1cIj5cclxuXHRcdFx0XHRcdFx0XHRcdHt7IGZyb20gPT0gJ3RlY2huaWNpYW4taW5mbycgPyBg56uL5Y2z6aKE57qmYCA6IGDpgInmi6kkeyR0KCdhY3Rpb24uYXR0ZW5kYW50TmFtZScpfWB9fVxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC9hdXRoPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCB7XHJcblx0XHRtYXBTdGF0ZSxcclxuXHRcdG1hcE11dGF0aW9uc1xyXG5cdH0gZnJvbSBcInZ1ZXhcIlxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGNvbXBvbmVudHM6IHt9LFxyXG5cdFx0cHJvcHM6IHtcclxuXHRcdFx0ZnJvbToge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0ICgpIHtcclxuXHRcdFx0XHRcdHJldHVybiAnbGlzdCdcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHNpZDoge1xyXG5cdFx0XHRcdHR5cGU6IE51bWJlcixcclxuXHRcdFx0XHRkZWZhdWx0ICgpIHtcclxuXHRcdFx0XHRcdHJldHVybiAwXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRpbmZvOiB7XHJcblx0XHRcdFx0dHlwZTogT2JqZWN0LFxyXG5cdFx0XHRcdGRlZmF1bHQgKCkge1xyXG5cdFx0XHRcdFx0cmV0dXJuIHt9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRtYXhXaWR0aDoge1xyXG5cdFx0XHRcdHR5cGU6IFN0cmluZyxcclxuXHRcdFx0XHRkZWZhdWx0ICgpIHtcclxuXHRcdFx0XHRcdHJldHVybiAnNDkwcnB4J1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0dGV4dFR5cGU6IHtcclxuXHRcdFx0XHRcdDE6ICflj6/mnI3liqEnLFxyXG5cdFx0XHRcdFx0MjogJ+acjeWKoeS4rScsXHJcblx0XHRcdFx0XHQzOiAn5Y+v6aKE57qmJyxcclxuXHRcdFx0XHRcdDQ6ICfkuI3lj6/pooTnuqYnXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiBtYXBTdGF0ZSh7XHJcblx0XHRcdHByaW1hcnlDb2xvcjogc3RhdGUgPT4gc3RhdGUuY29uZmlnLmNvbmZpZ0luZm8ucHJpbWFyeUNvbG9yLFxyXG5cdFx0XHRzdWJDb2xvcjogc3RhdGUgPT4gc3RhdGUuY29uZmlnLmNvbmZpZ0luZm8uc3ViQ29sb3IsXHJcblx0XHRcdHVzZXJJbmZvOiBzdGF0ZSA9PiBzdGF0ZS51c2VyLnVzZXJJbmZvLFxyXG5cdFx0fSksXHJcblx0XHRtZXRob2RzOiB7XHJcblx0XHRcdC8vIOivpuaDhVxyXG5cdFx0XHRnb0RldGFpbCgpIHtcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0aWRcclxuXHRcdFx0XHR9ID0gdGhpcy5pbmZvXHJcblx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdHNpZDogc3RvcmVfaWQgPSAwXHJcblx0XHRcdFx0fSA9IHRoaXNcclxuXHRcdFx0XHRsZXQgdXJsID0gYC91c2VyL3BhZ2VzL2RldGFpbD9pZD0ke2lkfSZzdG9yZV9pZD0ke3N0b3JlX2lkfWBcclxuXHRcdFx0XHR0aGlzLiR1dGlsLmdvVXJsKHtcclxuXHRcdFx0XHRcdHVybFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOmAieaLqeaKgC3luIhcclxuXHRcdFx0dG9DaG9vc2UoKSB7XHJcblx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdGZyb21cclxuXHRcdFx0XHR9ID0gdGhpc1xyXG5cdFx0XHRcdGlmIChmcm9tID09ICd0ZWNobmljaWFuLWluZm8nKSB7XHJcblx0XHRcdFx0XHR0aGlzLiRlbWl0KCdvcmRlcicpXHJcblx0XHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdGlkXHJcblx0XHRcdFx0fSA9IHRoaXMuaW5mb1xyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRzaWQ6IHN0b3JlX2lkID0gMFxyXG5cdFx0XHRcdH0gPSB0aGlzXHJcblx0XHRcdFx0bGV0IHVybCA9IGAvdXNlci9wYWdlcy9jaG9vc2UtdGVjaG5pY2lhbj9pZD0ke2lkfSZzdG9yZV9pZD0ke3N0b3JlX2lkfWBcclxuXHRcdFx0XHR0aGlzLiR1dGlsLmdvVXJsKHtcclxuXHRcdFx0XHRcdHVybFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHRvRW1pdChrZXkpIHtcclxuXHRcdFx0XHR0aGlzLiRlbWl0KGtleSlcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuPC9zY3JpcHQ+XHJcblxyXG48c3R5bGUgc2NvcGVkIGxhbmc9XCJzY3NzXCI+XHJcblx0LnNlcnZpY2UtbGlzdC1pdGVtIHtcclxuXHRcdC5saXN0LWl0ZW0ge1xyXG5cdFx0XHQuY292ZXIge1xyXG5cdFx0XHRcdHdpZHRoOiAxODBycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxODBycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50aW1lLWxvbmcge1xyXG5cdFx0XHRcdG1pbi13aWR0aDogNzJycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAzMHJweDtcclxuXHRcdFx0XHRwYWRkaW5nOiAwIDVycHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgIzRDNTQ1QSAwJSwgIzI4MkIzNCAxMDAlKTtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA0cnB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBycHg7XHJcblx0XHRcdFx0Y29sb3I6ICNGRkVFQjk7XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAxNnJweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LmYtaWNvbnRleHQge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMThycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50ZXh0LWRlbGV0ZSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyNHJweDtcclxuXHRcdFx0XHRjb2xvcjogI0I5QjlCOTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lml0ZW0tYnRuIHtcclxuXHRcdFx0XHRtaW4td2lkdGg6IDE1MHJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDUycnB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMTBycHg7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwcnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC5zZXJ2ZWZje1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVx0XHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///23\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _vuex = __webpack_require__(/*! vuex */ 16);\nvar _permission = _interopRequireDefault(__webpack_require__(/*! @/utils/permission.js */ 106));\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\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 _default2 = {\n components: {},\n props: {\n from: {\n type: String,\n default: function _default() {\n return 'list';\n }\n },\n sid: {\n type: Number,\n default: function _default() {\n return 0;\n }\n },\n info: {\n type: Object,\n default: function _default() {\n return {};\n }\n },\n maxWidth: {\n type: String,\n default: function _default() {\n return '490rpx';\n }\n }\n },\n data: function data() {\n return {\n textType: {\n 1: '可服务',\n 2: '服务中',\n 3: '可预约',\n 4: '不可预约'\n }\n };\n },\n computed: (0, _vuex.mapState)({\n primaryColor: function primaryColor(state) {\n return state.config.configInfo.primaryColor;\n },\n subColor: function subColor(state) {\n return state.config.configInfo.subColor;\n },\n userInfo: function userInfo(state) {\n return state.user.userInfo;\n }\n }),\n methods: {\n // 详情\n goDetail: function goDetail() {\n var id = this.info.id;\n var _this$sid = this.sid,\n store_id = _this$sid === void 0 ? 0 : _this$sid;\n var url = \"/user/pages/detail?id=\".concat(id, \"&store_id=\").concat(store_id);\n this.$util.goUrl({\n url: url\n });\n },\n // 选择技-师\n toChoose: function toChoose() {\n var that = this;\n var appAuthorizeSetting = uni.getAppAuthorizeSetting();\n __f__(\"log\", 9987, appAuthorizeSetting, \" at components/service-list-item.vue:125\");\n if (appAuthorizeSetting.locationAuthorized != 'authorized') {\n that.$refs.perpopup.open('top');\n uni.showModal({\n title: '温馨提示',\n content: '为了获取您附近的服务人员,更好的为您服务,我们需要申请位置信息权限,请您确认授权,否则无法使用该功能~',\n cancelText: '关闭',\n confirmText: '去授权',\n success: function success(res) {\n if (res.confirm) {\n that.$refs.perpopup.close();\n _permission.default.gotoAppPermissionSetting();\n } else {\n that.$refs.perpopup.close();\n }\n }\n });\n return;\n }\n var from = this.from;\n if (from == 'technician-info') {\n this.$emit('order');\n return;\n }\n var id = this.info.id;\n var _this$sid2 = this.sid,\n store_id = _this$sid2 === void 0 ? 0 : _this$sid2;\n var url = \"/user/pages/choose-technician?id=\".concat(id, \"&store_id=\").concat(store_id);\n this.$util.goUrl({\n url: url\n });\n },\n toEmit: function toEmit(key) {\n this.$emit(key);\n }\n }\n};\nexports.default = _default2;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vY29tcG9uZW50cy9zZXJ2aWNlLWxpc3QtaXRlbS52dWUiXSwibmFtZXMiOlsiY29tcG9uZW50cyIsInByb3BzIiwiZnJvbSIsInR5cGUiLCJkZWZhdWx0Iiwic2lkIiwiaW5mbyIsIm1heFdpZHRoIiwiZGF0YSIsInRleHRUeXBlIiwiY29tcHV0ZWQiLCJwcmltYXJ5Q29sb3IiLCJzdWJDb2xvciIsInVzZXJJbmZvIiwibWV0aG9kcyIsImdvRGV0YWlsIiwiaWQiLCJzdG9yZV9pZCIsInVybCIsInRvQ2hvb3NlIiwidGhhdCIsInVuaSIsInRpdGxlIiwiY29udGVudCIsImNhbmNlbFRleHQiLCJjb25maXJtVGV4dCIsInN1Y2Nlc3MiLCJwZXJtaXNpb24iLCJ0b0VtaXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUF3REE7QUFJQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Z0JBQ0E7RUFDQUE7RUFDQUM7SUFDQUM7TUFDQUM7TUFDQUM7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQUY7TUFDQUM7UUFDQTtNQUNBO0lBQ0E7SUFDQUU7TUFDQUg7TUFDQUM7UUFDQTtNQUNBO0lBQ0E7SUFDQUc7TUFDQUo7TUFDQUM7UUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBSTtJQUNBO01BQ0FDO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQUM7TUFBQTtJQUFBO0lBQ0FDO01BQUE7SUFBQTtJQUNBQztNQUFBO0lBQUE7RUFDQTtFQUNBQztJQUNBO0lBQ0FDO01BQ0EsSUFDQUMsS0FDQSxVQURBQTtNQUVBLGdCQUVBLEtBREFYO1FBQUFZO01BRUE7TUFDQTtRQUNBQztNQUNBO0lBQ0E7SUFDQTtJQUNBQztNQUdBO01BQ0E7TUFDQTtNQUNBO1FBQ0FDO1FBQ0FDO1VBQ0FDO1VBQ0FDO1VBQ0FDO1VBQ0FDO1VBQ0FDO1lBQ0E7Y0FDQU47Y0FDQU87WUFDQTtjQUNBUDtZQUNBO1VBQ0E7UUFDQTtRQUNBO01BQ0E7TUFHQSxJQUNBbEIsT0FDQSxLQURBQTtNQUVBO1FBQ0E7UUFDQTtNQUNBO01BQ0EsSUFDQWMsS0FDQSxVQURBQTtNQUVBLGlCQUVBLEtBREFYO1FBQUFZO01BRUE7TUFDQTtRQUNBQztNQUNBO0lBQ0E7SUFDQVU7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDRCIiwiZmlsZSI6IjIzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG5cdDx2aWV3IGNsYXNzPVwic2VydmljZS1saXN0LWl0ZW1cIj5cclxuXHRcdDx2aWV3IEB0YXAuc3RvcD1cImdvRGV0YWlsXCIgY2xhc3M9XCJsaXN0LWl0ZW0gZmxleC13YXJwXCI+XHJcblx0XHRcdDwhLS0gI2lmZGVmIEg1IC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImNvdmVyIHJhZGl1cy0xNlwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaDUtaW1hZ2UgY292ZXIgcmFkaXVzLTE2XCIgOnN0eWxlPVwieyBiYWNrZ3JvdW5kSW1hZ2UgOiBgdXJsKCcke2luZm8uY292ZXJ9JylgfVwiPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8IS0tICNlbmRpZiAtLT5cclxuXHRcdFx0PCEtLSAjaWZuZGVmIEg1IC0tPlxyXG5cdFx0XHQ8aW1hZ2UgbW9kZT1cImFzcGVjdEZpbGxcIiBsYXp5LWxvYWQgY2xhc3M9XCJjb3ZlciByYWRpdXMtMTZcIiA6c3JjPVwiaW5mby5jb3ZlclwiPjwvaW1hZ2U+XHJcblx0XHRcdDwhLS0gI2VuZGlmIC0tPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImZsZXgtMSBtbC1tZFwiIDpzdHlsZT1cInttYXhXaWR0aDptYXhXaWR0aH1cIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXgtYmV0d2VlblwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmLXRpdGxlIGMtdGl0bGUgdGV4dC1ib2xkIG1heC0yNzAgZWxsaXBzaXNcIj57eyBpbmZvLnRpdGxlIH19PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmLWNhcHRpb24gYy1jYXB0aW9uXCI+6LaFe3sgaW5mby50b3RhbF9zYWxlIH195Lq66YCJ5oupPC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImYtY2FwdGlvbiBjLWNhcHRpb24gbXQtc20gbWItc20gZWxsaXBzaXNcIiBzdHlsZT1cImhlaWdodDogMzZycHg7XCI+e3sgaW5mby5zdWJfdGl0bGUgfHwgJycgfX1cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmLWNhcHRpb24gYy1jYXB0aW9uXCIgdi1pZj1cImluZm8ubWF0ZXJpYWxfcHJpY2UqMT4wXCI+54mp5paZ6LS577yawqV7e2luZm8ubWF0ZXJpYWxfcHJpY2V9fTwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXgtYmV0d2VlblwiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmbGV4LXktY2VudGVyIGYtZGVzYyBjLWNhcHRpb24gbWF4LTM1MCBlbGxpcHNpc1wiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXgteS1iYXNlbGluZSBmLWljb250ZXh0IGMtb3JhbmdlIHRleHQtYm9sZCBtci1zbVwiPlxyXG5cdFx0XHRcdFx0XHRcdDxiIGNsYXNzPVwiZi1jYXB0aW9uIGMtb3JhbmdlXCI+77+lPC9iPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZi1tZC10aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0e3sgaW5mby5wcmljZSB9fVxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInRleHQtZGVsZXRlXCIgdi1pZj1cImluZm8uaW5pdF9wcmljZVwiPu+/pXt7IGluZm8uaW5pdF9wcmljZSB9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZXJ2ZWZjIG1sLW1kXCI+XHJcblx0XHRcdFx0XHRcdFx0PGkgY2xhc3M9XCJpY29uZm9udCBpY29uLXNoaWppYW5cIiA6c3R5bGU9XCJ7IGNvbG9yOiBwcmltYXJ5Q29sb3IgfVwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImYtY2FwdGlvbiBjLXRpdGxlIG1sLXNtXCI+e3sgaW5mby50aW1lX2xvbmcgfX3liIbpkp88L3NwYW4+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDxhdXRoIEB0YXAuc3RvcC5wcmV2ZW50IDpuZWVkQXV0aD1cInVzZXJJbmZvICYmICghdXNlckluZm8ucGhvbmUgfHwgIXVzZXJJbmZvLm5pY2tOYW1lKVwiIDptdXN0PVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdDp0eXBlPVwiIXVzZXJJbmZvLnBob25lID8gJ3Bob25lJyA6ICd1c2VySW5mbydcIiBAZ289XCJ0b0Nob29zZVwiIHN0eWxlPVwid2lkdGg6MTkwcnB4XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1iZXR3ZWVuXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXc+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbS1idG4gZmxleC1jZW50ZXIgZi1jYXB0aW9uIGMtYmFzZVwiXHJcblx0XHRcdFx0XHRcdFx0XHQ6c3R5bGU9XCJ7YmFja2dyb3VuZDogYGxpbmVhci1ncmFkaWVudCg2OGRlZywgJHtwcmltYXJ5Q29sb3J9LCAke3N1YkNvbG9yfSlgfVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0e3sgZnJvbSA9PSAndGVjaG5pY2lhbi1pbmZvJyA/IGDnq4vljbPpooTnuqZgIDogYOmAieaLqSR7JHQoJ2FjdGlvbi5hdHRlbmRhbnROYW1lJyl9YH19XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L2F1dGg+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblx0XHQ8dW5pLXBvcHVwIHJlZj1cInBlcnBvcHVwXCIgdHlwZT1cInRvcFwiIDptYXNrLWNsaWNrPSdmYWxzZScgOnpJbmRleD1cIjk5OVwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInBlcm1pc3Npb25zX2JveFwiPlxyXG5cdFx0XHRcdOS4uuS6huiOt+WPluaCqOmZhOi/keeahOacjeWKoeS6uuWRmO+8jOabtOWlveeahOS4uuaCqOacjeWKoSzmiJHku6zpnIDopoHnlLPor7fkvY3nva7kv6Hmga/mnYPpmZDvvIzor7fmgqjnoa7orqTmjojmnYPvvIzlkKbliJnml6Dms5Xkvb/nlKjor6Xlip/og73jgIJcclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC91bmktcG9wdXA+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQge1xyXG5cdFx0bWFwU3RhdGUsXHJcblx0XHRtYXBNdXRhdGlvbnNcclxuXHR9IGZyb20gXCJ2dWV4XCJcclxuXHRpbXBvcnQgcGVybWlzaW9uIGZyb20gJ0AvdXRpbHMvcGVybWlzc2lvbi5qcydcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRjb21wb25lbnRzOiB7fSxcclxuXHRcdHByb3BzOiB7XHJcblx0XHRcdGZyb206IHtcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRcdFx0ZGVmYXVsdCAoKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gJ2xpc3QnXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzaWQ6IHtcclxuXHRcdFx0XHR0eXBlOiBOdW1iZXIsXHJcblx0XHRcdFx0ZGVmYXVsdCAoKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gMFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0aW5mbzoge1xyXG5cdFx0XHRcdHR5cGU6IE9iamVjdCxcclxuXHRcdFx0XHRkZWZhdWx0ICgpIHtcclxuXHRcdFx0XHRcdHJldHVybiB7fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0bWF4V2lkdGg6IHtcclxuXHRcdFx0XHR0eXBlOiBTdHJpbmcsXHJcblx0XHRcdFx0ZGVmYXVsdCAoKSB7XHJcblx0XHRcdFx0XHRyZXR1cm4gJzQ5MHJweCdcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdHRleHRUeXBlOiB7XHJcblx0XHRcdFx0XHQxOiAn5Y+v5pyN5YqhJyxcclxuXHRcdFx0XHRcdDI6ICfmnI3liqHkuK0nLFxyXG5cdFx0XHRcdFx0MzogJ+WPr+mihOe6picsXHJcblx0XHRcdFx0XHQ0OiAn5LiN5Y+v6aKE57qmJ1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRjb21wdXRlZDogbWFwU3RhdGUoe1xyXG5cdFx0XHRwcmltYXJ5Q29sb3I6IHN0YXRlID0+IHN0YXRlLmNvbmZpZy5jb25maWdJbmZvLnByaW1hcnlDb2xvcixcclxuXHRcdFx0c3ViQ29sb3I6IHN0YXRlID0+IHN0YXRlLmNvbmZpZy5jb25maWdJbmZvLnN1YkNvbG9yLFxyXG5cdFx0XHR1c2VySW5mbzogc3RhdGUgPT4gc3RhdGUudXNlci51c2VySW5mbyxcclxuXHRcdH0pLFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQvLyDor6bmg4VcclxuXHRcdFx0Z29EZXRhaWwoKSB7XHJcblx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdGlkXHJcblx0XHRcdFx0fSA9IHRoaXMuaW5mb1xyXG5cdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRzaWQ6IHN0b3JlX2lkID0gMFxyXG5cdFx0XHRcdH0gPSB0aGlzXHJcblx0XHRcdFx0bGV0IHVybCA9IGAvdXNlci9wYWdlcy9kZXRhaWw/aWQ9JHtpZH0mc3RvcmVfaWQ9JHtzdG9yZV9pZH1gXHJcblx0XHRcdFx0dGhpcy4kdXRpbC5nb1VybCh7XHJcblx0XHRcdFx0XHR1cmxcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDpgInmi6nmioAt5biIXHJcblx0XHRcdHRvQ2hvb3NlKCkge1xyXG5cclxuXHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzXHJcblx0XHRcdFx0Y29uc3QgYXBwQXV0aG9yaXplU2V0dGluZyA9IHVuaS5nZXRBcHBBdXRob3JpemVTZXR0aW5nKClcclxuXHRcdFx0XHRjb25zb2xlLmxvZyg5OTg3LCBhcHBBdXRob3JpemVTZXR0aW5nKTtcclxuXHRcdFx0XHRpZiAoYXBwQXV0aG9yaXplU2V0dGluZy5sb2NhdGlvbkF1dGhvcml6ZWQgIT0gJ2F1dGhvcml6ZWQnKSB7XHJcblx0XHRcdFx0XHR0aGF0LiRyZWZzLnBlcnBvcHVwLm9wZW4oJ3RvcCcpXHJcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdFx0dGl0bGU6ICfmuKnppqjmj5DnpLonLFxyXG5cdFx0XHRcdFx0XHRjb250ZW50OiAn5Li65LqG6I635Y+W5oKo6ZmE6L+R55qE5pyN5Yqh5Lq65ZGY77yM5pu05aW955qE5Li65oKo5pyN5YqhLOaIkeS7rOmcgOimgeeUs+ivt+S9jee9ruS/oeaBr+adg+mZkO+8jOivt+aCqOehruiupOaOiOadg++8jOWQpuWImeaXoOazleS9v+eUqOivpeWKn+iDvX4nLFxyXG5cdFx0XHRcdFx0XHRjYW5jZWxUZXh0OiAn5YWz6ZetJyxcclxuXHRcdFx0XHRcdFx0Y29uZmlybVRleHQ6ICfljrvmjojmnYMnLFxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzKHJlcykge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuY29uZmlybSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhhdC4kcmVmcy5wZXJwb3B1cC5jbG9zZSgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0cGVybWlzaW9uLmdvdG9BcHBQZXJtaXNzaW9uU2V0dGluZygpXHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdHRoYXQuJHJlZnMucGVycG9wdXAuY2xvc2UoKTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRyZXR1cm5cclxuXHRcdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0ZnJvbVxyXG5cdFx0XHRcdH0gPSB0aGlzXHJcblx0XHRcdFx0aWYgKGZyb20gPT0gJ3RlY2huaWNpYW4taW5mbycpIHtcclxuXHRcdFx0XHRcdHRoaXMuJGVtaXQoJ29yZGVyJylcclxuXHRcdFx0XHRcdHJldHVyblxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0aWRcclxuXHRcdFx0XHR9ID0gdGhpcy5pbmZvXHJcblx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdHNpZDogc3RvcmVfaWQgPSAwXHJcblx0XHRcdFx0fSA9IHRoaXNcclxuXHRcdFx0XHRsZXQgdXJsID0gYC91c2VyL3BhZ2VzL2Nob29zZS10ZWNobmljaWFuP2lkPSR7aWR9JnN0b3JlX2lkPSR7c3RvcmVfaWR9YFxyXG5cdFx0XHRcdHRoaXMuJHV0aWwuZ29Vcmwoe1xyXG5cdFx0XHRcdFx0dXJsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0dG9FbWl0KGtleSkge1xyXG5cdFx0XHRcdHRoaXMuJGVtaXQoa2V5KVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBzY29wZWQgbGFuZz1cInNjc3NcIj5cclxuXHQuc2VydmljZS1saXN0LWl0ZW0ge1xyXG5cdFx0Lmxpc3QtaXRlbSB7XHJcblx0XHRcdC5jb3ZlciB7XHJcblx0XHRcdFx0d2lkdGg6IDE4MHJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDE4MHJweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnRpbWUtbG9uZyB7XHJcblx0XHRcdFx0bWluLXdpZHRoOiA3MnJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDMwcnB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgNXJweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCAjNEM1NDVBIDAlLCAjMjgyQjM0IDEwMCUpO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDRycHg7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyMHJweDtcclxuXHRcdFx0XHRjb2xvcjogI0ZGRUVCOTtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDE2cnB4O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZi1pY29udGV4dCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAxOHJweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnBlcm1pc3Npb25zX2JveCB7XHJcblx0XHRcdFx0cGFkZGluZzogMjAwcnB4IDMwcnB4O1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAyMDBycHg7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDUwcnB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDUwcnB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC50ZXh0LWRlbGV0ZSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyNHJweDtcclxuXHRcdFx0XHRjb2xvcjogI0I5QjlCOTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lml0ZW0tYnRuIHtcclxuXHRcdFx0XHRtaW4td2lkdGg6IDE1MHJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDUycnB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDAgMTBycHg7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwcnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQuc2VydmVmYyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHR9XHJcbjwvc3R5bGU+Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///23\n"); /***/ }), /* 24 */ @@ -77247,7 +77274,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _C_U /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 13));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 15));\nvar _vuex = __webpack_require__(/*! vuex */ 16);\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/api/index.js */ 322));\nvar _index2 = _interopRequireDefault(__webpack_require__(/*! @/store/index.js */ 319));\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 timer: null\n };\n },\n mounted: function mounted() {\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 __f__(\"log\", 'App mounted', \" at App.vue:24\");\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n onLaunch: function onLaunch() {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var configInfo, isGzhLogin, arr, commonOptions, _commonOptions$coach_, coach_id;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n uni.getSystemInfo({\n success: function success(res) {\n __f__(\"log\", 9999, res, \" at App.vue:29\");\n }\n });\n configInfo = uni.getStorageSync('configInfo') || '';\n if (configInfo) {\n _index2.default.commit('updateConfigItem', {\n key: 'configInfo',\n val: configInfo\n });\n }\n isGzhLogin = uni.getStorageSync('isGzhLogin') || false;\n _index2.default.commit('updateUserItem', {\n key: 'isGzhLogin',\n val: isGzhLogin\n });\n arr = ['autograph', 'userInfo', 'location', 'appLogin', 'loginType'];\n arr.map(function (key) {\n var val = uni.getStorageSync(key) || '';\n _index2.default.commit('updateUserItem', {\n key: key,\n val: val\n });\n if (key == 'userInfo') {\n _index2.default.commit('updateUserItem', {\n key: 'isShowLogin',\n val: val && val.id ? false : true\n });\n }\n });\n commonOptions = _this.commonOptions;\n _commonOptions$coach_ = commonOptions.coach_id, coach_id = _commonOptions$coach_ === void 0 ? 0 : _commonOptions$coach_;\n if (coach_id) {\n commonOptions.coach_id = 0;\n _index2.default.commit('updateUserItem', {\n key: 'commonOptions',\n val: commonOptions\n });\n }\n _this.initIndex();\n __f__(\"log\", 'App onLaunch', \" at App.vue:77\");\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n onShow: function onShow() {\n var _this2 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var _this2$userInfo$coach, coach_position, _this2$coachInfo, _this2$coachInfo$id, coachId, _this2$coachInfo$stat, status;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (_this2.timer) {\n clearInterval(_this2.timer);\n }\n _this2$userInfo$coach = _this2.userInfo.coach_position, coach_position = _this2$userInfo$coach === void 0 ? 0 : _this2$userInfo$coach;\n _this2$coachInfo = _this2.coachInfo, _this2$coachInfo$id = _this2$coachInfo.id, coachId = _this2$coachInfo$id === void 0 ? 0 : _this2$coachInfo$id, _this2$coachInfo$stat = _this2$coachInfo.status, status = _this2$coachInfo$stat === void 0 ? 0 : _this2$coachInfo$stat;\n if (!(coach_position == 1)) {\n _context3.next = 8;\n break;\n }\n if (coachId) {\n _context3.next = 7;\n break;\n }\n _context3.next = 7;\n return _this2.getCoachInfo();\n case 7:\n _index2.default.commit('updateUserItem', {\n key: 'locationChange',\n val: true\n });\n case 8:\n uni.onNetworkStatusChange(function (res) {\n var isConnected = res.isConnected;\n if (isConnected) return;\n var methodArr = ['updateServiceItem', 'updateTechnicianItem'];\n methodArr.map(function (item) {\n _index2.default.commit(item, {\n key: 'pageActive',\n val: false\n });\n });\n });\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n onHide: function onHide() {\n var _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n var _this3$userInfo$coach, coach_position, _this3$coachInfo$stat, status;\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n __f__(\"log\", 'App Hide', \" at App.vue:114\");\n _this3$userInfo$coach = _this3.userInfo.coach_position, coach_position = _this3$userInfo$coach === void 0 ? 0 : _this3$userInfo$coach;\n _this3$coachInfo$stat = _this3.coachInfo.status, status = _this3$coachInfo$stat === void 0 ? 0 : _this3$coachInfo$stat;\n if (!(!coach_position || status != 2)) {\n _context4.next = 5;\n break;\n }\n return _context4.abrupt(\"return\");\n case 5:\n _index2.default.commit('updateUserItem', {\n key: 'locationChange',\n val: false\n });\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n onUnload: function onUnload() {\n uni.offLocationChange(function (res) {\n __f__(\"log\", \"====offLocationChange onUnload\", res, \" at App.vue:138\");\n });\n },\n watch: {\n locationChange: function locationChange(newVal, oldVal) {\n if (newVal) {\n uni.startLocationUpdate({\n complete: function complete(msg) {\n return __f__(\"log\", \"startLocationUpdate API complete\", msg, \" at App.vue:145\");\n }\n });\n } else {\n uni.stopLocationUpdate({\n complete: function complete(msg) {\n return __f__(\"log\", \"stopLocationUpdate API complete\", msg, \" at App.vue:149\");\n }\n });\n }\n },\n 'configInfo.attendant_name': function configInfoAttendant_name(newVal, oldVal) {\n if (newVal) {\n this.mergeLocaleMessage();\n }\n }\n },\n computed: (0, _vuex.mapState)({\n configInfo: function configInfo(state) {\n return state.config.configInfo;\n },\n old_attendant_name: function old_attendant_name(state) {\n return state.config.old_attendant_name;\n },\n commonOptions: function commonOptions(state) {\n return state.user.commonOptions;\n },\n locationChange: function locationChange(state) {\n return state.user.locationChange;\n },\n locationChangeUnix: function locationChangeUnix(state) {\n return state.user.locationChangeUnix;\n },\n userInfo: function userInfo(state) {\n return state.user.userInfo;\n },\n coachInfo: function coachInfo(state) {\n return state.user.coachInfo;\n }\n }),\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)(['getConfigInfo', 'getUserInfo', 'getCoachInfo'])), {}, {\n initIndex: function initIndex() {\n var _this4 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n var that, _that$userInfo$coach_, coach_position, _that$coachInfo$id, coachId, _that$configInfo, _that$configInfo$prim, primaryColor, _that$configInfo$plug, plugAuth, _that$configInfo$tabB, tabBar, mineInd;\n return _regenerator.default.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n that = _this4;\n _that$userInfo$coach_ = that.userInfo.coach_position, coach_position = _that$userInfo$coach_ === void 0 ? 0 : _that$userInfo$coach_;\n uni.onLocationChange(function (res) {\n __f__(\"log\", \"====onLocationChange\", res, \" at App.vue:176\");\n var lat = res.latitude,\n lng = res.longitude;\n that.toChangeLocation({\n lat: lat,\n lng: lng\n });\n });\n if (!(coach_position == 1)) {\n _context5.next = 9;\n break;\n }\n _that$coachInfo$id = that.coachInfo.id, coachId = _that$coachInfo$id === void 0 ? 0 : _that$coachInfo$id;\n if (coachId) {\n _context5.next = 8;\n break;\n }\n _context5.next = 8;\n return that.getCoachInfo();\n case 8:\n _index2.default.commit('updateUserItem', {\n key: 'locationChange',\n val: true\n });\n case 9:\n _that$configInfo = that.configInfo, _that$configInfo$prim = _that$configInfo.primaryColor, primaryColor = _that$configInfo$prim === void 0 ? '' : _that$configInfo$prim, _that$configInfo$plug = _that$configInfo.plugAuth, plugAuth = _that$configInfo$plug === void 0 ? {} : _that$configInfo$plug, _that$configInfo$tabB = _that$configInfo.tabBar, tabBar = _that$configInfo$tabB === void 0 ? [] : _that$configInfo$tabB;\n mineInd = tabBar.findIndex(function (item) {\n return item.id == 5;\n });\n __f__(\"log\", mineInd, \"======mineInd\", \" at App.vue:206\");\n // if ((primaryColor && plugAuth.length > 0) || mineInd != -1) return\n _context5.next = 14;\n return that.getConfigInfo();\n case 14:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n mergeLocaleMessage: function mergeLocaleMessage() {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n var zh, name, oldName, reg, i;\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n zh = JSON.parse(JSON.stringify(_this5.$i18n.messages.zh));\n name = _this5.configInfo.attendant_name;\n oldName = _this5.old_attendant_name;\n reg = new RegExp(oldName, 'g');\n for (i in zh.action) {\n if (zh.action[i].includes(oldName)) {\n zh.action[i] = zh.action[i].replace(reg, name);\n }\n }\n _this5.$i18n.mergeLocaleMessage('zh', zh);\n _index2.default.commit('updateConfigItem', {\n key: 'old_attendant_name',\n val: name\n });\n // console.log(this.$t('action.attendantName'), this.$i18n.messages.zh, \"=====\");\n case 7:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n toHidePage: function toHidePage() {\n var _this6 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {\n var _yield$_this6$$jweixi, lat, lng, val;\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 _this6.$jweixin.getWxLocation();\n case 2:\n _yield$_this6$$jweixi = _context7.sent;\n lat = _yield$_this6$$jweixi.latitude;\n lng = _yield$_this6$$jweixi.longitude;\n if (lat && lng) {\n val = _this6.$util.DateToUnix(_this6.$util.formatTime(new Date(), 'YY-M-D h:m:s'));\n _index2.default.commit('updateUserItem', {\n key: 'locationChangeUnix',\n val: val\n });\n _this6.toChangeLocation({\n lat: lat,\n lng: lng\n });\n }\n case 6:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }))();\n },\n toChangeLocation: function toChangeLocation(param) {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {\n var lat, lng, _this7$userInfo, _this7$userInfo$id, id, _this7$userInfo$coach, coach_position, _this7$coachInfo, coach_lat, coach_lng, _this7$coachInfo$stat, status, locationChangeUnix, curUnix, second, isMin, isSame, val, key, data, _JSON$parse, _status, result, address;\n return _regenerator.default.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n lat = param.lat, lng = param.lng;\n _this7$userInfo = _this7.userInfo, _this7$userInfo$id = _this7$userInfo.id, id = _this7$userInfo$id === void 0 ? 0 : _this7$userInfo$id, _this7$userInfo$coach = _this7$userInfo.coach_position, coach_position = _this7$userInfo$coach === void 0 ? 0 : _this7$userInfo$coach;\n _this7$coachInfo = _this7.coachInfo, coach_lat = _this7$coachInfo.lat, coach_lng = _this7$coachInfo.lng, _this7$coachInfo$stat = _this7$coachInfo.status, status = _this7$coachInfo$stat === void 0 ? 0 : _this7$coachInfo$stat;\n locationChangeUnix = _this7.locationChangeUnix;\n curUnix = _this7.$util.DateToUnix(_this7.$util.formatTime(new Date(), 'YY-M-D h:m:s'));\n second = 3;\n second = 1;\n\n // console.log(curUnix, locationChangeUnix, curUnix - locationChangeUnix,\n // \t\"=====curUnix - locationChangeUnix\")\n isMin = curUnix - locationChangeUnix <= second || curUnix - locationChangeUnix >= 60;\n isSame = coach_lat * 1 == lat && coach_lng * 1 == lng; // console.log(lat, lng, coach_position, isMin, isSame, \"=====lat, lng, coach_position, isMin\")\n if (!(!coach_position || status != 2 || !isMin || isSame)) {\n _context8.next = 11;\n break;\n }\n return _context8.abrupt(\"return\");\n case 11:\n val = _this7.$util.DateToUnix(_this7.$util.formatTime(new Date(), 'YY-M-D h:m:s'));\n _index2.default.commit('updateUserItem', {\n key: 'locationChangeUnix',\n val: val\n });\n key = \"\".concat(lat, \",\").concat(lng);\n _context8.prev = 14;\n _context8.next = 17;\n return _this7.$api.base.getMapInfo({\n location: key\n });\n case 17:\n data = _context8.sent;\n _JSON$parse = JSON.parse(data), _status = _JSON$parse.status, result = _JSON$parse.result;\n if (!(_status == 0)) {\n _context8.next = 26;\n break;\n }\n address = result.address;\n __f__(\"log\", \"toChangeLocation==>\", \"\".concat(lat, \"-\").concat(lng, \"-\").concat(address), \" at App.vue:294\");\n _context8.next = 24;\n return _this7.$api.technician.coachUpdate({\n lat: lat,\n lng: lng,\n address: address\n });\n case 24:\n _context8.next = 26;\n return _this7.getCoachInfo();\n case 26:\n _context8.next = 32;\n break;\n case 28:\n _context8.prev = 28;\n _context8.t0 = _context8[\"catch\"](14);\n __f__(\"log\", '=====getMapInfo catch', \" at App.vue:303\");\n uni.stopLocationUpdate({\n complete: function complete(msg) {\n return __f__(\"log\", \"stopLocationUpdate API complete\", msg, \" at App.vue:305\");\n }\n });\n case 32:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, null, [[14, 28]]);\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 */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwidGltZXIiLCJtb3VudGVkIiwib25MYXVuY2giLCJ1bmkiLCJzdWNjZXNzIiwiY29uZmlnSW5mbyIsIiRzdG9yZSIsImtleSIsInZhbCIsImlzR3poTG9naW4iLCJhcnIiLCJjb21tb25PcHRpb25zIiwiY29hY2hfaWQiLCJvblNob3ciLCJjbGVhckludGVydmFsIiwiY29hY2hfcG9zaXRpb24iLCJpZCIsInN0YXR1cyIsImNvYWNoSWQiLCJpc0Nvbm5lY3RlZCIsInJlcyIsIm1ldGhvZEFyciIsIm9uSGlkZSIsIm9uVW5sb2FkIiwid2F0Y2giLCJsb2NhdGlvbkNoYW5nZSIsImNvbXBsZXRlIiwiY29tcHV0ZWQiLCJvbGRfYXR0ZW5kYW50X25hbWUiLCJsb2NhdGlvbkNoYW5nZVVuaXgiLCJ1c2VySW5mbyIsImNvYWNoSW5mbyIsIm1ldGhvZHMiLCJpbml0SW5kZXgiLCJ0aGF0IiwibGF0IiwibGF0aXR1ZGUiLCJsbmciLCJsb25naXR1ZGUiLCJwcmltYXJ5Q29sb3IiLCJwbHVnQXV0aCIsInRhYkJhciIsIm1pbmVJbmQiLCJtZXJnZUxvY2FsZU1lc3NhZ2UiLCJ6aCIsIm5hbWUiLCJhdHRlbmRhbnRfbmFtZSIsIm9sZE5hbWUiLCJyZWciLCJ0b0hpZGVQYWdlIiwidG9DaGFuZ2VMb2NhdGlvbiIsInBhcmFtIiwiY29hY2hfbGF0IiwiY29hY2hfbG5nIiwiY3VyVW5peCIsInNlY29uZCIsImlzTWluIiwiaXNTYW1lIiwibG9jYXRpb24iLCJKU09OIiwicmVzdWx0IiwiYWRkcmVzcyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUNBO0FBS0E7QUFDQTtBQUFBO0FBQUE7QUFBQSxlQUNBO0VBQ0FBO0lBQ0E7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQUE7TUFBQTtRQUFBO1VBQUE7WUFBQTtjQVNBO1lBQUE7WUFBQTtjQUFBO1VBQUE7UUFBQTtNQUFBO0lBQUE7RUFDQTtFQUNBQztJQUFB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UUFBQTtVQUFBO1lBQUE7Y0FBQTtnQkFBQTtnQkFBQSxPQUlBO2NBQUE7Z0JBQUE7Z0JBRkFkO2dCQUNBRTtnQkFFQTtrQkFDQTdCO2tCQUNBRjtvQkFDQUM7b0JBQ0FDO2tCQUNBO2tCQUNBO29CQUNBMkI7b0JBQ0FFO2tCQUNBO2dCQUNBO2NBQUE7Y0FBQTtnQkFBQTtZQUFBO1VBQUE7UUFBQTtNQUFBO0lBQ0E7SUFDQWE7TUFBQTtNQUFBO1FBQUE7UUFBQTtVQUFBO1lBQUE7Y0FBQTtnQkFFQWYsTUFFQWdCLE1BRkFoQixLQUNBRSxNQUNBYyxNQURBZDtnQkFBQSxrQkFLQSxzREFGQXJCLHlHQUNBRDtnQkFBQSxtQkFNQSxrQkFIQXFDLGtDQUNBQywyRUFDQXBDO2dCQUdBWSxxQkFDQSxPQURBQTtnQkFFQXlCO2dCQUNBQztnQkFFQUE7O2dCQUVBO2dCQUNBO2dCQUNBQztnQkFDQUMsdURBQ0E7Z0JBQUEsTUFDQTtrQkFBQTtrQkFBQTtnQkFBQTtnQkFBQTtjQUFBO2dCQUVBakQ7Z0JBQ0FGO2tCQUNBQztrQkFDQUM7Z0JBQ0E7Z0JBRUFEO2dCQUFBO2dCQUFBO2dCQUFBLE9BRUE7a0JBQ0FtRDtnQkFDQTtjQUFBO2dCQUZBM0Q7Z0JBQUEsY0FNQTRELGtCQUZBMUMsOEJBQ0EyQztnQkFBQSxNQUVBM0M7a0JBQUE7a0JBQUE7Z0JBQUE7Z0JBRUE0QyxVQUNBRCxPQURBQztnQkFFQTtnQkFBQTtnQkFBQSxPQUNBO2tCQUNBMUI7a0JBQ0FFO2tCQUNBd0I7Z0JBQ0E7Y0FBQTtnQkFBQTtnQkFBQSxPQUNBO2NBQUE7Z0JBQUE7Z0JBQUE7Y0FBQTtnQkFBQTtnQkFBQTtnQkFHQTtnQkFDQTFEO2tCQUNBdUI7b0JBQUE7a0JBQUE7Z0JBQ0E7Y0FBQTtjQUFBO2dCQUFBO1lBQUE7VUFBQTtRQUFBO01BQUE7SUFFQTtFQUFBO0FBRUE7QUFBQSwyQiIsImZpbGUiOiI4MDAuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8c2NyaXB0PlxyXG5cdGltcG9ydCB7XHJcblx0XHRtYXBTdGF0ZSxcclxuXHRcdG1hcEFjdGlvbnMsXHJcblx0XHRtYXBNdXRhdGlvbnNcclxuXHR9IGZyb20gXCJ2dWV4XCJcclxuXHRpbXBvcnQgJGFwaSBmcm9tIFwiQC9hcGkvaW5kZXguanNcIlxyXG5cdGltcG9ydCAkc3RvcmUgZnJvbSBcIkAvc3RvcmUvaW5kZXguanNcIlxyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0dGltZXI6IG51bGxcclxuXHRcdFx0fVxyXG5cdFx0fSxcclxuXHRcdGFzeW5jIG1vdW50ZWQoKSB7XHJcblx0XHRcdC8vICNpZmRlZiBINVxyXG5cdFx0XHRpZiAodHlwZW9mIHdpbmRvdy5lbnRyeVVybCA9PT0gJ3VuZGVmaW5lZCcgfHwgd2luZG93LmVudHJ5VXJsID09PSAnJykge1xyXG5cdFx0XHRcdHdpbmRvdy5lbnRyeVVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCcjJylbMF1cclxuXHRcdFx0fVxyXG5cdFx0XHRpZiAod2luZG93LmxvY2F0aW9uLmhyZWYuaW5kZXhPZignPyMnKSA8IDApIHtcclxuXHRcdFx0XHR3aW5kb3cubG9jYXRpb24uaHJlZiA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnJlcGxhY2UoXCIjXCIsIFwiPyNcIik7XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gI2VuZGlmXHJcblx0XHRcdGNvbnNvbGUubG9nKCdBcHAgbW91bnRlZCcpXHJcblx0XHR9LFxyXG5cdFx0YXN5bmMgb25MYXVuY2goKSB7XHJcblx0XHRcdHVuaS5nZXRTeXN0ZW1JbmZvKHtcclxuXHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbiAocmVzKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyg5OTk5LHJlcylcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pO1xyXG5cdFx0XHRsZXQgY29uZmlnSW5mbyA9IHVuaS5nZXRTdG9yYWdlU3luYygnY29uZmlnSW5mbycpIHx8ICcnXHJcblx0XHRcdGlmIChjb25maWdJbmZvKSB7XHJcblx0XHRcdFx0JHN0b3JlLmNvbW1pdCgndXBkYXRlQ29uZmlnSXRlbScsIHtcclxuXHRcdFx0XHRcdGtleTogJ2NvbmZpZ0luZm8nLFxyXG5cdFx0XHRcdFx0dmFsOiBjb25maWdJbmZvXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fVxyXG5cdFx0XHRsZXQgaXNHemhMb2dpbiA9IHVuaS5nZXRTdG9yYWdlU3luYygnaXNHemhMb2dpbicpIHx8IGZhbHNlXHJcblx0XHRcdCRzdG9yZS5jb21taXQoJ3VwZGF0ZVVzZXJJdGVtJywge1xyXG5cdFx0XHRcdGtleTogJ2lzR3poTG9naW4nLFxyXG5cdFx0XHRcdHZhbDogaXNHemhMb2dpblxyXG5cdFx0XHR9KVxyXG5cdFx0XHRsZXQgYXJyID0gWydhdXRvZ3JhcGgnLCAndXNlckluZm8nLCAnbG9jYXRpb24nLCAnYXBwTG9naW4nLCAnbG9naW5UeXBlJ11cclxuXHRcdFx0YXJyLm1hcChrZXkgPT4ge1xyXG5cdFx0XHRcdGxldCB2YWwgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoa2V5KSB8fCAnJ1xyXG5cdFx0XHRcdC8vICNpZmRlZiBINVxyXG5cdFx0XHRcdHZhbCA9IGlzR3poTG9naW4gPyB2YWwgOiAnJ1xyXG5cdFx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHRcdCRzdG9yZS5jb21taXQoJ3VwZGF0ZVVzZXJJdGVtJywge1xyXG5cdFx0XHRcdFx0a2V5LFxyXG5cdFx0XHRcdFx0dmFsXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHQvLyAjaWZkZWYgQVBQLVBMVVNcclxuXHRcdFx0XHRpZiAoa2V5ID09ICd1c2VySW5mbycpIHtcclxuXHRcdFx0XHRcdCRzdG9yZS5jb21taXQoJ3VwZGF0ZVVzZXJJdGVtJywge1xyXG5cdFx0XHRcdFx0XHRrZXk6ICdpc1Nob3dMb2dpbicsXHJcblx0XHRcdFx0XHRcdHZhbDogdmFsICYmIHZhbC5pZCA/IGZhbHNlIDogdHJ1ZVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0Ly8gI2VuZGlmXHJcblx0XHRcdH0pXHJcblx0XHRcdGxldCB7XHJcblx0XHRcdFx0Y29tbW9uT3B0aW9uc1xyXG5cdFx0XHR9ID0gdGhpc1xyXG5cdFx0XHRsZXQge1xyXG5cdFx0XHRcdGNvYWNoX2lkID0gMFxyXG5cdFx0XHR9ID0gY29tbW9uT3B0aW9uc1xyXG5cdFx0XHRpZiAoY29hY2hfaWQpIHtcclxuXHRcdFx0XHRjb21tb25PcHRpb25zLmNvYWNoX2lkID0gMFxyXG5cdFx0XHRcdCRzdG9yZS5jb21taXQoJ3VwZGF0ZVVzZXJJdGVtJywge1xyXG5cdFx0XHRcdFx0a2V5OiAnY29tbW9uT3B0aW9ucycsXHJcblx0XHRcdFx0XHR2YWw6IGNvbW1vbk9wdGlvbnNcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHRcdHRoaXMuaW5pdEluZGV4KClcclxuXHRcdFx0Y29uc29sZS5sb2coJ0FwcCBvbkxhdW5jaCcpXHJcblx0XHR9LFxyXG5cdFx0YXN5bmMgb25TaG93KCkge1xyXG5cdFx0XHRpZiAodGhpcy50aW1lcikge1xyXG5cdFx0XHRcdGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcilcclxuXHRcdFx0fVxyXG5cdFx0XHRsZXQge1xyXG5cdFx0XHRcdGNvYWNoX3Bvc2l0aW9uID0gMFxyXG5cdFx0XHR9ID0gdGhpcy51c2VySW5mb1xyXG5cdFx0XHRsZXQge1xyXG5cdFx0XHRcdGlkOiBjb2FjaElkID0gMCxcclxuXHRcdFx0XHRzdGF0dXMgPSAwXHJcblx0XHRcdH0gPSB0aGlzLmNvYWNoSW5mb1xyXG5cdFx0XHRpZiAoY29hY2hfcG9zaXRpb24gPT0gMSkge1xyXG5cdFx0XHRcdGlmICghY29hY2hJZCkge1xyXG5cdFx0XHRcdFx0YXdhaXQgdGhpcy5nZXRDb2FjaEluZm8oKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQkc3RvcmUuY29tbWl0KCd1cGRhdGVVc2VySXRlbScsIHtcclxuXHRcdFx0XHRcdGtleTogJ2xvY2F0aW9uQ2hhbmdlJyxcclxuXHRcdFx0XHRcdHZhbDogdHJ1ZVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdFx0dW5pLm9uTmV0d29ya1N0YXR1c0NoYW5nZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdGlzQ29ubmVjdGVkXHJcblx0XHRcdFx0fSA9IHJlc1xyXG5cdFx0XHRcdGlmIChpc0Nvbm5lY3RlZCkgcmV0dXJuXHJcblx0XHRcdFx0bGV0IG1ldGhvZEFyciA9IFsndXBkYXRlU2VydmljZUl0ZW0nLCAndXBkYXRlVGVjaG5pY2lhbkl0ZW0nXVxyXG5cdFx0XHRcdG1ldGhvZEFyci5tYXAoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHQkc3RvcmUuY29tbWl0KGl0ZW0sIHtcclxuXHRcdFx0XHRcdFx0a2V5OiAncGFnZUFjdGl2ZScsXHJcblx0XHRcdFx0XHRcdHZhbDogZmFsc2VcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSlcclxuXHRcdH0sXHJcblx0XHRhc3luYyBvbkhpZGUoKSB7XHJcblx0XHRcdGNvbnNvbGUubG9nKCdBcHAgSGlkZScpXHJcblx0XHRcdGxldCB7XHJcblx0XHRcdFx0Y29hY2hfcG9zaXRpb24gPSAwXHJcblx0XHRcdH0gPSB0aGlzLnVzZXJJbmZvXHJcblx0XHRcdGxldCB7XHJcblx0XHRcdFx0c3RhdHVzID0gMFxyXG5cdFx0XHR9ID0gdGhpcy5jb2FjaEluZm9cclxuXHRcdFx0aWYgKCFjb2FjaF9wb3NpdGlvbiB8fCBzdGF0dXMgIT0gMikgcmV0dXJuXHJcblx0XHRcdCRzdG9yZS5jb21taXQoJ3VwZGF0ZVVzZXJJdGVtJywge1xyXG5cdFx0XHRcdGtleTogJ2xvY2F0aW9uQ2hhbmdlJyxcclxuXHRcdFx0XHR2YWw6IGZhbHNlXHJcblx0XHRcdH0pXHJcblx0XHRcdC8vICNpZmRlZiBINVxyXG5cdFx0XHRpZiAodGhpcy4kandlaXhpbi5pc1dlY2hhdCgpKSB7XHJcblx0XHRcdFx0YXdhaXQgdGhpcy4kandlaXhpbi53eFJlYWR5MigpO1xyXG5cdFx0XHRcdHRoaXMudG9IaWRlUGFnZSgpXHJcblx0XHRcdFx0dGhpcy50aW1lciA9IHNldEludGVydmFsKCgpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMudG9IaWRlUGFnZSgpXHJcblx0XHRcdFx0fSwgNjAwMDApXHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gI2VuZGlmXHJcblx0XHR9LFxyXG5cdFx0b25VbmxvYWQoKSB7XHJcblx0XHRcdHVuaS5vZmZMb2NhdGlvbkNoYW5nZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCI9PT09b2ZmTG9jYXRpb25DaGFuZ2Ugb25VbmxvYWRcIiwgcmVzKVxyXG5cdFx0XHR9KVxyXG5cdFx0fSxcclxuXHRcdHdhdGNoOiB7XHJcblx0XHRcdGxvY2F0aW9uQ2hhbmdlKG5ld1ZhbCwgb2xkVmFsKSB7XHJcblx0XHRcdFx0aWYgKG5ld1ZhbCkge1xyXG5cdFx0XHRcdFx0dW5pLnN0YXJ0TG9jYXRpb25VcGRhdGUoe1xyXG5cdFx0XHRcdFx0XHRjb21wbGV0ZTogbXNnID0+IGNvbnNvbGUubG9nKGBzdGFydExvY2F0aW9uVXBkYXRlIEFQSSBjb21wbGV0ZWAsIG1zZylcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHVuaS5zdG9wTG9jYXRpb25VcGRhdGUoe1xyXG5cdFx0XHRcdFx0XHRjb21wbGV0ZTogbXNnID0+IGNvbnNvbGUubG9nKGBzdG9wTG9jYXRpb25VcGRhdGUgQVBJIGNvbXBsZXRlYCwgbXNnKVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdCdjb25maWdJbmZvLmF0dGVuZGFudF9uYW1lJyhuZXdWYWwsIG9sZFZhbCkge1xyXG5cdFx0XHRcdGlmIChuZXdWYWwpIHtcclxuXHRcdFx0XHRcdHRoaXMubWVyZ2VMb2NhbGVNZXNzYWdlKClcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH0sXHJcblx0XHRjb21wdXRlZDogbWFwU3RhdGUoe1xyXG5cdFx0XHRjb25maWdJbmZvOiBzdGF0ZSA9PiBzdGF0ZS5jb25maWcuY29uZmlnSW5mbyxcclxuXHRcdFx0b2xkX2F0dGVuZGFudF9uYW1lOiBzdGF0ZSA9PiBzdGF0ZS5jb25maWcub2xkX2F0dGVuZGFudF9uYW1lLFxyXG5cdFx0XHRjb21tb25PcHRpb25zOiBzdGF0ZSA9PiBzdGF0ZS51c2VyLmNvbW1vbk9wdGlvbnMsXHJcblx0XHRcdGxvY2F0aW9uQ2hhbmdlOiBzdGF0ZSA9PiBzdGF0ZS51c2VyLmxvY2F0aW9uQ2hhbmdlLFxyXG5cdFx0XHRsb2NhdGlvbkNoYW5nZVVuaXg6IHN0YXRlID0+IHN0YXRlLnVzZXIubG9jYXRpb25DaGFuZ2VVbml4LFxyXG5cdFx0XHR1c2VySW5mbzogc3RhdGUgPT4gc3RhdGUudXNlci51c2VySW5mbyxcclxuXHRcdFx0Y29hY2hJbmZvOiBzdGF0ZSA9PiBzdGF0ZS51c2VyLmNvYWNoSW5mbyxcclxuXHRcdH0pLFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQuLi5tYXBBY3Rpb25zKFsnZ2V0Q29uZmlnSW5mbycsICdnZXRVc2VySW5mbycsICdnZXRDb2FjaEluZm8nXSksXHJcblx0XHRcdGFzeW5jIGluaXRJbmRleCgpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXNcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0Y29hY2hfcG9zaXRpb24gPSAwXHJcblx0XHRcdFx0fSA9IHRoYXQudXNlckluZm9cclxuXHRcdFx0XHR1bmkub25Mb2NhdGlvbkNoYW5nZSgocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIj09PT1vbkxvY2F0aW9uQ2hhbmdlXCIsIHJlcylcclxuXHRcdFx0XHRcdGxldCB7XHJcblx0XHRcdFx0XHRcdGxhdGl0dWRlOiBsYXQsXHJcblx0XHRcdFx0XHRcdGxvbmdpdHVkZTogbG5nXHJcblx0XHRcdFx0XHR9ID0gcmVzXHJcblx0XHRcdFx0XHR0aGF0LnRvQ2hhbmdlTG9jYXRpb24oe1xyXG5cdFx0XHRcdFx0XHRsYXQsXHJcblx0XHRcdFx0XHRcdGxuZ1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHRcdGlmIChjb2FjaF9wb3NpdGlvbiA9PSAxKSB7XHJcblx0XHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0XHRpZDogY29hY2hJZCA9IDBcclxuXHRcdFx0XHRcdH0gPSB0aGF0LmNvYWNoSW5mb1xyXG5cdFx0XHRcdFx0aWYgKCFjb2FjaElkKSB7XHJcblx0XHRcdFx0XHRcdGF3YWl0IHRoYXQuZ2V0Q29hY2hJbmZvKClcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCRzdG9yZS5jb21taXQoJ3VwZGF0ZVVzZXJJdGVtJywge1xyXG5cdFx0XHRcdFx0XHRrZXk6ICdsb2NhdGlvbkNoYW5nZScsXHJcblx0XHRcdFx0XHRcdHZhbDogdHJ1ZVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdHByaW1hcnlDb2xvciA9ICcnLFxyXG5cdFx0XHRcdFx0XHRwbHVnQXV0aCA9IHt9LFxyXG5cdFx0XHRcdFx0XHR0YWJCYXIgPSBbXVxyXG5cdFx0XHRcdH0gPSB0aGF0LmNvbmZpZ0luZm9cclxuXHRcdFx0XHRsZXQgbWluZUluZCA9IHRhYkJhci5maW5kSW5kZXgoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRyZXR1cm4gaXRlbS5pZCA9PSA1XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhtaW5lSW5kLCBcIj09PT09PW1pbmVJbmRcIilcclxuXHRcdFx0XHQvLyBpZiAoKHByaW1hcnlDb2xvciAmJiBwbHVnQXV0aC5sZW5ndGggPiAwKSB8fCBtaW5lSW5kICE9IC0xKSByZXR1cm5cclxuXHRcdFx0XHRhd2FpdCB0aGF0LmdldENvbmZpZ0luZm8oKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRhc3luYyBtZXJnZUxvY2FsZU1lc3NhZ2UoKSB7XHJcblx0XHRcdFx0bGV0IHpoID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLiRpMThuLm1lc3NhZ2VzLnpoKSlcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0YXR0ZW5kYW50X25hbWU6IG5hbWUsXHJcblx0XHRcdFx0fSA9IHRoaXMuY29uZmlnSW5mb1xyXG5cdFx0XHRcdGxldCBvbGROYW1lID0gdGhpcy5vbGRfYXR0ZW5kYW50X25hbWVcclxuXHRcdFx0XHRsZXQgcmVnID0gbmV3IFJlZ0V4cChvbGROYW1lLCAnZycpXHJcblx0XHRcdFx0Zm9yIChsZXQgaSBpbiB6aC5hY3Rpb24pIHtcclxuXHRcdFx0XHRcdGlmICh6aC5hY3Rpb25baV0uaW5jbHVkZXMob2xkTmFtZSkpIHtcclxuXHRcdFx0XHRcdFx0emguYWN0aW9uW2ldID0gemguYWN0aW9uW2ldLnJlcGxhY2UocmVnLCBuYW1lKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLiRpMThuLm1lcmdlTG9jYWxlTWVzc2FnZSgnemgnLCB6aClcclxuXHRcdFx0XHQkc3RvcmUuY29tbWl0KCd1cGRhdGVDb25maWdJdGVtJywge1xyXG5cdFx0XHRcdFx0a2V5OiAnb2xkX2F0dGVuZGFudF9uYW1lJyxcclxuXHRcdFx0XHRcdHZhbDogbmFtZVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy4kdCgnYWN0aW9uLmF0dGVuZGFudE5hbWUnKSwgdGhpcy4kaTE4bi5tZXNzYWdlcy56aCwgXCI9PT09PVwiKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0YXN5bmMgdG9IaWRlUGFnZSgpIHtcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0bGF0aXR1ZGU6IGxhdCxcclxuXHRcdFx0XHRcdGxvbmdpdHVkZTogbG5nXHJcblx0XHRcdFx0fSA9IGF3YWl0IHRoaXMuJGp3ZWl4aW4uZ2V0V3hMb2NhdGlvbigpXHJcblx0XHRcdFx0aWYgKGxhdCAmJiBsbmcpIHtcclxuXHRcdFx0XHRcdGxldCB2YWwgPSB0aGlzLiR1dGlsLkRhdGVUb1VuaXgodGhpcy4kdXRpbC5mb3JtYXRUaW1lKG5ldyBEYXRlKCksICdZWS1NLUQgaDptOnMnKSlcclxuXHRcdFx0XHRcdCRzdG9yZS5jb21taXQoJ3VwZGF0ZVVzZXJJdGVtJywge1xyXG5cdFx0XHRcdFx0XHRrZXk6ICdsb2NhdGlvbkNoYW5nZVVuaXgnLFxyXG5cdFx0XHRcdFx0XHR2YWxcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHR0aGlzLnRvQ2hhbmdlTG9jYXRpb24oe1xyXG5cdFx0XHRcdFx0XHRsYXQsXHJcblx0XHRcdFx0XHRcdGxuZ1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGFzeW5jIHRvQ2hhbmdlTG9jYXRpb24ocGFyYW0pIHtcclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0bGF0LFxyXG5cdFx0XHRcdFx0bG5nXHJcblx0XHRcdFx0fSA9IHBhcmFtXHJcblx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdGlkID0gMCxcclxuXHRcdFx0XHRcdFx0Y29hY2hfcG9zaXRpb24gPSAwXHJcblx0XHRcdFx0fSA9IHRoaXMudXNlckluZm9cclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0bGF0OiBjb2FjaF9sYXQsXHJcblx0XHRcdFx0XHRsbmc6IGNvYWNoX2xuZyxcclxuXHRcdFx0XHRcdHN0YXR1cyA9IDBcclxuXHRcdFx0XHR9ID0gdGhpcy5jb2FjaEluZm9cclxuXHRcdFx0XHRsZXQge1xyXG5cdFx0XHRcdFx0bG9jYXRpb25DaGFuZ2VVbml4XHJcblx0XHRcdFx0fSA9IHRoaXNcclxuXHRcdFx0XHRsZXQgY3VyVW5peCA9IHRoaXMuJHV0aWwuRGF0ZVRvVW5peCh0aGlzLiR1dGlsLmZvcm1hdFRpbWUobmV3IERhdGUoKSwgJ1lZLU0tRCBoOm06cycpKVxyXG5cdFx0XHRcdGxldCBzZWNvbmQgPSAzXHJcblx0XHRcdFx0Ly8gI2lmZGVmIEFQUC1QTFVTXHJcblx0XHRcdFx0c2Vjb25kID0gMVxyXG5cdFx0XHRcdC8vICNlbmRpZlxyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGN1clVuaXgsIGxvY2F0aW9uQ2hhbmdlVW5peCwgY3VyVW5peCAtIGxvY2F0aW9uQ2hhbmdlVW5peCxcclxuXHRcdFx0XHQvLyBcdFwiPT09PT1jdXJVbml4IC0gbG9jYXRpb25DaGFuZ2VVbml4XCIpXHJcblx0XHRcdFx0bGV0IGlzTWluID0gY3VyVW5peCAtIGxvY2F0aW9uQ2hhbmdlVW5peCA8PSBzZWNvbmQgfHwgY3VyVW5peCAtIGxvY2F0aW9uQ2hhbmdlVW5peCA+PSA2MFxyXG5cdFx0XHRcdGxldCBpc1NhbWUgPSBjb2FjaF9sYXQgKiAxID09IGxhdCAmJiBjb2FjaF9sbmcgKiAxID09IGxuZ1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKGxhdCwgbG5nLCBjb2FjaF9wb3NpdGlvbiwgaXNNaW4sIGlzU2FtZSwgXCI9PT09PWxhdCwgbG5nLCBjb2FjaF9wb3NpdGlvbiwgaXNNaW5cIilcclxuXHRcdFx0XHRpZiAoIWNvYWNoX3Bvc2l0aW9uIHx8IHN0YXR1cyAhPSAyIHx8ICFpc01pbiB8fCBpc1NhbWUpIHJldHVyblxyXG5cclxuXHRcdFx0XHRsZXQgdmFsID0gdGhpcy4kdXRpbC5EYXRlVG9Vbml4KHRoaXMuJHV0aWwuZm9ybWF0VGltZShuZXcgRGF0ZSgpLCAnWVktTS1EIGg6bTpzJykpXHJcblx0XHRcdFx0JHN0b3JlLmNvbW1pdCgndXBkYXRlVXNlckl0ZW0nLCB7XHJcblx0XHRcdFx0XHRrZXk6ICdsb2NhdGlvbkNoYW5nZVVuaXgnLFxyXG5cdFx0XHRcdFx0dmFsXHJcblx0XHRcdFx0fSlcclxuXHJcblx0XHRcdFx0bGV0IGtleSA9IGAke2xhdH0sJHtsbmd9YFxyXG5cdFx0XHRcdHRyeSB7XHJcblx0XHRcdFx0XHRsZXQgZGF0YSA9IGF3YWl0IHRoaXMuJGFwaS5iYXNlLmdldE1hcEluZm8oe1xyXG5cdFx0XHRcdFx0XHRsb2NhdGlvbjoga2V5XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdFx0c3RhdHVzLFxyXG5cdFx0XHRcdFx0XHRyZXN1bHRcclxuXHRcdFx0XHRcdH0gPSBKU09OLnBhcnNlKGRhdGEpXHJcblx0XHRcdFx0XHRpZiAoc3RhdHVzID09IDApIHtcclxuXHRcdFx0XHRcdFx0bGV0IHtcclxuXHRcdFx0XHRcdFx0XHRhZGRyZXNzXHJcblx0XHRcdFx0XHRcdH0gPSByZXN1bHRcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJ0b0NoYW5nZUxvY2F0aW9uPT0+XCIsIGAke2xhdH0tJHtsbmd9LSR7YWRkcmVzc31gKVxyXG5cdFx0XHRcdFx0XHRhd2FpdCB0aGlzLiRhcGkudGVjaG5pY2lhbi5jb2FjaFVwZGF0ZSh7XHJcblx0XHRcdFx0XHRcdFx0bGF0LFxyXG5cdFx0XHRcdFx0XHRcdGxuZyxcclxuXHRcdFx0XHRcdFx0XHRhZGRyZXNzXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdGF3YWl0IHRoaXMuZ2V0Q29hY2hJbmZvKClcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGNhdGNoIChlKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnPT09PT1nZXRNYXBJbmZvIGNhdGNoJylcclxuXHRcdFx0XHRcdHVuaS5zdG9wTG9jYXRpb25VcGRhdGUoe1xyXG5cdFx0XHRcdFx0XHRjb21wbGV0ZTogbXNnID0+IGNvbnNvbGUubG9nKGBzdG9wTG9jYXRpb25VcGRhdGUgQVBJIGNvbXBsZXRlYCwgbXNnKVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCI+XHJcblx0QGltcG9ydCBcIi9zdHlsZXMvaW5kZXgud3hzc1wiO1xyXG5cclxuXHQvKiAjaWZkZWYgSDUgKi9cclxuXHR1bmktcGFnZS1oZWFkIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQvKiAjZW5kaWYgKi9cclxuXHJcblx0cGFnZSB7XHJcblx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0Y29sb3I6ICMyMjI7XHJcblx0XHRsaW5lLWhlaWdodDogMS41O1xyXG5cdFx0YmFja2dyb3VuZDogI0Y2RjZGNjtcclxuXHRcdGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLWZvbnQsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcblx0fVxyXG5cclxuXHRpbnB1dCB7XHJcblx0XHQvLyBmb250LWZhbWlseTogUGluZ0ZhbmdTQy1NZWRpdW0sIFBpbmdGYW5nIFNDLCAtYXBwbGUtc3lzdGVtLWZvbnQsIEhlbHZldGljYSBOZXVlLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XHJcblx0fVxyXG5cclxuXHRpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XHJcblx0XHQvKiBXZWJLaXQgYnJvd3NlcnMgKi9cclxuXHRcdGNvbG9yOiAjQTlBOUE5O1xyXG5cdH1cclxuXHJcblx0aW5wdXQ6LW1vei1wbGFjZWhvbGRlciB7XHJcblx0XHQvKiBNb3ppbGxhIEZpcmVmb3ggNCB0byAxOCAqL1xyXG5cdFx0Y29sb3I6ICNBOUE5QTk7XHJcblx0fVxyXG5cclxuXHRpbnB1dDo6LW1vei1wbGFjZWhvbGRlciB7XHJcblx0XHQvKiBNb3ppbGxhIEZpcmVmb3ggMTkrICovXHJcblx0XHRjb2xvcjogI0E5QTlBOTtcclxuXHR9XHJcblxyXG5cdGlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcblx0XHQvKiBJbnRlcm5ldCBFeHBsb3JlciAxMCsgKi9cclxuXHRcdGNvbG9yOiAjQTlBOUE5O1xyXG5cdH1cclxuXHJcblx0dmlldyB7XHJcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdH1cclxuXHJcblx0aW1hZ2Uge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0fVxyXG5cclxuXHQuaDUtaW1hZ2Uge1xyXG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdH1cclxuXHJcblx0LyrpmpDol4/mu5rliqjmnaEqL1xyXG5cdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdFx0d2lkdGg6IDA7XHJcblx0XHRoZWlnaHQ6IDA7XHJcblx0XHRjb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0fVxyXG5cclxuXHQvKiAjaWZkZWYgTVAtQkFJRFUgKi9cclxuXHQuc3dhbi1idXR0b24uc3dhbi1idXR0b24tcmFkaXVzLWlvcyB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdH1cclxuXHRcclxuXHQvKiAjZW5kaWYgKi9cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///800\n"); +eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 13));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 15));\nvar _vuex = __webpack_require__(/*! vuex */ 16);\nvar _index = _interopRequireDefault(__webpack_require__(/*! @/api/index.js */ 322));\nvar _index2 = _interopRequireDefault(__webpack_require__(/*! @/store/index.js */ 319));\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 timer: null\n };\n },\n mounted: function mounted() {\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 __f__(\"log\", 'App mounted', \" at App.vue:24\");\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n onLaunch: function onLaunch() {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var configInfo, isGzhLogin, arr, commonOptions, _commonOptions$coach_, coach_id;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n uni.getSystemInfo({\n success: function success(res) {\n __f__(\"log\", 9999, res, \" at App.vue:29\");\n }\n });\n configInfo = uni.getStorageSync('configInfo') || '';\n if (configInfo) {\n _index2.default.commit('updateConfigItem', {\n key: 'configInfo',\n val: configInfo\n });\n }\n isGzhLogin = uni.getStorageSync('isGzhLogin') || false;\n _index2.default.commit('updateUserItem', {\n key: 'isGzhLogin',\n val: isGzhLogin\n });\n arr = ['autograph', 'userInfo', 'location', 'appLogin', 'loginType'];\n arr.map(function (key) {\n var val = uni.getStorageSync(key) || '';\n _index2.default.commit('updateUserItem', {\n key: key,\n val: val\n });\n if (key == 'userInfo') {\n _index2.default.commit('updateUserItem', {\n key: 'isShowLogin',\n val: val && val.id ? false : true\n });\n }\n });\n commonOptions = _this.commonOptions;\n _commonOptions$coach_ = commonOptions.coach_id, coach_id = _commonOptions$coach_ === void 0 ? 0 : _commonOptions$coach_;\n if (coach_id) {\n commonOptions.coach_id = 0;\n _index2.default.commit('updateUserItem', {\n key: 'commonOptions',\n val: commonOptions\n });\n }\n _this.initIndex();\n __f__(\"log\", 'App onLaunch', \" at App.vue:77\");\n case 12:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n onShow: function onShow() {\n var _this2 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var _this2$userInfo$coach, coach_position, _this2$coachInfo, _this2$coachInfo$id, coachId, _this2$coachInfo$stat, status;\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (_this2.timer) {\n clearInterval(_this2.timer);\n }\n _this2$userInfo$coach = _this2.userInfo.coach_position, coach_position = _this2$userInfo$coach === void 0 ? 0 : _this2$userInfo$coach;\n _this2$coachInfo = _this2.coachInfo, _this2$coachInfo$id = _this2$coachInfo.id, coachId = _this2$coachInfo$id === void 0 ? 0 : _this2$coachInfo$id, _this2$coachInfo$stat = _this2$coachInfo.status, status = _this2$coachInfo$stat === void 0 ? 0 : _this2$coachInfo$stat;\n if (!(coach_position == 1)) {\n _context3.next = 8;\n break;\n }\n if (coachId) {\n _context3.next = 7;\n break;\n }\n _context3.next = 7;\n return _this2.getCoachInfo();\n case 7:\n _index2.default.commit('updateUserItem', {\n key: 'locationChange',\n val: true\n });\n case 8:\n uni.onNetworkStatusChange(function (res) {\n var isConnected = res.isConnected;\n if (isConnected) return;\n var methodArr = ['updateServiceItem', 'updateTechnicianItem'];\n methodArr.map(function (item) {\n _index2.default.commit(item, {\n key: 'pageActive',\n val: false\n });\n });\n });\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n onHide: function onHide() {\n var _this3 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n var _this3$userInfo$coach, coach_position, _this3$coachInfo$stat, status;\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n __f__(\"log\", 'App Hide', \" at App.vue:114\");\n _this3$userInfo$coach = _this3.userInfo.coach_position, coach_position = _this3$userInfo$coach === void 0 ? 0 : _this3$userInfo$coach;\n _this3$coachInfo$stat = _this3.coachInfo.status, status = _this3$coachInfo$stat === void 0 ? 0 : _this3$coachInfo$stat;\n if (!(!coach_position || status != 2)) {\n _context4.next = 5;\n break;\n }\n return _context4.abrupt(\"return\");\n case 5:\n _index2.default.commit('updateUserItem', {\n key: 'locationChange',\n val: false\n });\n case 6:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n onUnload: function onUnload() {\n uni.offLocationChange(function (res) {\n __f__(\"log\", \"====offLocationChange onUnload\", res, \" at App.vue:138\");\n });\n },\n watch: {\n locationChange: function locationChange(newVal, oldVal) {\n if (newVal) {\n uni.startLocationUpdate({\n complete: function complete(msg) {\n return __f__(\"log\", \"startLocationUpdate API complete\", msg, \" at App.vue:145\");\n }\n });\n } else {\n uni.stopLocationUpdate({\n complete: function complete(msg) {\n return __f__(\"log\", \"stopLocationUpdate API complete\", msg, \" at App.vue:149\");\n }\n });\n }\n },\n 'configInfo.attendant_name': function configInfoAttendant_name(newVal, oldVal) {\n if (newVal) {\n this.mergeLocaleMessage();\n }\n }\n },\n computed: (0, _vuex.mapState)({\n configInfo: function configInfo(state) {\n return state.config.configInfo;\n },\n old_attendant_name: function old_attendant_name(state) {\n return state.config.old_attendant_name;\n },\n commonOptions: function commonOptions(state) {\n return state.user.commonOptions;\n },\n locationChange: function locationChange(state) {\n return state.user.locationChange;\n },\n locationChangeUnix: function locationChangeUnix(state) {\n return state.user.locationChangeUnix;\n },\n userInfo: function userInfo(state) {\n return state.user.userInfo;\n },\n coachInfo: function coachInfo(state) {\n return state.user.coachInfo;\n }\n }),\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapActions)(['getConfigInfo', 'getUserInfo', 'getCoachInfo'])), {}, {\n initIndex: function initIndex() {\n var _this4 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() {\n var that, _that$userInfo$coach_, coach_position, _that$coachInfo$id, coachId, _that$configInfo, _that$configInfo$prim, primaryColor, _that$configInfo$plug, plugAuth, _that$configInfo$tabB, tabBar, mineInd;\n return _regenerator.default.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n that = _this4;\n _that$userInfo$coach_ = that.userInfo.coach_position, coach_position = _that$userInfo$coach_ === void 0 ? 0 : _that$userInfo$coach_;\n uni.onLocationChange(function (res) {\n __f__(\"log\", \"====onLocationChange\", res, \" at App.vue:176\");\n var lat = res.latitude,\n lng = res.longitude;\n that.toChangeLocation({\n lat: lat,\n lng: lng\n });\n });\n if (!(coach_position == 1)) {\n _context5.next = 9;\n break;\n }\n _that$coachInfo$id = that.coachInfo.id, coachId = _that$coachInfo$id === void 0 ? 0 : _that$coachInfo$id;\n if (coachId) {\n _context5.next = 8;\n break;\n }\n _context5.next = 8;\n return that.getCoachInfo();\n case 8:\n _index2.default.commit('updateUserItem', {\n key: 'locationChange',\n val: true\n });\n case 9:\n _that$configInfo = that.configInfo, _that$configInfo$prim = _that$configInfo.primaryColor, primaryColor = _that$configInfo$prim === void 0 ? '' : _that$configInfo$prim, _that$configInfo$plug = _that$configInfo.plugAuth, plugAuth = _that$configInfo$plug === void 0 ? {} : _that$configInfo$plug, _that$configInfo$tabB = _that$configInfo.tabBar, tabBar = _that$configInfo$tabB === void 0 ? [] : _that$configInfo$tabB;\n mineInd = tabBar.findIndex(function (item) {\n return item.id == 5;\n });\n __f__(\"log\", mineInd, \"======mineInd\", \" at App.vue:206\");\n // if ((primaryColor && plugAuth.length > 0) || mineInd != -1) return\n _context5.next = 14;\n return that.getConfigInfo();\n case 14:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }))();\n },\n mergeLocaleMessage: function mergeLocaleMessage() {\n var _this5 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n var zh, name, oldName, reg, i;\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n zh = JSON.parse(JSON.stringify(_this5.$i18n.messages.zh));\n name = _this5.configInfo.attendant_name;\n oldName = _this5.old_attendant_name;\n reg = new RegExp(oldName, 'g');\n for (i in zh.action) {\n if (zh.action[i].includes(oldName)) {\n zh.action[i] = zh.action[i].replace(reg, name);\n }\n }\n _this5.$i18n.mergeLocaleMessage('zh', zh);\n _index2.default.commit('updateConfigItem', {\n key: 'old_attendant_name',\n val: name\n });\n // console.log(this.$t('action.attendantName'), this.$i18n.messages.zh, \"=====\");\n case 7:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n toHidePage: function toHidePage() {\n var _this6 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() {\n var _yield$_this6$$jweixi, lat, lng, val;\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 _this6.$jweixin.getWxLocation();\n case 2:\n _yield$_this6$$jweixi = _context7.sent;\n lat = _yield$_this6$$jweixi.latitude;\n lng = _yield$_this6$$jweixi.longitude;\n if (lat && lng) {\n val = _this6.$util.DateToUnix(_this6.$util.formatTime(new Date(), 'YY-M-D h:m:s'));\n _index2.default.commit('updateUserItem', {\n key: 'locationChangeUnix',\n val: val\n });\n _this6.toChangeLocation({\n lat: lat,\n lng: lng\n });\n }\n case 6:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }))();\n },\n toChangeLocation: function toChangeLocation(param) {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee8() {\n var lat, lng, _this7$userInfo, _this7$userInfo$id, id, _this7$userInfo$coach, coach_position, _this7$coachInfo, coach_lat, coach_lng, _this7$coachInfo$stat, status, locationChangeUnix, curUnix, second, isMin, isSame, val, key, data, _JSON$parse, _status, result, address;\n return _regenerator.default.wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n lat = param.lat, lng = param.lng;\n _this7$userInfo = _this7.userInfo, _this7$userInfo$id = _this7$userInfo.id, id = _this7$userInfo$id === void 0 ? 0 : _this7$userInfo$id, _this7$userInfo$coach = _this7$userInfo.coach_position, coach_position = _this7$userInfo$coach === void 0 ? 0 : _this7$userInfo$coach;\n _this7$coachInfo = _this7.coachInfo, coach_lat = _this7$coachInfo.lat, coach_lng = _this7$coachInfo.lng, _this7$coachInfo$stat = _this7$coachInfo.status, status = _this7$coachInfo$stat === void 0 ? 0 : _this7$coachInfo$stat;\n locationChangeUnix = _this7.locationChangeUnix;\n curUnix = _this7.$util.DateToUnix(_this7.$util.formatTime(new Date(), 'YY-M-D h:m:s'));\n second = 3;\n second = 1;\n\n // console.log(curUnix, locationChangeUnix, curUnix - locationChangeUnix,\n // \t\"=====curUnix - locationChangeUnix\")\n isMin = curUnix - locationChangeUnix <= second || curUnix - locationChangeUnix >= 60;\n isSame = coach_lat * 1 == lat && coach_lng * 1 == lng; // console.log(lat, lng, coach_position, isMin, isSame, \"=====lat, lng, coach_position, isMin\")\n if (!(!coach_position || status != 2 || !isMin || isSame)) {\n _context8.next = 11;\n break;\n }\n return _context8.abrupt(\"return\");\n case 11:\n val = _this7.$util.DateToUnix(_this7.$util.formatTime(new Date(), 'YY-M-D h:m:s'));\n _index2.default.commit('updateUserItem', {\n key: 'locationChangeUnix',\n val: val\n });\n key = \"\".concat(lat, \",\").concat(lng);\n _context8.prev = 14;\n _context8.next = 17;\n return _this7.$api.base.getMapInfo({\n location: key\n });\n case 17:\n data = _context8.sent;\n _JSON$parse = JSON.parse(data), _status = _JSON$parse.status, result = _JSON$parse.result;\n if (!(_status == 0)) {\n _context8.next = 26;\n break;\n }\n address = result.address;\n __f__(\"log\", \"toChangeLocation==>\", \"\".concat(lat, \"-\").concat(lng, \"-\").concat(address), \" at App.vue:294\");\n _context8.next = 24;\n return _this7.$api.technician.coachUpdate({\n lat: lat,\n lng: lng,\n address: address\n });\n case 24:\n _context8.next = 26;\n return _this7.getCoachInfo();\n case 26:\n _context8.next = 32;\n break;\n case 28:\n _context8.prev = 28;\n _context8.t0 = _context8[\"catch\"](14);\n __f__(\"log\", '=====getMapInfo catch', \" at App.vue:303\");\n uni.stopLocationUpdate({\n complete: function complete(msg) {\n return __f__(\"log\", \"stopLocationUpdate API complete\", msg, \" at App.vue:305\");\n }\n });\n case 32:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, null, [[14, 28]]);\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 */ 12)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vQXBwLnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwidGltZXIiLCJtb3VudGVkIiwib25MYXVuY2giLCJ1bmkiLCJnZXRTeXN0ZW1JbmZvIiwic3VjY2VzcyIsInJlcyIsImNvbmZpZ0luZm8iLCJnZXRTdG9yYWdlU3luYyIsIiRzdG9yZSIsImNvbW1pdCIsImtleSIsInZhbCIsImlzR3poTG9naW4iLCJhcnIiLCJtYXAiLCJpZCIsImNvbW1vbk9wdGlvbnMiLCJjb2FjaF9pZCIsImluaXRJbmRleCIsIm9uU2hvdyIsImNsZWFySW50ZXJ2YWwiLCJ1c2VySW5mbyIsImNvYWNoX3Bvc2l0aW9uIiwiY29hY2hJbmZvIiwiY29hY2hJZCIsInN0YXR1cyIsImdldENvYWNoSW5mbyIsIm9uTmV0d29ya1N0YXR1c0NoYW5nZSIsImlzQ29ubmVjdGVkIiwibWV0aG9kQXJyIiwiaXRlbSIsIm9uSGlkZSIsIm9uVW5sb2FkIiwib2ZmTG9jYXRpb25DaGFuZ2UiLCJ3YXRjaCIsImxvY2F0aW9uQ2hhbmdlIiwibmV3VmFsIiwib2xkVmFsIiwic3RhcnRMb2NhdGlvblVwZGF0ZSIsImNvbXBsZXRlIiwibXNnIiwic3RvcExvY2F0aW9uVXBkYXRlIiwibWVyZ2VMb2NhbGVNZXNzYWdlIiwiY29tcHV0ZWQiLCJtYXBTdGF0ZSIsInN0YXRlIiwiY29uZmlnIiwib2xkX2F0dGVuZGFudF9uYW1lIiwidXNlciIsImxvY2F0aW9uQ2hhbmdlVW5peCIsIm1ldGhvZHMiLCJtYXBBY3Rpb25zIiwidGhhdCIsIm9uTG9jYXRpb25DaGFuZ2UiLCJsYXQiLCJsYXRpdHVkZSIsImxuZyIsImxvbmdpdHVkZSIsInRvQ2hhbmdlTG9jYXRpb24iLCJwcmltYXJ5Q29sb3IiLCJwbHVnQXV0aCIsInRhYkJhciIsIm1pbmVJbmQiLCJmaW5kSW5kZXgiLCJnZXRDb25maWdJbmZvIiwiemgiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCIkaTE4biIsIm1lc3NhZ2VzIiwibmFtZSIsImF0dGVuZGFudF9uYW1lIiwib2xkTmFtZSIsInJlZyIsIlJlZ0V4cCIsImkiLCJhY3Rpb24iLCJpbmNsdWRlcyIsInJlcGxhY2UiLCJ0b0hpZGVQYWdlIiwiJGp3ZWl4aW4iLCJnZXRXeExvY2F0aW9uIiwiJHV0aWwiLCJEYXRlVG9Vbml4IiwiZm9ybWF0VGltZSIsIkRhdGUiLCJwYXJhbSIsImNvYWNoX2xhdCIsImNvYWNoX2xuZyIsImN1clVuaXgiLCJzZWNvbmQiLCJpc01pbiIsImlzU2FtZSIsIiRhcGkiLCJiYXNlIiwiZ2V0TWFwSW5mbyIsImxvY2F0aW9uIiwicmVzdWx0IiwiYWRkcmVzcyIsInRlY2huaWNpYW4iLCJjb2FjaFVwZGF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUNBO0FBS0E7QUFDQTtBQUFxQztBQUFBO0FBQUEsZUFDdEI7RUFDZEEsSUFBSSxrQkFBRztJQUNOLE9BQU87TUFDTkMsS0FBSyxFQUFFO0lBQ1IsQ0FBQztFQUNGLENBQUM7RUFDS0MsT0FBTyxxQkFBRztJQUFBO01BQUE7UUFBQTtVQUFBO1lBQUE7Y0FTZixhQUFZLGFBQWE7WUFBQztZQUFBO2NBQUE7VUFBQTtRQUFBO01BQUE7SUFBQTtFQUMzQixDQUFDO0VBQ0tDLFFBQVEsc0JBQUc7SUFBQTtJQUFBO01BQUE7TUFBQTtRQUFBO1VBQUE7WUFBQTtjQUNoQkMsR0FBRyxDQUFDQyxhQUFhLENBQUM7Z0JBQ2pCQyxPQUFPLEVBQUUsaUJBQVVDLEdBQUcsRUFBRTtrQkFDdkIsYUFBWSxJQUFJLEVBQUNBLEdBQUc7Z0JBQ3JCO2NBQ0QsQ0FBQyxDQUFDO2NBQ0VDLFVBQVUsR0FBR0osR0FBRyxDQUFDSyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRTtjQUN2RCxJQUFJRCxVQUFVLEVBQUU7Z0JBQ2ZFLGVBQU0sQ0FBQ0MsTUFBTSxDQUFDLGtCQUFrQixFQUFFO2tCQUNqQ0MsR0FBRyxFQUFFLFlBQVk7a0JBQ2pCQyxHQUFHLEVBQUVMO2dCQUNOLENBQUMsQ0FBQztjQUNIO2NBQ0lNLFVBQVUsR0FBR1Ys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TyxHQUNKRCxNQUFNLENBRFRDLE9BQU87Z0JBRVIsYUFBWSxxQkFBcUIsWUFBSzdDLEdBQUcsY0FBSUUsR0FBRyxjQUFJMkMsT0FBTztnQkFBRztnQkFBQSxPQUN4RCxNQUFJLENBQUNMLElBQUksQ0FBQ00sVUFBVSxDQUFDQyxXQUFXLENBQUM7a0JBQ3RDL0MsR0FBRyxFQUFIQSxHQUFHO2tCQUNIRSxHQUFHLEVBQUhBLEdBQUc7a0JBQ0gyQyxPQUFPLEVBQVBBO2dCQUNELENBQUMsQ0FBQztjQUFBO2dCQUFBO2dCQUFBLE9BQ0ksTUFBSSxDQUFDekUsWUFBWSxFQUFFO2NBQUE7Z0JBQUE7Z0JBQUE7Y0FBQTtnQkFBQTtnQkFBQTtnQkFHMUIsYUFBWSx1QkFBdUI7Z0JBQ25DeEIsR0FBRyxDQUFDdUMsa0JBQWtCLENBQUM7a0JBQ3RCRixRQUFRLEVBQUUsa0JBQUFDLEdBQUc7b0JBQUEsdURBQW1EQSxHQUFHO2tCQUFBO2dCQUNwRSxDQUFDLENBQUM7Y0FBQTtjQUFBO2dCQUFBO1lBQUE7VUFBQTtRQUFBO01BQUE7SUFFSjtFQUFDO0FBRUgsQ0FBQztBQUFBLDJCIiwiZmlsZSI6IjgwMC5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtcblx0bWFwU3RhdGUsXG5cdG1hcEFjdGlvbnMsXG5cdG1hcE11dGF0aW9uc1xufSBmcm9tIFwidnVleFwiXG5pbXBvcnQgJGFwaSBmcm9tIFwiQC9hcGkvaW5kZXguanNcIlxuaW1wb3J0ICRzdG9yZSBmcm9tIFwiQC9zdG9yZS9pbmRleC5qc1wiXG5leHBvcnQgZGVmYXVsdCB7XG5cdGRhdGEoKSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdHRpbWVyOiBudWxsXG5cdFx0fVxuXHR9LFxuXHRhc3luYyBtb3VudGVkKCkge1xuXG5cblxuXG5cblxuXG5cblx0XHRjb25zb2xlLmxvZygnQXBwIG1vdW50ZWQnKVxuXHR9LFxuXHRhc3luYyBvbkxhdW5jaCgpIHtcblx0XHR1bmkuZ2V0U3lzdGVtSW5mbyh7XG5cdFx0XHRzdWNjZXNzOiBmdW5jdGlvbiAocmVzKSB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKDk5OTkscmVzKVxuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdGxldCBjb25maWdJbmZvID0gdW5pLmdldFN0b3JhZ2VTeW5jKCdjb25maWdJbmZvJykgfHwgJydcblx0XHRpZiAoY29uZmlnSW5mbykge1xuXHRcdFx0JHN0b3JlLmNvbW1pdCgndXBkYXRlQ29uZmlnSXRlbScsIHtcblx0XHRcdFx0a2V5OiAnY29uZmlnSW5mbycsXG5cdFx0XHRcdHZhbDogY29uZmlnSW5mb1xuXHRcdFx0fSlcblx0XHR9XG5cdFx0bGV0IGlzR3poTG9naW4gPSB1bmkuZ2V0U3RvcmFnZVN5bmMoJ2lzR3poTG9naW4nKSB8fCBmYWxzZVxuXHRcdCRzdG9yZS5jb21taXQoJ3VwZGF0ZVVzZXJJdGVtJywge1xuXHRcdFx0a2V5OiAnaXNHemhMb2dpbicsXG5cdFx0XHR2YWw6IGlzR3poTG9naW5cblx0XHR9KVxuXHRcdGxldCBhcnIgPSBbJ2F1dG9ncmFwaCcsICd1c2VySW5mbycsICdsb2NhdGlvbicsICdhcHBMb2dpbicsICdsb2dpblR5cGUnXVxuXHRcdGFyci5tYXAoa2V5ID0+IHtcblx0XHRcdGxldCB2YWwgPSB1bmkuZ2V0U3RvcmFnZVN5bmMoa2V5KSB8fCAnJ1xuXG5cblxuXHRcdFx0JHN0b3JlLmNvbW1pdCgndXBkYXRlVXNlckl0ZW0nLCB7XG5cdFx0XHRcdGtleSxcblx0XHRcdFx0dmFsXG5cdFx0XHR9KVxuXG5cdFx0XHRpZiAoa2V5ID09ICd1c2VySW5mbycpIHtcblx0XHRcdFx0JHN0b3JlLmNvbW1pdCgndXBkYXRlVXNlckl0ZW0nLCB7XG5cdFx0XHRcdFx0a2V5OiAnaXNTaG93TG9naW4nLFxuXHRcdFx0XHRcdHZhbDogdmFsICYmIHZhbC5pZCA/IGZhbHNlIDogdHJ1ZVxuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXG5cdFx0fSlcblx0XHRsZXQge1xuXHRcdFx0Y29tbW9uT3B0aW9uc1xuXHRcdH0gPSB0aGlzXG5cdFx0bGV0IHtcblx0XHRcdGNvYWNoX2lkID0gMFxuXHRcdH0gPSBjb21tb25PcHRpb25zXG5cdFx0aWYgKGNvYWNoX2lkKSB7XG5cdFx0XHRjb21tb25PcHRpb25zLmNvYWNoX2lkID0gMFxuXHRcdFx0JHN0b3JlLmNvbW1pdCgndXBkYXRlVXNlckl0ZW0nLCB7XG5cdFx0XHRcdGtleTogJ2NvbW1vbk9wdGlvbnMnLFxuXHRcdFx0XHR2YWw6IGNvbW1vbk9wdGlvbnNcblx0XHRcdH0pXG5cdFx0fVxuXHRcdHRoaXMuaW5pdEluZGV4KClcblx0XHRjb25zb2xlLmxvZygnQXBwIG9uTGF1bmNoJylcblx0fSxcblx0YXN5bmMgb25TaG93KCkge1xuXHRcdGlmICh0aGlzLnRpbWVyKSB7XG5cdFx0XHRjbGVhckludGVydmFsKHRoaXMudGltZXIpXG5cdFx0fVxuXHRcdGxldCB7XG5cdFx0XHRjb2FjaF9wb3NpdGlvbiA9IDBcblx0XHR9ID0gdGhpcy51c2VySW5mb1xuXHRcdGxldCB7XG5cdFx0XHRpZDogY29hY2hJZCA9IDAsXG5cdFx0XHRzdGF0dXMgPSAwXG5cdFx0fSA9IHRoaXMuY29hY2hJbmZvXG5cdFx0aWYgKGNvYWNoX3Bvc2l0aW9uID09IDEpIHtcblx0XHRcdGlmICghY29hY2hJZCkge1xuXHRcdFx0XHRhd2FpdCB0aGlzLmdldENvYWNoSW5mbygpXG5cdFx0XHR9XG5cdFx0XHQkc3RvcmUuY29tbWl0KCd1cGRhdGVVc2VySXRlbScsIHtcblx0XHRcdFx0a2V5OiAnbG9jYXRpb25DaGFuZ2UnLFxuXHRcdFx0XHR2YWw6IHRydWVcblx0XHRcdH0pXG5cdFx0fVxuXHRcdHVuaS5vbk5ldHdvcmtTdGF0dXNDaGFuZ2UoKHJlcykgPT4ge1xuXHRcdFx0bGV0IHtcblx0XHRcdFx0aXNDb25uZWN0ZWRcblx0XHRcdH0gPSByZXNcblx0XHRcdGlmIChpc0Nvbm5lY3RlZCkgcmV0dXJuXG5cdFx0XHRsZXQgbWV0aG9kQXJyID0gWyd1cGRhdGVTZXJ2aWNlSXRlbScsICd1cGRhdGVUZWNobmljaWFuSXRlbSddXG5cdFx0XHRtZXRob2RBcnIubWFwKGl0ZW0gPT4ge1xuXHRcdFx0XHQkc3RvcmUuY29tbWl0KGl0ZW0sIHtcblx0XHRcdFx0XHRrZXk6ICdwYWdlQWN0aXZlJyxcblx0XHRcdFx0XHR2YWw6IGZhbHNlXG5cdFx0XHRcdH0pXG5cdFx0XHR9KVxuXHRcdH0pXG5cdH0sXG5cdGFzeW5jIG9uSGlkZSgpIHtcblx0XHRjb25zb2xlLmxvZygnQXBwIEhpZGUnKVxuXHRcdGxldCB7XG5cdFx0XHRjb2FjaF9wb3NpdGlvbiA9IDBcblx0XHR9ID0gdGhpcy51c2VySW5mb1xuXHRcdGxldCB7XG5cdFx0XHRzdGF0dXMgPSAwXG5cdFx0fSA9IHRoaXMuY29hY2hJbmZvXG5cdFx0aWYgKCFjb2FjaF9wb3NpdGlvbiB8fCBzdGF0dXMgIT0gMikgcmV0dXJuXG5cdFx0JHN0b3JlLmNvbW1pdCgndXBkYXRlVXNlckl0ZW0nLCB7XG5cdFx0XHRrZXk6ICdsb2NhdGlvbkNoYW5nZScsXG5cdFx0XHR2YWw6IGZhbHNlXG5cdFx0fSlcblxuXG5cblxuXG5cblxuXG5cblx0fSxcblx0b25VbmxvYWQoKSB7XG5cdFx0dW5pLm9mZkxvY2F0aW9uQ2hhbmdlKChyZXMpID0+IHtcblx0XHRcdGNvbnNvbGUubG9nKFwiPT09PW9mZkxvY2F0aW9uQ2hhbmdlIG9uVW5sb2FkXCIsIHJlcylcblx0XHR9KVxuXHR9LFxuXHR3YXRjaDoge1xuXHRcdGxvY2F0aW9uQ2hhbmdlKG5ld1ZhbCwgb2xkVmFsKSB7XG5cdFx0XHRpZiAobmV3VmFsKSB7XG5cdFx0XHRcdHVuaS5zdGFydExvY2F0aW9uVXBkYXRlKHtcblx0XHRcdFx0XHRjb21wbGV0ZTogbXNnID0+IGNvbnNvbGUubG9nKGBzdGFydExvY2F0aW9uVXBkYXRlIEFQSSBjb21wbGV0ZWAsIG1zZylcblx0XHRcdFx0fSlcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHVuaS5zdG9wTG9jYXRpb25VcGRhdGUoe1xuXHRcdFx0XHRcdGNvbXBsZXRlOiBtc2cgPT4gY29uc29sZS5sb2coYHN0b3BMb2NhdGlvblVwZGF0ZSBBUEkgY29tcGxldGVgLCBtc2cpXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fSxcblx0XHQnY29uZmlnSW5mby5hdHRlbmRhbnRfbmFtZScobmV3VmFsLCBvbGRWYWwpIHtcblx0XHRcdGlmIChuZXdWYWwpIHtcblx0XHRcdFx0dGhpcy5tZXJnZUxvY2FsZU1lc3NhZ2UoKVxuXHRcdFx0fVxuXHRcdH1cblx0fSxcblx0Y29tcHV0ZWQ6IG1hcFN0YXRlKHtcblx0XHRjb25maWdJbmZvOiBzdGF0ZSA9PiBzdGF0ZS5jb25maWcuY29uZmlnSW5mbyxcblx0XHRvbGRfYXR0ZW5kYW50X25hbWU6IHN0YXRlID0+IHN0YXRlLmNvbmZpZy5vbGRfYXR0ZW5kYW50X25hbWUsXG5cdFx0Y29tbW9uT3B0aW9uczogc3RhdGUgPT4gc3RhdGUudXNlci5jb21tb25PcHRpb25zLFxuXHRcdGxvY2F0aW9uQ2hhbmdlOiBzdGF0ZSA9PiBzdGF0ZS51c2VyLmxvY2F0aW9uQ2hhbmdlLFxuXHRcdGxvY2F0aW9uQ2hhbmdlVW5peDogc3RhdGUgPT4gc3RhdGUudXNlci5sb2NhdGlvbkNoYW5nZVVuaXgsXG5cdFx0dXNlckluZm86IHN0YXRlID0+IHN0YXRlLnVzZXIudXNlckluZm8sXG5cdFx0Y29hY2hJbmZvOiBzdGF0ZSA9PiBzdGF0ZS51c2VyLmNvYWNoSW5mbyxcblx0fSksXG5cdG1ldGhvZHM6IHtcblx0XHQuLi5tYXBBY3Rpb25zKFsnZ2V0Q29uZmlnSW5mbycsICdnZXRVc2VySW5mbycsICdnZXRDb2FjaEluZm8nXSksXG5cdFx0YXN5bmMgaW5pdEluZGV4KCkge1xuXHRcdFx0bGV0IHRoYXQgPSB0aGlzXG5cdFx0XHRsZXQge1xuXHRcdFx0XHRjb2FjaF9wb3NpdGlvbiA9IDBcblx0XHRcdH0gPSB0aGF0LnVzZXJJbmZvXG5cdFx0XHR1bmkub25Mb2NhdGlvbkNoYW5nZSgocmVzKSA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKFwiPT09PW9uTG9jYXRpb25DaGFuZ2VcIiwgcmVzKVxuXHRcdFx0XHRsZXQge1xuXHRcdFx0XHRcdGxhdGl0dWRlOiBsYXQsXG5cdFx0XHRcdFx0bG9uZ2l0dWRlOiBsbmdcblx0XHRcdFx0fSA9IHJlc1xuXHRcdFx0XHR0aGF0LnRvQ2hhbmdlTG9jYXRpb24oe1xuXHRcdFx0XHRcdGxhdCxcblx0XHRcdFx0XHRsbmdcblx0XHRcdFx0fSlcblx0XHRcdH0pXG5cdFx0XHRpZiAoY29hY2hfcG9zaXRpb24gPT0gMSkge1xuXHRcdFx0XHRsZXQge1xuXHRcdFx0XHRcdGlkOiBjb2FjaElkID0gMFxuXHRcdFx0XHR9ID0gdGhhdC5jb2FjaEluZm9cblx0XHRcdFx0aWYgKCFjb2FjaElkKSB7XG5cdFx0XHRcdFx0YXdhaXQgdGhhdC5nZXRDb2FjaEluZm8oKVxuXHRcdFx0XHR9XG5cdFx0XHRcdCRzdG9yZS5jb21taXQoJ3VwZGF0ZVVzZXJJdGVtJywge1xuXHRcdFx0XHRcdGtleTogJ2xvY2F0aW9uQ2hhbmdlJyxcblx0XHRcdFx0XHR2YWw6IHRydWVcblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHRcdGxldCB7XG5cdFx0XHRcdHByaW1hcnlDb2xvciA9ICcnLFxuXHRcdFx0XHRcdHBsdWdBdXRoID0ge30sXG5cdFx0XHRcdFx0dGFiQmFyID0gW11cblx0XHRcdH0gPSB0aGF0LmNvbmZpZ0luZm9cblx0XHRcdGxldCBtaW5lSW5kID0gdGFiQmFyLmZpbmRJbmRleChpdGVtID0+IHtcblx0XHRcdFx0cmV0dXJuIGl0ZW0uaWQgPT0gNVxuXHRcdFx0fSlcblx0XHRcdGNvbnNvbGUubG9nKG1pbmVJbmQsIFwiPT09PT09bWluZUluZFwiKVxuXHRcdFx0Ly8gaWYgKChwcmltYXJ5Q29sb3IgJiYgcGx1Z0F1dGgubGVuZ3RoID4gMCkgfHwgbWluZUluZCAhPSAtMSkgcmV0dXJuXG5cdFx0XHRhd2FpdCB0aGF0LmdldENvbmZpZ0luZm8oKVxuXHRcdH0sXG5cdFx0YXN5bmMgbWVyZ2VMb2NhbGVNZXNzYWdlKCkge1xuXHRcdFx0bGV0IHpoID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLiRpMThuLm1lc3NhZ2VzLnpoKSlcblx0XHRcdGxldCB7XG5cdFx0XHRcdGF0dGVuZGFudF9uYW1lOiBuYW1lLFxuXHRcdFx0fSA9IHRoaXMuY29uZmlnSW5mb1xuXHRcdFx0bGV0IG9sZE5hbWUgPSB0aGlzLm9sZF9hdHRlbmRhbnRfbmFtZVxuXHRcdFx0bGV0IHJlZyA9IG5ldyBSZWdFeHAob2xkTmFtZSwgJ2cnKVxuXHRcdFx0Zm9yIChsZXQgaSBpbiB6aC5hY3Rpb24pIHtcblx0XHRcdFx0aWYgKHpoLmFjdGlvbltpXS5pbmNsdWRlcyhvbGROYW1lKSkge1xuXHRcdFx0XHRcdHpoLmFjdGlvbltpXSA9IHpoLmFjdGlvbltpXS5yZXBsYWNlKHJlZywgbmFtZSlcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0dGhpcy4kaTE4bi5tZXJnZUxvY2FsZU1lc3NhZ2UoJ3poJywgemgpXG5cdFx0XHQkc3RvcmUuY29tbWl0KCd1cGRhdGVDb25maWdJdGVtJywge1xuXHRcdFx0XHRrZXk6ICdvbGRfYXR0ZW5kYW50X25hbWUnLFxuXHRcdFx0XHR2YWw6IG5hbWVcblx0XHRcdH0pXG5cdFx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLiR0KCdhY3Rpb24uYXR0ZW5kYW50TmFtZScpLCB0aGlzLiRpMThuLm1lc3NhZ2VzLnpoLCBcIj09PT09XCIpO1xuXHRcdH0sXG5cdFx0YXN5bmMgdG9IaWRlUGFnZSgpIHtcblx0XHRcdGxldCB7XG5cdFx0XHRcdGxhdGl0dWRlOiBsYXQsXG5cdFx0XHRcdGxvbmdpdHVkZTogbG5nXG5cdFx0XHR9ID0gYXdhaXQgdGhpcy4kandlaXhpbi5nZXRXeExvY2F0aW9uKClcblx0XHRcdGlmIChsYXQgJiYgbG5nKSB7XG5cdFx0XHRcdGxldCB2YWwgPSB0aGlzLiR1dGlsLkRhdGVUb1VuaXgodGhpcy4kdXRpbC5mb3JtYXRUaW1lKG5ldyBEYXRlKCksICdZWS1NLUQgaDptOnMnKSlcblx0XHRcdFx0JHN0b3JlLmNvbW1pdCgndXBkYXRlVXNlckl0ZW0nLCB7XG5cdFx0XHRcdFx0a2V5OiAnbG9jYXRpb25DaGFuZ2VVbml4Jyxcblx0XHRcdFx0XHR2YWxcblx0XHRcdFx0fSlcblx0XHRcdFx0dGhpcy50b0NoYW5nZUxvY2F0aW9uKHtcblx0XHRcdFx0XHRsYXQsXG5cdFx0XHRcdFx0bG5nXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRhc3luYyB0b0NoYW5nZUxvY2F0aW9uKHBhcmFtKSB7XG5cdFx0XHRsZXQge1xuXHRcdFx0XHRsYXQsXG5cdFx0XHRcdGxuZ1xuXHRcdFx0fSA9IHBhcmFtXG5cdFx0XHRsZXQge1xuXHRcdFx0XHRpZCA9IDAsXG5cdFx0XHRcdFx0Y29hY2hfcG9zaXRpb24gPSAwXG5cdFx0XHR9ID0gdGhpcy51c2VySW5mb1xuXHRcdFx0bGV0IHtcblx0XHRcdFx0bGF0OiBjb2FjaF9sYXQsXG5cdFx0XHRcdGxuZzogY29hY2hfbG5nLFxuXHRcdFx0XHRzdGF0dXMgPSAwXG5cdFx0XHR9ID0gdGhpcy5jb2FjaEluZm9cblx0XHRcdGxldCB7XG5cdFx0XHRcdGxvY2F0aW9uQ2hhbmdlVW5peFxuXHRcdFx0fSA9IHRoaXNcblx0XHRcdGxldCBjdXJVbml4ID0gdGhpcy4kdXRpbC5EYXRlVG9Vbml4KHRoaXMuJHV0aWwuZm9ybWF0VGltZShuZXcgRGF0ZSgpLCAnWVktTS1EIGg6bTpzJykpXG5cdFx0XHRsZXQgc2Vjb25kID0gM1xuXG5cdFx0XHRzZWNvbmQgPSAxXG5cblx0XHRcdC8vIGNvbnNvbGUubG9nKGN1clVuaXgsIGxvY2F0aW9uQ2hhbmdlVW5peCwgY3VyVW5peCAtIGxvY2F0aW9uQ2hhbmdlVW5peCxcblx0XHRcdC8vIFx0XCI9PT09PWN1clVuaXggLSBsb2NhdGlvbkNoYW5nZVVuaXhcIilcblx0XHRcdGxldCBpc01pbiA9IGN1clVuaXggLSBsb2NhdGlvbkNoYW5nZVVuaXggPD0gc2Vjb25kIHx8IGN1clVuaXggLSBsb2NhdGlvbkNoYW5nZVVuaXggPj0gNjBcblx0XHRcdGxldCBpc1NhbWUgPSBjb2FjaF9sYXQgKiAxID09IGxhdCAmJiBjb2FjaF9sbmcgKiAxID09IGxuZ1xuXHRcdFx0Ly8gY29uc29sZS5sb2cobGF0LCBsbmcsIGNvYWNoX3Bvc2l0aW9uLCBpc01pbiwgaXNTYW1lLCBcIj09PT09bGF0LCBsbmcsIGNvYWNoX3Bvc2l0aW9uLCBpc01pblwiKVxuXHRcdFx0aWYgKCFjb2FjaF9wb3NpdGlvbiB8fCBzdGF0dXMgIT0gMiB8fCAhaXNNaW4gfHwgaXNTYW1lKSByZXR1cm5cblxuXHRcdFx0bGV0IHZhbCA9IHRoaXMuJHV0aWwuRGF0ZVRvVW5peCh0aGlzLiR1dGlsLmZvcm1hdFRpbWUobmV3IERhdGUoKSwgJ1lZLU0tRCBoOm06cycpKVxuXHRcdFx0JHN0b3JlLmNvbW1pdCgndXBkYXRlVXNlckl0ZW0nLCB7XG5cdFx0XHRcdGtleTogJ2xvY2F0aW9uQ2hhbmdlVW5peCcsXG5cdFx0XHRcdHZhbFxuXHRcdFx0fSlcblxuXHRcdFx0bGV0IGtleSA9IGAke2xhdH0sJHtsbmd9YFxuXHRcdFx0dHJ5IHtcblx0XHRcdFx0bGV0IGRhdGEgPSBhd2FpdCB0aGlzLiRhcGkuYmFzZS5nZXRNYXBJbmZvKHtcblx0XHRcdFx0XHRsb2NhdGlvbjoga2V5XG5cdFx0XHRcdH0pXG5cdFx0XHRcdGxldCB7XG5cdFx0XHRcdFx0c3RhdHVzLFxuXHRcdFx0XHRcdHJlc3VsdFxuXHRcdFx0XHR9ID0gSlNPTi5wYXJzZShkYXRhKVxuXHRcdFx0XHRpZiAoc3RhdHVzID09IDApIHtcblx0XHRcdFx0XHRsZXQge1xuXHRcdFx0XHRcdFx0YWRkcmVzc1xuXHRcdFx0XHRcdH0gPSByZXN1bHRcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInRvQ2hhbmdlTG9jYXRpb249PT5cIiwgYCR7bGF0fS0ke2xuZ30tJHthZGRyZXNzfWApXG5cdFx0XHRcdFx0YXdhaXQgdGhpcy4kYXBpLnRlY2huaWNpYW4uY29hY2hVcGRhdGUoe1xuXHRcdFx0XHRcdFx0bGF0LFxuXHRcdFx0XHRcdFx0bG5nLFxuXHRcdFx0XHRcdFx0YWRkcmVzc1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0YXdhaXQgdGhpcy5nZXRDb2FjaEluZm8oKVxuXHRcdFx0XHR9XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKCc9PT09PWdldE1hcEluZm8gY2F0Y2gnKVxuXHRcdFx0XHR1bmkuc3RvcExvY2F0aW9uVXBkYXRlKHtcblx0XHRcdFx0XHRjb21wbGV0ZTogbXNnID0+IGNvbnNvbGUubG9nKGBzdG9wTG9jYXRpb25VcGRhdGUgQVBJIGNvbXBsZXRlYCwgbXNnKVxuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///800\n"); /***/ }), /* 801 */ diff --git a/unpackage/dist/dev/app-plus/app-view.js b/unpackage/dist/dev/app-plus/app-view.js index 93e8538..e37df5b 100644 --- a/unpackage/dist/dev/app-plus/app-view.js +++ b/unpackage/dist/dev/app-plus/app-view.js @@ -1312,6 +1312,22 @@ var render = function () { _c("uni-view", { style: _vm._$g(71, "s"), attrs: { _i: 71 } }), _c("tabbar", { attrs: { _i: 72 } }), _c("login-info", { attrs: { _i: 73 } }), + _c( + "uni-popup", + { ref: "perpopup", attrs: { _i: 74 } }, + [ + _c( + "uni-view", + { staticClass: _vm._$g(75, "sc"), attrs: { _i: 75 } }, + [ + _vm._v( + "为了获取您附近的服务人员,更好的为您服务,我们需要申请位置信息权限,请您确认授权,否则无法使用该功能。" + ), + ] + ), + ], + 1 + ), ], 2 ) @@ -1641,6 +1657,22 @@ var render = function () { ], 1 ), + _c( + "uni-popup", + { ref: "perpopup", attrs: { _i: 22 } }, + [ + _c( + "uni-view", + { staticClass: _vm._$g(23, "sc"), attrs: { _i: 23 } }, + [ + _vm._v( + "为了获取您附近的服务人员,更好的为您服务,我们需要申请位置信息权限,请您确认授权,否则无法使用该功能。" + ), + ] + ), + ], + 1 + ), ], 1 ) @@ -1740,7 +1772,7 @@ if(false) {} var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ./node_modules/css-loader/dist/runtime/api.js */ 16); exports = ___CSS_LOADER_API_IMPORT___(false); // Module -exports.push([module.i, "@charset \"UTF-8\";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */\n.service-list-item .list-item .cover[data-v-059265c2] {\r\n width: 180rpx;\r\n height: 180rpx;\n}\n.service-list-item .list-item .time-long[data-v-059265c2] {\r\n min-width: 72rpx;\r\n height: 30rpx;\r\n padding: 0 5rpx;\r\n background: linear-gradient(270deg, #4C545A 0%, #282B34 100%);\r\n border-radius: 4rpx;\r\n font-size: 20rpx;\r\n color: #FFEEB9;\r\n margin-right: 16rpx;\n}\n.service-list-item .list-item .f-icontext[data-v-059265c2] {\r\n font-size: 18rpx;\n}\n.service-list-item .list-item .text-delete[data-v-059265c2] {\r\n font-size: 24rpx;\r\n color: #B9B9B9;\n}\n.service-list-item .list-item .item-btn[data-v-059265c2] {\r\n min-width: 150rpx;\r\n height: 52rpx;\r\n padding: 0 10rpx;\r\n border-radius: 100rpx;\n}\n.servefc[data-v-059265c2] {\r\n display: flex;\r\n align-items: center;\n}\r\n", ""]); +exports.push([module.i, "@charset \"UTF-8\";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */\n.service-list-item .list-item .cover[data-v-059265c2] {\r\n width: 180rpx;\r\n height: 180rpx;\n}\n.service-list-item .list-item .time-long[data-v-059265c2] {\r\n min-width: 72rpx;\r\n height: 30rpx;\r\n padding: 0 5rpx;\r\n background: linear-gradient(270deg, #4C545A 0%, #282B34 100%);\r\n border-radius: 4rpx;\r\n font-size: 20rpx;\r\n color: #FFEEB9;\r\n margin-right: 16rpx;\n}\n.service-list-item .list-item .f-icontext[data-v-059265c2] {\r\n font-size: 18rpx;\n}\n.service-list-item .list-item .permissions_box[data-v-059265c2] {\r\n padding: 200rpx 30rpx;\r\n padding-top: 200rpx;\r\n padding-bottom: 50rpx;\r\n font-size: 30rpx;\r\n line-height: 50rpx;\r\n background-color: #fff;\n}\n.service-list-item .list-item .text-delete[data-v-059265c2] {\r\n font-size: 24rpx;\r\n color: #B9B9B9;\n}\n.service-list-item .list-item .item-btn[data-v-059265c2] {\r\n min-width: 150rpx;\r\n height: 52rpx;\r\n padding: 0 10rpx;\r\n border-radius: 100rpx;\n}\n.servefc[data-v-059265c2] {\r\n display: flex;\r\n align-items: center;\n}\r\n", ""]); // Exports module.exports = exports; @@ -2558,7 +2590,7 @@ if(false) {} var ___CSS_LOADER_API_IMPORT___ = __webpack_require__(/*! ./node_modules/css-loader/dist/runtime/api.js */ 16); exports = ___CSS_LOADER_API_IMPORT___(false); // Module -exports.push([module.i, "@charset \"UTF-8\";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */\n.pages-home .search-box {\r\n width: 100%;\r\n bottom: 0;\r\n z-index: 9;\r\n overflow: hidden;\n}\n.pages-home .recommend-technician {\r\n white-space: nowrap;\r\n width: 690rpx;\n}\n.pages-home .recommend-technician .recommend-item {\r\n display: inline-block;\n}\n.pages-home .recommend-technician .recommend-item.type-1 {\r\n width: 180rpx;\r\n margin-left: 26rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-1 .cover {\r\n width: 180rpx;\r\n height: 180rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-1 .ellipsis {\r\n max-width: 180rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-2 {\r\n width: 203rpx;\r\n height: 151rpx;\r\n background: #F4F6F7;\r\n border-radius: 12rpx;\r\n margin-left: 20rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-2 .cover {\r\n width: 70rpx;\r\n height: 70rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-2 .ellipsis {\r\n max-width: 82rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-2 .iconyduixingxingshixin {\r\n font-size: 26rpx;\r\n background-image: -webkit-linear-gradient(270deg, #FAD961 0%, #F76B1C 100%);\n}\n.pages-home .recommend-technician .recommend-item.type-2 .star-text {\r\n height: 26rpx;\r\n color: #FF9519;\r\n margin-left: 6rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-2 .new-technician {\r\n width: 67rpx;\r\n height: 30rpx;\r\n border-radius: 8rpx;\r\n -webkit-transform: rotateZ(360deg);\r\n transform: rotateZ(360deg);\n}\n.pages-home .recommend-technician .recommend-item:nth-child(1) {\r\n margin-left: 0;\n}\n.pages-home .list-item .cover {\r\n width: 180rpx;\r\n height: 180rpx;\n}\n.pages-home .list-item .time-long {\r\n min-width: 72rpx;\r\n height: 30rpx;\r\n padding: 0 5rpx;\r\n background: linear-gradient(270deg, #4C545A 0%, #282B34 100%);\r\n border-radius: 4rpx;\r\n font-size: 20rpx;\r\n color: #FFEEB9;\r\n margin-right: 16rpx;\n}\n.pages-home .list-item .f-icontext {\r\n font-size: 18rpx;\n}\n.pages-home .list-item .text-delete {\r\n font-size: 24rpx;\r\n color: #B9B9B9;\n}\n.pages-home .list-item .item-btn {\r\n width: 150rpx;\r\n height: 52rpx;\r\n border-radius: 100rpx;\n}\n.radius-top {\r\n border-radius: 30rpx 30rpx 0 0;\n}\n.coupon-popup {\r\n width: 658rpx;\r\n height: 865rpx;\r\n position: relative;\n}\n.coupon-popup .bg-img {\r\n width: 100%;\r\n height: 100%;\n}\n.coupon-popup .icon-close {\r\n font-size: 60rpx;\r\n position: absolute;\r\n top: 50rpx;\r\n right: 60rpx;\r\n z-index: 999;\n}\n.coupon-popup .coupon-info {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n bottom: 0;\r\n left: 0;\n}\n.coupon-popup .coupon-info .tops {\r\n width: 480rpx;\r\n color: #FB4523;\r\n position: absolute;\r\n top: 260rpx;\n}\n.coupon-popup .coupon-info .tops > uni-view:nth-child(1) {\r\n font-weight: bold;\r\n font-size: 30rpx;\n}\n.coupon-popup .coupon-info .lists {\r\n width: 500rpx;\r\n height: 300rpx;\r\n padding: 10rpx;\r\n overflow-x: hidden;\r\n position: absolute;\r\n bottom: 222rpx;\n}\n.coupon-popup .coupon-info .lists .list {\r\n width: 420rpx;\r\n height: 130rpx;\r\n margin-bottom: 10rpx;\r\n margin-top: 5rpx;\r\n position: relative;\n}\n.coupon-popup .coupon-info .lists .list > uni-image {\r\n width: 100%;\r\n height: 100%;\n}\n.coupon-popup .coupon-info .lists .list > uni-view {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 8rpx;\n}\n.coupon-popup .coupon-info .lists .list > uni-view > uni-view:nth-child(1) {\r\n width: 38%;\n}\n.coupon-popup .coupon-info .lists .list > uni-view > uni-view:nth-child(2) {\r\n display: flex;\r\n justify-content: center;\r\n flex: 1;\r\n padding: 0 15rpx;\r\n box-sizing: border-box;\n}\n.coupon-popup .coupon-info .lists .list > uni-view .price {\r\n font-size: 30rpx;\r\n color: #FB4523;\n}\n.coupon-popup .coupon-info .lists .list > uni-view .title {\r\n font-size: 30rpx;\r\n line-height: 36rpx;\r\n font-weight: bold;\n}\n.coupon-popup .coupon-info .lists .list > uni-view .price_text {\r\n color: #ccc;\n}\n.coupon-popup uni-view.btns {\r\n width: 100%;\r\n position: absolute;\r\n height: 82rpx;\r\n bottom: 0rpx;\r\n left: 0;\n}\n.coupon-popup uni-view.btns > uni-view {\r\n width: 422rpx;\r\n height: 82rpx;\r\n border-radius: 40rpx;\r\n font-size: 34rpx;\r\n color: #FFFFFF;\n}\n.servetip {\r\n font-size: 28rpx;\r\n font-weight: 400;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n margin: 22rpx 0;\n}\n.servefc {\r\n display: flex;\r\n align-items: center;\n}\n.van-image {\r\n position: relative;\r\n display: inline-block;\n}\n.van-img {\r\n width: 100%;\r\n height: 100%;\n}\n.margin-20 {\r\n margin: 0.53333rem;\n}\r\n", ""]); +exports.push([module.i, "@charset \"UTF-8\";\r\n/**\r\n * 这里是uni-app内置的常用样式变量\r\n *\r\n * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量\r\n * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App\r\n *\r\n */\r\n/**\r\n * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能\r\n *\r\n * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件\r\n */\r\n/* 颜色变量 */\r\n/* 行为相关颜色 */\r\n/* 文字基本颜色 */\r\n/* 背景颜色 */\r\n/* 边框颜色 */\r\n/* 尺寸变量 */\r\n/* 文字尺寸 */\r\n/* 图片尺寸 */\r\n/* Border Radius */\r\n/* 水平间距 */\r\n/* 垂直间距 */\r\n/* 透明度 */\r\n/* 文章场景相关 */\n.pages-home .search-box {\r\n width: 100%;\r\n bottom: 0;\r\n z-index: 9;\r\n overflow: hidden;\n}\n.pages-home .recommend-technician {\r\n white-space: nowrap;\r\n width: 690rpx;\n}\n.pages-home .recommend-technician .recommend-item {\r\n display: inline-block;\n}\n.pages-home .recommend-technician .recommend-item.type-1 {\r\n width: 180rpx;\r\n margin-left: 26rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-1 .cover {\r\n width: 180rpx;\r\n height: 180rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-1 .ellipsis {\r\n max-width: 180rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-2 {\r\n width: 203rpx;\r\n height: 151rpx;\r\n background: #F4F6F7;\r\n border-radius: 12rpx;\r\n margin-left: 20rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-2 .cover {\r\n width: 70rpx;\r\n height: 70rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-2 .ellipsis {\r\n max-width: 82rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-2 .iconyduixingxingshixin {\r\n font-size: 26rpx;\r\n background-image: -webkit-linear-gradient(270deg, #FAD961 0%, #F76B1C 100%);\n}\n.pages-home .recommend-technician .recommend-item.type-2 .star-text {\r\n height: 26rpx;\r\n color: #FF9519;\r\n margin-left: 6rpx;\n}\n.pages-home .recommend-technician .recommend-item.type-2 .new-technician {\r\n width: 67rpx;\r\n height: 30rpx;\r\n border-radius: 8rpx;\r\n -webkit-transform: rotateZ(360deg);\r\n transform: rotateZ(360deg);\n}\n.pages-home .recommend-technician .recommend-item:nth-child(1) {\r\n margin-left: 0;\n}\n.pages-home .list-item .cover {\r\n width: 180rpx;\r\n height: 180rpx;\n}\n.pages-home .list-item .time-long {\r\n min-width: 72rpx;\r\n height: 30rpx;\r\n padding: 0 5rpx;\r\n background: linear-gradient(270deg, #4C545A 0%, #282B34 100%);\r\n border-radius: 4rpx;\r\n font-size: 20rpx;\r\n color: #FFEEB9;\r\n margin-right: 16rpx;\n}\n.pages-home .list-item .f-icontext {\r\n font-size: 18rpx;\n}\n.pages-home .list-item .text-delete {\r\n font-size: 24rpx;\r\n color: #B9B9B9;\n}\n.pages-home .list-item .item-btn {\r\n width: 150rpx;\r\n height: 52rpx;\r\n border-radius: 100rpx;\n}\n.radius-top {\r\n border-radius: 30rpx 30rpx 0 0;\n}\n.coupon-popup {\r\n width: 658rpx;\r\n height: 865rpx;\r\n position: relative;\n}\n.coupon-popup .bg-img {\r\n width: 100%;\r\n height: 100%;\n}\n.coupon-popup .icon-close {\r\n font-size: 60rpx;\r\n position: absolute;\r\n top: 50rpx;\r\n right: 60rpx;\r\n z-index: 999;\n}\n.coupon-popup .coupon-info {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n bottom: 0;\r\n left: 0;\n}\n.coupon-popup .coupon-info .tops {\r\n width: 480rpx;\r\n color: #FB4523;\r\n position: absolute;\r\n top: 260rpx;\n}\n.coupon-popup .coupon-info .tops > uni-view:nth-child(1) {\r\n font-weight: bold;\r\n font-size: 30rpx;\n}\n.coupon-popup .coupon-info .lists {\r\n width: 500rpx;\r\n height: 300rpx;\r\n padding: 10rpx;\r\n overflow-x: hidden;\r\n position: absolute;\r\n bottom: 222rpx;\n}\n.coupon-popup .coupon-info .lists .list {\r\n width: 420rpx;\r\n height: 130rpx;\r\n margin-bottom: 10rpx;\r\n margin-top: 5rpx;\r\n position: relative;\n}\n.coupon-popup .coupon-info .lists .list > uni-image {\r\n width: 100%;\r\n height: 100%;\n}\n.coupon-popup .coupon-info .lists .list > uni-view {\r\n position: absolute;\r\n width: 100%;\r\n height: 100%;\r\n top: 0;\r\n left: 8rpx;\n}\n.coupon-popup .coupon-info .lists .list > uni-view > uni-view:nth-child(1) {\r\n width: 38%;\n}\n.coupon-popup .coupon-info .lists .list > uni-view > uni-view:nth-child(2) {\r\n display: flex;\r\n justify-content: center;\r\n flex: 1;\r\n padding: 0 15rpx;\r\n box-sizing: border-box;\n}\n.coupon-popup .coupon-info .lists .list > uni-view .price {\r\n font-size: 30rpx;\r\n color: #FB4523;\n}\n.coupon-popup .coupon-info .lists .list > uni-view .title {\r\n font-size: 30rpx;\r\n line-height: 36rpx;\r\n font-weight: bold;\n}\n.coupon-popup .coupon-info .lists .list > uni-view .price_text {\r\n color: #ccc;\n}\n.coupon-popup uni-view.btns {\r\n width: 100%;\r\n position: absolute;\r\n height: 82rpx;\r\n bottom: 0rpx;\r\n left: 0;\n}\n.coupon-popup uni-view.btns > uni-view {\r\n width: 422rpx;\r\n height: 82rpx;\r\n border-radius: 40rpx;\r\n font-size: 34rpx;\r\n color: #FFFFFF;\n}\n.servetip {\r\n font-size: 28rpx;\r\n font-weight: 400;\r\n display: flex;\r\n justify-content: space-between;\r\n align-items: center;\r\n margin: 22rpx 0;\n}\n.servefc {\r\n display: flex;\r\n align-items: center;\n}\n.van-image {\r\n position: relative;\r\n display: inline-block;\n}\n.van-img {\r\n width: 100%;\r\n height: 100%;\n}\n.margin-20 {\r\n margin: 0.53333rem;\n}\n.permissions_box {\r\n padding: 200rpx 30rpx;\r\n padding-top: 200rpx;\r\n padding-bottom: 50rpx;\r\n font-size: 30rpx;\r\n line-height: 50rpx;\r\n background-color: #fff;\n}\r\n", ""]); // Exports module.exports = exports;