From c57c68f0d533bf9e7023a32f96e1283bcf669471 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=8B=E4=BA=8E=E5=88=9D=E8=A7=81?= <752204717@qq.com> Date: Fri, 11 Apr 2025 17:03:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/bookShop/orderLCont.vue | 4 ++-- pages/bookShop/orderList.vue | 3 +-- unpackage/dist/dev/app-plus/app-service.js | 8 ++++---- unpackage/dist/dev/app-plus/app-view.js | 2 +- 4 files changed, 8 insertions(+), 9 deletions(-) diff --git a/pages/bookShop/orderLCont.vue b/pages/bookShop/orderLCont.vue index ae0424f..45b8c66 100644 --- a/pages/bookShop/orderLCont.vue +++ b/pages/bookShop/orderLCont.vue @@ -293,7 +293,7 @@ 积分抵扣 : + >积分 : - 0 ) ? _c( @@ -39373,7 +39372,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBu /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 47));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 49));\nvar _requestConfig = _interopRequireDefault(__webpack_require__(/*! @/config/requestConfig.js */ 95));\nvar _bkhumorEmojiplus = _interopRequireDefault(__webpack_require__(/*! @/bkhumor-emojiplus/components/bkhumor-emojiplus/bkhumor-emojiplus.vue */ 513));\nvar _utils = __webpack_require__(/*! @/config/utils */ 235);\nvar _vuex = __webpack_require__(/*! vuex */ 63);\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 isShowMore: false,\n come: \"2\",\n isShowTab: false,\n isLoadingHide: false,\n moreList: [{\n name: \"取消订单\",\n key: \"false\"\n }],\n currentCateIndex: 0,\n pagination: {\n // 请求参数\n page: 1,\n //页码\n limit: 20,\n //每页显示\n total: 0 //总条数\n },\n\n // loadingNow : false,\n playData: {},\n options: {},\n emojiIcon: \"cuIcon-emoji\",\n windowWidth: 0,\n bookid: null,\n booklistpage: 1,\n productList: [],\n productInfo: {},\n emoji: [],\n Files: [],\n page: 1,\n pageSize: 10,\n total: 0,\n status: 3,\n shupingList: [],\n bfaid: null,\n ordersTabs: [{\n name: \"全部\",\n value: -1,\n badge: {}\n }, {\n name: \"待付款\",\n value: 0,\n badge: {}\n }, {\n name: \"待发货\",\n value: 1,\n badge: {}\n }, {\n name: \"待收货\",\n value: 2,\n badge: {}\n }, {\n name: \"已完成\",\n value: 3,\n badge: {}\n }],\n selectOrderInfo: {},\n ordersListTab: 1,\n newestpage: 1,\n // hotestpage: 1,\n // booksetpage: 1,\n newList: [],\n // hotList:[],\n // bookList:[],\n map: {},\n userRecordid: null,\n // 用户的评价状态\n pingjiaShow: false,\n //添加评价\n Pform: {\n // 评价表单\n star: 0,\n comment: \"\",\n img: [],\n html: \"\"\n },\n isShowEmj: false,\n pjType: \"\"\n };\n },\n onPullDownRefresh: function onPullDownRefresh() {\n uni.stopPullDownRefresh();\n this.newestpage = 1;\n this.newList = [];\n this.getBookList(this.ordersListTab, false);\n },\n onReachBottom: function onReachBottom() {\n this.newestpage++;\n this.getBookList(this.ordersListTab, false);\n },\n onLoad: function onLoad(e) {\n this.windowWidth = uni.getSystemInfoSync().windowWidth;\n this.options = e;\n // 隐藏原生的tabbar\n uni.hideTabBar();\n },\n onShow: function onShow() {\n var _this = 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 _this.newList = [];\n _this.pagination = {\n page: 1,\n //页码\n limit: 20,\n //每页显示\n total: 0 //总条数\n };\n\n _this.$nextTick( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.ordersTabCLi(_this.ordersTabs[0], 0);\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n onTabItemTap: function onTabItemTap() {\n var _this2 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _this2.newList = [];\n _this2.pagination = {\n page: 1,\n //页码\n limit: 20,\n //每页显示\n total: 0 //总条数\n };\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n onReady: function onReady() {},\n computed: _objectSpread({}, (0, _vuex.mapState)([\"userInfo\"])),\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapMutations)([\"setLoadingShow\"])), {}, {\n getImageUrl: function getImageUrl(url) {\n // 通过在URL后面添加时间戳来避免缓存\n return \"\".concat(url, \"?timestamp=\").concat(Date.now());\n },\n selectClick: function selectClick(index) {\n __f__(\"log\", \"index at line 609:\", index, \" at pages/bookShop/orderList.vue:531\");\n if (index.key == \"false\") {\n this.isShowMore = false;\n this.canceOrder(this.selectOrderInfo);\n }\n },\n openMore: function openMore(row, index) {\n this.selectOrderInfo = row;\n this.isShowMore = true;\n },\n handleCopy: function handleCopy(value, title) {\n this.$commonJS.handleCopy(value, title);\n },\n onReachBottom1: function onReachBottom1() {\n // 上拉加载\n // 当列表数量不大于或等于总数量,则再次调用接口请求数据\n if (this.newList.length >= this.pagination.total) return;\n this.pagination.page++;\n this.getBookList(this.ordersListTab, false);\n },\n goHome: function goHome() {\n if (this.options.type == \"order\") {\n uni.switchTab({\n url: \"/pages/homePage/index/index\"\n });\n } else {\n uni.navigateBack({\n delta: 1\n });\n }\n },\n // 切换tab状态\n ordersTabCLi: function ordersTabCLi(data, index) {\n this.currentCateIndex = index;\n this.pagination = {\n page: 1,\n //页码\n limit: 20,\n //每页显示\n total: 0 //总条数\n };\n\n __f__(\"log\", \"data at line 454:\", data, \" at pages/bookShop/orderList.vue:570\");\n this.ordersListTab = data.value;\n this.newestpage = 1;\n // this.hotestpage = 1\n // this.booksetpage = 1\n this.newList = [];\n // this.hotList = []\n // this.bookList = []\n this.getBookList(this.ordersListTab, false);\n },\n // 查看本书更多书评\n toMore: function toMore(val) {\n __f__(\"log\", val, \"val\", \" at pages/bookShop/orderList.vue:582\");\n uni.navigateTo({\n url: \"../comments/comments?bookid=\" + val.id\n });\n },\n // 订单详情\n toDetail: function toDetail(val) {\n __f__(\"log\", val, \"val\", \" at pages/bookShop/orderList.vue:589\");\n // uni.navigateTo({\n // \turl:'../bookShop/commentsDetail?bookid='+val.bookid+'&bfa_id='+val.id\n // })\n uni.navigateTo({\n url: \"/pages/bookShop/orderLCont?orderId=\" + val.orderId + \"&orderType=\" + val.orderStatus + \"&orderSn=\" + val.orderSn\n });\n },\n getBookList: function getBookList(flag, refreshflag) {\n var _this3 = this;\n this.isLoadingHide = false;\n var that = this;\n // 根据tab不同,获取最新书评、最热书评、书集列表\n // uni.showLoading({\n // \ttitle: '加载中'\n // });\n\n // 顶部红点数量\n _requestConfig.default.request({\n url: \"common/buyOrder/getBuyOrderNumByStatus\",\n method: \"POST\",\n data: {\n userId: that.userInfo.id,\n come: this.come\n },\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n // 订单状态\n // * 0: 待付款\n // * 1: 待发货\n // * 2: 已发货\n // * 3:已完成\n // * 4: 交易失败\n // * 5: 已过期\n\n __f__(\"log\", \"res at line 757:\", res, \" at pages/bookShop/orderList.vue:633\");\n that.map = res.data;\n that.ordersTabs.map(function (e) {\n if (e.value == 0 || e.value == 1 || e.value == 2) {\n var numList = that.map.filter(function (v) {\n return v.order_status == e.value;\n });\n __f__(\"log\", \"num at line 771:\", numList, \" at pages/bookShop/orderList.vue:639\");\n if (numList.length > 0) {\n e.badge = {\n value: numList[0].num\n };\n } else {\n e.badge = {};\n }\n } else {\n e.badge = {};\n }\n });\n // this.$set('this.ordersTabs',)\n that.$forceUpdate();\n }).catch(function (e) {\n __f__(\"log\", e, \" at pages/bookShop/orderList.vue:655\");\n });\n var params = _objectSpread({\n userId: this.userInfo.id,\n come: this.come,\n orderStatus: flag == -1 ? \"\" : flag\n }, this.pagination);\n this.$http.request({\n url: \"common/buyOrder/commonBuyOrderList\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: params,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n __f__(\"log\", \"订单列表内容获取成功\", res, \" at pages/bookShop/orderList.vue:677\");\n that.pagination.total = res.data.total;\n if (res.data.total == 0) {\n _this3.isLoadingHide = true;\n }\n if (res.code == 0 && res.data && res.data.records.length > 0) {\n that.newList = that.newList.concat(res.data.records);\n } else {\n //\n }\n if (res.data.records.length != 10) {\n that.status = 1;\n } else {\n that.status = 0;\n }\n }).catch(function (e) {\n __f__(\"log\", e, \" at pages/bookShop/orderList.vue:694\");\n });\n },\n // 支付\n goPay: function goPay(payItem) {\n var _this4 = this;\n __f__(\"log\", payItem, \"订单数据\", \" at pages/bookShop/orderList.vue:699\");\n if (payItem.paymentMethod == 2) {\n __f__(\"log\", \"阿里支付\", \" at pages/bookShop/orderList.vue:701\");\n (0, _utils.setPay)({\n typePay: \"alipay\",\n subject: \"order\",\n totalAmount: payItem.realMoney,\n type: 2,\n relevanceoid: payItem.orderSn,\n customerId: this.userInfo.id\n }, function (res) {\n if (res.success) {\n uni.showToast({\n title: \"支付成功\"\n });\n } else {\n uni.showToast({\n title: \"支付失败\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n }\n _this4.getOrderList();\n });\n } else if (payItem.paymentMethod == 1) {\n __f__(\"log\", \"微信支付\", \" at pages/bookShop/orderList.vue:726\");\n var data1 = {\n orderSn: payItem.orderSn,\n buyOrderId: null,\n totalAmount: payItem.realMoney\n };\n __f__(\"log\", data1, \"data1\", \" at pages/bookShop/orderList.vue:733\");\n (0, _utils.setWXPay)(data1, function (res) {\n if (res.success) {\n uni.showToast({\n title: \"支付成功\"\n });\n } else {\n __f__(\"log\", res, \" at pages/bookShop/orderList.vue:740\");\n if (res.data.errMsg.indexOf(\"User canceled\") != -1) {\n uni.showToast({\n title: \"用户取消支付\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n } else {\n uni.showToast({\n title: \"支付失败\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n }\n }\n });\n } else if (payItem.paymentMethod == 3 && this.ordersListTab == 0) {\n // 苹果充值\n __f__(\"log\", \"苹果二次支付\", \" at pages/bookShop/orderList.vue:758\");\n uni.showModal({\n content: 'apple内购订单不支持继续支付,请重新发起支付申请并完成支付',\n confirmText: '好的',\n showCancel: false\n });\n } else if (payItem.paymentMethod == 4) {\n __f__(\"log\", '天医币二次支付', \" at pages/bookShop/orderList.vue:765\");\n }\n },\n // 取消订单\n canceOrder: function canceOrder(item) {\n var _this5 = this;\n __f__(\"log\", 'item.orderSn', item, \" at pages/bookShop/orderList.vue:770\");\n uni.showModal({\n title: \"提示\",\n content: \"确定要取消订单吗?\",\n confirmText: \"取消订单\",\n cancelText: \"考虑一下\",\n confirmColor: \"#c96713\",\n cancelColor: \"#555\",\n success: function success(res) {\n if (res.confirm) {\n _this5.$http.post(\"book/buyOrder/appDelete?orderId=\" + item.orderId).then(function (res) {\n if (res.code == 0) {\n uni.showToast({\n icon: \"none\",\n title: \"取消订单成功\"\n });\n // uni.switchTab({\n // \turl: './orderList'\n // });\n\n _this5.newestpage = 1;\n _this5.newList = [];\n _this5.getBookList(_this5.ordersListTab, false);\n }\n });\n }\n }\n });\n },\n // canceOrder(item) {\n // \tuni.showModal({\n // \t\ttitle: '提示',\n // \t\tcontent: '确定要取消订单吗?',\n // \t\tconfirmText: \"取消订单\",\n // \t\tcancelText: \"考虑一下\",\n // \t\tconfirmColor: '#c96713',\n // \t\tcancelColor: '#555',\n // \t\tsuccess: res => {\n // \t\t\tif (res.confirm) {\n // \t\t\t\tuni.showLoading()\n // \t\t\t\t$http.request({\n // \t\t\t\t\turl: \"book/buyOrder/cancelOrder\",\n // \t\t\t\t\tmethod: \"GET\", // POST、GET、PUT、DELETE,具体说明查看官方文档\n // \t\t\t\t\tdata,\n // \t\t\t\t\theader: { //默认 无 说明:请求头\n // \t\t\t\t\t\t'Content-Type': 'application/json'\n // \t\t\t\t\t},\n // \t\t\t\t}).then(res => {\n // \t\t\t\t\tif (res.code == 0) {\n // \t\t\t\t\t\tuni.hideLoading()\n // \t\t\t\t\t\tuni.showToast({\n // \t\t\t\t\t\t\ttitle: '订单已取消',\n // \t\t\t\t\t\t\ticon: 'success',\n // \t\t\t\t\t\t\tduration: 1000\n // \t\t\t\t\t\t})\n // \t\t\t\t\t\tthis.getBookList(this.ordersListTab, false)\n // \t\t\t\t\t}\n // \t\t\t\t})\n // \t\t\t} else if (res.cancel) {}\n // \t\t}\n // \t});\n // },\n // 查看物流\n seeExpressDetail: function seeExpressDetail(item) {\n // console.log(item, this.sheetList.length)\n // if(this.sheetList.length > 1){\n // \tthis.sheetListShow = true\n // }else if(this.sheetList.length == 1){\n // 直接展示详情\n uni.navigateTo({\n url: \"./deliverDetail?orderSn=\" + item.orderSn + \"&expressOrderSn=\" + item.expressList[0].expressOrderSn\n });\n // }\n },\n // 确认收货\n OverOrder: function OverOrder(item) {\n var _this6 = this;\n uni.showModal({\n title: \"提示\",\n content: \"确认收货?\",\n success: function success(res) {\n var data = {\n orderId: item.orderId,\n orderStatus: \"3\"\n };\n if (res.confirm) {\n uni.showLoading();\n _requestConfig.default.request({\n url: \"book/buyOrder/update\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: data,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n uni.hideLoading();\n uni.showToast({\n title: \"收货成功\",\n icon: \"success\",\n duration: 1000\n });\n _this6.newestpage = 1;\n _this6.newList = [];\n _this6.getBookList(_this6.ordersListTab, false);\n }\n });\n } else if (res.cancel) {}\n }\n });\n },\n closePingjia: function closePingjia() {\n this.pingjiaShow = false;\n this.Pform.comment = \"\";\n this.Pform.html = \"\";\n this.emoji = [];\n },\n // 提交评价\n submitPJ: function submitPJ() {\n var _this7 = this;\n if (this.Pform.comment != \"\") {\n var data = {\n userid: this.userInfo.id,\n orderSn: this.orderSn,\n bookid: this.productID,\n // 'content': this.Pform.html,\n content: this.Pform.comment,\n starLevel: this.Pform.star,\n images: this.Pform.img\n // 'emoji':this.emoji // 表情数组\n };\n // console.log(data,'data')\n _requestConfig.default.request({\n url: \"buy/record/UserRecordcomment\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: data,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n uni.showToast({\n title: \"评价成功!\",\n icon: \"success\"\n });\n _this7.pingjiaShow = false;\n _this7.Pform.comment = \"\";\n _this7.Pform.html = \"\";\n _this7.emoji = [];\n setTimeout(function () {\n uni.navigateBack({\n delta: 1\n });\n }, 2000);\n }\n });\n } else {\n uni.showToast({\n title: \"请先输入您的评价内容 !\",\n icon: \"none\"\n });\n }\n },\n // 添加评价\n pingji: function pingji(id) {\n __f__(\"log\", id, \" at pages/bookShop/orderList.vue:947\");\n this.pjType = \"\";\n this.productID = id;\n this.pingjiaShow = true;\n },\n getStar: function getStar(i) {\n this.Pform.star = i;\n },\n InputBlur: function InputBlur(e) {},\n InputFocus: function InputFocus(e) {\n this.isShowEmj = false;\n this.emojiIcon = \"cuIcon-emoji\";\n this.$emit(\"foc\");\n },\n textareaBInput: function textareaBInput(e) {\n __f__(\"log\", e, \"e\", \" at pages/bookShop/orderList.vue:962\");\n this.Pform.comment = e.detail.value;\n /// this.Pform.html = e.detail.value\n },\n showEmj: function showEmj() {\n var bool = !this.isShowEmj;\n if (bool) {\n this.emojiIcon = \"cuIcon-keyboard\";\n } else {\n this.emojiIcon = \"cuIcon-emoji\";\n }\n this.isShowEmj = bool;\n this.$emit(\"show\");\n },\n deletePic: function deletePic() {\n var that = this;\n that.Pform.img.splice(0, 1);\n //console.log(that.Pform.img)\n },\n afterRead: function afterRead(e) {\n //console.log(e)\n var that = this;\n for (var i = 0; i < e.file.length; i++) {\n //console.log(i,e.file[i].url)\n uni.uploadFile({\n url: this.$baseUrl + \"oss/fileoss\",\n filePath: e.file[i].url,\n //files:e.file,\n name: \"file\",\n formData: {},\n success: function success(res) {\n that.Pform.img.push({\n url: JSON.parse(res.data).url\n });\n }\n });\n }\n },\n // 获得输入的表情数组\n handleEmj: function handleEmj(i) {\n __f__(\"log\", i, \"i---------\", \" at pages/bookShop/orderList.vue:1003\");\n this.inputValue = i;\n // console.log(this.inputValue);\n if (i.emotioni == \"[em_98]\") {\n //匹配最后一个表情符号并删除11。\n this.Pform.comment = this.Pform.comment.replace(/(\\[[^\\]]+\\]|[\\s\\S])$/, \"\");\n if (this.emoji.length > 0) {\n this.emoji = this.emoji.slice(0, -1);\n }\n } else {\n this.emoji.push({\n tag: i.emotion,\n name: i.emotioni\n });\n // console.log(this.emoji,'this.emoji')\n this.Pform.comment += i.emotioni;\n /// this.Pform.html += i.emotion\n }\n }\n }),\n\n components: {\n // musicPlay,\n emotion: _bkhumorEmojiplus.default\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 62)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYm9va1Nob3Avb3JkZXJMaXN0LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwiaXNTaG93TW9yZSIsImNvbWUiLCJpc1Nob3dUYWIiLCJpc0xvYWRpbmdIaWRlIiwibW9yZUxpc3QiLCJuYW1lIiwia2V5IiwiY3VycmVudENhdGVJbmRleCIsInBhZ2luYXRpb24iLCJwYWdlIiwibGltaXQiLCJ0b3RhbCIsInBsYXlEYXRhIiwib3B0aW9ucyIsImVtb2ppSWNvbiIsIndpbmRvd1dpZHRoIiwiYm9va2lkIiwiYm9va2xpc3RwYWdlIiwicHJvZHVjdExpc3QiLCJwcm9kdWN0SW5mbyIsImVtb2ppIiwiRmlsZXMiLCJwYWdlU2l6ZSIsInN0YXR1cyIsInNodXBpbmdMaXN0IiwiYmZhaWQiLCJvcmRlcnNUYWJzIiwidmFsdWUiLCJiYWRnZSIsInNlbGVjdE9yZGVySW5mbyIsIm9yZGVyc0xpc3RUYWIiLCJuZXdlc3RwYWdlIiwibmV3TGlzdCIsIm1hcCIsInVzZXJSZWNvcmRpZCIsInBpbmdqaWFTaG93IiwiUGZvcm0iLCJzdGFyIiwiY29tbWVudCIsImltZyIsImh0bWwiLCJpc1Nob3dFbWoiLCJwalR5cGUiLCJvblB1bGxEb3duUmVmcmVzaCIsInVuaSIsIm9uUmVhY2hCb3R0b20iLCJvbkxvYWQiLCJvblNob3ciLCJvblRhYkl0ZW1UYXAiLCJvblJlYWR5IiwiY29tcHV0ZWQiLCJtZXRob2RzIiwiZ2V0SW1hZ2VVcmwiLCJzZWxlY3RDbGljayIsIm9wZW5Nb3JlIiwiaGFuZGxlQ29weSIsIm9uUmVhY2hCb3R0b20xIiwiZ29Ib21lIiwidXJsIiwiZGVsdGEiLCJvcmRlcnNUYWJDTGkiLCJ0b01vcmUiLCJ0b0RldGFpbCIsInZhbCIsImdldEJvb2tMaXN0IiwiJGh0dHAiLCJyZXF1ZXN0IiwibWV0aG9kIiwidXNlcklkIiwiaGVhZGVyIiwidGhlbiIsInRoYXQiLCJlIiwiY2F0Y2giLCJvcmRlclN0YXR1cyIsImdvUGF5IiwidHlwZVBheSIsInN1YmplY3QiLCJ0b3RhbEFtb3VudCIsInR5cGUiLCJyZWxldmFuY2VvaWQiLCJjdXN0b21lcklkIiwidGl0bGUiLCJpY29uIiwiaW1hZ2UiLCJvcmRlclNuIiwiYnV5T3JkZXJJZCIsImNvbnRlbnQiLCJjb25maXJtVGV4dCIsInNob3dDYW5jZWwiLCJjYW5jZU9yZGVyIiwiY2FuY2VsVGV4dCIsImNvbmZpcm1Db2xvciIsImNhbmNlbENvbG9yIiwic3VjY2VzcyIsInBvc3QiLCJzZWVFeHByZXNzRGV0YWlsIiwiaXRlbSIsIk92ZXJPcmRlciIsIm9yZGVySWQiLCJkdXJhdGlvbiIsImNsb3NlUGluZ2ppYSIsInN1Ym1pdFBKIiwidXNlcmlkIiwic3RhckxldmVsIiwiaW1hZ2VzIiwic2V0VGltZW91dCIsInBpbmdqaSIsImdldFN0YXIiLCJJbnB1dEJsdXIiLCJJbnB1dEZvY3VzIiwidGV4dGFyZWFCSW5wdXQiLCJzaG93RW1qIiwiZGVsZXRlUGljIiwiYWZ0ZXJSZWFkIiwiZmlsZVBhdGgiLCJmb3JtRGF0YSIsImhhbmRsZUVtaiIsInRhZyIsImNvbXBvbmVudHMiLCJlbW90aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBbVlBO0FBQ0E7QUFFQTtBQU1BO0FBR0E7QUFBQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0FDO01BQ0FDO1FBQ0E7UUFDQUM7UUFBQTtRQUNBQztRQUFBO1FBQ0FDO01BQ0E7O01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQVo7TUFDQWE7TUFDQVg7TUFDQVk7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQXJCO1FBQ0FzQjtRQUNBQztNQUNBLEdBQ0E7UUFDQXZCO1FBQ0FzQjtRQUNBQztNQUNBLEdBQ0E7UUFDQXZCO1FBQ0FzQjtRQUNBQztNQUNBLEdBQ0E7UUFDQXZCO1FBQ0FzQjtRQUNBQztNQUNBLEdB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QTtJQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQUM7VUFDQWxCO1VBQ0FyRTtVQUNBO1VBQ0F1RTtVQUNBaUI7VUFDQUM7VUFDQTtRQUNBO1FBQ0E7UUFDQXhDLHVCQUNBQztVQUNBUjtVQUNBUztVQUFBO1VBQ0FwRTtVQUNBc0U7WUFDQTtZQUNBO1VBQ0E7UUFDQSxHQUNBQztVQUNBO1lBQ0ExQjtjQUNBc0M7Y0FDQUM7WUFDQTtZQUVBO1lBQ0E7WUFDQTtZQUNBO1lBQ0F1QjtjQUNBOUQ7Z0JBQ0FlO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBZjtVQUNBc0M7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBd0I7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztJQUNBQztNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7TUFFQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBMUM7TUFDQTtJQUNBO0lBQ0EyQztNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0F0RTtVQUNBYztVQUNBeUQ7VUFDQTtVQUNBOUc7VUFDQStHO1VBQ0F0QjtZQUNBdkI7Y0FDQWI7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQTJEO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFDQTtRQUNBLGdEQUNBLHdCQUNBLEdBQ0E7UUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO1VBQ0FDO1VBQ0FqSDtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtFQUFBLEVBQ0E7O0VBQ0FrSDtJQUNBO0lBQ0FDO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjUxMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImNvbnRhaW5lciBjb21tb25QYWdlQm94IGNvbW1vbkRldGFpbFBhZ2VcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNmNmY3ZmJcIj5cclxuXHRcdDwhLS0g5YWs5YWx57uE5Lu2Leavj+S4qumhtemdouW/hemhu+W8leWFpSAtLT5cclxuXHRcdDxwdWJsaWMtbW9kdWxlPjwvcHVibGljLW1vZHVsZT5cclxuXHRcdDx6LW5hdi1iYXIgdGl0bGU9XCLmiJHnmoTorqLljZVcIiBiZ0NvbG9yPVwiIzI1OGZlYlwiIGZvbnRDb2xvcj1cIiNmZmZcIiA6YmFja1N0YXRlPVwiMjAwMFwiPlxyXG5cdFx0PC96LW5hdi1iYXI+XHJcblx0XHQ8dmlldyBjbGFzcz1cImNhdGVMaXN0IGZsZXhib3hcIj5cclxuXHRcdFx0PGNvbW1vbi1zdGlja3kgaXRlbVN0eWxlPVwid2lkdGg6MjAlOyBoZWlnaHQ6IDY4cnB4O2ZvbnQtc2l6ZToyNHJweDtcIiA6bGlzdD1cIm9yZGVyc1RhYnNcIiBsYWJlbD1cIm5hbWVcIlxyXG5cdFx0XHRcdDpjdXJyZW50Q2F0ZUluZGV4PVwiY3VycmVudENhdGVJbmRleFwiIEBoYW5kbGVzZWxlY3RDYXRlPVwib3JkZXJzVGFiQ0xpXCI+PC9jb21tb24tc3RpY2t5PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDwhLS0g56uZ5L2NIC0tPlxyXG5cclxuXHRcdDwhLS0gPHZpZXcgdi1pZj1cIm9yZGVyc0xpc3RUYWIgPT0gMVwiPiAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwib3JkZXJfYm94XCIgOnN0eWxlPVwiYGhlaWdodDogY2FsYygxMDAlIC0gJHsoODAgKyBzdGF0dXNCYXJIZWlnaHQpICogMn1ycHgpO2BcIlxyXG5cdFx0XHRzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNmMmYyZjJcIj5cclxuXHRcdFx0PGNvbW1vbi1saXN0IGltZ1VybD1cInVybFwiIGluZGV4S2V5PVwib3JkZXJTblwiIG5vRGF0YUljb249XCJkYXRhXCIgOmlzU2Nyb2xsPVwidHJ1ZVwiXHJcblx0XHRcdFx0OmlzTG9hZGluZ0hpZGU9XCJpc0xvYWRpbmdIaWRlXCIgOmlzTm9JY29uPVwidHJ1ZVwiIDppc0NvbmRpdGlvbj1cInRydWVcIiA6ZGF0YUxpc3Q9XCJuZXdMaXN0XCJcclxuXHRcdFx0XHRAaGFuY2xlQ2xpY2s9XCJ0b0RldGFpbFwiIEBsb3dlcj1cIm9uUmVhY2hCb3R0b20xXCIgOnBhZ2luYXRpb249XCJwYWdpbmF0aW9uXCIgbGFiZWw9XCJ0aXRsZVwiPlxyXG5cdFx0XHRcdDx2aWV3IHNsb3Q9XCJsYWJlbFNsb3RcIiBzbG90LXNjb3BlPVwic2xvdFByb3BzXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVySW5mbyBjb2xvcl9zaGFuZG93XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibWFpbkNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0bnNcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDBycHhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleGJveCBvcGJ0bnNcIiBzdHlsZT1cImxldHRlci1zcGFjaW5nOiAxcnB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM5YjliOWI7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICBcIj57eyBzbG90UHJvcHMucm93Lm9yZGVyU24gfX1cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHUtdGFnIEBjbGljaz1cImhhbmRsZUNvcHkoc2xvdFByb3BzLnJvdy5vcmRlclNuLCAn6K6i5Y2V57yW5Y+3JylcIiBib3JkZXJDb2xvcj1cIiMyNThmZWJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I9XCIjMjU4ZmViXCIgdGV4dD1cIuWkjeWItlwiIHBsYWluIHN0eWxlPVwiZmxvYXQ6IHJpZ2h0XCIgc2l6ZT1cIm1pbmlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZT1cInN1Y2Nlc3NcIj48L3UtdGFnPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbV90b3BcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcnB4OyBtYXJnaW4tYm90dG9tOiAwXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic291cmNlX2FwcFwiPjwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlcnN0YXR1c1wiIHYtc2hvdz1cInNsb3RQcm9wcy5yb3cub3JkZXJTdGF0dXMgPT0gMFwiPuacquS7mOasvjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyc3RhdHVzXCIgdi1zaG93PVwic2xvdFByb3BzLnJvdy5vcmRlclN0YXR1cyA9PSAxXCI+5b6F5Y+R6LSnPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXJzdGF0dXNcIiB2LXNob3c9XCJzbG90UHJvcHMucm93Lm9yZGVyU3RhdHVzID09IDJcIj7lt7Llj5HotKc8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlcnN0YXR1c1wiIHYtc2hvdz1cInNsb3RQcm9wcy5yb3cub3JkZXJTdGF0dXMgPT0gM1wiPuS6pOaYk+aIkOWKnzwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyc3RhdHVzXCIgdi1zaG93PVwic2xvdFByb3BzLnJvdy5vcmRlclN0YXR1cyA9PSA0XCI+5Lqk5piT5aSx6LSlPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXJzdGF0dXNcIiB2LXNob3c9XCJzbG90UHJvcHMucm93Lm9yZGVyU3RhdHVzID09IDVcIj7lt7Lov4fmnJ88L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJzbG90UHJvcHMucm93Lm9yZGVyVHlwZSA9PSAncmVsZWFybidcIiBjbGFzcz1cImJvb2tpbmZvbGlzdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJmZW5nIGZlbmdQb2ludFwiIHNyYz1cIi9zdGF0aWMvaWNvbi9mdWdvdS5wbmdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiZGVzY3JpcHRpb25cIiA+6K++56iL5aSN6K+76K6i5Y2VXHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0bnMgZmxleGJveFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYm9va25hbWVsZWZ0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7eyBzbG90UHJvcHMucm93LnJlbWFyayB9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU4cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgIFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJmb250LXNpemU6IDIwcnB4XCI+PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5zIGZsZXhib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiY29sb3I6ICM5ZjlmOWY7IG1hcmdpbi10b3A6IDEwcnB4OyBmb250LXNpemU6IDI0cnB4XCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIOS4i+WNleaXtumXtO+8mnt7IHNsb3RQcm9wcy5yb3cuY3JlYXRlVGltZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJUeXBlID09ICd2aXAnXCIgY2xhc3M9XCJib29raW5mb2xpc3RcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZmVuZyBmZW5nUG9pbnRcIiBzcmM9XCIvc3RhdGljL2ljb24vdmlwLnBuZ1wiIG1vZGU9XCJhc3BlY3RGaWxsXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PCEtLSA8dmlldyBjbGFzcz1cImRlc2NyaXB0aW9uXCIgdi1odG1sPVwiaXRlbS5jb250ZW50XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0bnMgZmxleGJveFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYm9va25hbWVsZWZ0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7eyBzbG90UHJvcHMucm93LnZpcEJ1eUNvbmZpZ0VudGl0eT9zbG90UHJvcHMucm93LnZpcEJ1eUNvbmZpZ0VudGl0eS50aXRsZTonICcgfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidmlwX3llYXJcIiB2LWlmPVwic2xvdFByb3BzLnJvdy52aXBCdXlDb25maWdFbnRpdHlcIj4oe3sgc2xvdFByb3BzLnJvdy52aXBCdXlDb25maWdFbnRpdHkueWVhciB9feW5tCk8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNThycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cImZvbnQtc2l6ZTogMjBycHhcIj48L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiAjOWY5ZjlmOyBtYXJnaW4tdG9wOiAxMHJweDsgZm9udC1zaXplOiAyNHJweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOS4i+WNleaXtumXtO+8mnt7IHNsb3RQcm9wcy5yb3cuY3JlYXRlVGltZSB9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJUeXBlID09ICdwb2ludCdcIiBjbGFzcz1cImJvb2tpbmZvbGlzdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJmZW5nIGZlbmdQb2ludFwiIHNyYz1cIi9zdGF0aWMvaWNvbi9wYXlfMy5wbmdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiZGVzY3JpcHRpb25cIiB2LWh0bWw9XCJpdGVtLmNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJib29rbmFtZWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdOWFheWAvFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3sgc2xvdFByb3BzLnJvdy5ib29rQnV5Q29uZmlnRW50aXR5Lm1vbmV5IH195aSp5Yy75biBXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNThycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiAjOWY5ZjlmOyBtYXJnaW4tdG9wOiAxMHJweDsgZm9udC1zaXplOiAyNHJweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOS4i+WNleaXtumXtO+8mnt7IHNsb3RQcm9wcy5yb3cuY3JlYXRlVGltZSB9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJUeXBlID09ICdvcmRlcidcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1mb3I9XCIoaXRlbTIsIGluZGV4MikgaW4gc2xvdFByb3BzLnJvdy5wcm9kdWN0TGlzdFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0OmtleT1cInNsb3RQcm9wcy5yb3cub3JkZXJJZFwiIGNsYXNzPVwiYm9va2luZm9saXN0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cIml0ZW0yLnByb2R1Y3RcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmVuZ1wiIHYtaWY9XCJpdGVtMi5wcm9kdWN0ICYmIGl0ZW0yLnByb2R1Y3QucHJvZHVjdEltYWdlc1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgOmtleT1cIkRhdGUubm93KClcIiBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG1vZGU9XCJhc3BlY3RGaXRcIiA6c3JjPVwiaXRlbTIucHJvZHVjdC5wcm9kdWN0SW1hZ2VzXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWVsc2UgY2xhc3M9XCJmZW5nXCIgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2MwYzRjYztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNDBycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIj7mmoLml6DlsIHpnaLlm748L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiZGVzY3JpcHRpb25cIiB2LWh0bWw9XCJpdGVtLmNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0bnMgZmxleGJveFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJvb2tuYW1lbGVmdFwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbTIucHJvZHVjdCAmJiBpdGVtMi5wcm9kdWN0LnByb2R1Y3ROYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGl0ZW0yLnByb2R1Y3QucHJvZHVjdE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNThycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwiZm9udC1zaXplOiAyMHJweFwiPu+/pTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbTIucHJvZHVjdC5wcmljZSA/IGl0ZW0yLnByb2R1Y3QucHJpY2UgOiBcIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJidG5zIGZsZXhib3hcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcnB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGVmdFwiIHN0eWxlPVwiY29sb3I6ICNjMGM0Y2NcIj48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicmlnaHQgZmxleGJveCBvcGJ0bnNcIiBzdHlsZT1cImNvbG9yOiAjYzBjNGNjXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0w5d7eyBpdGVtMi5xdWFudGl0eSA/IGl0ZW0yLnF1YW50aXR5IDogXCJcIiB9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtZWxzZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmVuZ1wiPjwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYm9va25hbWVsZWZ0XCIgc3R5bGU9XCJjb2xvcjogIzE4MTgxOFwiPuacquefpeWVhuWTgTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJcIiBjbGFzcz1cInJpZ2h0IGZsZXhib3ggb3BidG5zIHByb2R1Y3RfcXVhbnRpdHlcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHTDl3t7IGl0ZW0yLnF1YW50aXR5ID8gaXRlbTIucXVhbnRpdHkgOiBcIlwiIH19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcnB4OyBvdmVyZmxvdzogaGlkZGVuXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCIgc3R5bGU9XCJmbG9hdDogcmlnaHQ7IHdpZHRoOiBhdXRvICFpbXBvcnRhbnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJpZ2h0IGZsZXhib3ggb3BidG5zXCIgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NHJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIj7lrp7ku5jmrL48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG1hcmdpbi10b3A6IDhycHg7ICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwiZm9udC1zaXplOiAyMHJweFwiPu+/pTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJUeXBlID09ICdwb2ludCdcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7eyBzbG90UHJvcHMucm93LmJvb2tCdXlDb25maWdFbnRpdHkucmVhbE1vbmV5IH19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgdi1lbHNlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3RQcm9wcy5yb3cucmVhbE1vbmV5IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2xvdFByb3BzLnJvdy5yZWFsTW9uZXkgPT0gMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBzbG90UHJvcHMucm93LnJlYWxNb25leVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJidG5zIGZsZXhib3hcIiBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHJweDtcclxuICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIFwiIHYtaWY9XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChzbG90UHJvcHMucm93LmFkZHJlc3NJZCA9PSAwIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNsb3RQcm9wcy5yb3cuYWRkcmVzc0lkID09IG51bGwpICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBzbG90UHJvcHMucm93Lm9yZGVyVHlwZSA9PSAnb3JkZXInICYmXHJcbiAgICAgICAgICAgICAgICAgICAgICBzbG90UHJvcHMucm93LmpmRGVkdWN0aW9uID4gMFxyXG4gICAgICAgICAgICAgICAgICAgIFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicmlnaHQgZmxleGJveCBvcGJ0bnNcIiBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDRycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxcnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgXCI+PHRleHQgc3R5bGU9XCJjb2xvcjogIzliOWI5YlwiPu+8iCA8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NnJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzliOWI5YjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCI+56ev5YiG5oq15omjPC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBtYXJnaW4tdG9wOiA4cnB4OyAqL1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NnJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzliOWI5YjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cImZvbnQtc2l6ZTogMjBycHhcIj7vv6U8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdHt7IHNsb3RQcm9wcy5yb3cuamZEZWR1Y3Rpb24gfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+PHRleHQgc3R5bGU9XCJjb2xvcjogIzliOWI5YlwiPu+8iTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3BlcmF0aW9uX2JveCBib3hTaGFkb3dcIiB2LWlmPVwic2xvdFByb3BzLnJvdy5pc1Nob3dNb3JlID09IHRydWVcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJTdGF0dXMgPT0gMFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrLm5hdGl2ZS5zdG9wPVwiY2FuY2VPcmRlcihzbG90UHJvcHMucm93KVwiPuWPlua2iOiuouWNlTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHJweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxlZnRcIiBzdHlsZT1cImNvbG9yOiAjYzBjNGNjXCIgQGNsaWNrLm5hdGl2ZS5zdG9wPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBvcGVuTW9yZShzbG90UHJvcHMucm93LCBzbG90UHJvcHMucm93SW5kZXgpXHJcbiAgICAgICAgICAgICAgICAgICAgXCI+5pu05aSaPC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJpZ2h0IGZsZXhib3ggb3BidG5zXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlcnN0YXR1c2J0biBvcmRlcnN0YXR1c2J0bl9zdWNjZXNzXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHYtaWY9XCJzbG90UHJvcHMucm93Lm9yZGVyU3RhdHVzID09IDAgJiYgc2xvdFByb3BzLnJvdy5wYXltZW50TWV0aG9kICE9IDNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrLnN0b3A9XCJnb1BheShzbG90UHJvcHMucm93KVwiPue7p+e7reS7mOasvjwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyc3RhdHVzYnRuXCIgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJTdGF0dXMgPT0gMVwiPuWCrOWPkei0pzwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyc3RhdHVzYnRuXCIgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJTdGF0dXMgPT0gMlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRAY2xpY2submF0aXZlLnN0b3A9XCJzZWVFeHByZXNzRGV0YWlsKHNsb3RQcm9wcy5yb3cpXCI+5p+l55yL54mp5rWBPC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXJzdGF0dXNidG5cIiB2LWlmPVwic2xvdFByb3BzLnJvdy5vcmRlclN0YXR1cyA9PSAyXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEBjbGljay5uYXRpdmUuc3RvcD1cIk92ZXJPcmRlcihzbG90UHJvcHMucm93KVwiPuehruiupOaUtui0pzwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyc3RhdHVzYnRuXCIgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJTdGF0dXMgPT0gM1wiPueUs+ivt+WUruWQjjwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3XHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm9yZGVyc3RhdHVzYnRuXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHYtaWY9XCJpdGVtLm9yZGVyU3RhdHVzID09IDMgJiYgdXNlclJlY29yZGlkID09IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgQGNsaWNrLm5hdGl2ZS5zdG9wPVwicGluZ2ppKGl0ZW0ucHJvZHVjdElkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICA+6K+E5Lu3PC92aWV3XHJcbiAgICAgICAgICAgICAgICAgICAgPiAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwib3JkZXJzdGF0dXNidG5cIiB2LWlmPVwiaXRlbS5vcmRlclN0YXR1cyA9PSAzICYmIHVzZXJSZWNvcmRpZCAhPSBudWxsXCIgQGNsaWNrLnN0b3A9XCJzaG93Wmh1aXBpbmcoaXRlbS5wcm9kdWN0SWQpXCI+6L+96K+EPC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiYm9yZGVyLWJvdHRvbTogMnJweCBzb2xpZCAjZTllOWU5OyBoZWlnaHQ6IDUwcnB4XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0di1pZj1cInNsb3RQcm9wcy5yb3dJbmRleCA8IHNsb3RQcm9wcy5yb3cubGVuZ3RoIC0gMVwiPjwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSA8dmlldyBjbGFzcz1cImJ0bnNcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcnB4XCI+XHJcbiAgICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cImZsZXhib3ggb3BidG5zXCIgc3R5bGU9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgPHZpZXdcclxuICAgICAgICAgICAgICAgICAgICBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjhycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzliOWI5YjtcclxuICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjx1LWljb25cclxuICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJjbG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cIiM5YjliOWJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJtYXJnaW4tcmlnaHQ6IDEwcnB4XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCIyMFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPjwvdS1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgPnt7IHNsb3RQcm9wcy5yb3cuY3JlYXRlVGltZSB9fTwvdmlld1xyXG4gICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgICAgPC92aWV3PiAtLT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdDwhLS0gPHRleHQgdi1pZj1cInNsb3RQcm9wcy5yb3cuY29uZGl0aW9ucyE9JzAzJ1wiPuOAkOivleWQrOOAkTwvdGV4dD4gLS0+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L2NvbW1vbi1saXN0PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDwhLS0g5a+56K+d5qGGIC0tPlxyXG5cdFx0PHUtcG9wdXAgOnNob3c9XCJwaW5namlhU2hvd1wiIDpyb3VuZD1cIjEwXCIgQGNsb3NlPVwiY2xvc2VQaW5namlhXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwidGFuY2h1XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcF90aXRsZVwiIHYtaWY9XCJwalR5cGUgIT0gJ3podWlwaW5nJ1wiPua3u+WKoOivhOS7tzwvdmlldz5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRwX3RpdGxlXCIgdi1lbHNlPua3u+WKoOi/veivhDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgc3R5bGU9XCJtYXgtaGVpZ2h0OiAxMDAwcnB4OyBvdmVyZmxvdy15OiBzY3JvbGxcIj5cclxuXHRcdFx0XHRcdDx1bmktZm9ybXMgOm1vZGVsVmFsdWU9XCJQZm9ybVwiPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIOivhOS7t+WbvueJhyAtLT5cclxuXHRcdFx0XHRcdFx0PCEtLSBlbmQgLS0+XHJcblx0XHRcdFx0XHRcdDwhLS0gPHVuaS1mb3Jtcy1pdGVtIG5hbWU9XCJjb21tZW50XCIgbGFiZWwtd2lkdGg9XCIwXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx1bmktZWFzeWlucHV0IHR5cGU9XCJ0ZXh0YXJlYVwiIHYtbW9kZWw9XCJQZm9ybS5jb21tZW50XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXmgqjnmoTllYblk4Hor4Tku7dcIiAgLz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdW5pLWZvcm1zLWl0ZW0+XHRcdCAtLT5cclxuXHRcdFx0XHRcdDwvdW5pLWZvcm1zPlxyXG5cdFx0XHRcdFx0PCEtLSA8dS1idXR0b24gdHlwZT1cInN1Y2Nlc3NcIiBAY2xpY2s9XCJzdWJtaXRQSlwiPuaPkOS6pOivhOS7tzwvdS1idXR0b24+IC0tPlxyXG5cdFx0XHRcdFx0PCEtLSDmj5DkuqQgLS0+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBhZGRpbmctYm90dG9tLXNtIGZsZXggcGFkZGluZy1sci1zbVwiIHN0eWxlPVwiYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWVcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtYjMwXCIgdi1pZj1cInBqVHlwZSAhPSAnemh1aXBpbmcnXCI+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgOmNsYXNzPVwiWydzdGFyJywgUGZvcm0uc3RhciA+PSAxID8gJ3N0YXJMaWdodCcgOiAnc3RhckdyYXknXVwiIEBjbGljaz1cImdldFN0YXIoMSlcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgOmNsYXNzPVwiWydzdGFyJywgUGZvcm0uc3RhciA+PSAyID8gJ3N0YXJMaWdodCcgOiAnc3RhckdyYXknXVwiIEBjbGljaz1cImdldFN0YXIoMilcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgOmNsYXNzPVwiWydzdGFyJywgUGZvcm0uc3RhciA+PSAzID8gJ3N0YXJMaWdodCcgOiAnc3RhckdyYXknXVwiIEBjbGljaz1cImdldFN0YXIoMylcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgOmNsYXNzPVwiWydzdGFyJywgUGZvcm0uc3RhciA+PSA0ID8gJ3N0YXJMaWdodCcgOiAnc3RhckdyYXknXVwiIEBjbGljaz1cImdldFN0YXIoNClcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgOmNsYXNzPVwiWydzdGFyJywgUGZvcm0uc3RhciA+PSA1ID8gJ3N0YXJMaWdodCcgOiAnc3RhckdyYXknXVwiIEBjbGljaz1cImdldFN0YXIoNSlcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtYjMwXCIgdi1pZj1cInBqVHlwZSAhPSAnemh1aXBpbmcnXCI+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSA8dW5pLWZpbGUtcGlja2VyIDphdXRvLXVwbG9hZD1cImZhbHNlXCIgcmVmPVwiZmlsZXNcIiBAZGVsZXRlPVwiZGVsZXRlSW1nXCIgbGltaXQ9XCI1XCIgQHN1Y2Nlc3M9XCJ1cFN1Y2Nlc3NcIiBAc2VsZWN0PVwic2VsZWN0XCIgdi1tb2RlbD1cIlBmb3JtLmltZ1wiIGZpbGVNZWRpYXR5cGU9XCJpbWFnZVwiIDppbWFnZS1zdHlsZXM9XCJpbWFnZVN0eWxlc1wiLz4gLS0+XHJcblx0XHRcdFx0XHRcdFx0PHUtdXBsb2FkIDpmaWxlTGlzdD1cIlBmb3JtLmltZ1wiIEBhZnRlclJlYWQ9XCJhZnRlclJlYWRcIiBAZGVsZXRlPVwiZGVsZXRlUGljXCIgbXVsdGlwbGVcclxuXHRcdFx0XHRcdFx0XHRcdDptYXhDb3VudD1cIjRcIiB3aWR0aD1cIjgwXCIgaGVpZ2h0PVwiODBcIiA6cHJldmlld0Z1bGxJbWFnZT1cInRydWVcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L3UtdXBsb2FkPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleC1zdWIgZmxleGJveFwiPlxyXG5cdFx0XHRcdFx0XHRcdDxpIEBjbGljaz1cInNob3dFbWooKVwiIDpjbGFzcz1cImVtb2ppSWNvblwiPjwvaT5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIDxpbnB1dCB0eXBlPVwidGV4dFwiIEBmb2N1cz1cIklucHV0Rm9jdXNcIiBAYmx1cj1cIklucHV0Qmx1clwiIHYtbW9kZWw9XCJtZXNzYWdlXCIgIEBpbnB1dD1cInRleHRhcmVhQklucHV0XCIgIHBsYWNlaG9sZGVyLXN0eWxlPVwiZm9udC1zaXplOjI0cnB4O2NvbG9yOiNhYWFhYWE7XCIgIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5oKo6KaB5Y+R6YCB55qE5YaF5a65XCI+PC9pbnB1dD4gLS0+XHJcblx0XHRcdFx0XHRcdFx0PHRleHRhcmVhIGNsYXNzPVwidGV4dGFyZWFcIiB2LW1vZGVsPVwiUGZvcm0uY29tbWVudFwiIEBmb2N1cz1cIklucHV0Rm9jdXNcIiBAYmx1cj1cIklucHV0Qmx1clwiXHJcblx0XHRcdFx0XHRcdFx0XHRAaW5wdXQ9XCJ0ZXh0YXJlYUJJbnB1dFwiIHBsYWNlaG9sZGVyLXN0eWxlPVwiZm9udC1zaXplOjI0cnB4O2NvbG9yOiNhYWFhYWE7XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5oKo6KaB5Y+R6YCB55qE5YaF5a65XCI+PC90ZXh0YXJlYT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIlwiPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gPGJ1dHRvbiBjbGFzcz1cImN1LWJ0biBiZy1ncmFkdWFsLWJsdWUgc2hhZG93LWJsdXJcIj7lj5HpgIE8L2J1dHRvbj4gLS0+XHJcblx0XHRcdFx0XHRcdFx0PHUtYnV0dG9uIHR5cGU9XCJzdWNjZXNzXCIgQGNsaWNrPVwic3VibWl0UEpcIiB2LWlmPVwicGpUeXBlICE9ICd6aHVpcGluZydcIj7mj5DkuqTor4Tku7c8L3UtYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiB0eXBlPVwic3VjY2Vzc1wiIEBjbGljaz1cInpodWlwaW5nXCIgdi1lbHNlPuaPkOS6pOi/veivhDwvdS1idXR0b24+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiPlxyXG5cdFx0XHRcdFx0XHQ8ZW1vdGlvbiBAZW1vdGlvbj1cImhhbmRsZUVtalwiIDpoZWlnaHQ9XCIyMjBcIiB2LWlmPVwiaXNTaG93RW1qXCIgOndpbmRvd1dpZHRoPVwid2luZG93V2lkdGhcIj5cclxuXHRcdFx0XHRcdFx0PC9lbW90aW9uPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC91LXBvcHVwPlxyXG5cdFx0PHotbmF2aWdhdGlvbj48L3otbmF2aWdhdGlvbj5cclxuXHRcdDx1LWFjdGlvbi1zaGVldCA6Y2xvc2VPbkNsaWNrQWN0aW9uPVwidHJ1ZVwiIDpjbG9zZU9uQ2xpY2tPdmVybGF5PVwidHJ1ZVwiIDphY3Rpb25zPVwibW9yZUxpc3RcIiA6c2hvdz1cImlzU2hvd01vcmVcIlxyXG5cdFx0XHRjYW5jZWxUZXh0PVwi5YWz6ZetXCIgQGNsb3NlPVwiaXNTaG93TW9yZSA9IGZhbHNlXCIgQHNlbGVjdD1cInNlbGVjdENsaWNrXCI+PC91LWFjdGlvbi1zaGVldD5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCAkaHR0cCBmcm9tIFwiQC9jb25maWcvcmVxdWVzdENvbmZpZy5qc1wiO1xyXG5cdGltcG9ydCBlbW90aW9uIGZyb20gXCJAL2JraHVtb3ItZW1vamlwbHVzL2NvbXBvbmVudHMvYmtodW1vci1lbW9qaXBsdXMvYmtodW1vci1lbW9qaXBsdXMudnVlXCI7XHJcblx0Ly8gaW1wb3J0IG11c2ljUGxheSBmcm9tIFwiQC9jb21wb25lbnRzL211c2ljLnZ1ZVwiO1xyXG5cdGltcG9ydCB7XHJcblx0XHRzZXRQYXksXHJcblx0XHRzZXRQYXlBc3NpZ24sXHJcblx0XHRzZXRXWFBheVxyXG5cdH0gZnJvbSBcIkAvY29uZmlnL3V0aWxzXCI7XHJcblx0Ly8gaW1wb3J0IHsgZGF0YSB9IGZyb20gJ2pxdWVyeSc7XHJcblx0aW1wb3J0IHtcclxuXHRcdG1hcFN0YXRlLFxyXG5cdFx0bWFwTXV0YXRpb25zXHJcblx0fSBmcm9tIFwidnVleFwiO1xyXG5cdGV4cG9ydCBkZWZhdWx0IHtcclxuXHRcdGRhdGEoKSB7XHJcblx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0aXNTaG93TW9yZTogZmFsc2UsXHJcblx0XHRcdFx0Y29tZTogXCIyXCIsXHJcblx0XHRcdFx0aXNTaG93VGFiOiBmYWxzZSxcclxuXHRcdFx0XHRpc0xvYWRpbmdIaWRlOiBmYWxzZSxcclxuXHRcdFx0XHRtb3JlTGlzdDogW3tcclxuXHRcdFx0XHRcdG5hbWU6IFwi5Y+W5raI6K6i5Y2VXCIsXHJcblx0XHRcdFx0XHRrZXk6IFwiZmFsc2VcIixcclxuXHRcdFx0XHR9LCBdLFxyXG5cdFx0XHRcdGN1cnJlbnRDYXRlSW5kZXg6IDAsXHJcblx0XHRcdFx0cGFnaW5hdGlvbjoge1xyXG5cdFx0XHRcdFx0Ly8g6K+35rGC5Y+C5pWwXHJcblx0XHRcdFx0XHRwYWdlOiAxLCAvL+mhteeggVxyXG5cdFx0XHRcdFx0bGltaXQ6IDIwLCAvL+avj+mhteaYvuekulxyXG5cdFx0XHRcdFx0dG90YWw6IDAsIC8v5oC75p2h5pWwXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHQvLyBsb2FkaW5nTm93IDogZmFsc2UsXHJcblx0XHRcdFx0cGxheURhdGE6IHt9LFxyXG5cdFx0XHRcdG9wdGlvbnM6IHt9LFxyXG5cdFx0XHRcdGVtb2ppSWNvbjogXCJjdUljb24tZW1vamlcIixcclxuXHRcdFx0XHR3aW5kb3dXaWR0aDogMCxcclxuXHRcdFx0XHRib29raWQ6IG51bGwsXHJcblx0XHRcdFx0Ym9va2xpc3RwYWdlOiAxLFxyXG5cdFx0XHRcdHByb2R1Y3RMaXN0OiBbXSxcclxuXHRcdFx0XHRwcm9kdWN0SW5mbzoge30sXHJcblx0XHRcdFx0ZW1vamk6IFtdLFxyXG5cdFx0XHRcdEZpbGVzOiBbXSxcclxuXHRcdFx0XHRwYWdlOiAxLFxyXG5cdFx0XHRcdHBhZ2VTaXplOiAxMCxcclxuXHRcdFx0XHR0b3RhbDogMCxcclxuXHRcdFx0XHRzdGF0dXM6IDMsXHJcblx0XHRcdFx0c2h1cGluZ0xpc3Q6IFtdLFxyXG5cdFx0XHRcdGJmYWlkOiBudWxsLFxyXG5cdFx0XHRcdG9yZGVyc1RhYnM6IFt7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5YWo6YOoXCIsXHJcblx0XHRcdFx0XHRcdHZhbHVlOiAtMSxcclxuXHRcdFx0XHRcdFx0YmFkZ2U6IHt9LFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCLlvoXku5jmrL5cIixcclxuXHRcdFx0XHRcdFx0dmFsdWU6IDAsXHJcblx0XHRcdFx0XHRcdGJhZGdlOiB7fSxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5b6F5Y+R6LSnXCIsXHJcblx0XHRcdFx0XHRcdHZhbHVlOiAxLFxyXG5cdFx0XHRcdFx0XHRiYWRnZToge30sXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuW+heaUtui0p1wiLFxyXG5cdFx0XHRcdFx0XHR2YWx1ZTogMixcclxuXHRcdFx0XHRcdFx0YmFkZ2U6IHt9LFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCLlt7LlrozmiJBcIixcclxuXHRcdFx0XHRcdFx0dmFsdWU6IDMsXHJcblx0XHRcdFx0XHRcdGJhZGdlOiB7fSxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XSxcclxuXHRcdFx0XHRzZWxlY3RPcmRlckluZm86IHt9LFxyXG5cdFx0XHRcdG9yZGVyc0xpc3RUYWI6IDEsXHJcblx0XHRcdFx0bmV3ZXN0cGFnZTogMSxcclxuXHRcdFx0XHQvLyBob3Rlc3RwYWdlOiAxLFxyXG5cdFx0XHRcdC8vIGJvb2tzZXRwYWdlOiAxLFxyXG5cdFx0XHRcdG5ld0xpc3Q6IFtdLFxyXG5cdFx0XHRcdC8vIGhvdExpc3Q6W10sXHJcblx0XHRcdFx0Ly8gYm9va0xpc3Q6W10sXHJcblx0XHRcdFx0bWFwOiB7fSxcclxuXHRcdFx0XHR1c2VyUmVjb3JkaWQ6IG51bGwsIC8vIOeUqOaIt+eahOivhOS7t+eKtuaAgVxyXG5cdFx0XHRcdHBpbmdqaWFTaG93OiBmYWxzZSwgLy/mt7vliqDor4Tku7dcclxuXHRcdFx0XHRQZm9ybToge1xyXG5cdFx0XHRcdFx0Ly8g6K+E5Lu36KGo5Y2VXHJcblx0XHRcdFx0XHRzdGFyOiAwLFxyXG5cdFx0XHRcdFx0Y29tbWVudDogXCJcIixcclxuXHRcdFx0XHRcdGltZzogW10sXHJcblx0XHRcdFx0XHRodG1sOiBcIlwiLFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0aXNTaG93RW1qOiBmYWxzZSxcclxuXHRcdFx0XHRwalR5cGU6IFwiXCIsXHJcblx0XHRcdH07XHJcblx0XHR9LFxyXG5cdFx0b25QdWxsRG93blJlZnJlc2goKSB7XHJcblx0XHRcdHVuaS5zdG9wUHVsbERvd25SZWZyZXNoKCk7XHJcblxyXG5cdFx0XHR0aGlzLm5ld2VzdHBhZ2UgPSAxO1xyXG5cdFx0XHR0aGlzLm5ld0xpc3QgPSBbXTtcclxuXHRcdFx0dGhpcy5nZXRCb29rTGlzdCh0aGlzLm9yZGVyc0xpc3RUYWIsIGZhbHNlKTtcclxuXHRcdH0sXHJcblx0XHRvblJlYWNoQm90dG9tKCkge1xyXG5cdFx0XHR0aGlzLm5ld2VzdHBhZ2UrKztcclxuXHRcdFx0dGhpcy5nZXRCb29rTGlzdCh0aGlzLm9yZGVyc0xpc3RUYWIsIGZhbHNlKTtcclxuXHRcdH0sXHJcblx0XHRvbkxvYWQoZSkge1xyXG5cdFx0XHR0aGlzLndpbmRvd1dpZHRoID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCkud2luZG93V2lkdGg7XHJcblx0XHRcdHRoaXMub3B0aW9ucyA9IGU7XHJcblx0XHRcdC8vIOmakOiXj+WOn+eUn+eahHRhYmJhclxyXG5cdFx0XHR1bmkuaGlkZVRhYkJhcigpO1xyXG5cdFx0fSxcclxuXHRcdGFzeW5jIG9uU2hvdygpIHtcclxuXHRcdFx0dGhpcy5uZXdMaXN0ID0gW107XHJcblx0XHRcdHRoaXMucGFnaW5hdGlvbiA9IHtcclxuXHRcdFx0XHRwYWdlOiAxLCAvL+mhteeggVxyXG5cdFx0XHRcdGxpbWl0OiAyMCwgLy/mr4/pobXmmL7npLpcclxuXHRcdFx0XHR0b3RhbDogMCwgLy/mgLvmnaHmlbBcclxuXHRcdFx0fTtcclxuXHRcdFx0dGhpcy4kbmV4dFRpY2soYXN5bmMgKCkgPT4ge1xyXG5cdFx0XHRcdGF3YWl0IHRoaXMub3JkZXJzVGFiQ0xpKHRoaXMub3JkZXJzVGFic1swXSwgMCk7XHJcblx0XHRcdH0pO1xyXG5cdFx0fSxcclxuXHRcdGFzeW5jIG9uVGFiSXRlbVRhcCgpIHtcclxuXHRcdFx0dGhpcy5uZXdMaXN0ID0gW107XHJcblx0XHRcdHRoaXMucGFnaW5hdGlvbiA9IHtcclxuXHRcdFx0XHRwYWdlOiAxLCAvL+mhteeggVxyXG5cdFx0XHRcdGxpbWl0OiAyMCwgLy/mr4/pobXmmL7npLpcclxuXHRcdFx0XHR0b3RhbDogMCwgLy/mgLvmnaHmlbBcclxuXHRcdFx0fTtcclxuXHRcdH0sXHJcblx0XHRvblJlYWR5KCkge30sXHJcblx0XHRjb21wdXRlZDoge1xyXG5cdFx0XHQuLi5tYXBTdGF0ZShbXCJ1c2VySW5mb1wiXSksXHJcblx0XHR9LFxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQuLi5tYXBNdXRhdGlvbnMoW1wic2V0TG9hZGluZ1Nob3dcIl0pLFxyXG5cdFx0XHRnZXRJbWFnZVVybCh1cmwpIHtcclxuXHRcdFx0XHQvLyDpgJrov4flnKhVUkzlkI7pnaLmt7vliqDml7bpl7TmiLPmnaXpgb/lhY3nvJPlrZhcclxuXHRcdFx0XHRyZXR1cm4gYCR7dXJsfT90aW1lc3RhbXA9JHtEYXRlLm5vdygpfWA7XHJcblx0XHRcdH0sXHJcblx0XHRcdHNlbGVjdENsaWNrKGluZGV4KSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCJpbmRleCBhdCBsaW5lIDYwOTpcIiwgaW5kZXgpO1xyXG5cdFx0XHRcdGlmIChpbmRleC5rZXkgPT0gXCJmYWxzZVwiKSB7XHJcblx0XHRcdFx0XHR0aGlzLmlzU2hvd01vcmUgPSBmYWxzZTtcclxuXHRcdFx0XHRcdHRoaXMuY2FuY2VPcmRlcih0aGlzLnNlbGVjdE9yZGVySW5mbyk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRvcGVuTW9yZShyb3csIGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RPcmRlckluZm8gPSByb3c7XHJcblx0XHRcdFx0dGhpcy5pc1Nob3dNb3JlID0gdHJ1ZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0aGFuZGxlQ29weSh2YWx1ZSwgdGl0bGUpIHtcclxuXHRcdFx0XHR0aGlzLiRjb21tb25KUy5oYW5kbGVDb3B5KHZhbHVlLCB0aXRsZSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdG9uUmVhY2hCb3R0b20xKCkge1xyXG5cdFx0XHRcdC8vIOS4iuaLieWKoOi9vVxyXG5cdFx0XHRcdC8vIOW9k+WIl+ihqOaVsOmHj+S4jeWkp+S6juaIluetieS6juaAu+aVsOmHj++8jOWImeWGjeasoeiwg+eUqOaOpeWPo+ivt+axguaVsOaNrlxyXG5cdFx0XHRcdGlmICh0aGlzLm5ld0xpc3QubGVuZ3RoID49IHRoaXMucGFnaW5hdGlvbi50b3RhbCkgcmV0dXJuO1xyXG5cdFx0XHRcdHRoaXMucGFnaW5hdGlvbi5wYWdlKys7XHJcblx0XHRcdFx0dGhpcy5nZXRCb29rTGlzdCh0aGlzLm9yZGVyc0xpc3RUYWIsIGZhbHNlKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z29Ib21lKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLm9wdGlvbnMudHlwZSA9PSBcIm9yZGVyXCIpIHtcclxuXHRcdFx0XHRcdHVuaS5zd2l0Y2hUYWIoe1xyXG5cdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL2hvbWVQYWdlL2luZGV4L2luZGV4XCIsXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjayh7XHJcblx0XHRcdFx0XHRcdGRlbHRhOiAxLFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDliIfmjaJ0YWLnirbmgIFcclxuXHRcdFx0b3JkZXJzVGFiQ0xpKGRhdGEsIGluZGV4KSB7XHJcblx0XHRcdFx0dGhpcy5jdXJyZW50Q2F0ZUluZGV4ID0gaW5kZXg7XHJcblx0XHRcdFx0dGhpcy5wYWdpbmF0aW9uID0ge1xyXG5cdFx0XHRcdFx0cGFnZTogMSwgLy/pobXnoIFcclxuXHRcdFx0XHRcdGxpbWl0OiAyMCwgLy/mr4/pobXmmL7npLpcclxuXHRcdFx0XHRcdHRvdGFsOiAwLCAvL+aAu+adoeaVsFxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCJkYXRhIGF0IGxpbmUgNDU0OlwiLCBkYXRhKTtcclxuXHRcdFx0XHR0aGlzLm9yZGVyc0xpc3RUYWIgPSBkYXRhLnZhbHVlO1xyXG5cdFx0XHRcdHRoaXMubmV3ZXN0cGFnZSA9IDE7XHJcblx0XHRcdFx0Ly8gdGhpcy5ob3Rlc3RwYWdlID0gMVxyXG5cdFx0XHRcdC8vIHRoaXMuYm9va3NldHBhZ2UgPSAxXHJcblx0XHRcdFx0dGhpcy5uZXdMaXN0ID0gW107XHJcblx0XHRcdFx0Ly8gdGhpcy5ob3RMaXN0ID0gW11cclxuXHRcdFx0XHQvLyB0aGlzLmJvb2tMaXN0ID0gW11cclxuXHRcdFx0XHR0aGlzLmdldEJvb2tMaXN0KHRoaXMub3JkZXJzTGlzdFRhYiwgZmFsc2UpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDmn6XnnIvmnKzkuabmm7TlpJrkuabor4RcclxuXHRcdFx0dG9Nb3JlKHZhbCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHZhbCwgXCJ2YWxcIik7XHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiBcIi4uL2NvbW1lbnRzL2NvbW1lbnRzP2Jvb2tpZD1cIiArIHZhbC5pZCxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6K6i5Y2V6K+m5oOFXHJcblx0XHRcdHRvRGV0YWlsKHZhbCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHZhbCwgXCJ2YWxcIik7XHJcblx0XHRcdFx0Ly8gdW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdC8vIFx0dXJsOicuLi9ib29rU2hvcC9jb21tZW50c0RldGFpbD9ib29raWQ9Jyt2YWwuYm9va2lkKycmYmZhX2lkPScrdmFsLmlkXHJcblx0XHRcdFx0Ly8gfSlcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL2Jvb2tTaG9wL29yZGVyTENvbnQ/b3JkZXJJZD1cIiArXHJcblx0XHRcdFx0XHRcdHZhbC5vcmRlcklkICtcclxuXHRcdFx0XHRcdFx0XCImb3JkZXJUeXBlPVwiICtcclxuXHRcdFx0XHRcdFx0dmFsLm9yZGVyU3RhdHVzICtcclxuXHRcdFx0XHRcdFx0XCImb3JkZXJTbj1cIiArXHJcblx0XHRcdFx0XHRcdHZhbC5vcmRlclNuLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRCb29rTGlzdChmbGFnLCByZWZyZXNoZmxhZykge1xyXG5cdFx0XHRcdHRoaXMuaXNMb2FkaW5nSGlkZSA9IGZhbHNlO1xyXG5cdFx0XHRcdHZhciB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHQvLyDmoLnmja50YWLkuI3lkIzvvIzojrflj5bmnIDmlrDkuabor4TjgIHmnIDng63kuabor4TjgIHkuabpm4bliJfooahcclxuXHRcdFx0XHQvLyB1bmkuc2hvd0xvYWRpbmcoe1xyXG5cdFx0XHRcdC8vIFx0dGl0bGU6ICfliqDovb3kuK0nXHJcblx0XHRcdFx0Ly8gfSk7XHJcblxyXG5cdFx0XHRcdC8vIOmhtumDqOe6oueCueaVsOmHj1xyXG5cdFx0XHRcdCRodHRwXHJcblx0XHRcdFx0XHQucmVxdWVzdCh7XHJcblx0XHRcdFx0XHRcdHVybDogXCJjb21tb24vYnV5T3JkZXIvZ2V0QnV5T3JkZXJOdW1CeVN0YXR1c1wiLFxyXG5cdFx0XHRcdFx0XHRtZXRob2Q6IFwiUE9TVFwiLFxyXG5cdFx0XHRcdFx0XHRkYXRhOiB7XHJcblx0XHRcdFx0XHRcdFx0dXNlcklkOiB0aGF0LnVzZXJJbmZvLmlkLFxyXG5cdFx0XHRcdFx0XHRcdGNvbWU6IHRoaXMuY29tZSxcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdFx0Ly/pu5jorqQg5pegIOivtOaYju+8muivt+axguWktFxyXG5cdFx0XHRcdFx0XHRcdFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdC50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Ly8gICAgICAgICAgIOiuouWNleeKtuaAgVxyXG5cdFx0XHRcdFx0XHQvLyAqIDA6IOW+heS7mOasvlxyXG5cdFx0XHRcdFx0XHQvLyAqIDE6IOW+heWPkei0p1xyXG5cdFx0XHRcdFx0XHQvLyAqIDI6IOW3suWPkei0p1xyXG5cdFx0XHRcdFx0XHQvLyAqIDPvvJrlt7LlrozmiJBcclxuXHRcdFx0XHRcdFx0Ly8gKiA0OiDkuqTmmJPlpLHotKVcclxuXHRcdFx0XHRcdFx0Ly8gKiA1OiDlt7Lov4fmnJ9cclxuXHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwicmVzIGF0IGxpbmUgNzU3OlwiLCByZXMpO1xyXG5cdFx0XHRcdFx0XHR0aGF0Lm1hcCA9IHJlcy5kYXRhO1xyXG5cclxuXHRcdFx0XHRcdFx0dGhhdC5vcmRlcnNUYWJzLm1hcCgoZSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChlLnZhbHVlID09IDAgfHwgZS52YWx1ZSA9PSAxIHx8IGUudmFsdWUgPT0gMikge1xyXG5cdFx0XHRcdFx0XHRcdFx0dmFyIG51bUxpc3QgPSB0aGF0Lm1hcC5maWx0ZXIoKHYpID0+IHYub3JkZXJfc3RhdHVzID09IGUudmFsdWUpO1xyXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJudW0gYXQgbGluZSA3NzE6XCIsIG51bUxpc3QpO1xyXG5cdFx0XHRcdFx0XHRcdFx0aWYgKG51bUxpc3QubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRlLmJhZGdlID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHZhbHVlOiBudW1MaXN0WzBdLm51bSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGUuYmFkZ2UgPSB7fTtcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0ZS5iYWRnZSA9IHt9O1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdC8vIHRoaXMuJHNldCgndGhpcy5vcmRlcnNUYWJzJywpXHJcblx0XHRcdFx0XHRcdHRoYXQuJGZvcmNlVXBkYXRlKCk7XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0LmNhdGNoKChlKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGUpO1xyXG5cdFx0XHRcdFx0fSk7XHJcblxyXG5cdFx0XHRcdHZhciBwYXJhbXMgPSB7XHJcblx0XHRcdFx0XHR1c2VySWQ6IHRoaXMudXNlckluZm8uaWQsXHJcblx0XHRcdFx0XHRjb21lOiB0aGlzLmNvbWUsXHJcblx0XHRcdFx0XHRvcmRlclN0YXR1czogZmxhZyA9PSAtMSA/IFwiXCIgOiBmbGFnLCAvL+S8oG51bGzkuLrlhajpg6jvvIzorqLljZXnirbmgIEgIDAt5pyq5LuY5qy+IDEt5b6F5Y+R6LSnIDIt5bey5Y+R6LSnIDMt5Lqk5piT5oiQ5YqfIDQt5Lqk5piT5aSx6LSlIDUt6L+H5pyfXHJcblx0XHRcdFx0XHQuLi50aGlzLnBhZ2luYXRpb24sXHJcblx0XHRcdFx0XHQvLyBsaW1pdDogMTAsXHJcblx0XHRcdFx0XHQvLyBwYWdlOiB0aGlzLm5ld2VzdHBhZ2UsXHJcblx0XHRcdFx0fTtcclxuXHRcdFx0XHR0aGlzLiRodHRwXHJcblx0XHRcdFx0XHQucmVxdWVzdCh7XHJcblx0XHRcdFx0XHRcdHVybDogXCJjb21tb24vYnV5T3JkZXIvY29tbW9uQnV5T3JkZXJMaXN0XCIsXHJcblx0XHRcdFx0XHRcdG1ldGhvZDogXCJQT1NUXCIsIC8vIFBPU1TjgIFHRVTjgIFQVVTjgIFERUxFVEXvvIzlhbfkvZPor7TmmI7mn6XnnIvlrpjmlrnmlofmoaNcclxuXHRcdFx0XHRcdFx0ZGF0YTogcGFyYW1zLFxyXG5cdFx0XHRcdFx0XHRoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0XHQvL+m7mOiupCDml6Ag6K+05piO77ya6K+35rGC5aS0XHJcblx0XHRcdFx0XHRcdFx0XCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0LnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIuiuouWNleWIl+ihqOWGheWuueiOt+WPluaIkOWKn1wiLCByZXMpO1xyXG5cdFx0XHRcdFx0XHR0aGF0LnBhZ2luYXRpb24udG90YWwgPSByZXMuZGF0YS50b3RhbDtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhLnRvdGFsID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmlzTG9hZGluZ0hpZGUgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwICYmIHJlcy5kYXRhICYmIHJlcy5kYXRhLnJlY29yZHMubGVuZ3RoID4gMCkge1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQubmV3TGlzdCA9IHRoYXQubmV3TGlzdC5jb25jYXQocmVzLmRhdGEucmVjb3Jkcyk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0Ly9cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEucmVjb3Jkcy5sZW5ndGggIT0gMTApIHtcclxuXHRcdFx0XHRcdFx0XHR0aGF0LnN0YXR1cyA9IDE7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5zdGF0dXMgPSAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0LmNhdGNoKChlKSA9PiB7XHJcblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGUpO1xyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaUr+S7mFxyXG5cdFx0XHRnb1BheShwYXlJdGVtKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2cocGF5SXRlbSwgXCLorqLljZXmlbDmja5cIik7XHJcblx0XHRcdFx0aWYgKHBheUl0ZW0ucGF5bWVudE1ldGhvZCA9PSAyKSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIumYv+mHjOaUr+S7mFwiKTtcclxuXHRcdFx0XHRcdHNldFBheSh7XHJcblx0XHRcdFx0XHRcdFx0dHlwZVBheTogXCJhbGlwYXlcIixcclxuXHRcdFx0XHRcdFx0XHRzdWJqZWN0OiBcIm9yZGVyXCIsXHJcblx0XHRcdFx0XHRcdFx0dG90YWxBbW91bnQ6IHBheUl0ZW0ucmVhbE1vbmV5LFxyXG5cdFx0XHRcdFx0XHRcdHR5cGU6IDIsXHJcblx0XHRcdFx0XHRcdFx0cmVsZXZhbmNlb2lkOiBwYXlJdGVtLm9yZGVyU24sXHJcblx0XHRcdFx0XHRcdFx0Y3VzdG9tZXJJZDogdGhpcy51c2VySW5mby5pZCxcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0KHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuc3VjY2Vzcykge1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuaUr+S7mOaIkOWKn1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogXCLmlK/ku5jlpLHotKVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGltYWdlOiBcIi4uLy4uL3N0YXRpYy9pY29uL2ljX2Nsb3NlLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZ2V0T3JkZXJMaXN0KCk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0fSBlbHNlIGlmIChwYXlJdGVtLnBheW1lbnRNZXRob2QgPT0gMSkge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCLlvq7kv6HmlK/ku5hcIik7XHJcblxyXG5cdFx0XHRcdFx0bGV0IGRhdGExID0ge1xyXG5cdFx0XHRcdFx0XHRvcmRlclNuOiBwYXlJdGVtLm9yZGVyU24sXHJcblx0XHRcdFx0XHRcdGJ1eU9yZGVySWQ6IG51bGwsXHJcblx0XHRcdFx0XHRcdHRvdGFsQW1vdW50OiBwYXlJdGVtLnJlYWxNb25leSxcclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhkYXRhMSwgXCJkYXRhMVwiKTtcclxuXHRcdFx0XHRcdHNldFdYUGF5KGRhdGExLCAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuc3VjY2Vzcykge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5pSv5LuY5oiQ5YqfXCIsXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2cocmVzKTtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmRhdGEuZXJyTXNnLmluZGV4T2YoXCJVc2VyIGNhbmNlbGVkXCIpICE9IC0xKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi55So5oi35Y+W5raI5pSv5LuYXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpbWFnZTogXCIuLi8uLi9zdGF0aWMvaWNvbi9pY19jbG9zZS5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5pSv5LuY5aSx6LSlXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpbWFnZTogXCIuLi8uLi9zdGF0aWMvaWNvbi9pY19jbG9zZS5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSBlbHNlIGlmIChwYXlJdGVtLnBheW1lbnRNZXRob2QgPT0gMyAmJiB0aGlzLm9yZGVyc0xpc3RUYWIgPT0gMCkge1xyXG5cdFx0XHRcdFx0Ly8g6Iu55p6c5YWF5YC8XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZyhcIuiLueaenOS6jOasoeaUr+S7mFwiKTtcclxuXHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0XHRjb250ZW50OiAnYXBwbGXlhoXotK3orqLljZXkuI3mlK/mjIHnu6fnu63mlK/ku5jvvIzor7fph43mlrDlj5HotbfmlK/ku5jnlLPor7flubblrozmiJDmlK/ku5gnLFxyXG5cdFx0XHRcdFx0XHRjb25maXJtVGV4dDogJ+WlveeahCcsXHJcblx0XHRcdFx0XHRcdHNob3dDYW5jZWw6IGZhbHNlXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdH0gZWxzZSBpZiAocGF5SXRlbS5wYXltZW50TWV0aG9kID09IDQpIHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCflpKnljLvluIHkuozmrKHmlK/ku5gnKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5Y+W5raI6K6i5Y2VXHJcblx0XHRcdGNhbmNlT3JkZXIoaXRlbSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKCdpdGVtLm9yZGVyU24nLCBpdGVtKTtcclxuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdHRpdGxlOiBcIuaPkOekulwiLFxyXG5cdFx0XHRcdFx0Y29udGVudDogXCLnoa7lrpropoHlj5bmtojorqLljZXlkJfvvJ9cIixcclxuXHRcdFx0XHRcdGNvbmZpcm1UZXh0OiBcIuWPlua2iOiuouWNlVwiLFxyXG5cdFx0XHRcdFx0Y2FuY2VsVGV4dDogXCLogIPomZHkuIDkuItcIixcclxuXHRcdFx0XHRcdGNvbmZpcm1Db2xvcjogXCIjYzk2NzEzXCIsXHJcblx0XHRcdFx0XHRjYW5jZWxDb2xvcjogXCIjNTU1XCIsXHJcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29uZmlybSkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuJGh0dHBcclxuXHRcdFx0XHRcdFx0XHRcdC5wb3N0KFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcImJvb2svYnV5T3JkZXIvYXBwRGVsZXRlP29yZGVySWQ9XCIgKyBpdGVtLm9yZGVySWRcclxuXHRcdFx0XHRcdFx0XHRcdClcclxuXHRcdFx0XHRcdFx0XHRcdC50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5Y+W5raI6K6i5Y2V5oiQ5YqfXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gdW5pLnN3aXRjaFRhYih7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gXHR1cmw6ICcuL29yZGVyTGlzdCdcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvLyB9KTtcclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5uZXdlc3RwYWdlID0gMTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLm5ld0xpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmdldEJvb2tMaXN0KHRoaXMub3JkZXJzTGlzdFRhYiwgZmFsc2UpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8gY2FuY2VPcmRlcihpdGVtKSB7XHJcblx0XHRcdC8vIFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdC8vIFx0XHR0aXRsZTogJ+aPkOekuicsXHJcblx0XHRcdC8vIFx0XHRjb250ZW50OiAn56Gu5a6a6KaB5Y+W5raI6K6i5Y2V5ZCX77yfJyxcclxuXHRcdFx0Ly8gXHRcdGNvbmZpcm1UZXh0OiBcIuWPlua2iOiuouWNlVwiLFxyXG5cdFx0XHQvLyBcdFx0Y2FuY2VsVGV4dDogXCLogIPomZHkuIDkuItcIixcclxuXHRcdFx0Ly8gXHRcdGNvbmZpcm1Db2xvcjogJyNjOTY3MTMnLFxyXG5cdFx0XHQvLyBcdFx0Y2FuY2VsQ29sb3I6ICcjNTU1JyxcclxuXHRcdFx0Ly8gXHRcdHN1Y2Nlc3M6IHJlcyA9PiB7XHJcblx0XHRcdC8vIFx0XHRcdGlmIChyZXMuY29uZmlybSkge1xyXG5cdFx0XHQvLyBcdFx0XHRcdHVuaS5zaG93TG9hZGluZygpXHJcblx0XHRcdC8vIFx0XHRcdFx0JGh0dHAucmVxdWVzdCh7XHJcblx0XHRcdC8vIFx0XHRcdFx0XHR1cmw6IFwiYm9vay9idXlPcmRlci9jYW5jZWxPcmRlclwiLFxyXG5cdFx0XHQvLyBcdFx0XHRcdFx0bWV0aG9kOiBcIkdFVFwiLCAvLyBQT1NU44CBR0VU44CBUFVU44CBREVMRVRF77yM5YW35L2T6K+05piO5p+l55yL5a6Y5pa55paH5qGjXHJcblx0XHRcdC8vIFx0XHRcdFx0XHRkYXRhLFxyXG5cdFx0XHQvLyBcdFx0XHRcdFx0aGVhZGVyOiB7IC8v6buY6K6kIOaXoCDor7TmmI7vvJror7fmsYLlpLRcclxuXHRcdFx0Ly8gXHRcdFx0XHRcdFx0J0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJ1xyXG5cdFx0XHQvLyBcdFx0XHRcdFx0fSxcclxuXHRcdFx0Ly8gXHRcdFx0XHR9KS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdC8vIFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHQvLyBcdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxyXG5cdFx0XHQvLyBcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0Ly8gXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+iuouWNleW3suWPlua2iCcsXHJcblx0XHRcdC8vIFx0XHRcdFx0XHRcdFx0aWNvbjogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHQvLyBcdFx0XHRcdFx0XHRcdGR1cmF0aW9uOiAxMDAwXHJcblx0XHRcdC8vIFx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdC8vIFx0XHRcdFx0XHRcdHRoaXMuZ2V0Qm9va0xpc3QodGhpcy5vcmRlcnNMaXN0VGFiLCBmYWxzZSlcclxuXHRcdFx0Ly8gXHRcdFx0XHRcdH1cclxuXHRcdFx0Ly8gXHRcdFx0XHR9KVxyXG5cdFx0XHQvLyBcdFx0XHR9IGVsc2UgaWYgKHJlcy5jYW5jZWwpIHt9XHJcblx0XHRcdC8vIFx0XHR9XHJcblx0XHRcdC8vIFx0fSk7XHJcblx0XHRcdC8vIH0sXHJcblx0XHRcdC8vIOafpeeci+eJqea1gVxyXG5cdFx0XHRzZWVFeHByZXNzRGV0YWlsKGl0ZW0pIHtcclxuXHRcdFx0XHQvLyBjb25zb2xlLmxvZyhpdGVtLCB0aGlzLnNoZWV0TGlzdC5sZW5ndGgpXHJcblx0XHRcdFx0Ly8gaWYodGhpcy5zaGVldExpc3QubGVuZ3RoID4gMSl7XHJcblx0XHRcdFx0Ly8gXHR0aGlzLnNoZWV0TGlzdFNob3cgPSB0cnVlXHJcblx0XHRcdFx0Ly8gfWVsc2UgaWYodGhpcy5zaGVldExpc3QubGVuZ3RoID09IDEpe1xyXG5cdFx0XHRcdC8vIOebtOaOpeWxleekuuivpuaDhVxyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogXCIuL2RlbGl2ZXJEZXRhaWw/b3JkZXJTbj1cIiArXHJcblx0XHRcdFx0XHRcdGl0ZW0ub3JkZXJTbiArXHJcblx0XHRcdFx0XHRcdFwiJmV4cHJlc3NPcmRlclNuPVwiICtcclxuXHRcdFx0XHRcdFx0aXRlbS5leHByZXNzTGlzdFswXS5leHByZXNzT3JkZXJTbixcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHQvLyB9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOehruiupOaUtui0p1xyXG5cdFx0XHRPdmVyT3JkZXIoaXRlbSkge1xyXG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0dGl0bGU6IFwi5o+Q56S6XCIsXHJcblx0XHRcdFx0XHRjb250ZW50OiBcIuehruiupOaUtui0p++8n1wiLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRsZXQgZGF0YSA9IHtcclxuXHRcdFx0XHRcdFx0XHRvcmRlcklkOiBpdGVtLm9yZGVySWQsXHJcblx0XHRcdFx0XHRcdFx0b3JkZXJTdGF0dXM6IFwiM1wiLFxyXG5cdFx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvbmZpcm0pIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0XHQkaHR0cFxyXG5cdFx0XHRcdFx0XHRcdFx0LnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiYm9vay9idXlPcmRlci91cGRhdGVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0bWV0aG9kOiBcIlBPU1RcIiwgLy8gUE9TVOOAgUdFVOOAgVBVVOOAgURFTEVURe+8jOWFt+S9k+ivtOaYjuafpeeci+WumOaWueaWh+aho1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRkYXRhLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQvL+m7mOiupCDml6Ag6K+05piO77ya6K+35rGC5aS0XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRcdFx0LnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5pS26LSn5oiQ5YqfXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBcInN1Y2Nlc3NcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGR1cmF0aW9uOiAxMDAwLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMubmV3ZXN0cGFnZSA9IDE7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5uZXdMaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5nZXRCb29rTGlzdCh0aGlzLm9yZGVyc0xpc3RUYWIsIGZhbHNlKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAocmVzLmNhbmNlbCkge31cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGNsb3NlUGluZ2ppYSgpIHtcclxuXHRcdFx0XHR0aGlzLnBpbmdqaWFTaG93ID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy5QZm9ybS5jb21tZW50ID0gXCJcIjtcclxuXHRcdFx0XHR0aGlzLlBmb3JtLmh0bWwgPSBcIlwiO1xyXG5cdFx0XHRcdHRoaXMuZW1vamkgPSBbXTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5o+Q5Lqk6K+E5Lu3XHJcblx0XHRcdHN1Ym1pdFBKKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLlBmb3JtLmNvbW1lbnQgIT0gXCJcIikge1xyXG5cdFx0XHRcdFx0bGV0IGRhdGEgPSB7XHJcblx0XHRcdFx0XHRcdHVzZXJpZDogdGhpcy51c2VySW5mby5pZCxcclxuXHRcdFx0XHRcdFx0b3JkZXJTbjogdGhpcy5vcmRlclNuLFxyXG5cdFx0XHRcdFx0XHRib29raWQ6IHRoaXMucHJvZHVjdElELFxyXG5cdFx0XHRcdFx0XHQvLyAnY29udGVudCc6IHRoaXMuUGZvcm0uaHRtbCxcclxuXHRcdFx0XHRcdFx0Y29udGVudDogdGhpcy5QZm9ybS5jb21tZW50LFxyXG5cdFx0XHRcdFx0XHRzdGFyTGV2ZWw6IHRoaXMuUGZvcm0uc3RhcixcclxuXHRcdFx0XHRcdFx0aW1hZ2VzOiB0aGlzLlBmb3JtLmltZyxcclxuXHRcdFx0XHRcdFx0Ly8gJ2Vtb2ppJzp0aGlzLmVtb2ppICAvLyDooajmg4XmlbDnu4RcclxuXHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyhkYXRhLCdkYXRhJylcclxuXHRcdFx0XHRcdCRodHRwXHJcblx0XHRcdFx0XHRcdC5yZXF1ZXN0KHtcclxuXHRcdFx0XHRcdFx0XHR1cmw6IFwiYnV5L3JlY29yZC9Vc2VyUmVjb3JkY29tbWVudFwiLFxyXG5cdFx0XHRcdFx0XHRcdG1ldGhvZDogXCJQT1NUXCIsIC8vIFBPU1TjgIFHRVTjgIFQVVTjgIFERUxFVEXvvIzlhbfkvZPor7TmmI7mn6XnnIvlrpjmlrnmlofmoaNcclxuXHRcdFx0XHRcdFx0XHRkYXRhLFxyXG5cdFx0XHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHRcdFx0Ly/pu5jorqQg5pegIOivtOaYju+8muivt+axguWktFxyXG5cdFx0XHRcdFx0XHRcdFx0XCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcblx0XHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0LnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi6K+E5Lu35oiQ5Yqf77yBXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGljb246IFwic3VjY2Vzc1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5waW5namlhU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5QZm9ybS5jb21tZW50ID0gXCJcIjtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuUGZvcm0uaHRtbCA9IFwiXCI7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmVtb2ppID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRzZXRUaW1lb3V0KCgpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjayh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0ZGVsdGE6IDEsXHJcblx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0fSwgMjAwMCk7XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdHRpdGxlOiBcIuivt+WFiOi+k+WFpeaCqOeahOivhOS7t+WGheWuuSDvvIFcIixcclxuXHRcdFx0XHRcdFx0aWNvbjogXCJub25lXCIsXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOa3u+WKoOivhOS7t1xyXG5cdFx0XHRwaW5namkoaWQpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhpZCk7XHJcblx0XHRcdFx0dGhpcy5walR5cGUgPSBcIlwiO1xyXG5cdFx0XHRcdHRoaXMucHJvZHVjdElEID0gaWQ7XHJcblx0XHRcdFx0dGhpcy5waW5namlhU2hvdyA9IHRydWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdldFN0YXIoaSkge1xyXG5cdFx0XHRcdHRoaXMuUGZvcm0uc3RhciA9IGk7XHJcblx0XHRcdH0sXHJcblx0XHRcdElucHV0Qmx1cihlKSB7fSxcclxuXHRcdFx0SW5wdXRGb2N1cyhlKSB7XHJcblx0XHRcdFx0dGhpcy5pc1Nob3dFbWogPSBmYWxzZTtcclxuXHRcdFx0XHR0aGlzLmVtb2ppSWNvbiA9IFwiY3VJY29uLWVtb2ppXCI7XHJcblx0XHRcdFx0dGhpcy4kZW1pdChcImZvY1wiKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0dGV4dGFyZWFCSW5wdXQoZSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGUsIFwiZVwiKTtcclxuXHRcdFx0XHR0aGlzLlBmb3JtLmNvbW1lbnQgPSBlLmRldGFpbC52YWx1ZTtcclxuXHRcdFx0XHQvLy8gdGhpcy5QZm9ybS5odG1sID0gZS5kZXRhaWwudmFsdWVcclxuXHRcdFx0fSxcclxuXHRcdFx0c2hvd0VtaigpIHtcclxuXHRcdFx0XHRsZXQgYm9vbCA9ICF0aGlzLmlzU2hvd0VtajtcclxuXHRcdFx0XHRpZiAoYm9vbCkge1xyXG5cdFx0XHRcdFx0dGhpcy5lbW9qaUljb24gPSBcImN1SWNvbi1rZXlib2FyZFwiO1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmVtb2ppSWNvbiA9IFwiY3VJY29uLWVtb2ppXCI7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHR0aGlzLmlzU2hvd0VtaiA9IGJvb2w7XHJcblx0XHRcdFx0dGhpcy4kZW1pdChcInNob3dcIik7XHJcblx0XHRcdH0sXHJcblx0XHRcdGRlbGV0ZVBpYygpIHtcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0dGhhdC5QZm9ybS5pbWcuc3BsaWNlKDAsIDEpO1xyXG5cdFx0XHRcdC8vY29uc29sZS5sb2codGhhdC5QZm9ybS5pbWcpXHJcblx0XHRcdH0sXHJcblx0XHRcdGFmdGVyUmVhZChlKSB7XHJcblx0XHRcdFx0Ly9jb25zb2xlLmxvZyhlKVxyXG5cdFx0XHRcdGxldCB0aGF0ID0gdGhpcztcclxuXHRcdFx0XHRmb3IgKHZhciBpID0gMDsgaSA8IGUuZmlsZS5sZW5ndGg7IGkrKykge1xyXG5cdFx0XHRcdFx0Ly9jb25zb2xlLmxvZyhpLGUuZmlsZVtpXS51cmwpXHJcblx0XHRcdFx0XHR1bmkudXBsb2FkRmlsZSh7XHJcblx0XHRcdFx0XHRcdHVybDogdGhpcy4kYmFzZVVybCArIFwib3NzL2ZpbGVvc3NcIixcclxuXHRcdFx0XHRcdFx0ZmlsZVBhdGg6IGUuZmlsZVtpXS51cmwsXHJcblx0XHRcdFx0XHRcdC8vZmlsZXM6ZS5maWxlLFxyXG5cdFx0XHRcdFx0XHRuYW1lOiBcImZpbGVcIixcclxuXHRcdFx0XHRcdFx0Zm9ybURhdGE6IHt9LFxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5QZm9ybS5pbWcucHVzaCh7XHJcblx0XHRcdFx0XHRcdFx0XHR1cmw6IEpTT04ucGFyc2UocmVzLmRhdGEpLnVybCxcclxuXHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6I635b6X6L6T5YWl55qE6KGo5oOF5pWw57uEXHJcblx0XHRcdGhhbmRsZUVtaihpKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coaSwgXCJpLS0tLS0tLS0tXCIpO1xyXG5cdFx0XHRcdHRoaXMuaW5wdXRWYWx1ZSA9IGk7XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5pbnB1dFZhbHVlKTtcclxuXHRcdFx0XHRpZiAoaS5lbW90aW9uaSA9PSBcIltlbV85OF1cIikge1xyXG5cdFx0XHRcdFx0Ly/ljLnphY3mnIDlkI7kuIDkuKrooajmg4XnrKblj7flubbliKDpmaQxMeOAglxyXG5cdFx0XHRcdFx0dGhpcy5QZm9ybS5jb21tZW50ID0gdGhpcy5QZm9ybS5jb21tZW50LnJlcGxhY2UoXHJcblx0XHRcdFx0XHRcdC8oXFxbW15cXF1dK1xcXXxbXFxzXFxTXSkkLyxcclxuXHRcdFx0XHRcdFx0XCJcIlxyXG5cdFx0XHRcdFx0KTtcclxuXHRcdFx0XHRcdGlmICh0aGlzLmVtb2ppLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5lbW9qaSA9IHRoaXMuZW1vamkuc2xpY2UoMCwgLTEpO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmVtb2ppLnB1c2goe1xyXG5cdFx0XHRcdFx0XHR0YWc6IGkuZW1vdGlvbixcclxuXHRcdFx0XHRcdFx0bmFtZTogaS5lbW90aW9uaVxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHQvLyBjb25zb2xlLmxvZyh0aGlzLmVtb2ppLCd0aGlzLmVtb2ppJylcclxuXHRcdFx0XHRcdHRoaXMuUGZvcm0uY29tbWVudCArPSBpLmVtb3Rpb25pO1xyXG5cdFx0XHRcdFx0Ly8vIHRoaXMuUGZvcm0uaHRtbCArPSBpLmVtb3Rpb25cclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHR9LFxyXG5cdFx0Y29tcG9uZW50czoge1xyXG5cdFx0XHQvLyBtdXNpY1BsYXksXHJcblx0XHRcdGVtb3Rpb24sXHJcblx0XHR9LFxyXG5cdH07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG5cdEBpbXBvcnQgXCJAL3N0eWxlL21peGluLnNjc3NcIjtcclxuXHJcblx0Lm9yZGVyc1RhYnMge1xyXG5cdFx0Ly8gbWFyZ2luOiA3MHJweCAwIDAgMDtcclxuXHRcdHdpZHRoOiA3MzBycHg7XHJcblx0XHQvLyBwYWRkaW5nOiAwIDMlIDMlIDMlO1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdFx0Ly8gdG9wOiA4MHJweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmN2ZhZjk7XHJcblx0XHR6LWluZGV4OiAxMDA7XHJcblxyXG5cdFx0Lm9yZGVyc2RlZmluZSB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0cGFkZGluZzogMjBycHggMCAyMHJweCAwO1xyXG5cdFx0XHQvLyBtYXJnaW46IDQwcnB4IDAgMTVycHggMDtcclxuXHRcdFx0d2lkdGg6IDE0MHJweDtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRmb250LXNpemU6IDMwcnB4O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0XHQub3JkZXJzbnVtIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dG9wOiA4cnB4O1xyXG5cdFx0XHRcdHJpZ2h0OiAwcnB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuXHRcdFx0XHQvLyBib3JkZXI6MXJweCBzb2xpZCAjYTNhM2EzO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDQwcnB4O1xyXG5cdFx0XHRcdHdpZHRoOiAyOHJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDI4cnB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjBycHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0XHRjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lm9yZFN0eWxlIHtcclxuXHRcdFx0Ly8gYm9yZGVyLWJvdHRvbTogNHJweCBzb2xpZCAjNTRhOTY2O1xyXG5cdFx0XHQvLyBjb2xvcjogIzU0YTk2NjtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQub3JkZXJzdGF0dXNidG4ge1xyXG5cdFx0d2lkdGg6IDE2MHJweCAhaW1wb3J0YW50O1xyXG5cdFx0aGVpZ2h0OiA2MHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA1NXJweCAhaW1wb3J0YW50O1xyXG5cdFx0Y29sb3I6ICMxZDFkMWQ7XHJcblx0XHRib3JkZXI6IDFweCBzb2xpZCAjYTBhMGEwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMzBycHg7XHJcblx0XHQvLyBwYWRkaW5nOiAwIDEwcnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG5cdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHR9XHJcblxyXG5cdC5vcmRlcnN0YXR1c2J0bl9zdWNjZXNzIHtcclxuXHRcdGNvbG9yOiAjZjUzNDJiO1xyXG5cdFx0Ym9yZGVyLWNvbG9yOiAjZjUzNDJiO1xyXG5cdH1cclxuXHJcblx0LmZsZXhib3gge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHR9XHJcblxyXG5cdC5jb250YWluZXIge1xyXG5cdFx0cGFkZGluZzogMCAxMHB4O1xyXG5cdH1cclxuXHJcblx0LnN0YXIge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRoZWlnaHQ6IDIwcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcnB4O1xyXG5cdH1cclxuXHJcblx0LnN0YXJHcmF5IHtcclxuXHRcdGJhY2tncm91bmQ6IHVybCguLi8uLi9zdGF0aWMvaWNvbi9zdGFyX2dyZWV5LnBuZykgbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdH1cclxuXHJcblx0LnN0YXJMaWdodCB7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vc3RhdGljL2ljb24vc3Rhcl9saWdodC5wbmcpIG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHR9XHJcblxyXG5cdC5jdUljb24tZW1vamkge1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKC4uLy4uL3N0YXRpYy9iaWFvcWluZy5wbmcpIG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHJweDtcclxuXHRcdHdpZHRoOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0LmN1SWNvbi1rZXlib2FyZCB7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vc3RhdGljL2JpYW9xaW5nLnBuZykgbm8tcmVwZWF0O1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHR3aWR0aDogMzBweDtcclxuXHR9XHJcblxyXG5cdC50YW5jaHUge1xyXG5cdFx0cGFkZGluZzogNDBycHggMzBycHggNDBycHggMzBycHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0LmRwX3RpdGxlIHtcclxuXHRcdFx0Zm9udC1zaXplOiAzMnJweDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNTBycHg7XHJcblx0XHRcdGNvbG9yOiAjNTU1O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5kcF9hZGQge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogNDBycHg7XHJcblx0XHRcdHJpZ2h0OiAzMHJweDtcclxuXHRcdFx0Zm9udC1zaXplOiAyMnJweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZkNjAwNDtcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG5cdFx0XHRwYWRkaW5nOiA1cnB4IDEwcnB4O1xyXG5cclxuXHRcdFx0LnUtaWNvbiB7XHJcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogNXJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnF1ZXNoZW5nIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdG1hcmdpbi10b3A6IDEwMHJweDtcclxuXHRcdGNvbG9yOiAjOGI4YTkxO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDIwcnB4O1xyXG5cdFx0cGFkZGluZy10b3A6IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0LmdlbmdkdW9zaHVwaW5nIHtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0Y29sb3I6ICMwMDQ0ZmY7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMjBycHg7XHJcblx0XHRwYWRkaW5nLXRvcDogMjBycHg7XHJcblx0fVxyXG5cclxuXHQub3JkZXJJbmZvIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdC8vIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0cGFkZGluZzogMjBycHggMjBycHg7XHJcblx0XHRib3JkZXI6IDFweCBzcGxpZCAjOTk5O1xyXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdC8vIHBhZGRpbmctYm90dG9tOiAyMHJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBycHg7XHJcblxyXG5cdFx0LmJvb2tpbmZvbGlzdCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHJweDtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0Ly8gaGVpZ2h0OiAxODBycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmJvb2tpbmZvbGlzdDpudGgtbGFzdC1jaGlsZCgxKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuXHRcdH1cclxuXHJcblx0XHQub3BlcmF0aW9uX2JveCB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0Ym90dG9tOiAyMHJweDtcclxuXHRcdFx0bGVmdDogNDBycHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQubWFpbkNvbnRlbnQge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHJcblx0XHQuaXRlbSB7XHJcblx0XHRcdC8vIHBhZGRpbmc6IDEwcHg7XHJcblx0XHRcdC8vIG1hcmdpbi1ib3R0b206IDMwcnB4O1xyXG5cdFx0XHQvLyBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xyXG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0XHQvLyBwYWRkaW5nLWJvdHRvbTogMjBycHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAyMHJweDtcclxuXHRcdH1cclxuXHJcblx0XHQuZmVuZyB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XHJcblx0XHRcdG1hcmdpbjogMHJweCAyMnJweCAwIDA7XHJcblx0XHRcdGhlaWdodDogMTQwcnB4O1xyXG5cdFx0XHR3aWR0aDogMTQwcnB4O1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTRycHg7XHJcblx0XHRcdC8vIGJvcmRlcjogMXJweCBzb2xpZCAjZTllOWU5O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5wb2ludF9ib3gge1xyXG5cdFx0XHQuYm9va25hbWVsZWZ0IHtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogNzBycHggIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5mZW5nUG9pbnQge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMHJweDtcclxuXHRcdFx0d2lkdGg6IDEwMHJweDtcclxuXHRcdH1cclxuXHJcblx0XHQuaXRlbV90b3Age1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjVycHg7XHJcblxyXG5cdFx0XHQuc291cmNlX2FwcCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogMjZycHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQub3JkZXJzdGF0dXMge1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMjRycHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XHJcblx0XHRcdGNvbG9yOiAjZTU1ZjE4O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdFx0bGV0dGVyLXNwYWNpbmc6IDJycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0L2RlZXAvLmRlc2NyaXB0aW9uIHtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0Y29sb3I6ICM2NjY7XHJcblx0XHRcdHRleHQtb3ZlcmZsb3c6IC1vLWVsbGlwc2lzLWxhc3RsaW5lO1xyXG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuXHRcdFx0ZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcblx0XHRcdC13ZWJraXQtbGluZS1jbGFtcDogNTtcclxuXHRcdFx0bGluZS1jbGFtcDogNTtcclxuXHRcdFx0LXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcclxuXHRcdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBycHg7XHJcblx0XHRcdG1hcmdpbi10b3A6IDEwcnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE3MnJweDtcclxuXHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5idG5zIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHRcdFx0LmJvb2tuYW1lbGVmdCB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAzMnJweDtcclxuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gMjAwcnB4KTtcclxuXHRcdFx0XHRjb2xvcjogIzA3MDcwNztcclxuXHRcdFx0XHRsZXR0ZXItc3BhY2luZzogMC41cnB4O1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5sZWZ0IHtcclxuXHRcdFx0XHR3aWR0aDogMzAwcnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjYTFhMWExO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucmlnaHQge1xyXG5cdFx0XHRcdHdpZHRoOiAzNTBycHg7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5wcmljZSB7XHJcblx0XHRcdFx0d2lkdGg6IDEyMHJweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Lmd6aWNvbiB7XHJcblx0XHRcdFx0bWFyZ2luOiAwIDAgMCAyMHJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDQwcnB4O1xyXG5cdFx0XHRcdHdpZHRoOiA0MHJweDtcclxuXHRcdFx0XHQvLyBmbG9hdDpsZWZ0O1xyXG5cdFx0XHRcdC8vIGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdFx0XHRcdC8vIGJvcmRlcjoxcnB4IHNvbGlkICNlOWU5ZTk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5vcGJ0bnMge1xyXG5cdFx0XHRcdC5waW5namlhIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm1iMzAge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzBycHg7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0Lm15dGFicyB7XHJcblx0XHQvLyBiYWNrZ3JvdW5kOiB1cmwoJ0Avc3RhdGljL2ljb24vYmd0dXNodS5wbmcnKSBuby1yZXBlYXQgbGVmdCB0b3A7XHJcblx0XHRoZWlnaHQ6IDgwcnB4O1xyXG5cdFx0Ly8gbWFyZ2luLWJvdHRvbTogMzBycHg7XHJcblxyXG5cdFx0Lml0ZW0ge1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHJweDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2M2ZWFkMDtcclxuXHRcdFx0d2lkdGg6IDQ4JTtcclxuXHRcdFx0Ly8gbWFyZ2luOiAwIDEwcnB4O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdGNvbG9yOiAjM2M3ZjU2O1xyXG5cdFx0XHRmb250LXNpemU6IDM2cnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogODBycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lml0ZW0uYWN0aXZlIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzNjN2Y1NjtcclxuXHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHR9XHJcblxyXG5cdFx0Lml0ZW0yIHtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHJweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC9kZWVwLy51LXRhYnNfX3dyYXBwZXJfX25hdl9faXRlbV9fdGV4dCB7XHJcblx0XHQvLyBmb250LXNpemU6IDMycnB4ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQuY2F0ZUxpc3Qge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHQvZGVlcC8udS10YWJzX193cmFwcGVyX19uYXZfX2l0ZW0ge1xyXG5cdFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0LmNvbW1vbkRldGFpbFBhZ2Uge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHRoZW1lQmdDb2xvcjtcclxuXHRcdGhlaWdodDogY2FsYygxMDB2aCk7XHJcblx0fVxyXG5cclxuXHQub3JkZXJfYm94IHtcclxuXHRcdHBhZGRpbmc6IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0L2RlZXAvLm9yZGVyX2JveCAubGlzdF9pdGVtIHtcclxuXHRcdC8vIGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblx0XHRib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5wcm9kdWN0X3F1YW50aXR5IHtcclxuXHRcdHdpZHRoOiBhdXRvO1xyXG5cdFx0Y29sb3I6ICM5YjliOWI7XHJcblx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdH1cclxuXHRcclxuXHQudmlwX3llYXJ7XHJcblx0ICBwYWRkaW5nLWxlZnQ6IDIwcnB4O1xyXG5cdCAgY29sb3I6ICNmNTM0MmI7XHJcblx0ICBmb250LXNpemU6IDMwcnB4O1xyXG5cdCB9XHJcblxyXG5cdC9kZWVwLy5jb21tb25EZXRhaWxQYWdlIHtcclxuXHRcdC51bmktYXBwLS1zaG93dGFiYmFyIHVuaS1wYWdlLXdyYXBwZXI6OmFmdGVyIHtcclxuXHRcdFx0aGVpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///512\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 */ 47));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 49));\nvar _requestConfig = _interopRequireDefault(__webpack_require__(/*! @/config/requestConfig.js */ 95));\nvar _bkhumorEmojiplus = _interopRequireDefault(__webpack_require__(/*! @/bkhumor-emojiplus/components/bkhumor-emojiplus/bkhumor-emojiplus.vue */ 513));\nvar _utils = __webpack_require__(/*! @/config/utils */ 235);\nvar _vuex = __webpack_require__(/*! vuex */ 63);\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 isShowMore: false,\n come: \"2\",\n isShowTab: false,\n isLoadingHide: false,\n moreList: [{\n name: \"取消订单\",\n key: \"false\"\n }],\n currentCateIndex: 0,\n pagination: {\n // 请求参数\n page: 1,\n //页码\n limit: 20,\n //每页显示\n total: 0 //总条数\n },\n\n // loadingNow : false,\n playData: {},\n options: {},\n emojiIcon: \"cuIcon-emoji\",\n windowWidth: 0,\n bookid: null,\n booklistpage: 1,\n productList: [],\n productInfo: {},\n emoji: [],\n Files: [],\n page: 1,\n pageSize: 10,\n total: 0,\n status: 3,\n shupingList: [],\n bfaid: null,\n ordersTabs: [{\n name: \"全部\",\n value: -1,\n badge: {}\n }, {\n name: \"待付款\",\n value: 0,\n badge: {}\n }, {\n name: \"待发货\",\n value: 1,\n badge: {}\n }, {\n name: \"待收货\",\n value: 2,\n badge: {}\n }, {\n name: \"已完成\",\n value: 3,\n badge: {}\n }],\n selectOrderInfo: {},\n ordersListTab: 1,\n newestpage: 1,\n // hotestpage: 1,\n // booksetpage: 1,\n newList: [],\n // hotList:[],\n // bookList:[],\n map: {},\n userRecordid: null,\n // 用户的评价状态\n pingjiaShow: false,\n //添加评价\n Pform: {\n // 评价表单\n star: 0,\n comment: \"\",\n img: [],\n html: \"\"\n },\n isShowEmj: false,\n pjType: \"\"\n };\n },\n onPullDownRefresh: function onPullDownRefresh() {\n uni.stopPullDownRefresh();\n this.newestpage = 1;\n this.newList = [];\n this.getBookList(this.ordersListTab, false);\n },\n onReachBottom: function onReachBottom() {\n this.newestpage++;\n this.getBookList(this.ordersListTab, false);\n },\n onLoad: function onLoad(e) {\n this.windowWidth = uni.getSystemInfoSync().windowWidth;\n this.options = e;\n // 隐藏原生的tabbar\n uni.hideTabBar();\n },\n onShow: function onShow() {\n var _this = 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 _this.newList = [];\n _this.pagination = {\n page: 1,\n //页码\n limit: 20,\n //每页显示\n total: 0 //总条数\n };\n\n _this.$nextTick( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return _this.ordersTabCLi(_this.ordersTabs[0], 0);\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n onTabItemTap: function onTabItemTap() {\n var _this2 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _this2.newList = [];\n _this2.pagination = {\n page: 1,\n //页码\n limit: 20,\n //每页显示\n total: 0 //总条数\n };\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n onReady: function onReady() {},\n computed: _objectSpread({}, (0, _vuex.mapState)([\"userInfo\"])),\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapMutations)([\"setLoadingShow\"])), {}, {\n getImageUrl: function getImageUrl(url) {\n // 通过在URL后面添加时间戳来避免缓存\n return \"\".concat(url, \"?timestamp=\").concat(Date.now());\n },\n selectClick: function selectClick(index) {\n __f__(\"log\", \"index at line 609:\", index, \" at pages/bookShop/orderList.vue:530\");\n if (index.key == \"false\") {\n this.isShowMore = false;\n this.canceOrder(this.selectOrderInfo);\n }\n },\n openMore: function openMore(row, index) {\n this.selectOrderInfo = row;\n this.isShowMore = true;\n },\n handleCopy: function handleCopy(value, title) {\n this.$commonJS.handleCopy(value, title);\n },\n onReachBottom1: function onReachBottom1() {\n // 上拉加载\n // 当列表数量不大于或等于总数量,则再次调用接口请求数据\n if (this.newList.length >= this.pagination.total) return;\n this.pagination.page++;\n this.getBookList(this.ordersListTab, false);\n },\n goHome: function goHome() {\n if (this.options.type == \"order\") {\n uni.switchTab({\n url: \"/pages/homePage/index/index\"\n });\n } else {\n uni.navigateBack({\n delta: 1\n });\n }\n },\n // 切换tab状态\n ordersTabCLi: function ordersTabCLi(data, index) {\n this.currentCateIndex = index;\n this.pagination = {\n page: 1,\n //页码\n limit: 20,\n //每页显示\n total: 0 //总条数\n };\n\n __f__(\"log\", \"data at line 454:\", data, \" at pages/bookShop/orderList.vue:569\");\n this.ordersListTab = data.value;\n this.newestpage = 1;\n // this.hotestpage = 1\n // this.booksetpage = 1\n this.newList = [];\n // this.hotList = []\n // this.bookList = []\n this.getBookList(this.ordersListTab, false);\n },\n // 查看本书更多书评\n toMore: function toMore(val) {\n __f__(\"log\", val, \"val\", \" at pages/bookShop/orderList.vue:581\");\n uni.navigateTo({\n url: \"../comments/comments?bookid=\" + val.id\n });\n },\n // 订单详情\n toDetail: function toDetail(val) {\n __f__(\"log\", val, \"val\", \" at pages/bookShop/orderList.vue:588\");\n // uni.navigateTo({\n // \turl:'../bookShop/commentsDetail?bookid='+val.bookid+'&bfa_id='+val.id\n // })\n uni.navigateTo({\n url: \"/pages/bookShop/orderLCont?orderId=\" + val.orderId + \"&orderType=\" + val.orderStatus + \"&orderSn=\" + val.orderSn\n });\n },\n getBookList: function getBookList(flag, refreshflag) {\n var _this3 = this;\n this.isLoadingHide = false;\n var that = this;\n // 根据tab不同,获取最新书评、最热书评、书集列表\n // uni.showLoading({\n // \ttitle: '加载中'\n // });\n\n // 顶部红点数量\n _requestConfig.default.request({\n url: \"common/buyOrder/getBuyOrderNumByStatus\",\n method: \"POST\",\n data: {\n userId: that.userInfo.id,\n come: this.come\n },\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n // 订单状态\n // * 0: 待付款\n // * 1: 待发货\n // * 2: 已发货\n // * 3:已完成\n // * 4: 交易失败\n // * 5: 已过期\n\n __f__(\"log\", \"res at line 757:\", res, \" at pages/bookShop/orderList.vue:632\");\n that.map = res.data;\n that.ordersTabs.map(function (e) {\n if (e.value == 0 || e.value == 1 || e.value == 2) {\n var numList = that.map.filter(function (v) {\n return v.order_status == e.value;\n });\n __f__(\"log\", \"num at line 771:\", numList, \" at pages/bookShop/orderList.vue:638\");\n if (numList.length > 0) {\n e.badge = {\n value: numList[0].num\n };\n } else {\n e.badge = {};\n }\n } else {\n e.badge = {};\n }\n });\n // this.$set('this.ordersTabs',)\n that.$forceUpdate();\n }).catch(function (e) {\n __f__(\"log\", e, \" at pages/bookShop/orderList.vue:654\");\n });\n var params = _objectSpread({\n userId: this.userInfo.id,\n come: this.come,\n orderStatus: flag == -1 ? \"\" : flag\n }, this.pagination);\n this.$http.request({\n url: \"common/buyOrder/commonBuyOrderList\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: params,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n __f__(\"log\", \"订单列表内容获取成功\", res, \" at pages/bookShop/orderList.vue:676\");\n that.pagination.total = res.data.total;\n if (res.data.total == 0) {\n _this3.isLoadingHide = true;\n }\n if (res.code == 0 && res.data && res.data.records.length > 0) {\n that.newList = that.newList.concat(res.data.records);\n } else {\n //\n }\n if (res.data.records.length != 10) {\n that.status = 1;\n } else {\n that.status = 0;\n }\n }).catch(function (e) {\n __f__(\"log\", e, \" at pages/bookShop/orderList.vue:693\");\n });\n },\n // 支付\n goPay: function goPay(payItem) {\n var _this4 = this;\n __f__(\"log\", payItem, \"订单数据\", \" at pages/bookShop/orderList.vue:698\");\n if (payItem.paymentMethod == 2) {\n __f__(\"log\", \"阿里支付\", \" at pages/bookShop/orderList.vue:700\");\n (0, _utils.setPay)({\n typePay: \"alipay\",\n subject: \"order\",\n totalAmount: payItem.realMoney,\n type: 2,\n relevanceoid: payItem.orderSn,\n customerId: this.userInfo.id\n }, function (res) {\n if (res.success) {\n uni.showToast({\n title: \"支付成功\"\n });\n } else {\n uni.showToast({\n title: \"支付失败\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n }\n _this4.getOrderList();\n });\n } else if (payItem.paymentMethod == 1) {\n __f__(\"log\", \"微信支付\", \" at pages/bookShop/orderList.vue:725\");\n var data1 = {\n orderSn: payItem.orderSn,\n buyOrderId: null,\n totalAmount: payItem.realMoney\n };\n __f__(\"log\", data1, \"data1\", \" at pages/bookShop/orderList.vue:732\");\n (0, _utils.setWXPay)(data1, function (res) {\n if (res.success) {\n uni.showToast({\n title: \"支付成功\"\n });\n } else {\n __f__(\"log\", res, \" at pages/bookShop/orderList.vue:739\");\n if (res.data.errMsg.indexOf(\"User canceled\") != -1) {\n uni.showToast({\n title: \"用户取消支付\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n } else {\n uni.showToast({\n title: \"支付失败\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n }\n }\n });\n } else if (payItem.paymentMethod == 3 && this.ordersListTab == 0) {\n // 苹果充值\n __f__(\"log\", \"苹果二次支付\", \" at pages/bookShop/orderList.vue:757\");\n uni.showModal({\n content: 'apple内购订单不支持继续支付,请重新发起支付申请并完成支付',\n confirmText: '好的',\n showCancel: false\n });\n } else if (payItem.paymentMethod == 4) {\n __f__(\"log\", '天医币二次支付', \" at pages/bookShop/orderList.vue:764\");\n }\n },\n // 取消订单\n canceOrder: function canceOrder(item) {\n var _this5 = this;\n __f__(\"log\", 'item.orderSn', item, \" at pages/bookShop/orderList.vue:769\");\n uni.showModal({\n title: \"提示\",\n content: \"确定要取消订单吗?\",\n confirmText: \"取消订单\",\n cancelText: \"考虑一下\",\n confirmColor: \"#c96713\",\n cancelColor: \"#555\",\n success: function success(res) {\n if (res.confirm) {\n _this5.$http.post(\"book/buyOrder/appDelete?orderId=\" + item.orderId).then(function (res) {\n if (res.code == 0) {\n uni.showToast({\n icon: \"none\",\n title: \"取消订单成功\"\n });\n // uni.switchTab({\n // \turl: './orderList'\n // });\n\n _this5.newestpage = 1;\n _this5.newList = [];\n _this5.getBookList(_this5.ordersListTab, false);\n }\n });\n }\n }\n });\n },\n // canceOrder(item) {\n // \tuni.showModal({\n // \t\ttitle: '提示',\n // \t\tcontent: '确定要取消订单吗?',\n // \t\tconfirmText: \"取消订单\",\n // \t\tcancelText: \"考虑一下\",\n // \t\tconfirmColor: '#c96713',\n // \t\tcancelColor: '#555',\n // \t\tsuccess: res => {\n // \t\t\tif (res.confirm) {\n // \t\t\t\tuni.showLoading()\n // \t\t\t\t$http.request({\n // \t\t\t\t\turl: \"book/buyOrder/cancelOrder\",\n // \t\t\t\t\tmethod: \"GET\", // POST、GET、PUT、DELETE,具体说明查看官方文档\n // \t\t\t\t\tdata,\n // \t\t\t\t\theader: { //默认 无 说明:请求头\n // \t\t\t\t\t\t'Content-Type': 'application/json'\n // \t\t\t\t\t},\n // \t\t\t\t}).then(res => {\n // \t\t\t\t\tif (res.code == 0) {\n // \t\t\t\t\t\tuni.hideLoading()\n // \t\t\t\t\t\tuni.showToast({\n // \t\t\t\t\t\t\ttitle: '订单已取消',\n // \t\t\t\t\t\t\ticon: 'success',\n // \t\t\t\t\t\t\tduration: 1000\n // \t\t\t\t\t\t})\n // \t\t\t\t\t\tthis.getBookList(this.ordersListTab, false)\n // \t\t\t\t\t}\n // \t\t\t\t})\n // \t\t\t} else if (res.cancel) {}\n // \t\t}\n // \t});\n // },\n // 查看物流\n seeExpressDetail: function seeExpressDetail(item) {\n // console.log(item, this.sheetList.length)\n // if(this.sheetList.length > 1){\n // \tthis.sheetListShow = true\n // }else if(this.sheetList.length == 1){\n // 直接展示详情\n uni.navigateTo({\n url: \"./deliverDetail?orderSn=\" + item.orderSn + \"&expressOrderSn=\" + item.expressList[0].expressOrderSn\n });\n // }\n },\n // 确认收货\n OverOrder: function OverOrder(item) {\n var _this6 = this;\n uni.showModal({\n title: \"提示\",\n content: \"确认收货?\",\n success: function success(res) {\n var data = {\n orderId: item.orderId,\n orderStatus: \"3\"\n };\n if (res.confirm) {\n uni.showLoading();\n _requestConfig.default.request({\n url: \"book/buyOrder/update\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: data,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n uni.hideLoading();\n uni.showToast({\n title: \"收货成功\",\n icon: \"success\",\n duration: 1000\n });\n _this6.newestpage = 1;\n _this6.newList = [];\n _this6.getBookList(_this6.ordersListTab, false);\n }\n });\n } else if (res.cancel) {}\n }\n });\n },\n closePingjia: function closePingjia() {\n this.pingjiaShow = false;\n this.Pform.comment = \"\";\n this.Pform.html = \"\";\n this.emoji = [];\n },\n // 提交评价\n submitPJ: function submitPJ() {\n var _this7 = this;\n if (this.Pform.comment != \"\") {\n var data = {\n userid: this.userInfo.id,\n orderSn: this.orderSn,\n bookid: this.productID,\n // 'content': this.Pform.html,\n content: this.Pform.comment,\n starLevel: this.Pform.star,\n images: this.Pform.img\n // 'emoji':this.emoji // 表情数组\n };\n // console.log(data,'data')\n _requestConfig.default.request({\n url: \"buy/record/UserRecordcomment\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: data,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n uni.showToast({\n title: \"评价成功!\",\n icon: \"success\"\n });\n _this7.pingjiaShow = false;\n _this7.Pform.comment = \"\";\n _this7.Pform.html = \"\";\n _this7.emoji = [];\n setTimeout(function () {\n uni.navigateBack({\n delta: 1\n });\n }, 2000);\n }\n });\n } else {\n uni.showToast({\n title: \"请先输入您的评价内容 !\",\n icon: \"none\"\n });\n }\n },\n // 添加评价\n pingji: function pingji(id) {\n __f__(\"log\", id, \" at pages/bookShop/orderList.vue:946\");\n this.pjType = \"\";\n this.productID = id;\n this.pingjiaShow = true;\n },\n getStar: function getStar(i) {\n this.Pform.star = i;\n },\n InputBlur: function InputBlur(e) {},\n InputFocus: function InputFocus(e) {\n this.isShowEmj = false;\n this.emojiIcon = \"cuIcon-emoji\";\n this.$emit(\"foc\");\n },\n textareaBInput: function textareaBInput(e) {\n __f__(\"log\", e, \"e\", \" at pages/bookShop/orderList.vue:961\");\n this.Pform.comment = e.detail.value;\n /// this.Pform.html = e.detail.value\n },\n showEmj: function showEmj() {\n var bool = !this.isShowEmj;\n if (bool) {\n this.emojiIcon = \"cuIcon-keyboard\";\n } else {\n this.emojiIcon = \"cuIcon-emoji\";\n }\n this.isShowEmj = bool;\n this.$emit(\"show\");\n },\n deletePic: function deletePic() {\n var that = this;\n that.Pform.img.splice(0, 1);\n //console.log(that.Pform.img)\n },\n afterRead: function afterRead(e) {\n //console.log(e)\n var that = this;\n for (var i = 0; i < e.file.length; i++) {\n //console.log(i,e.file[i].url)\n uni.uploadFile({\n url: this.$baseUrl + \"oss/fileoss\",\n filePath: e.file[i].url,\n //files:e.file,\n name: \"file\",\n formData: {},\n success: function success(res) {\n that.Pform.img.push({\n url: JSON.parse(res.data).url\n });\n }\n });\n }\n },\n // 获得输入的表情数组\n handleEmj: function handleEmj(i) {\n __f__(\"log\", i, \"i---------\", \" at pages/bookShop/orderList.vue:1002\");\n this.inputValue = i;\n // console.log(this.inputValue);\n if (i.emotioni == \"[em_98]\") {\n //匹配最后一个表情符号并删除11。\n this.Pform.comment = this.Pform.comment.replace(/(\\[[^\\]]+\\]|[\\s\\S])$/, \"\");\n if (this.emoji.length > 0) {\n this.emoji = this.emoji.slice(0, -1);\n }\n } else {\n this.emoji.push({\n tag: i.emotion,\n name: i.emotioni\n });\n // console.log(this.emoji,'this.emoji')\n this.Pform.comment += i.emotioni;\n /// this.Pform.html += i.emotion\n }\n }\n }),\n\n components: {\n // musicPlay,\n emotion: _bkhumorEmojiplus.default\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 62)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYm9va1Nob3Avb3JkZXJMaXN0LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwiaXNTaG93TW9yZSIsImNvbWUiLCJpc1Nob3dUYWIiLCJpc0xvYWRpbmdIaWRlIiwibW9yZUxpc3QiLCJuYW1lIiwia2V5IiwiY3VycmVudENhdGVJbmRleCIsInBhZ2luYXRpb24iLCJwYWdlIiwibGltaXQiLCJ0b3RhbCIsInBsYXlEYXRhIiwib3B0aW9ucyIsImVtb2ppSWNvbiIsIndpbmRvd1dpZHRoIiwiYm9va2lkIiwiYm9va2xpc3RwYWdlIiwicHJvZHVjdExpc3QiLCJwcm9kdWN0SW5mbyIsImVtb2ppIiwiRmlsZXMiLCJwYWdlU2l6ZSIsInN0YXR1cyIsInNodXBpbmdMaXN0IiwiYmZhaWQiLCJvcmRlcnNUYWJzIiwidmFsdWUiLCJiYWRnZSIsInNlbGVjdE9yZGVySW5mbyIsIm9yZGVyc0xpc3RUYWIiLCJuZXdlc3RwYWdlIiwibmV3TGlzdCIsIm1hcCIsInVzZXJSZWNvcmRpZCIsInBpbmdqaWFTaG93IiwiUGZvcm0iLCJzdGFyIiwiY29tbWVudCIsImltZyIsImh0bWwiLCJpc1Nob3dFbWoiLCJwalR5cGUiLCJvblB1bGxEb3duUmVmcmVzaCIsInVuaSIsIm9uUmVhY2hCb3R0b20iLCJvbkxvYWQiLCJvblNob3ciLCJvblRhYkl0ZW1UYXAiLCJvblJlYWR5IiwiY29tcHV0ZWQiLCJtZXRob2RzIiwiZ2V0SW1hZ2VVcmwiLCJzZWxlY3RDbGljayIsIm9wZW5Nb3JlIiwiaGFuZGxlQ29weSIsIm9uUmVhY2hCb3R0b20xIiwiZ29Ib21lIiwidXJsIiwiZGVsdGEiLCJvcmRlcnNUYWJDTGkiLCJ0b01vcmUiLCJ0b0RldGFpbCIsInZhbCIsImdldEJvb2tMaXN0IiwiJGh0dHAiLCJyZXF1ZXN0IiwibWV0aG9kIiwidXNlcklkIiwiaGVhZGVyIiwidGhlbiIsInRoYXQiLCJlIiwiY2F0Y2giLCJvcmRlclN0YXR1cyIsImdvUGF5IiwidHlwZVBheSIsInN1YmplY3QiLCJ0b3RhbEFtb3VudCIsInR5cGUiLCJyZWxldmFuY2VvaWQiLCJjdXN0b21lcklkIiwidGl0bGUiLCJpY29uIiwiaW1hZ2UiLCJvcmRlclNuIiwiYnV5T3JkZXJJZCIsImNvbnRlbnQiLCJjb25maXJtVGV4dCIsInNob3dDYW5jZWwiLCJjYW5jZU9yZGVyIiwiY2FuY2VsVGV4dCIsImNvbmZpcm1Db2xvciIsImNhbmNlbENvbG9yIiwic3VjY2VzcyIsInBvc3QiLCJzZWVFeHByZXNzRGV0YWlsIiwiaXRlbSIsIk92ZXJPcmRlciIsIm9yZGVySWQiLCJkdXJhdGlvbiIsImNsb3NlUGluZ2ppYSIsInN1Ym1pdFBKIiwidXNlcmlkIiwic3RhckxldmVsIiwiaW1hZ2VzIiwic2V0VGltZW91dCIsInBpbmdqaSIsImdldFN0YXIiLCJJbnB1dEJsdXIiLCJJbnB1dEZvY3VzIiwidGV4dGFyZWFCSW5wdXQiLCJzaG93RW1qIiwiZGVsZXRlUGljIiwiYWZ0ZXJSZWFkIiwiZmlsZVBhdGgiLCJmb3JtRGF0YSIsImhhbmRsZUVtaiIsInRhZyIsImNvbXBvbmVudHMiLCJlbW90aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBa1lBO0FBQ0E7QUFFQTtBQU1BO0FBR0E7QUFBQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0FDO01BQ0FDO1FBQ0E7UUFDQUM7UUFBQTtRQUNBQztRQUFBO1FBQ0FDO01BQ0E7O01BQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQVo7TUFDQWE7TUFDQVg7TUFDQVk7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQXJCO1FBQ0FzQjtRQUNBQztNQUNBLEdBQ0E7UUFDQXZCO1FBQ0FzQjtRQUNBQztNQUNBLEdBQ0E7UUFDQXZCO1FBQ0FzQjtRQUNBQztNQUNBLEdBQ0E7UUFDQXZCO1FBQ0FzQjtRQUNBQztNQUNBLEdB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QTtJQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQUM7VUFDQWxCO1VBQ0FyRTtVQUNBO1VBQ0F1RTtVQUNBaUI7VUFDQUM7VUFDQTtRQUNBO1FBQ0E7UUFDQXhDLHVCQUNBQztVQUNBUjtVQUNBUztVQUFBO1VBQ0FwRTtVQUNBc0U7WUFDQTtZQUNBO1VBQ0E7UUFDQSxHQUNBQztVQUNBO1lBQ0ExQjtjQUNBc0M7Y0FDQUM7WUFDQTtZQUVBO1lBQ0E7WUFDQTtZQUNBO1lBQ0F1QjtjQUNBOUQ7Z0JBQ0FlO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBZjtVQUNBc0M7VUFDQUM7UUFDQTtNQUNBO0lBQ0E7SUFDQTtJQUNBd0I7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztJQUNBQztNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7TUFFQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBMUM7TUFDQTtJQUNBO0lBQ0EyQztNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0F0RTtVQUNBYztVQUNBeUQ7VUFDQTtVQUNBOUc7VUFDQStHO1VBQ0F0QjtZQUNBdkI7Y0FDQWI7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0E7SUFDQTJEO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFDQTtRQUNBLGdEQUNBLHdCQUNBLEdBQ0E7UUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO1VBQ0FDO1VBQ0FqSDtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtFQUFBLEVBQ0E7O0VBQ0FrSDtJQUNBO0lBQ0FDO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjUxMi5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuXHQ8dmlldyBjbGFzcz1cImNvbnRhaW5lciBjb21tb25QYWdlQm94IGNvbW1vbkRldGFpbFBhZ2VcIiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNmNmY3ZmJcIj5cclxuXHRcdDwhLS0g5YWs5YWx57uE5Lu2Leavj+S4qumhtemdouW/hemhu+W8leWFpSAtLT5cclxuXHRcdDxwdWJsaWMtbW9kdWxlPjwvcHVibGljLW1vZHVsZT5cclxuXHRcdDx6LW5hdi1iYXIgdGl0bGU9XCLmiJHnmoTorqLljZVcIiBiZ0NvbG9yPVwiIzI1OGZlYlwiIGZvbnRDb2xvcj1cIiNmZmZcIiA6YmFja1N0YXRlPVwiMjAwMFwiPlxyXG5cdFx0PC96LW5hdi1iYXI+XHJcblx0XHQ8dmlldyBjbGFzcz1cImNhdGVMaXN0IGZsZXhib3hcIj5cclxuXHRcdFx0PGNvbW1vbi1zdGlja3kgaXRlbVN0eWxlPVwid2lkdGg6MjAlOyBoZWlnaHQ6IDY4cnB4O2ZvbnQtc2l6ZToyNHJweDtcIiA6bGlzdD1cIm9yZGVyc1RhYnNcIiBsYWJlbD1cIm5hbWVcIlxyXG5cdFx0XHRcdDpjdXJyZW50Q2F0ZUluZGV4PVwiY3VycmVudENhdGVJbmRleFwiIEBoYW5kbGVzZWxlY3RDYXRlPVwib3JkZXJzVGFiQ0xpXCI+PC9jb21tb24tc3RpY2t5PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDwhLS0g56uZ5L2NIC0tPlxyXG5cclxuXHRcdDwhLS0gPHZpZXcgdi1pZj1cIm9yZGVyc0xpc3RUYWIgPT0gMVwiPiAtLT5cclxuXHRcdDx2aWV3IGNsYXNzPVwib3JkZXJfYm94XCIgOnN0eWxlPVwiYGhlaWdodDogY2FsYygxMDAlIC0gJHsoODAgKyBzdGF0dXNCYXJIZWlnaHQpICogMn1ycHgpO2BcIlxyXG5cdFx0XHRzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNmMmYyZjJcIj5cclxuXHRcdFx0PGNvbW1vbi1saXN0IGltZ1VybD1cInVybFwiIGluZGV4S2V5PVwib3JkZXJTblwiIG5vRGF0YUljb249XCJkYXRhXCIgOmlzU2Nyb2xsPVwidHJ1ZVwiXHJcblx0XHRcdFx0OmlzTG9hZGluZ0hpZGU9XCJpc0xvYWRpbmdIaWRlXCIgOmlzTm9JY29uPVwidHJ1ZVwiIDppc0NvbmRpdGlvbj1cInRydWVcIiA6ZGF0YUxpc3Q9XCJuZXdMaXN0XCJcclxuXHRcdFx0XHRAaGFuY2xlQ2xpY2s9XCJ0b0RldGFpbFwiIEBsb3dlcj1cIm9uUmVhY2hCb3R0b20xXCIgOnBhZ2luYXRpb249XCJwYWdpbmF0aW9uXCIgbGFiZWw9XCJ0aXRsZVwiPlxyXG5cdFx0XHRcdDx2aWV3IHNsb3Q9XCJsYWJlbFNsb3RcIiBzbG90LXNjb3BlPVwic2xvdFByb3BzXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVySW5mbyBjb2xvcl9zaGFuZG93XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibWFpbkNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0bnNcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDBycHhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmxleGJveCBvcGJ0bnNcIiBzdHlsZT1cImxldHRlci1zcGFjaW5nOiAxcnB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM5YjliOWI7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICBcIj57eyBzbG90UHJvcHMucm93Lm9yZGVyU24gfX1cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHUtdGFnIEBjbGljaz1cImhhbmRsZUNvcHkoc2xvdFByb3BzLnJvdy5vcmRlclNuLCAn6K6i5Y2V57yW5Y+3JylcIiBib3JkZXJDb2xvcj1cIiMyNThmZWJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Y29sb3I9XCIjMjU4ZmViXCIgdGV4dD1cIuWkjeWItlwiIHBsYWluIHN0eWxlPVwiZmxvYXQ6IHJpZ2h0XCIgc2l6ZT1cIm1pbmlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0dHlwZT1cInN1Y2Nlc3NcIj48L3UtdGFnPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW1cIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbV90b3BcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcnB4OyBtYXJnaW4tYm90dG9tOiAwXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic291cmNlX2FwcFwiPjwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJ0ZXh0LWFsaWduOiBsZWZ0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlcnN0YXR1c1wiIHYtc2hvdz1cInNsb3RQcm9wcy5yb3cub3JkZXJTdGF0dXMgPT0gMFwiPuacquS7mOasvjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyc3RhdHVzXCIgdi1zaG93PVwic2xvdFByb3BzLnJvdy5vcmRlclN0YXR1cyA9PSAxXCI+5b6F5Y+R6LSnPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXJzdGF0dXNcIiB2LXNob3c9XCJzbG90UHJvcHMucm93Lm9yZGVyU3RhdHVzID09IDJcIj7lt7Llj5HotKc8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlcnN0YXR1c1wiIHYtc2hvdz1cInNsb3RQcm9wcy5yb3cub3JkZXJTdGF0dXMgPT0gM1wiPuS6pOaYk+aIkOWKnzwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyc3RhdHVzXCIgdi1zaG93PVwic2xvdFByb3BzLnJvdy5vcmRlclN0YXR1cyA9PSA0XCI+5Lqk5piT5aSx6LSlPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXJzdGF0dXNcIiB2LXNob3c9XCJzbG90UHJvcHMucm93Lm9yZGVyU3RhdHVzID09IDVcIj7lt7Lov4fmnJ88L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJzbG90UHJvcHMucm93Lm9yZGVyVHlwZSA9PSAncmVsZWFybidcIiBjbGFzcz1cImJvb2tpbmZvbGlzdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJmZW5nIGZlbmdQb2ludFwiIHNyYz1cIi9zdGF0aWMvaWNvbi9mdWdvdS5wbmdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiZGVzY3JpcHRpb25cIiA+6K++56iL5aSN6K+76K6i5Y2VXHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0bnMgZmxleGJveFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYm9va25hbWVsZWZ0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7eyBzbG90UHJvcHMucm93LnJlbWFyayB9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDU4cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgIFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJmb250LXNpemU6IDIwcnB4XCI+PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3XHJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG5zIGZsZXhib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiY29sb3I6ICM5ZjlmOWY7IG1hcmdpbi10b3A6IDEwcnB4OyBmb250LXNpemU6IDI0cnB4XCJcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgIOS4i+WNleaXtumXtO+8mnt7IHNsb3RQcm9wcy5yb3cuY3JlYXRlVGltZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJUeXBlID09ICd2aXAnXCIgY2xhc3M9XCJib29raW5mb2xpc3RcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZmVuZyBmZW5nUG9pbnRcIiBzcmM9XCIvc3RhdGljL2ljb24vdmlwLnBuZ1wiIG1vZGU9XCJhc3BlY3RGaWxsXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PCEtLSA8dmlldyBjbGFzcz1cImRlc2NyaXB0aW9uXCIgdi1odG1sPVwiaXRlbS5jb250ZW50XCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0bnMgZmxleGJveFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYm9va25hbWVsZWZ0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7eyBzbG90UHJvcHMucm93LnZpcEJ1eUNvbmZpZ0VudGl0eT9zbG90UHJvcHMucm93LnZpcEJ1eUNvbmZpZ0VudGl0eS50aXRsZTonICcgfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwidmlwX3llYXJcIiB2LWlmPVwic2xvdFByb3BzLnJvdy52aXBCdXlDb25maWdFbnRpdHlcIj4oe3sgc2xvdFByb3BzLnJvdy52aXBCdXlDb25maWdFbnRpdHkueWVhciB9feW5tCk8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNThycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cImZvbnQtc2l6ZTogMjBycHhcIj48L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiAjOWY5ZjlmOyBtYXJnaW4tdG9wOiAxMHJweDsgZm9udC1zaXplOiAyNHJweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOS4i+WNleaXtumXtO+8mnt7IHNsb3RQcm9wcy5yb3cuY3JlYXRlVGltZSB9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJUeXBlID09ICdwb2ludCdcIiBjbGFzcz1cImJvb2tpbmZvbGlzdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJmZW5nIGZlbmdQb2ludFwiIHNyYz1cIi9zdGF0aWMvaWNvbi9wYXlfMy5wbmdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiZGVzY3JpcHRpb25cIiB2LWh0bWw9XCJpdGVtLmNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJib29rbmFtZWxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdOWFheWAvFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e3sgc2xvdFByb3BzLnJvdy5ib29rQnV5Q29uZmlnRW50aXR5Lm1vbmV5IH195aSp5Yy75biBXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNThycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImNvbG9yOiAjOWY5ZjlmOyBtYXJnaW4tdG9wOiAxMHJweDsgZm9udC1zaXplOiAyNHJweFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdOS4i+WNleaXtumXtO+8mnt7IHNsb3RQcm9wcy5yb3cuY3JlYXRlVGltZSB9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJUeXBlID09ICdvcmRlcidcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1mb3I9XCIoaXRlbTIsIGluZGV4MikgaW4gc2xvdFByb3BzLnJvdy5wcm9kdWN0TGlzdFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0OmtleT1cInNsb3RQcm9wcy5yb3cub3JkZXJJZFwiIGNsYXNzPVwiYm9va2luZm9saXN0XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cIml0ZW0yLnByb2R1Y3RcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmVuZ1wiIHYtaWY9XCJpdGVtMi5wcm9kdWN0ICYmIGl0ZW0yLnByb2R1Y3QucHJvZHVjdEltYWdlc1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgOmtleT1cIkRhdGUubm93KClcIiBzdHlsZT1cIndpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdG1vZGU9XCJhc3BlY3RGaXRcIiA6c3JjPVwiaXRlbTIucHJvZHVjdC5wcm9kdWN0SW1hZ2VzXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyB2LWVsc2UgY2xhc3M9XCJmZW5nXCIgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2MwYzRjYztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNDBycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIj7mmoLml6DlsIHpnaLlm748L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8IS0tIDx2aWV3IGNsYXNzPVwiZGVzY3JpcHRpb25cIiB2LWh0bWw9XCJpdGVtLmNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0bnMgZmxleGJveFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJvb2tuYW1lbGVmdFwiPnt7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbTIucHJvZHVjdCAmJiBpdGVtMi5wcm9kdWN0LnByb2R1Y3ROYW1lXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGl0ZW0yLnByb2R1Y3QucHJvZHVjdE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9fTwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNThycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwiZm9udC1zaXplOiAyMHJweFwiPu+/pTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbTIucHJvZHVjdC5wcmljZSA/IGl0ZW0yLnByb2R1Y3QucHJpY2UgOiBcIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJidG5zIGZsZXhib3hcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcnB4XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibGVmdFwiIHN0eWxlPVwiY29sb3I6ICNjMGM0Y2NcIj48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicmlnaHQgZmxleGJveCBvcGJ0bnNcIiBzdHlsZT1cImNvbG9yOiAjYzBjNGNjXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0w5d7eyBpdGVtMi5xdWFudGl0eSA/IGl0ZW0yLnF1YW50aXR5IDogXCJcIiB9fVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtZWxzZT5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZmVuZ1wiPjwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYm9va25hbWVsZWZ0XCIgc3R5bGU9XCJjb2xvcjogIzE4MTgxOFwiPuacquefpeWVhuWTgTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJcIiBjbGFzcz1cInJpZ2h0IGZsZXhib3ggb3BidG5zIHByb2R1Y3RfcXVhbnRpdHlcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHTDl3t7IGl0ZW0yLnF1YW50aXR5ID8gaXRlbTIucXVhbnRpdHkgOiBcIlwiIH19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIm1hcmdpbi10b3A6IDEwcnB4OyBvdmVyZmxvdzogaGlkZGVuXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCIgc3R5bGU9XCJmbG9hdDogcmlnaHQ7IHdpZHRoOiBhdXRvICFpbXBvcnRhbnRcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJpZ2h0IGZsZXhib3ggb3BidG5zXCIgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NHJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIj7lrp7ku5jmrL48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8qIG1hcmdpbi10b3A6IDhycHg7ICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwiZm9udC1zaXplOiAyMHJweFwiPu+/pTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJUeXBlID09ICdwb2ludCdcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7eyBzbG90UHJvcHMucm93LmJvb2tCdXlDb25maWdFbnRpdHkucmVhbE1vbmV5IH19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgdi1lbHNlPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNsb3RQcm9wcy5yb3cucmVhbE1vbmV5IHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2xvdFByb3BzLnJvdy5yZWFsTW9uZXkgPT0gMFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBzbG90UHJvcHMucm93LnJlYWxNb25leVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJidG5zIGZsZXhib3hcIiBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMHJweDtcclxuICAgICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIFwiIHYtaWY9XCJcclxuICAgICAgICAgICAgICAgICAgICAgIChzbG90UHJvcHMucm93LmFkZHJlc3NJZCA9PSAwIHx8XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNsb3RQcm9wcy5yb3cuYWRkcmVzc0lkID09IG51bGwpICAmJlxyXG4gICAgICAgICAgICAgICAgICAgICAgc2xvdFByb3BzLnJvdy5qZkRlZHVjdGlvbiA+IDBcclxuICAgICAgICAgICAgICAgICAgICBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInJpZ2h0IGZsZXhib3ggb3BidG5zXCIgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ0cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgIFwiPjx0ZXh0IHN0eWxlPVwiY29sb3I6ICM5YjliOWJcIj7vvIggPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDZycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM5YjliOWI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNHJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiPuenr+WIhuaKteaJozwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLyogbWFyZ2luLXRvcDogOHJweDsgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDZycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM5YjliOWI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyNnJweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJmb250LXNpemU6IDIwcnB4XCI+77+lPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7eyBzbG90UHJvcHMucm93LmpmRGVkdWN0aW9uIH19XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3Pjx0ZXh0IHN0eWxlPVwiY29sb3I6ICM5YjliOWJcIj7vvIk8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9wZXJhdGlvbl9ib3ggYm94U2hhZG93XCIgdi1pZj1cInNsb3RQcm9wcy5yb3cuaXNTaG93TW9yZSA9PSB0cnVlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJzbG90UHJvcHMucm93Lm9yZGVyU3RhdHVzID09IDBcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdEBjbGljay5uYXRpdmUuc3RvcD1cImNhbmNlT3JkZXIoc2xvdFByb3BzLnJvdylcIj7lj5bmtojorqLljZU8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ0bnMgZmxleGJveFwiIHN0eWxlPVwibWFyZ2luLXRvcDogMTBycHhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJsZWZ0XCIgc3R5bGU9XCJjb2xvcjogI2MwYzRjY1wiIEBjbGljay5uYXRpdmUuc3RvcD1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgb3Blbk1vcmUoc2xvdFByb3BzLnJvdywgc2xvdFByb3BzLnJvd0luZGV4KVxyXG4gICAgICAgICAgICAgICAgICAgIFwiPuabtOWkmjwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJyaWdodCBmbGV4Ym94IG9wYnRuc1wiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXJzdGF0dXNidG4gb3JkZXJzdGF0dXNidG5fc3VjY2Vzc1wiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR2LWlmPVwic2xvdFByb3BzLnJvdy5vcmRlclN0YXR1cyA9PSAwICYmIHNsb3RQcm9wcy5yb3cucGF5bWVudE1ldGhvZCAhPSAzXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdEBjbGljay5zdG9wPVwiZ29QYXkoc2xvdFByb3BzLnJvdylcIj7nu6fnu63ku5jmrL48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlcnN0YXR1c2J0blwiIHYtaWY9XCJzbG90UHJvcHMucm93Lm9yZGVyU3RhdHVzID09IDFcIj7lgqzlj5HotKc8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlcnN0YXR1c2J0blwiIHYtaWY9XCJzbG90UHJvcHMucm93Lm9yZGVyU3RhdHVzID09IDJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0QGNsaWNrLm5hdGl2ZS5zdG9wPVwic2VlRXhwcmVzc0RldGFpbChzbG90UHJvcHMucm93KVwiPuafpeeci+eJqea1gTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyc3RhdHVzYnRuXCIgdi1pZj1cInNsb3RQcm9wcy5yb3cub3JkZXJTdGF0dXMgPT0gMlwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRAY2xpY2submF0aXZlLnN0b3A9XCJPdmVyT3JkZXIoc2xvdFByb3BzLnJvdylcIj7noa7orqTmlLbotKc8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlcnN0YXR1c2J0blwiIHYtaWY9XCJzbG90UHJvcHMucm93Lm9yZGVyU3RhdHVzID09IDNcIj7nlLPor7fllK7lkI48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PCEtLSA8dmlld1xyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlcnN0YXR1c2J0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgICB2LWlmPVwiaXRlbS5vcmRlclN0YXR1cyA9PSAzICYmIHVzZXJSZWNvcmRpZCA9PSBudWxsXCJcclxuICAgICAgICAgICAgICAgICAgICAgIEBjbGljay5uYXRpdmUuc3RvcD1cInBpbmdqaShpdGVtLnByb2R1Y3RJZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgPuivhOS7tzwvdmlld1xyXG4gICAgICAgICAgICAgICAgICAgID4gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PCEtLSA8dmlldyBjbGFzcz1cIm9yZGVyc3RhdHVzYnRuXCIgdi1pZj1cIml0ZW0ub3JkZXJTdGF0dXMgPT0gMyAmJiB1c2VyUmVjb3JkaWQgIT0gbnVsbFwiIEBjbGljay5zdG9wPVwic2hvd1podWlwaW5nKGl0ZW0ucHJvZHVjdElkKVwiPui/veivhDwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImJvcmRlci1ib3R0b206IDJycHggc29saWQgI2U5ZTllOTsgaGVpZ2h0OiA1MHJweFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdHYtaWY9XCJzbG90UHJvcHMucm93SW5kZXggPCBzbG90UHJvcHMucm93Lmxlbmd0aCAtIDFcIj48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gPHZpZXcgY2xhc3M9XCJidG5zXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHJweFwiPlxyXG4gICAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJmbGV4Ym94IG9wYnRuc1wiIHN0eWxlPVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgIDx2aWV3XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICM5YjliOWI7XHJcbiAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAgICAgICAgID48dS1pY29uXHJcbiAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwiY2xvY2tcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCIjOWI5YjliXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHJweFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBzaXplPVwiMjBcIlxyXG4gICAgICAgICAgICAgICAgICAgID48L3UtaWNvblxyXG4gICAgICAgICAgICAgICAgICAgID57eyBzbG90UHJvcHMucm93LmNyZWF0ZVRpbWUgfX08L3ZpZXdcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICAgIDwvdmlldz4gLS0+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHQ8IS0tIDx0ZXh0IHYtaWY9XCJzbG90UHJvcHMucm93LmNvbmRpdGlvbnMhPScwMydcIj7jgJDor5XlkKzjgJE8L3RleHQ+IC0tPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC9jb21tb24tbGlzdD5cclxuXHRcdDwvdmlldz5cclxuXHJcblx0XHQ8IS0tIOWvueivneahhiAtLT5cclxuXHRcdDx1LXBvcHVwIDpzaG93PVwicGluZ2ppYVNob3dcIiA6cm91bmQ9XCIxMFwiIEBjbG9zZT1cImNsb3NlUGluZ2ppYVwiPlxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cInRhbmNodVwiPlxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHBfdGl0bGVcIiB2LWlmPVwicGpUeXBlICE9ICd6aHVpcGluZydcIj7mt7vliqDor4Tku7c8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcF90aXRsZVwiIHYtZWxzZT7mt7vliqDov73or4Q8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwibWF4LWhlaWdodDogMTAwMHJweDsgb3ZlcmZsb3cteTogc2Nyb2xsXCI+XHJcblx0XHRcdFx0XHQ8dW5pLWZvcm1zIDptb2RlbFZhbHVlPVwiUGZvcm1cIj5cclxuXHRcdFx0XHRcdFx0PCEtLSDor4Tku7flm77niYcgLS0+XHJcblx0XHRcdFx0XHRcdDwhLS0gZW5kIC0tPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDx1bmktZm9ybXMtaXRlbSBuYW1lPVwiY29tbWVudFwiIGxhYmVsLXdpZHRoPVwiMFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8dW5pLWVhc3lpbnB1dCB0eXBlPVwidGV4dGFyZWFcIiB2LW1vZGVsPVwiUGZvcm0uY29tbWVudFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5oKo55qE5ZWG5ZOB6K+E5Lu3XCIgIC8+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3VuaS1mb3Jtcy1pdGVtPlx0XHQgLS0+XHJcblx0XHRcdFx0XHQ8L3VuaS1mb3Jtcz5cclxuXHRcdFx0XHRcdDwhLS0gPHUtYnV0dG9uIHR5cGU9XCJzdWNjZXNzXCIgQGNsaWNrPVwic3VibWl0UEpcIj7mj5DkuqTor4Tku7c8L3UtYnV0dG9uPiAtLT5cclxuXHRcdFx0XHRcdDwhLS0g5o+Q5LqkIC0tPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwYWRkaW5nLWJvdHRvbS1zbSBmbGV4IHBhZGRpbmctbHItc21cIiBzdHlsZT1cImJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlZWVlXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibWIzMFwiIHYtaWY9XCJwalR5cGUgIT0gJ3podWlwaW5nJ1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IDpjbGFzcz1cIlsnc3RhcicsIFBmb3JtLnN0YXIgPj0gMSA/ICdzdGFyTGlnaHQnIDogJ3N0YXJHcmF5J11cIiBAY2xpY2s9XCJnZXRTdGFyKDEpXCI+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IDpjbGFzcz1cIlsnc3RhcicsIFBmb3JtLnN0YXIgPj0gMiA/ICdzdGFyTGlnaHQnIDogJ3N0YXJHcmF5J11cIiBAY2xpY2s9XCJnZXRTdGFyKDIpXCI+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IDpjbGFzcz1cIlsnc3RhcicsIFBmb3JtLnN0YXIgPj0gMyA/ICdzdGFyTGlnaHQnIDogJ3N0YXJHcmF5J11cIiBAY2xpY2s9XCJnZXRTdGFyKDMpXCI+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IDpjbGFzcz1cIlsnc3RhcicsIFBmb3JtLnN0YXIgPj0gNCA/ICdzdGFyTGlnaHQnIDogJ3N0YXJHcmF5J11cIiBAY2xpY2s9XCJnZXRTdGFyKDQpXCI+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IDpjbGFzcz1cIlsnc3RhcicsIFBmb3JtLnN0YXIgPj0gNSA/ICdzdGFyTGlnaHQnIDogJ3N0YXJHcmF5J11cIiBAY2xpY2s9XCJnZXRTdGFyKDUpXCI+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibWIzMFwiIHYtaWY9XCJwalR5cGUgIT0gJ3podWlwaW5nJ1wiPlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gPHVuaS1maWxlLXBpY2tlciA6YXV0by11cGxvYWQ9XCJmYWxzZVwiIHJlZj1cImZpbGVzXCIgQGRlbGV0ZT1cImRlbGV0ZUltZ1wiIGxpbWl0PVwiNVwiIEBzdWNjZXNzPVwidXBTdWNjZXNzXCIgQHNlbGVjdD1cInNlbGVjdFwiIHYtbW9kZWw9XCJQZm9ybS5pbWdcIiBmaWxlTWVkaWF0eXBlPVwiaW1hZ2VcIiA6aW1hZ2Utc3R5bGVzPVwiaW1hZ2VTdHlsZXNcIi8+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdDx1LXVwbG9hZCA6ZmlsZUxpc3Q9XCJQZm9ybS5pbWdcIiBAYWZ0ZXJSZWFkPVwiYWZ0ZXJSZWFkXCIgQGRlbGV0ZT1cImRlbGV0ZVBpY1wiIG11bHRpcGxlXHJcblx0XHRcdFx0XHRcdFx0XHQ6bWF4Q291bnQ9XCI0XCIgd2lkdGg9XCI4MFwiIGhlaWdodD1cIjgwXCIgOnByZXZpZXdGdWxsSW1hZ2U9XCJ0cnVlXCI+XHJcblx0XHRcdFx0XHRcdFx0PC91LXVwbG9hZD5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImZsZXgtc3ViIGZsZXhib3hcIj5cclxuXHRcdFx0XHRcdFx0XHQ8aSBAY2xpY2s9XCJzaG93RW1qKClcIiA6Y2xhc3M9XCJlbW9qaUljb25cIj48L2k+XHJcblx0XHRcdFx0XHRcdFx0PCEtLSA8aW5wdXQgdHlwZT1cInRleHRcIiBAZm9jdXM9XCJJbnB1dEZvY3VzXCIgQGJsdXI9XCJJbnB1dEJsdXJcIiB2LW1vZGVsPVwibWVzc2FnZVwiICBAaW5wdXQ9XCJ0ZXh0YXJlYUJJbnB1dFwiICBwbGFjZWhvbGRlci1zdHlsZT1cImZvbnQtc2l6ZToyNHJweDtjb2xvcjojYWFhYWFhO1wiICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaCqOimgeWPkemAgeeahOWGheWuuVwiPjwvaW5wdXQ+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0YXJlYSBjbGFzcz1cInRleHRhcmVhXCIgdi1tb2RlbD1cIlBmb3JtLmNvbW1lbnRcIiBAZm9jdXM9XCJJbnB1dEZvY3VzXCIgQGJsdXI9XCJJbnB1dEJsdXJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0QGlucHV0PVwidGV4dGFyZWFCSW5wdXRcIiBwbGFjZWhvbGRlci1zdHlsZT1cImZvbnQtc2l6ZToyNHJweDtjb2xvcjojYWFhYWFhO1wiXHJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaCqOimgeWPkemAgeeahOWGheWuuVwiPjwvdGV4dGFyZWE+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJcIj5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIDxidXR0b24gY2xhc3M9XCJjdS1idG4gYmctZ3JhZHVhbC1ibHVlIHNoYWRvdy1ibHVyXCI+5Y+R6YCBPC9idXR0b24+IC0tPlxyXG5cdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiB0eXBlPVwic3VjY2Vzc1wiIEBjbGljaz1cInN1Ym1pdFBKXCIgdi1pZj1cInBqVHlwZSAhPSAnemh1aXBpbmcnXCI+5o+Q5Lqk6K+E5Lu3PC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0XHQ8dS1idXR0b24gdHlwZT1cInN1Y2Nlc3NcIiBAY2xpY2s9XCJ6aHVpcGluZ1wiIHYtZWxzZT7mj5DkuqTov73or4Q8L3UtYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmVcIj5cclxuXHRcdFx0XHRcdFx0PGVtb3Rpb24gQGVtb3Rpb249XCJoYW5kbGVFbWpcIiA6aGVpZ2h0PVwiMjIwXCIgdi1pZj1cImlzU2hvd0VtalwiIDp3aW5kb3dXaWR0aD1cIndpbmRvd1dpZHRoXCI+XHJcblx0XHRcdFx0XHRcdDwvZW1vdGlvbj5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdDwvdmlldz5cclxuXHRcdDwvdS1wb3B1cD5cclxuXHRcdDx6LW5hdmlnYXRpb24+PC96LW5hdmlnYXRpb24+XHJcblx0XHQ8dS1hY3Rpb24tc2hlZXQgOmNsb3NlT25DbGlja0FjdGlvbj1cInRydWVcIiA6Y2xvc2VPbkNsaWNrT3ZlcmxheT1cInRydWVcIiA6YWN0aW9ucz1cIm1vcmVMaXN0XCIgOnNob3c9XCJpc1Nob3dNb3JlXCJcclxuXHRcdFx0Y2FuY2VsVGV4dD1cIuWFs+mXrVwiIEBjbG9zZT1cImlzU2hvd01vcmUgPSBmYWxzZVwiIEBzZWxlY3Q9XCJzZWxlY3RDbGlja1wiPjwvdS1hY3Rpb24tc2hlZXQ+XHJcblx0PC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuXHRpbXBvcnQgJGh0dHAgZnJvbSBcIkAvY29uZmlnL3JlcXVlc3RDb25maWcuanNcIjtcclxuXHRpbXBvcnQgZW1vdGlvbiBmcm9tIFwiQC9ia2h1bW9yLWVtb2ppcGx1cy9jb21wb25lbnRzL2JraHVtb3ItZW1vamlwbHVzL2JraHVtb3ItZW1vamlwbHVzLnZ1ZVwiO1xyXG5cdC8vIGltcG9ydCBtdXNpY1BsYXkgZnJvbSBcIkAvY29tcG9uZW50cy9tdXNpYy52dWVcIjtcclxuXHRpbXBvcnQge1xyXG5cdFx0c2V0UGF5LFxyXG5cdFx0c2V0UGF5QXNzaWduLFxyXG5cdFx0c2V0V1hQYXlcclxuXHR9IGZyb20gXCJAL2NvbmZpZy91dGlsc1wiO1xyXG5cdC8vIGltcG9ydCB7IGRhdGEgfSBmcm9tICdqcXVlcnknO1xyXG5cdGltcG9ydCB7XHJcblx0XHRtYXBTdGF0ZSxcclxuXHRcdG1hcE11dGF0aW9uc1xyXG5cdH0gZnJvbSBcInZ1ZXhcIjtcclxuXHRleHBvcnQgZGVmYXVsdCB7XHJcblx0XHRkYXRhKCkge1xyXG5cdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdGlzU2hvd01vcmU6IGZhbHNlLFxyXG5cdFx0XHRcdGNvbWU6IFwiMlwiLFxyXG5cdFx0XHRcdGlzU2hvd1RhYjogZmFsc2UsXHJcblx0XHRcdFx0aXNMb2FkaW5nSGlkZTogZmFsc2UsXHJcblx0XHRcdFx0bW9yZUxpc3Q6IFt7XHJcblx0XHRcdFx0XHRuYW1lOiBcIuWPlua2iOiuouWNlVwiLFxyXG5cdFx0XHRcdFx0a2V5OiBcImZhbHNlXCIsXHJcblx0XHRcdFx0fSwgXSxcclxuXHRcdFx0XHRjdXJyZW50Q2F0ZUluZGV4OiAwLFxyXG5cdFx0XHRcdHBhZ2luYXRpb246IHtcclxuXHRcdFx0XHRcdC8vIOivt+axguWPguaVsFxyXG5cdFx0XHRcdFx0cGFnZTogMSwgLy/pobXnoIFcclxuXHRcdFx0XHRcdGxpbWl0OiAyMCwgLy/mr4/pobXmmL7npLpcclxuXHRcdFx0XHRcdHRvdGFsOiAwLCAvL+aAu+adoeaVsFxyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0Ly8gbG9hZGluZ05vdyA6IGZhbHNlLFxyXG5cdFx0XHRcdHBsYXlEYXRhOiB7fSxcclxuXHRcdFx0XHRvcHRpb25zOiB7fSxcclxuXHRcdFx0XHRlbW9qaUljb246IFwiY3VJY29uLWVtb2ppXCIsXHJcblx0XHRcdFx0d2luZG93V2lkdGg6IDAsXHJcblx0XHRcdFx0Ym9va2lkOiBudWxsLFxyXG5cdFx0XHRcdGJvb2tsaXN0cGFnZTogMSxcclxuXHRcdFx0XHRwcm9kdWN0TGlzdDogW10sXHJcblx0XHRcdFx0cHJvZHVjdEluZm86IHt9LFxyXG5cdFx0XHRcdGVtb2ppOiBbXSxcclxuXHRcdFx0XHRGaWxlczogW10sXHJcblx0XHRcdFx0cGFnZTogMSxcclxuXHRcdFx0XHRwYWdlU2l6ZTogMTAsXHJcblx0XHRcdFx0dG90YWw6IDAsXHJcblx0XHRcdFx0c3RhdHVzOiAzLFxyXG5cdFx0XHRcdHNodXBpbmdMaXN0OiBbXSxcclxuXHRcdFx0XHRiZmFpZDogbnVsbCxcclxuXHRcdFx0XHRvcmRlcnNUYWJzOiBbe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuWFqOmDqFwiLFxyXG5cdFx0XHRcdFx0XHR2YWx1ZTogLTEsXHJcblx0XHRcdFx0XHRcdGJhZGdlOiB7fSxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5b6F5LuY5qy+XCIsXHJcblx0XHRcdFx0XHRcdHZhbHVlOiAwLFxyXG5cdFx0XHRcdFx0XHRiYWRnZToge30sXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuW+heWPkei0p1wiLFxyXG5cdFx0XHRcdFx0XHR2YWx1ZTogMSxcclxuXHRcdFx0XHRcdFx0YmFkZ2U6IHt9LFxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCLlvoXmlLbotKdcIixcclxuXHRcdFx0XHRcdFx0dmFsdWU6IDIsXHJcblx0XHRcdFx0XHRcdGJhZGdlOiB7fSxcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5bey5a6M5oiQXCIsXHJcblx0XHRcdFx0XHRcdHZhbHVlOiAzLFxyXG5cdFx0XHRcdFx0XHRiYWRnZToge30sXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdF0sXHJcblx0XHRcdFx0c2VsZWN0T3JkZXJJbmZvOiB7fSxcclxuXHRcdFx0XHRvcmRlcnNMaXN0VGFiOiAxLFxyXG5cdFx0XHRcdG5ld2VzdHBhZ2U6IDEsXHJcblx0XHRcdFx0Ly8gaG90ZXN0cGFnZTogMSxcclxuXHRcdFx0XHQvLyBib29rc2V0cGFnZTogMSxcclxuXHRcdFx0XHRuZXdMaXN0OiBbXSxcclxuXHRcdFx0XHQvLyBob3RMaXN0OltdLFxyXG5cdFx0XHRcdC8vIGJvb2tMaXN0OltdLFxyXG5cdFx0XHRcdG1hcDoge30sXHJcblx0XHRcdFx0dXNlclJlY29yZGlkOiBudWxsLCAvLyDnlKjmiLfnmoTor4Tku7fnirbmgIFcclxuXHRcdFx0XHRwaW5namlhU2hvdzogZmFsc2UsIC8v5re75Yqg6K+E5Lu3XHJcblx0XHRcdFx0UGZvcm06IHtcclxuXHRcdFx0XHRcdC8vIOivhOS7t+ihqOWNlVxyXG5cdFx0XHRcdFx0c3RhcjogMCxcclxuXHRcdFx0XHRcdGNvbW1lbnQ6IFwiXCIsXHJcblx0XHRcdFx0XHRpbWc6IFtdLFxyXG5cdFx0XHRcdFx0aHRtbDogXCJcIixcclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdGlzU2hvd0VtajogZmFsc2UsXHJcblx0XHRcdFx0cGpUeXBlOiBcIlwiLFxyXG5cdFx0XHR9O1xyXG5cdFx0fSxcclxuXHRcdG9uUHVsbERvd25SZWZyZXNoKCkge1xyXG5cdFx0XHR1bmkuc3RvcFB1bGxEb3duUmVmcmVzaCgpO1xyXG5cclxuXHRcdFx0dGhpcy5uZXdlc3RwYWdlID0gMTtcclxuXHRcdFx0dGhpcy5uZXdMaXN0ID0gW107XHJcblx0XHRcdHRoaXMuZ2V0Qm9va0xpc3QodGhpcy5vcmRlcnNMaXN0VGFiLCBmYWxzZSk7XHJcblx0XHR9LFxyXG5cdFx0b25SZWFjaEJvdHRvbSgpIHtcclxuXHRcdFx0dGhpcy5uZXdlc3RwYWdlKys7XHJcblx0XHRcdHRoaXMuZ2V0Qm9va0xpc3QodGhpcy5vcmRlcnNMaXN0VGFiLCBmYWxzZSk7XHJcblx0XHR9LFxyXG5cdFx0b25Mb2FkKGUpIHtcclxuXHRcdFx0dGhpcy53aW5kb3dXaWR0aCA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLndpbmRvd1dpZHRoO1xyXG5cdFx0XHR0aGlzLm9wdGlvbnMgPSBlO1xyXG5cdFx0XHQvLyDpmpDol4/ljp/nlJ/nmoR0YWJiYXJcclxuXHRcdFx0dW5pLmhpZGVUYWJCYXIoKTtcclxuXHRcdH0sXHJcblx0XHRhc3luYyBvblNob3coKSB7XHJcblx0XHRcdHRoaXMubmV3TGlzdCA9IFtdO1xyXG5cdFx0XHR0aGlzLnBhZ2luYXRpb24gPSB7XHJcblx0XHRcdFx0cGFnZTogMSwgLy/pobXnoIFcclxuXHRcdFx0XHRsaW1pdDogMjAsIC8v5q+P6aG15pi+56S6XHJcblx0XHRcdFx0dG90YWw6IDAsIC8v5oC75p2h5pWwXHJcblx0XHRcdH07XHJcblx0XHRcdHRoaXMuJG5leHRUaWNrKGFzeW5jICgpID0+IHtcclxuXHRcdFx0XHRhd2FpdCB0aGlzLm9yZGVyc1RhYkNMaSh0aGlzLm9yZGVyc1RhYnNbMF0sIDApO1xyXG5cdFx0XHR9KTtcclxuXHRcdH0sXHJcblx0XHRhc3luYyBvblRhYkl0ZW1UYXAoKSB7XHJcblx0XHRcdHRoaXMubmV3TGlzdCA9IFtdO1xyXG5cdFx0XHR0aGlzLnBhZ2luYXRpb24gPSB7XHJcblx0XHRcdFx0cGFnZTogMSwgLy/pobXnoIFcclxuXHRcdFx0XHRsaW1pdDogMjAsIC8v5q+P6aG15pi+56S6XHJcblx0XHRcdFx0dG90YWw6IDAsIC8v5oC75p2h5pWwXHJcblx0XHRcdH07XHJcblx0XHR9LFxyXG5cdFx0b25SZWFkeSgpIHt9LFxyXG5cdFx0Y29tcHV0ZWQ6IHtcclxuXHRcdFx0Li4ubWFwU3RhdGUoW1widXNlckluZm9cIl0pLFxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Li4ubWFwTXV0YXRpb25zKFtcInNldExvYWRpbmdTaG93XCJdKSxcclxuXHRcdFx0Z2V0SW1hZ2VVcmwodXJsKSB7XHJcblx0XHRcdFx0Ly8g6YCa6L+H5ZyoVVJM5ZCO6Z2i5re75Yqg5pe26Ze05oiz5p2l6YG/5YWN57yT5a2YXHJcblx0XHRcdFx0cmV0dXJuIGAke3VybH0/dGltZXN0YW1wPSR7RGF0ZS5ub3coKX1gO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRzZWxlY3RDbGljayhpbmRleCkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKFwiaW5kZXggYXQgbGluZSA2MDk6XCIsIGluZGV4KTtcclxuXHRcdFx0XHRpZiAoaW5kZXgua2V5ID09IFwiZmFsc2VcIikge1xyXG5cdFx0XHRcdFx0dGhpcy5pc1Nob3dNb3JlID0gZmFsc2U7XHJcblx0XHRcdFx0XHR0aGlzLmNhbmNlT3JkZXIodGhpcy5zZWxlY3RPcmRlckluZm8pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0b3Blbk1vcmUocm93LCBpbmRleCkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0T3JkZXJJbmZvID0gcm93O1xyXG5cdFx0XHRcdHRoaXMuaXNTaG93TW9yZSA9IHRydWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGhhbmRsZUNvcHkodmFsdWUsIHRpdGxlKSB7XHJcblx0XHRcdFx0dGhpcy4kY29tbW9uSlMuaGFuZGxlQ29weSh2YWx1ZSwgdGl0bGUpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRvblJlYWNoQm90dG9tMSgpIHtcclxuXHRcdFx0XHQvLyDkuIrmi4nliqDovb1cclxuXHRcdFx0XHQvLyDlvZPliJfooajmlbDph4/kuI3lpKfkuo7miJbnrYnkuo7mgLvmlbDph4/vvIzliJnlho3mrKHosIPnlKjmjqXlj6Por7fmsYLmlbDmja5cclxuXHRcdFx0XHRpZiAodGhpcy5uZXdMaXN0Lmxlbmd0aCA+PSB0aGlzLnBhZ2luYXRpb24udG90YWwpIHJldHVybjtcclxuXHRcdFx0XHR0aGlzLnBhZ2luYXRpb24ucGFnZSsrO1xyXG5cdFx0XHRcdHRoaXMuZ2V0Qm9va0xpc3QodGhpcy5vcmRlcnNMaXN0VGFiLCBmYWxzZSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvSG9tZSgpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5vcHRpb25zLnR5cGUgPT0gXCJvcmRlclwiKSB7XHJcblx0XHRcdFx0XHR1bmkuc3dpdGNoVGFiKHtcclxuXHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9ob21lUGFnZS9pbmRleC9pbmRleFwiLFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZUJhY2soe1xyXG5cdFx0XHRcdFx0XHRkZWx0YTogMSxcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5YiH5o2idGFi54q25oCBXHJcblx0XHRcdG9yZGVyc1RhYkNMaShkYXRhLCBpbmRleCkge1xyXG5cdFx0XHRcdHRoaXMuY3VycmVudENhdGVJbmRleCA9IGluZGV4O1xyXG5cdFx0XHRcdHRoaXMucGFnaW5hdGlvbiA9IHtcclxuXHRcdFx0XHRcdHBhZ2U6IDEsIC8v6aG156CBXHJcblx0XHRcdFx0XHRsaW1pdDogMjAsIC8v5q+P6aG15pi+56S6XHJcblx0XHRcdFx0XHR0b3RhbDogMCwgLy/mgLvmnaHmlbBcclxuXHRcdFx0XHR9O1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKFwiZGF0YSBhdCBsaW5lIDQ1NDpcIiwgZGF0YSk7XHJcblx0XHRcdFx0dGhpcy5vcmRlcnNMaXN0VGFiID0gZGF0YS52YWx1ZTtcclxuXHRcdFx0XHR0aGlzLm5ld2VzdHBhZ2UgPSAxO1xyXG5cdFx0XHRcdC8vIHRoaXMuaG90ZXN0cGFnZSA9IDFcclxuXHRcdFx0XHQvLyB0aGlzLmJvb2tzZXRwYWdlID0gMVxyXG5cdFx0XHRcdHRoaXMubmV3TGlzdCA9IFtdO1xyXG5cdFx0XHRcdC8vIHRoaXMuaG90TGlzdCA9IFtdXHJcblx0XHRcdFx0Ly8gdGhpcy5ib29rTGlzdCA9IFtdXHJcblx0XHRcdFx0dGhpcy5nZXRCb29rTGlzdCh0aGlzLm9yZGVyc0xpc3RUYWIsIGZhbHNlKTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g5p+l55yL5pys5Lmm5pu05aSa5Lmm6K+EXHJcblx0XHRcdHRvTW9yZSh2YWwpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh2YWwsIFwidmFsXCIpO1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogXCIuLi9jb21tZW50cy9jb21tZW50cz9ib29raWQ9XCIgKyB2YWwuaWQsXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOiuouWNleivpuaDhVxyXG5cdFx0XHR0b0RldGFpbCh2YWwpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyh2YWwsIFwidmFsXCIpO1xyXG5cdFx0XHRcdC8vIHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHQvLyBcdHVybDonLi4vYm9va1Nob3AvY29tbWVudHNEZXRhaWw/Ym9va2lkPScrdmFsLmJvb2tpZCsnJmJmYV9pZD0nK3ZhbC5pZFxyXG5cdFx0XHRcdC8vIH0pXHJcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xyXG5cdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9ib29rU2hvcC9vcmRlckxDb250P29yZGVySWQ9XCIgK1xyXG5cdFx0XHRcdFx0XHR2YWwub3JkZXJJZCArXHJcblx0XHRcdFx0XHRcdFwiJm9yZGVyVHlwZT1cIiArXHJcblx0XHRcdFx0XHRcdHZhbC5vcmRlclN0YXR1cyArXHJcblx0XHRcdFx0XHRcdFwiJm9yZGVyU249XCIgK1xyXG5cdFx0XHRcdFx0XHR2YWwub3JkZXJTbixcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0Qm9va0xpc3QoZmxhZywgcmVmcmVzaGZsYWcpIHtcclxuXHRcdFx0XHR0aGlzLmlzTG9hZGluZ0hpZGUgPSBmYWxzZTtcclxuXHRcdFx0XHR2YXIgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0Ly8g5qC55o2udGFi5LiN5ZCM77yM6I635Y+W5pyA5paw5Lmm6K+E44CB5pyA54Ot5Lmm6K+E44CB5Lmm6ZuG5YiX6KGoXHJcblx0XHRcdFx0Ly8gdW5pLnNob3dMb2FkaW5nKHtcclxuXHRcdFx0XHQvLyBcdHRpdGxlOiAn5Yqg6L295LitJ1xyXG5cdFx0XHRcdC8vIH0pO1xyXG5cclxuXHRcdFx0XHQvLyDpobbpg6jnuqLngrnmlbDph49cclxuXHRcdFx0XHQkaHR0cFxyXG5cdFx0XHRcdFx0LnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0XHR1cmw6IFwiY29tbW9uL2J1eU9yZGVyL2dldEJ1eU9yZGVyTnVtQnlTdGF0dXNcIixcclxuXHRcdFx0XHRcdFx0bWV0aG9kOiBcIlBPU1RcIixcclxuXHRcdFx0XHRcdFx0ZGF0YToge1xyXG5cdFx0XHRcdFx0XHRcdHVzZXJJZDogdGhhdC51c2VySW5mby5pZCxcclxuXHRcdFx0XHRcdFx0XHRjb21lOiB0aGlzLmNvbWUsXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdGhlYWRlcjoge1xyXG5cdFx0XHRcdFx0XHRcdC8v6buY6K6kIOaXoCDor7TmmI7vvJror7fmsYLlpLRcclxuXHRcdFx0XHRcdFx0XHRcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHQudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdC8vICAgICAgICAgICDorqLljZXnirbmgIFcclxuXHRcdFx0XHRcdFx0Ly8gKiAwOiDlvoXku5jmrL5cclxuXHRcdFx0XHRcdFx0Ly8gKiAxOiDlvoXlj5HotKdcclxuXHRcdFx0XHRcdFx0Ly8gKiAyOiDlt7Llj5HotKdcclxuXHRcdFx0XHRcdFx0Ly8gKiAz77ya5bey5a6M5oiQXHJcblx0XHRcdFx0XHRcdC8vICogNDog5Lqk5piT5aSx6LSlXHJcblx0XHRcdFx0XHRcdC8vICogNTog5bey6L+H5pyfXHJcblxyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInJlcyBhdCBsaW5lIDc1NzpcIiwgcmVzKTtcclxuXHRcdFx0XHRcdFx0dGhhdC5tYXAgPSByZXMuZGF0YTtcclxuXHJcblx0XHRcdFx0XHRcdHRoYXQub3JkZXJzVGFicy5tYXAoKGUpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAoZS52YWx1ZSA9PSAwIHx8IGUudmFsdWUgPT0gMSB8fCBlLnZhbHVlID09IDIpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHZhciBudW1MaXN0ID0gdGhhdC5tYXAuZmlsdGVyKCh2KSA9PiB2Lm9yZGVyX3N0YXR1cyA9PSBlLnZhbHVlKTtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKFwibnVtIGF0IGxpbmUgNzcxOlwiLCBudW1MaXN0KTtcclxuXHRcdFx0XHRcdFx0XHRcdGlmIChudW1MaXN0Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZS5iYWRnZSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR2YWx1ZTogbnVtTGlzdFswXS5udW0sXHJcblx0XHRcdFx0XHRcdFx0XHRcdH07XHJcblx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRlLmJhZGdlID0ge307XHJcblx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdFx0XHRcdGUuYmFkZ2UgPSB7fTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHQvLyB0aGlzLiRzZXQoJ3RoaXMub3JkZXJzVGFicycsKVxyXG5cdFx0XHRcdFx0XHR0aGF0LiRmb3JjZVVwZGF0ZSgpO1xyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdC5jYXRjaCgoZSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlKTtcclxuXHRcdFx0XHRcdH0pO1xyXG5cclxuXHRcdFx0XHR2YXIgcGFyYW1zID0ge1xyXG5cdFx0XHRcdFx0dXNlcklkOiB0aGlzLnVzZXJJbmZvLmlkLFxyXG5cdFx0XHRcdFx0Y29tZTogdGhpcy5jb21lLFxyXG5cdFx0XHRcdFx0b3JkZXJTdGF0dXM6IGZsYWcgPT0gLTEgPyBcIlwiIDogZmxhZywgLy/kvKBudWxs5Li65YWo6YOo77yM6K6i5Y2V54q25oCBICAwLeacquS7mOasviAxLeW+heWPkei0pyAyLeW3suWPkei0pyAzLeS6pOaYk+aIkOWKnyA0LeS6pOaYk+Wksei0pSA1Lei/h+acn1xyXG5cdFx0XHRcdFx0Li4udGhpcy5wYWdpbmF0aW9uLFxyXG5cdFx0XHRcdFx0Ly8gbGltaXQ6IDEwLFxyXG5cdFx0XHRcdFx0Ly8gcGFnZTogdGhpcy5uZXdlc3RwYWdlLFxyXG5cdFx0XHRcdH07XHJcblx0XHRcdFx0dGhpcy4kaHR0cFxyXG5cdFx0XHRcdFx0LnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0XHR1cmw6IFwiY29tbW9uL2J1eU9yZGVyL2NvbW1vbkJ1eU9yZGVyTGlzdFwiLFxyXG5cdFx0XHRcdFx0XHRtZXRob2Q6IFwiUE9TVFwiLCAvLyBQT1NU44CBR0VU44CBUFVU44CBREVMRVRF77yM5YW35L2T6K+05piO5p+l55yL5a6Y5pa55paH5qGjXHJcblx0XHRcdFx0XHRcdGRhdGE6IHBhcmFtcyxcclxuXHRcdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdFx0Ly/pu5jorqQg5pegIOivtOaYju+8muivt+axguWktFxyXG5cdFx0XHRcdFx0XHRcdFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG5cdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdC50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCLorqLljZXliJfooajlhoXlrrnojrflj5bmiJDlip9cIiwgcmVzKTtcclxuXHRcdFx0XHRcdFx0dGhhdC5wYWdpbmF0aW9uLnRvdGFsID0gcmVzLmRhdGEudG90YWw7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuZGF0YS50b3RhbCA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5pc0xvYWRpbmdIaWRlID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCAmJiByZXMuZGF0YSAmJiByZXMuZGF0YS5yZWNvcmRzLmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0XHR0aGF0Lm5ld0xpc3QgPSB0aGF0Lm5ld0xpc3QuY29uY2F0KHJlcy5kYXRhLnJlY29yZHMpO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdC8vXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhLnJlY29yZHMubGVuZ3RoICE9IDEwKSB7XHJcblx0XHRcdFx0XHRcdFx0dGhhdC5zdGF0dXMgPSAxO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQuc3RhdHVzID0gMDtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdC5jYXRjaCgoZSkgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhlKTtcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDmlK/ku5hcclxuXHRcdFx0Z29QYXkocGF5SXRlbSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKHBheUl0ZW0sIFwi6K6i5Y2V5pWw5o2uXCIpO1xyXG5cdFx0XHRcdGlmIChwYXlJdGVtLnBheW1lbnRNZXRob2QgPT0gMikge1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCLpmL/ph4zmlK/ku5hcIik7XHJcblx0XHRcdFx0XHRzZXRQYXkoe1xyXG5cdFx0XHRcdFx0XHRcdHR5cGVQYXk6IFwiYWxpcGF5XCIsXHJcblx0XHRcdFx0XHRcdFx0c3ViamVjdDogXCJvcmRlclwiLFxyXG5cdFx0XHRcdFx0XHRcdHRvdGFsQW1vdW50OiBwYXlJdGVtLnJlYWxNb25leSxcclxuXHRcdFx0XHRcdFx0XHR0eXBlOiAyLFxyXG5cdFx0XHRcdFx0XHRcdHJlbGV2YW5jZW9pZDogcGF5SXRlbS5vcmRlclNuLFxyXG5cdFx0XHRcdFx0XHRcdGN1c3RvbWVySWQ6IHRoaXMudXNlckluZm8uaWQsXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLnN1Y2Nlc3MpIHtcclxuXHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogXCLmlK/ku5jmiJDlip9cIixcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5pSv5LuY5aSx6LSlXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpbWFnZTogXCIuLi8uLi9zdGF0aWMvaWNvbi9pY19jbG9zZS5wbmdcIixcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR0aGlzLmdldE9yZGVyTGlzdCgpO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQpO1xyXG5cdFx0XHRcdH0gZWxzZSBpZiAocGF5SXRlbS5wYXltZW50TWV0aG9kID09IDEpIHtcclxuXHRcdFx0XHRcdGNvbnNvbGUubG9nKFwi5b6u5L+h5pSv5LuYXCIpO1xyXG5cclxuXHRcdFx0XHRcdGxldCBkYXRhMSA9IHtcclxuXHRcdFx0XHRcdFx0b3JkZXJTbjogcGF5SXRlbS5vcmRlclNuLFxyXG5cdFx0XHRcdFx0XHRidXlPcmRlcklkOiBudWxsLFxyXG5cdFx0XHRcdFx0XHR0b3RhbEFtb3VudDogcGF5SXRlbS5yZWFsTW9uZXksXHJcblx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coZGF0YTEsIFwiZGF0YTFcIik7XHJcblx0XHRcdFx0XHRzZXRXWFBheShkYXRhMSwgKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLnN1Y2Nlc3MpIHtcclxuXHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuaUr+S7mOaIkOWKn1wiLFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcyk7XHJcblx0XHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhLmVyck1zZy5pbmRleE9mKFwiVXNlciBjYW5jZWxlZFwiKSAhPSAtMSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIueUqOaIt+WPlua2iOaUr+S7mFwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0aW1hZ2U6IFwiLi4vLi4vc3RhdGljL2ljb24vaWNfY2xvc2UucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuaUr+S7mOWksei0pVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0aW1hZ2U6IFwiLi4vLi4vc3RhdGljL2ljb24vaWNfY2xvc2UucG5nXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdH0gZWxzZSBpZiAocGF5SXRlbS5wYXltZW50TWV0aG9kID09IDMgJiYgdGhpcy5vcmRlcnNMaXN0VGFiID09IDApIHtcclxuXHRcdFx0XHRcdC8vIOiLueaenOWFheWAvFxyXG5cdFx0XHRcdFx0Y29uc29sZS5sb2coXCLoi7nmnpzkuozmrKHmlK/ku5hcIik7XHJcblx0XHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdFx0Y29udGVudDogJ2FwcGxl5YaF6LSt6K6i5Y2V5LiN5pSv5oyB57un57ut5pSv5LuY77yM6K+36YeN5paw5Y+R6LW35pSv5LuY55Sz6K+35bm25a6M5oiQ5pSv5LuYJyxcclxuXHRcdFx0XHRcdFx0Y29uZmlybVRleHQ6ICflpb3nmoQnLFxyXG5cdFx0XHRcdFx0XHRzaG93Q2FuY2VsOiBmYWxzZVxyXG5cdFx0XHRcdFx0fSlcclxuXHRcdFx0XHR9IGVsc2UgaWYgKHBheUl0ZW0ucGF5bWVudE1ldGhvZCA9PSA0KSB7XHJcblx0XHRcdFx0XHRjb25zb2xlLmxvZygn5aSp5Yy75biB5LqM5qyh5pSv5LuYJylcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOWPlua2iOiuouWNlVxyXG5cdFx0XHRjYW5jZU9yZGVyKGl0ZW0pIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZygnaXRlbS5vcmRlclNuJywgaXRlbSk7XHJcblx0XHRcdFx0dW5pLnNob3dNb2RhbCh7XHJcblx0XHRcdFx0XHR0aXRsZTogXCLmj5DnpLpcIixcclxuXHRcdFx0XHRcdGNvbnRlbnQ6IFwi56Gu5a6a6KaB5Y+W5raI6K6i5Y2V5ZCX77yfXCIsXHJcblx0XHRcdFx0XHRjb25maXJtVGV4dDogXCLlj5bmtojorqLljZVcIixcclxuXHRcdFx0XHRcdGNhbmNlbFRleHQ6IFwi6ICD6JmR5LiA5LiLXCIsXHJcblx0XHRcdFx0XHRjb25maXJtQ29sb3I6IFwiI2M5NjcxM1wiLFxyXG5cdFx0XHRcdFx0Y2FuY2VsQ29sb3I6IFwiIzU1NVwiLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRpZiAocmVzLmNvbmZpcm0pIHtcclxuXHRcdFx0XHRcdFx0XHR0aGlzLiRodHRwXHJcblx0XHRcdFx0XHRcdFx0XHQucG9zdChcclxuXHRcdFx0XHRcdFx0XHRcdFx0XCJib29rL2J1eU9yZGVyL2FwcERlbGV0ZT9vcmRlcklkPVwiICsgaXRlbS5vcmRlcklkXHJcblx0XHRcdFx0XHRcdFx0XHQpXHJcblx0XHRcdFx0XHRcdFx0XHQudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PSAwKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuWPlua2iOiuouWNleaIkOWKn1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIHVuaS5zd2l0Y2hUYWIoe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdC8vIFx0dXJsOiAnLi9vcmRlckxpc3QnXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly8gfSk7XHJcblxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMubmV3ZXN0cGFnZSA9IDE7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5uZXdMaXN0ID0gW107XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5nZXRCb29rTGlzdCh0aGlzLm9yZGVyc0xpc3RUYWIsIGZhbHNlKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIGNhbmNlT3JkZXIoaXRlbSkge1xyXG5cdFx0XHQvLyBcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHQvLyBcdFx0dGl0bGU6ICfmj5DnpLonLFxyXG5cdFx0XHQvLyBcdFx0Y29udGVudDogJ+ehruWumuimgeWPlua2iOiuouWNleWQl++8nycsXHJcblx0XHRcdC8vIFx0XHRjb25maXJtVGV4dDogXCLlj5bmtojorqLljZVcIixcclxuXHRcdFx0Ly8gXHRcdGNhbmNlbFRleHQ6IFwi6ICD6JmR5LiA5LiLXCIsXHJcblx0XHRcdC8vIFx0XHRjb25maXJtQ29sb3I6ICcjYzk2NzEzJyxcclxuXHRcdFx0Ly8gXHRcdGNhbmNlbENvbG9yOiAnIzU1NScsXHJcblx0XHRcdC8vIFx0XHRzdWNjZXNzOiByZXMgPT4ge1xyXG5cdFx0XHQvLyBcdFx0XHRpZiAocmVzLmNvbmZpcm0pIHtcclxuXHRcdFx0Ly8gXHRcdFx0XHR1bmkuc2hvd0xvYWRpbmcoKVxyXG5cdFx0XHQvLyBcdFx0XHRcdCRodHRwLnJlcXVlc3Qoe1xyXG5cdFx0XHQvLyBcdFx0XHRcdFx0dXJsOiBcImJvb2svYnV5T3JkZXIvY2FuY2VsT3JkZXJcIixcclxuXHRcdFx0Ly8gXHRcdFx0XHRcdG1ldGhvZDogXCJHRVRcIiwgLy8gUE9TVOOAgUdFVOOAgVBVVOOAgURFTEVURe+8jOWFt+S9k+ivtOaYjuafpeeci+WumOaWueaWh+aho1xyXG5cdFx0XHQvLyBcdFx0XHRcdFx0ZGF0YSxcclxuXHRcdFx0Ly8gXHRcdFx0XHRcdGhlYWRlcjogeyAvL+m7mOiupCDml6Ag6K+05piO77ya6K+35rGC5aS0XHJcblx0XHRcdC8vIFx0XHRcdFx0XHRcdCdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbidcclxuXHRcdFx0Ly8gXHRcdFx0XHRcdH0sXHJcblx0XHRcdC8vIFx0XHRcdFx0fSkudGhlbihyZXMgPT4ge1xyXG5cdFx0XHQvLyBcdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0Ly8gXHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKClcclxuXHRcdFx0Ly8gXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdC8vIFx0XHRcdFx0XHRcdFx0dGl0bGU6ICforqLljZXlt7Llj5bmtognLFxyXG5cdFx0XHQvLyBcdFx0XHRcdFx0XHRcdGljb246ICdzdWNjZXNzJyxcclxuXHRcdFx0Ly8gXHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMTAwMFxyXG5cdFx0XHQvLyBcdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHQvLyBcdFx0XHRcdFx0XHR0aGlzLmdldEJvb2tMaXN0KHRoaXMub3JkZXJzTGlzdFRhYiwgZmFsc2UpXHJcblx0XHRcdC8vIFx0XHRcdFx0XHR9XHJcblx0XHRcdC8vIFx0XHRcdFx0fSlcclxuXHRcdFx0Ly8gXHRcdFx0fSBlbHNlIGlmIChyZXMuY2FuY2VsKSB7fVxyXG5cdFx0XHQvLyBcdFx0fVxyXG5cdFx0XHQvLyBcdH0pO1xyXG5cdFx0XHQvLyB9LFxyXG5cdFx0XHQvLyDmn6XnnIvnianmtYFcclxuXHRcdFx0c2VlRXhwcmVzc0RldGFpbChpdGVtKSB7XHJcblx0XHRcdFx0Ly8gY29uc29sZS5sb2coaXRlbSwgdGhpcy5zaGVldExpc3QubGVuZ3RoKVxyXG5cdFx0XHRcdC8vIGlmKHRoaXMuc2hlZXRMaXN0Lmxlbmd0aCA+IDEpe1xyXG5cdFx0XHRcdC8vIFx0dGhpcy5zaGVldExpc3RTaG93ID0gdHJ1ZVxyXG5cdFx0XHRcdC8vIH1lbHNlIGlmKHRoaXMuc2hlZXRMaXN0Lmxlbmd0aCA9PSAxKXtcclxuXHRcdFx0XHQvLyDnm7TmjqXlsZXnpLror6bmg4VcclxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHR1cmw6IFwiLi9kZWxpdmVyRGV0YWlsP29yZGVyU249XCIgK1xyXG5cdFx0XHRcdFx0XHRpdGVtLm9yZGVyU24gK1xyXG5cdFx0XHRcdFx0XHRcIiZleHByZXNzT3JkZXJTbj1cIiArXHJcblx0XHRcdFx0XHRcdGl0ZW0uZXhwcmVzc0xpc3RbMF0uZXhwcmVzc09yZGVyU24sXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0Ly8gfVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDnoa7orqTmlLbotKdcclxuXHRcdFx0T3Zlck9yZGVyKGl0ZW0pIHtcclxuXHRcdFx0XHR1bmkuc2hvd01vZGFsKHtcclxuXHRcdFx0XHRcdHRpdGxlOiBcIuaPkOekulwiLFxyXG5cdFx0XHRcdFx0Y29udGVudDogXCLnoa7orqTmlLbotKfvvJ9cIixcclxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0bGV0IGRhdGEgPSB7XHJcblx0XHRcdFx0XHRcdFx0b3JkZXJJZDogaXRlbS5vcmRlcklkLFxyXG5cdFx0XHRcdFx0XHRcdG9yZGVyU3RhdHVzOiBcIjNcIixcclxuXHRcdFx0XHRcdFx0fTtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5jb25maXJtKSB7XHJcblx0XHRcdFx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKCk7XHJcblx0XHRcdFx0XHRcdFx0JGh0dHBcclxuXHRcdFx0XHRcdFx0XHRcdC5yZXF1ZXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dXJsOiBcImJvb2svYnV5T3JkZXIvdXBkYXRlXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdG1ldGhvZDogXCJQT1NUXCIsIC8vIFBPU1TjgIFHRVTjgIFQVVTjgIFERUxFVEXvvIzlhbfkvZPor7TmmI7mn6XnnIvlrpjmlrnmlofmoaNcclxuXHRcdFx0XHRcdFx0XHRcdFx0ZGF0YSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0aGVhZGVyOiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0Ly/pu5jorqQg5pegIOivtOaYju+8muivt+axguWktFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0XHRcdC50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuaUtui0p+aIkOWKn1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogXCJzdWNjZXNzXCIsXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRkdXJhdGlvbjogMTAwMCxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aGlzLm5ld2VzdHBhZ2UgPSAxO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMubmV3TGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuZ2V0Qm9va0xpc3QodGhpcy5vcmRlcnNMaXN0VGFiLCBmYWxzZSk7XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5jYW5jZWwpIHt9XHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjbG9zZVBpbmdqaWEoKSB7XHJcblx0XHRcdFx0dGhpcy5waW5namlhU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMuUGZvcm0uY29tbWVudCA9IFwiXCI7XHJcblx0XHRcdFx0dGhpcy5QZm9ybS5odG1sID0gXCJcIjtcclxuXHRcdFx0XHR0aGlzLmVtb2ppID0gW107XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOaPkOS6pOivhOS7t1xyXG5cdFx0XHRzdWJtaXRQSigpIHtcclxuXHRcdFx0XHRpZiAodGhpcy5QZm9ybS5jb21tZW50ICE9IFwiXCIpIHtcclxuXHRcdFx0XHRcdGxldCBkYXRhID0ge1xyXG5cdFx0XHRcdFx0XHR1c2VyaWQ6IHRoaXMudXNlckluZm8uaWQsXHJcblx0XHRcdFx0XHRcdG9yZGVyU246IHRoaXMub3JkZXJTbixcclxuXHRcdFx0XHRcdFx0Ym9va2lkOiB0aGlzLnByb2R1Y3RJRCxcclxuXHRcdFx0XHRcdFx0Ly8gJ2NvbnRlbnQnOiB0aGlzLlBmb3JtLmh0bWwsXHJcblx0XHRcdFx0XHRcdGNvbnRlbnQ6IHRoaXMuUGZvcm0uY29tbWVudCxcclxuXHRcdFx0XHRcdFx0c3RhckxldmVsOiB0aGlzLlBmb3JtLnN0YXIsXHJcblx0XHRcdFx0XHRcdGltYWdlczogdGhpcy5QZm9ybS5pbWcsXHJcblx0XHRcdFx0XHRcdC8vICdlbW9qaSc6dGhpcy5lbW9qaSAgLy8g6KGo5oOF5pWw57uEXHJcblx0XHRcdFx0XHR9O1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2coZGF0YSwnZGF0YScpXHJcblx0XHRcdFx0XHQkaHR0cFxyXG5cdFx0XHRcdFx0XHQucmVxdWVzdCh7XHJcblx0XHRcdFx0XHRcdFx0dXJsOiBcImJ1eS9yZWNvcmQvVXNlclJlY29yZGNvbW1lbnRcIixcclxuXHRcdFx0XHRcdFx0XHRtZXRob2Q6IFwiUE9TVFwiLCAvLyBQT1NU44CBR0VU44CBUFVU44CBREVMRVRF77yM5YW35L2T6K+05piO5p+l55yL5a6Y5pa55paH5qGjXHJcblx0XHRcdFx0XHRcdFx0ZGF0YSxcclxuXHRcdFx0XHRcdFx0XHRoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0XHRcdC8v6buY6K6kIOaXoCDor7TmmI7vvJror7fmsYLlpLRcclxuXHRcdFx0XHRcdFx0XHRcdFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG5cdFx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdC50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiBcIuivhOS7t+aIkOWKn++8gVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRpY29uOiBcInN1Y2Nlc3NcIixcclxuXHRcdFx0XHRcdFx0XHRcdH0pO1xyXG5cclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMucGluZ2ppYVNob3cgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0XHRcdHRoaXMuUGZvcm0uY29tbWVudCA9IFwiXCI7XHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLlBmb3JtLmh0bWwgPSBcIlwiO1xyXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5lbW9qaSA9IFtdO1xyXG5cdFx0XHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZUJhY2soe1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGRlbHRhOiAxLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcdFx0XHRcdH0sIDIwMDApO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fSBlbHNlIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xyXG5cdFx0XHRcdFx0XHR0aXRsZTogXCLor7flhYjovpPlhaXmgqjnmoTor4Tku7flhoXlrrkg77yBXCIsXHJcblx0XHRcdFx0XHRcdGljb246IFwibm9uZVwiLFxyXG5cdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvLyDmt7vliqDor4Tku7dcclxuXHRcdFx0cGluZ2ppKGlkKSB7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coaWQpO1xyXG5cdFx0XHRcdHRoaXMucGpUeXBlID0gXCJcIjtcclxuXHRcdFx0XHR0aGlzLnByb2R1Y3RJRCA9IGlkO1xyXG5cdFx0XHRcdHRoaXMucGluZ2ppYVNob3cgPSB0cnVlO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRTdGFyKGkpIHtcclxuXHRcdFx0XHR0aGlzLlBmb3JtLnN0YXIgPSBpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRJbnB1dEJsdXIoZSkge30sXHJcblx0XHRcdElucHV0Rm9jdXMoZSkge1xyXG5cdFx0XHRcdHRoaXMuaXNTaG93RW1qID0gZmFsc2U7XHJcblx0XHRcdFx0dGhpcy5lbW9qaUljb24gPSBcImN1SWNvbi1lbW9qaVwiO1xyXG5cdFx0XHRcdHRoaXMuJGVtaXQoXCJmb2NcIik7XHJcblx0XHRcdH0sXHJcblx0XHRcdHRleHRhcmVhQklucHV0KGUpIHtcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhlLCBcImVcIik7XHJcblx0XHRcdFx0dGhpcy5QZm9ybS5jb21tZW50ID0gZS5kZXRhaWwudmFsdWU7XHJcblx0XHRcdFx0Ly8vIHRoaXMuUGZvcm0uaHRtbCA9IGUuZGV0YWlsLnZhbHVlXHJcblx0XHRcdH0sXHJcblx0XHRcdHNob3dFbWooKSB7XHJcblx0XHRcdFx0bGV0IGJvb2wgPSAhdGhpcy5pc1Nob3dFbWo7XHJcblx0XHRcdFx0aWYgKGJvb2wpIHtcclxuXHRcdFx0XHRcdHRoaXMuZW1vamlJY29uID0gXCJjdUljb24ta2V5Ym9hcmRcIjtcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5lbW9qaUljb24gPSBcImN1SWNvbi1lbW9qaVwiO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0dGhpcy5pc1Nob3dFbWogPSBib29sO1xyXG5cdFx0XHRcdHRoaXMuJGVtaXQoXCJzaG93XCIpO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRkZWxldGVQaWMoKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHRoYXQuUGZvcm0uaW1nLnNwbGljZSgwLCAxKTtcclxuXHRcdFx0XHQvL2NvbnNvbGUubG9nKHRoYXQuUGZvcm0uaW1nKVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRhZnRlclJlYWQoZSkge1xyXG5cdFx0XHRcdC8vY29uc29sZS5sb2coZSlcclxuXHRcdFx0XHRsZXQgdGhhdCA9IHRoaXM7XHJcblx0XHRcdFx0Zm9yICh2YXIgaSA9IDA7IGkgPCBlLmZpbGUubGVuZ3RoOyBpKyspIHtcclxuXHRcdFx0XHRcdC8vY29uc29sZS5sb2coaSxlLmZpbGVbaV0udXJsKVxyXG5cdFx0XHRcdFx0dW5pLnVwbG9hZEZpbGUoe1xyXG5cdFx0XHRcdFx0XHR1cmw6IHRoaXMuJGJhc2VVcmwgKyBcIm9zcy9maWxlb3NzXCIsXHJcblx0XHRcdFx0XHRcdGZpbGVQYXRoOiBlLmZpbGVbaV0udXJsLFxyXG5cdFx0XHRcdFx0XHQvL2ZpbGVzOmUuZmlsZSxcclxuXHRcdFx0XHRcdFx0bmFtZTogXCJmaWxlXCIsXHJcblx0XHRcdFx0XHRcdGZvcm1EYXRhOiB7fSxcclxuXHRcdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHRoYXQuUGZvcm0uaW1nLnB1c2goe1xyXG5cdFx0XHRcdFx0XHRcdFx0dXJsOiBKU09OLnBhcnNlKHJlcy5kYXRhKS51cmwsXHJcblx0XHRcdFx0XHRcdFx0fSk7XHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIOiOt+W+l+i+k+WFpeeahOihqOaDheaVsOe7hFxyXG5cdFx0XHRoYW5kbGVFbWooaSkge1xyXG5cdFx0XHRcdGNvbnNvbGUubG9nKGksIFwiaS0tLS0tLS0tLVwiKTtcclxuXHRcdFx0XHR0aGlzLmlucHV0VmFsdWUgPSBpO1xyXG5cdFx0XHRcdC8vIGNvbnNvbGUubG9nKHRoaXMuaW5wdXRWYWx1ZSk7XHJcblx0XHRcdFx0aWYgKGkuZW1vdGlvbmkgPT0gXCJbZW1fOThdXCIpIHtcclxuXHRcdFx0XHRcdC8v5Yy56YWN5pyA5ZCO5LiA5Liq6KGo5oOF56ym5Y+35bm25Yig6ZmkMTHjgIJcclxuXHRcdFx0XHRcdHRoaXMuUGZvcm0uY29tbWVudCA9IHRoaXMuUGZvcm0uY29tbWVudC5yZXBsYWNlKFxyXG5cdFx0XHRcdFx0XHQvKFxcW1teXFxdXStcXF18W1xcc1xcU10pJC8sXHJcblx0XHRcdFx0XHRcdFwiXCJcclxuXHRcdFx0XHRcdCk7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5lbW9qaS5sZW5ndGggPiAwKSB7XHJcblx0XHRcdFx0XHRcdHRoaXMuZW1vamkgPSB0aGlzLmVtb2ppLnNsaWNlKDAsIC0xKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5lbW9qaS5wdXNoKHtcclxuXHRcdFx0XHRcdFx0dGFnOiBpLmVtb3Rpb24sXHJcblx0XHRcdFx0XHRcdG5hbWU6IGkuZW1vdGlvbmlcclxuXHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0Ly8gY29uc29sZS5sb2codGhpcy5lbW9qaSwndGhpcy5lbW9qaScpXHJcblx0XHRcdFx0XHR0aGlzLlBmb3JtLmNvbW1lbnQgKz0gaS5lbW90aW9uaTtcclxuXHRcdFx0XHRcdC8vLyB0aGlzLlBmb3JtLmh0bWwgKz0gaS5lbW90aW9uXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0fSxcclxuXHRcdGNvbXBvbmVudHM6IHtcclxuXHRcdFx0Ly8gbXVzaWNQbGF5LFxyXG5cdFx0XHRlbW90aW9uLFxyXG5cdFx0fSxcclxuXHR9O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cclxuXHRAaW1wb3J0IFwiQC9zdHlsZS9taXhpbi5zY3NzXCI7XHJcblxyXG5cdC5vcmRlcnNUYWJzIHtcclxuXHRcdC8vIG1hcmdpbjogNzBycHggMCAwIDA7XHJcblx0XHR3aWR0aDogNzMwcnB4O1xyXG5cdFx0Ly8gcGFkZGluZzogMCAzJSAzJSAzJTtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdC8vIHRvcDogODBycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmYWY5O1xyXG5cdFx0ei1pbmRleDogMTAwO1xyXG5cclxuXHRcdC5vcmRlcnNkZWZpbmUge1xyXG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdHBhZGRpbmc6IDIwcnB4IDAgMjBycHggMDtcclxuXHRcdFx0Ly8gbWFyZ2luOiA0MHJweCAwIDE1cnB4IDA7XHJcblx0XHRcdHdpZHRoOiAxNDBycHg7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0Lm9yZGVyc251bSB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogOHJweDtcclxuXHRcdFx0XHRyaWdodDogMHJweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcblx0XHRcdFx0Ly8gYm9yZGVyOjFycHggc29saWQgI2EzYTNhMztcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA0MHJweDtcclxuXHRcdFx0XHR3aWR0aDogMjhycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAyOHJweDtcclxuXHRcdFx0XHRmb250LXNpemU6IDIwcnB4O1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdFx0Y29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5vcmRTdHlsZSB7XHJcblx0XHRcdC8vIGJvcmRlci1ib3R0b206IDRycHggc29saWQgIzU0YTk2NjtcclxuXHRcdFx0Ly8gY29sb3I6ICM1NGE5NjY7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm9yZGVyc3RhdHVzYnRuIHtcclxuXHRcdHdpZHRoOiAxNjBycHggIWltcG9ydGFudDtcclxuXHRcdGhlaWdodDogNjBycHg7XHJcblx0XHRsaW5lLWhlaWdodDogNTVycHggIWltcG9ydGFudDtcclxuXHRcdGNvbG9yOiAjMWQxZDFkO1xyXG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2EwYTBhMDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDMwcnB4O1xyXG5cdFx0Ly8gcGFkZGluZzogMCAxMHJweDtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0fVxyXG5cclxuXHQub3JkZXJzdGF0dXNidG5fc3VjY2VzcyB7XHJcblx0XHRjb2xvcjogI2Y1MzQyYjtcclxuXHRcdGJvcmRlci1jb2xvcjogI2Y1MzQyYjtcclxuXHR9XHJcblxyXG5cdC5mbGV4Ym94IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0fVxyXG5cclxuXHQuY29udGFpbmVyIHtcclxuXHRcdHBhZGRpbmc6IDAgMTBweDtcclxuXHR9XHJcblxyXG5cdC5zdGFyIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHdpZHRoOiAyMHB4O1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHJweDtcclxuXHR9XHJcblxyXG5cdC5zdGFyR3JheSB7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vc3RhdGljL2ljb24vc3Rhcl9ncmVleS5wbmcpIG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHR9XHJcblxyXG5cdC5zdGFyTGlnaHQge1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKC4uLy4uL3N0YXRpYy9pY29uL3N0YXJfbGlnaHQucG5nKSBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0fVxyXG5cclxuXHQuY3VJY29uLWVtb2ppIHtcclxuXHRcdGJhY2tncm91bmQ6IHVybCguLi8uLi9zdGF0aWMvYmlhb3FpbmcucG5nKSBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbi1yaWdodDogMjBycHg7XHJcblx0XHR3aWR0aDogMzBweDtcclxuXHR9XHJcblxyXG5cdC5jdUljb24ta2V5Ym9hcmQge1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKC4uLy4uL3N0YXRpYy9iaWFvcWluZy5wbmcpIG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lkdGg6IDMwcHg7XHJcblx0fVxyXG5cclxuXHQudGFuY2h1IHtcclxuXHRcdHBhZGRpbmc6IDQwcnB4IDMwcnB4IDQwcnB4IDMwcnB4O1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdC5kcF90aXRsZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDUwcnB4O1xyXG5cdFx0XHRjb2xvcjogIzU1NTtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdH1cclxuXHJcblx0XHQuZHBfYWRkIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDQwcnB4O1xyXG5cdFx0XHRyaWdodDogMzBycHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmZDYwMDQ7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHJweDtcclxuXHRcdFx0cGFkZGluZzogNXJweCAxMHJweDtcclxuXHJcblx0XHRcdC51LWljb24ge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDVycHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5xdWVzaGVuZyB7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRtYXJnaW4tdG9wOiAxMDBycHg7XHJcblx0XHRjb2xvcjogIzhiOGE5MTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAyMHJweDtcclxuXHRcdHBhZGRpbmctdG9wOiAyMHJweDtcclxuXHR9XHJcblxyXG5cdC5nZW5nZHVvc2h1cGluZyB7XHJcblx0XHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHRcdGNvbG9yOiAjMDA0NGZmO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDIwcnB4O1xyXG5cdFx0cGFkZGluZy10b3A6IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0Lm9yZGVySW5mbyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHQvLyBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdHBhZGRpbmc6IDIwcnB4IDIwcnB4O1xyXG5cdFx0Ym9yZGVyOiAxcHggc3BsaWQgIzk5OTtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHQvLyBwYWRkaW5nLWJvdHRvbTogMjBycHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcnB4O1xyXG5cclxuXHRcdC5ib29raW5mb2xpc3Qge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBycHg7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdC8vIGhlaWdodDogMTgwcnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5ib29raW5mb2xpc3Q6bnRoLWxhc3QtY2hpbGQoMSkge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Lm9wZXJhdGlvbl9ib3gge1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGJvdHRvbTogMjBycHg7XHJcblx0XHRcdGxlZnQ6IDQwcnB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm1haW5Db250ZW50IHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblxyXG5cdFx0Lml0ZW0ge1xyXG5cdFx0XHQvLyBwYWRkaW5nOiAxMHB4O1xyXG5cdFx0XHQvLyBtYXJnaW4tYm90dG9tOiAzMHJweDtcclxuXHRcdFx0Ly8gYm9yZGVyOiAxcHggc29saWQgIzk5OTtcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdFx0Ly8gcGFkZGluZy1ib3R0b206IDIwcnB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdFx0Ly8gbWFyZ2luLWJvdHRvbTogMjBycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmZlbmcge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xyXG5cdFx0XHRtYXJnaW46IDBycHggMjJycHggMCAwO1xyXG5cdFx0XHRoZWlnaHQ6IDE0MHJweDtcclxuXHRcdFx0d2lkdGg6IDE0MHJweDtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDE0cnB4O1xyXG5cdFx0XHQvLyBib3JkZXI6IDFycHggc29saWQgI2U5ZTllOTtcclxuXHRcdH1cclxuXHJcblx0XHQucG9pbnRfYm94IHtcclxuXHRcdFx0LmJvb2tuYW1lbGVmdCB7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDcwcnB4ICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuZmVuZ1BvaW50IHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdFx0aGVpZ2h0OiAxMDBycHg7XHJcblx0XHRcdHdpZHRoOiAxMDBycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Lml0ZW1fdG9wIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDI1cnB4O1xyXG5cclxuXHRcdFx0LnNvdXJjZV9hcHAge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI2cnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lm9yZGVyc3RhdHVzIHtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDI0cnB4O1xyXG5cdFx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0XHRjb2xvcjogI2U1NWYxODtcclxuXHRcdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0XHRcdGxldHRlci1zcGFjaW5nOiAycnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC9kZWVwLy5kZXNjcmlwdGlvbiB7XHJcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XHJcblx0XHRcdGNvbG9yOiAjNjY2O1xyXG5cdFx0XHR0ZXh0LW92ZXJmbG93OiAtby1lbGxpcHNpcy1sYXN0bGluZTtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcblx0XHRcdGRpc3BsYXk6IC13ZWJraXQtYm94O1xyXG5cdFx0XHQtd2Via2l0LWxpbmUtY2xhbXA6IDU7XHJcblx0XHRcdGxpbmUtY2xhbXA6IDU7XHJcblx0XHRcdC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcnB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHJweDtcclxuXHRcdFx0aGVpZ2h0OiAxNzJycHg7XHJcblxyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQuYnRucyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0XHRcdC5ib29rbmFtZWxlZnQge1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDIwMHJweCk7XHJcblx0XHRcdFx0Y29sb3I6ICMwNzA3MDc7XHJcblx0XHRcdFx0bGV0dGVyLXNwYWNpbmc6IDAuNXJweDtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubGVmdCB7XHJcblx0XHRcdFx0d2lkdGg6IDMwMHJweDtcclxuXHRcdFx0XHRjb2xvcjogI2ExYTFhMTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnJpZ2h0IHtcclxuXHRcdFx0XHR3aWR0aDogMzUwcnB4O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucHJpY2Uge1xyXG5cdFx0XHRcdHdpZHRoOiAxMjBycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5nemljb24ge1xyXG5cdFx0XHRcdG1hcmdpbjogMCAwIDAgMjBycHg7XHJcblx0XHRcdFx0aGVpZ2h0OiA0MHJweDtcclxuXHRcdFx0XHR3aWR0aDogNDBycHg7XHJcblx0XHRcdFx0Ly8gZmxvYXQ6bGVmdDtcclxuXHRcdFx0XHQvLyBib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdFx0XHQvLyBib3JkZXI6MXJweCBzb2xpZCAjZTllOWU5O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQub3BidG5zIHtcclxuXHRcdFx0XHQucGluZ2ppYSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5tYjMwIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcnB4O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHR9XHJcblxyXG5cdC5teXRhYnMge1xyXG5cdFx0Ly8gYmFja2dyb3VuZDogdXJsKCdAL3N0YXRpYy9pY29uL2JndHVzaHUucG5nJykgbm8tcmVwZWF0IGxlZnQgdG9wO1xyXG5cdFx0aGVpZ2h0OiA4MHJweDtcclxuXHRcdC8vIG1hcmdpbi1ib3R0b206IDMwcnB4O1xyXG5cclxuXHRcdC5pdGVtIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTBycHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNjNmVhZDA7XHJcblx0XHRcdHdpZHRoOiA0OCU7XHJcblx0XHRcdC8vIG1hcmdpbjogMCAxMHJweDtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRjb2xvcjogIzNjN2Y1NjtcclxuXHRcdFx0Zm9udC1zaXplOiAzNnJweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDgwcnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdC5pdGVtLmFjdGl2ZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMzYzdmNTY7XHJcblx0XHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5pdGVtMiB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMjBycHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvZGVlcC8udS10YWJzX193cmFwcGVyX19uYXZfX2l0ZW1fX3RleHQge1xyXG5cdFx0Ly8gZm9udC1zaXplOiAzMnJweCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHJcblx0LmNhdGVMaXN0IHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0L2RlZXAvLnUtdGFic19fd3JhcHBlcl9fbmF2X19pdGVtIHtcclxuXHRcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG5cdC5jb21tb25EZXRhaWxQYWdlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICR0aGVtZUJnQ29sb3I7XHJcblx0XHRoZWlnaHQ6IGNhbGMoMTAwdmgpO1xyXG5cdH1cclxuXHJcblx0Lm9yZGVyX2JveCB7XHJcblx0XHRwYWRkaW5nOiAyMHJweDtcclxuXHR9XHJcblxyXG5cdC9kZWVwLy5vcmRlcl9ib3ggLmxpc3RfaXRlbSB7XHJcblx0XHQvLyBib3JkZXItYm90dG9tOiBub25lO1xyXG5cdFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xyXG5cdFx0Ym9yZGVyOiBub25lICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQucHJvZHVjdF9xdWFudGl0eSB7XHJcblx0XHR3aWR0aDogYXV0bztcclxuXHRcdGNvbG9yOiAjOWI5YjliO1xyXG5cdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHR9XHJcblx0XHJcblx0LnZpcF95ZWFye1xyXG5cdCAgcGFkZGluZy1sZWZ0OiAyMHJweDtcclxuXHQgIGNvbG9yOiAjZjUzNDJiO1xyXG5cdCAgZm9udC1zaXplOiAzMHJweDtcclxuXHQgfVxyXG5cclxuXHQvZGVlcC8uY29tbW9uRGV0YWlsUGFnZSB7XHJcblx0XHQudW5pLWFwcC0tc2hvd3RhYmJhciB1bmktcGFnZS13cmFwcGVyOjphZnRlciB7XHJcblx0XHRcdGhlaWdodDogMCAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdH1cclxuPC9zdHlsZT4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///512\n"); /***/ }), /* 513 */ @@ -40398,7 +40397,8 @@ var render = function () { 95, "i", _vm.orderContet.orderStatus >= 1 && - _vm.orderContet.orderStatus != 5 + _vm.orderContet.orderStatus != 5 && + _vm.orderContet.paymentDate ) ? _c( "view", @@ -40964,7 +40964,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _HBu /***/ (function(module, exports, __webpack_require__) { "use strict"; -eval("/* WEBPACK VAR INJECTION */(function(__f__) {\n\nvar _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 1);\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 47));\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 125));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 49));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _music = _interopRequireDefault(__webpack_require__(/*! @/components/music.vue */ 89));\nvar _bkhumorEmojiplus = _interopRequireDefault(__webpack_require__(/*! @/bkhumor-emojiplus/components/bkhumor-emojiplus/bkhumor-emojiplus.vue */ 513));\nvar _requestConfig = _interopRequireDefault(__webpack_require__(/*! @/config/requestConfig.js */ 95));\nvar _utils = __webpack_require__(/*! @/config/utils */ 235);\nvar _vuex = __webpack_require__(/*! vuex */ 63);\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 A: {\n orderId: 15316,\n orderSn: \"20241209141541253186600376645070\",\n userId: 13487,\n userName: null,\n statusNum: null,\n shippingUser: null,\n userPhone: \"18834844847\",\n province: null,\n city: null,\n district: null,\n address: null,\n come: 2,\n paymentMethod: \"3\",\n orderMoney: 39,\n districtMoney: 0,\n realMoney: 39,\n shippingMoney: null,\n shippingCompName: null,\n shippingSn: null,\n jfDeduction: 0,\n createTime: \"2024-12-09 14:15:41\",\n shippingTime: null,\n orderStatus: \"0\",\n successTime: null,\n couponId: null,\n couponName: null,\n delFlag: 0,\n products: null,\n productList: null,\n buyType: null,\n orderType: \"point\",\n expNo: null,\n isSend: null,\n vipBuyConfigId: 0,\n addressId: null,\n remark: null,\n orderCode: null,\n paymentDate: null,\n productId: \"21\",\n recordId: null,\n timestamp: null,\n user: null,\n expressList: null,\n addressModified: 0,\n consigneeVo: null,\n appName: null,\n bookBuyConfigEntity: {\n priceTypeId: 21,\n type: \"point\",\n qudao: \"IOS\",\n realMoney: \"45\",\n money: \"39\",\n givejf: \"0\",\n month: null,\n description: \"\",\n effective: 0,\n startTime: null,\n endTime: null\n },\n vipBuyConfigEntity: null\n },\n iconList: [{\n text: \"联系客服\",\n iconType: 1,\n icon: \"server-fill\",\n infoColor: \"#666\"\n }],\n userRecordid: null,\n // 用户的评价状态\n playData: {},\n title: \"Hello\",\n isShowEmj: false,\n emojiIcon: \"cuIcon-emoji\",\n message: \"\",\n windowWidth: 0,\n windowHeight: 500,\n Pform: {\n // 评价表单\n star: 0,\n comment: \"\",\n img: [],\n html: \"\"\n },\n pingID: null,\n productID: null,\n // 订单商品id\n imageStyles: {\n width: 64,\n height: 64,\n border: {\n color: \"#89aa7d\",\n width: 2,\n style: \"dashed\",\n radius: \"2px\"\n }\n },\n pingjiaShow: false,\n logisticsData: [],\n // 快递信息列表\n titleStat: \"\",\n orderID: 0,\n orderSn: \"\",\n orderType: \"\",\n orderContet: {},\n goodsList: [],\n deliverDetails: [{\n Traces: []\n }],\n // 物流详情信息全部\n deliverDetailsLength: null,\n emoji: [],\n Files: [],\n pjType: \"\",\n sheetList: [],\n // 面单数据\n consigneeShow: false,\n sheetListShow: false,\n customButton: []\n };\n },\n onLoad: function onLoad(e) {\n this.windowWidth = uni.getSystemInfoSync().windowWidth;\n this.orderID = e.orderId;\n this.orderType = e.orderType;\n this.orderSn = e.orderSn;\n __f__(\"log\", this.orderID, \"this.orderID\", \" at pages/bookShop/orderLCont.vue:689\");\n },\n onHide: function onHide() {\n this.sheetList = [];\n },\n onShow: function onShow() {\n this.getOrderList();\n },\n components: {\n emotion: _bkhumorEmojiplus.default,\n musicPlay: _music.default\n },\n computed: _objectSpread({}, (0, _vuex.mapState)([\"userInfo\"])),\n methods: {\n gotoWorkOrder: function gotoWorkOrder() {\n uni.navigateTo({\n url: \"/pages/user/workOrder?name=order\"\n });\n },\n goBuyJie: function goBuyJie(data) {\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 __f__(\"log\", \"index at line 532:\", data, \" at pages/bookShop/orderLCont.vue:712\");\n if (data.text == \"继续付款\") {\n _this.goPay(_this.orderContet);\n } else if (data.text == \"取消订单\") {\n _this.canceOrder();\n } else if (data.text == \"确认收货\") {\n _this.OverOrder();\n } else if (data.text == \"查看物流\") {\n _this.seeExpressDetail(_this.orderContet);\n }\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n clickIcon: function clickIcon(data) {\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\", \"index at line 532:\", data, \" at pages/bookShop/orderLCont.vue:724\");\n if (data.text == \"联系客服\") {\n _this2.kefu();\n }\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n // 复制到剪切板\n copyData: function copyData(data) {\n uni.setClipboardData({\n data: data,\n success: function success() {\n __f__(\"log\", \"success\", \" at pages/bookShop/orderLCont.vue:734\");\n }\n });\n },\n seeExpressDetails: function seeExpressDetails(item) {\n __f__(\"log\", item, \"item\", \" at pages/bookShop/orderLCont.vue:739\");\n uni.navigateTo({\n url: \"./deliverDetail?orderSn=\" + this.orderContet.orderSn + \"&expressOrderSn=\" + item.expressOrderSn + \"&expressCompanyCode=\" + item.expressCompanyCode + \"&expressCompanyName=\" + item.expressCompanyName\n });\n },\n // 倒计时回调\n countDown: function countDown() {\n __f__(\"log\", \"重新刷新订单\", \" at pages/bookShop/orderLCont.vue:754\");\n this.getOrderList();\n },\n // 获得输入的表情数组\n handleEmj: function handleEmj(i) {\n __f__(\"log\", i, \"i---------\", \" at pages/bookShop/orderLCont.vue:759\");\n this.inputValue = i;\n // console.log(this.inputValue);\n if (i.emotioni == \"[em_98]\") {\n //匹配最后一个表情符号并删除11。\n this.Pform.comment = this.Pform.comment.replace(/(\\[[^\\]]+\\]|[\\s\\S])$/, \"\");\n if (this.emoji.length > 0) {\n this.emoji = this.emoji.slice(0, -1);\n }\n } else {\n this.emoji.push({\n tag: i.emotion,\n name: i.emotioni\n });\n // console.log(this.emoji,'this.emoji')\n this.Pform.comment += i.emotioni;\n /// this.Pform.html += i.emotion\n }\n },\n showZhuiping: function showZhuiping(val) {\n this.pjType = \"zhuiping\";\n this.pingjiaShow = true;\n this.productID = val;\n this.pingID = pingid;\n },\n // 追加评论\n zhuiping: function zhuiping() {\n var _this3 = this;\n var data = {\n oid: this.userRecordid,\n userId: this.userInfo.id,\n bookid: this.productID,\n conTent: this.Pform.comment\n };\n __f__(\"log\", data, \"data\", \" at pages/bookShop/orderLCont.vue:792\");\n _requestConfig.default.request({\n url: \"user/followUp/userFollowUp\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: data,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n uni.showToast({\n title: \"追评成功!\",\n icon: \"success\"\n });\n _this3.pingjiaShow = false;\n _this3.pjType = \"\";\n _this3.productID = null, _this3.userRecordid = null;\n _this3.Pform.comment = \"\";\n _this3.Pform.html = \"\";\n _this3.emoji = [];\n setTimeout(function () {\n uni.navigateBack({\n delta: 1\n });\n }, 2000);\n }\n });\n },\n textareaBInput: function textareaBInput(e) {\n __f__(\"log\", e, \"e\", \" at pages/bookShop/orderLCont.vue:824\");\n this.Pform.comment = e.detail.value;\n /// this.Pform.html = e.detail.value\n },\n showEmj: function showEmj() {\n var bool = !this.isShowEmj;\n if (bool) {\n this.emojiIcon = \"cuIcon-keyboard\";\n } else {\n this.emojiIcon = \"cuIcon-emoji\";\n }\n this.isShowEmj = bool;\n this.$emit(\"show\");\n },\n InputBlur: function InputBlur(e) {},\n InputFocus: function InputFocus(e) {\n this.isShowEmj = false;\n this.emojiIcon = \"cuIcon-emoji\";\n this.$emit(\"foc\");\n },\n // end\n deleteImg: function deleteImg(e) {\n // var arr = this.Pform.img.slice(0,-1)\n this.Pform.img.pop();\n // console.log('删除文件',arr)\n __f__(\"log\", this.Pform, \" at pages/bookShop/orderLCont.vue:851\");\n },\n getStar: function getStar(i) {\n this.Pform.star = i;\n },\n select: function select(e) {\n var _this$Pform$img;\n __f__(\"log\", \"选择文件:\", e, \" at pages/bookShop/orderLCont.vue:857\");\n var arr = e.tempFiles.map(function (item) {\n return {\n url: item.url,\n name: item.name\n };\n });\n this.Pform.img = (_this$Pform$img = this.Pform.img).concat.apply(_this$Pform$img, (0, _toConsumableArray2.default)(arr));\n //this.Pform.img = arr\n __f__(\"log\", this.Pform, \"img\", \" at pages/bookShop/orderLCont.vue:863\");\n },\n upSuccess: function upSuccess(e) {\n __f__(\"log\", e, \" at pages/bookShop/orderLCont.vue:866\");\n },\n // 获取html格式的评论1\n getHtmlComment: function getHtmlComment() {\n // 格式化html\n var ss = this.Pform.comment;\n if (this.emoji.length > 0) {\n for (var i = 0; i < this.emoji.length; i++) {\n if (this.Pform.comment.indexOf(this.emoji[i].name) !== -1) {\n //var re = new RegExp(this.emoji[0].name,\"g\"); //定义正则表达式\n //第一个参数是要替换掉的内容,第二个参数\"g\"表示替换全部(global)。\n // ss = ss.replace(re, ); //第一个参数是正则表达式。\n ss = ss.replace(this.emoji[i].name, this.emoji[i].tag);\n // console.log(ss)\n }\n }\n\n this.Pform.html = ss;\n } else {\n this.Pform.html = this.Pform.comment;\n }\n //console.log(this.Pform.html,'this.Pform.html')\n },\n deletePic: function deletePic() {\n var that = this;\n that.Pform.img.splice(0, 1);\n //console.log(that.Pform.img)\n },\n afterRead: function afterRead(e) {\n //console.log(e)\n var that = this;\n for (var i = 0; i < e.file.length; i++) {\n //console.log(i,e.file[i].url)\n uni.uploadFile({\n url: this.$baseUrl + \"oss/fileoss\",\n filePath: e.file[i].url,\n //files:e.file,\n name: \"file\",\n formData: {},\n success: function success(res) {\n that.Pform.img.push({\n url: JSON.parse(res.data).url\n });\n }\n });\n }\n },\n closePingjia: function closePingjia() {\n this.pingjiaShow = false;\n this.Pform.comment = \"\";\n this.Pform.html = \"\";\n this.emoji = [];\n },\n // 提交评价\n submitPJ: function submitPJ() {\n var _this4 = this;\n if (this.Pform.comment != \"\") {\n var data = {\n userid: this.userInfo.id,\n orderSn: this.orderSn,\n bookid: this.productID,\n // 'content': this.Pform.html,\n content: this.Pform.comment,\n starLevel: this.Pform.star,\n images: this.Pform.img\n // 'emoji':this.emoji // 表情数组\n };\n // console.log(data,'data')\n _requestConfig.default.request({\n url: \"buy/record/UserRecordcomment\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: data,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n uni.showToast({\n title: \"评价成功!\",\n icon: \"success\"\n });\n _this4.pingjiaShow = false;\n _this4.Pform.comment = \"\";\n _this4.Pform.html = \"\";\n _this4.emoji = [];\n setTimeout(function () {\n uni.navigateBack({\n delta: 1\n });\n }, 2000);\n }\n });\n } else {\n uni.showToast({\n title: \"请先输入您的评价内容 !\",\n icon: \"none\"\n });\n }\n },\n // 添加评价\n pingji: function pingji(id) {\n __f__(\"log\", id, \" at pages/bookShop/orderLCont.vue:969\");\n this.pjType = \"\";\n this.productID = id;\n this.pingjiaShow = true;\n },\n // 联系客服\n kefu: function kefu() {\n uni.showModal({\n title: \"提示\",\n content: \"微信号:yilujiankangkefu\"\n // success: function (res) {\n // \tif (res.confirm) {\n // \t\tuni.makePhoneCall({\n // \t\t\tphoneNumber: '022-24142321' //仅为示例\n // \t\t});\n // \t} else if (res.cancel) {\n\n // \t}\n // }\n });\n },\n // 查看物流\n seeExpressDetail: function seeExpressDetail(item) {\n if (this.sheetList.length > 1) {\n this.sheetListShow = true;\n } else if (this.sheetList.length == 1) {\n // 直接展示详情\n uni.navigateTo({\n url: \"./deliverDetail?orderSn=\" + item.orderSn + \"&expressOrderSn=\" + this.sheetList[0].expressOrderSn\n });\n }\n },\n handleCopy: function handleCopy(value, title) {\n this.$commonJS.handleCopy(value, title);\n },\n onPageJump: function onPageJump(item) {\n uni.navigateTo({\n url: \"./deliverDetail?objId=\" + item\n });\n },\n OverOrder: function OverOrder() {\n var _this5 = this;\n // 确认收货\n uni.showModal({\n title: \"提示\",\n content: \"确认收货?\",\n success: function success(res) {\n var data = {\n orderId: _this5.orderID,\n orderStatus: \"3\"\n };\n if (res.confirm) {\n uni.showLoading();\n _requestConfig.default.request({\n url: \"book/buyOrder/update\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: data,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n uni.hideLoading();\n uni.showToast({\n title: \"收货成功\",\n icon: \"success\",\n duration: 1000\n });\n _this5.getOrderList();\n }\n });\n } else if (res.cancel) {}\n }\n });\n },\n // 切换订单状态\n orderTabCLi: function orderTabCLi(e) {\n this.orderListTab = e;\n },\n getCouponDetail: function getCouponDetail(id) {\n var _this6 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _this6.$http.request({\n url: \"common/coupon/getCouponHistoryInfo\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: {\n id: id\n },\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then( /*#__PURE__*/function () {\n var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(res) {\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(res.code != 0)) {\n _context3.next = 2;\n break;\n }\n return _context3.abrupt(\"return\", _this6.$commonJS.showToast(res.errMsg));\n case 2:\n _this6.orderContet.couponAmount = res.couponHistory.couponEntity.couponAmount;\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).catch(function (e) {\n __f__(\"log\", e, \" at pages/bookShop/orderLCont.vue:1074\");\n _this6.$commonJS.showToast(e.errMsg);\n });\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n // 获取订单详情\n getOrderList: function getOrderList() {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n __f__(\"log\", \"this.orderType\", _this7.orderType, \" at pages/bookShop/orderLCont.vue:1080\");\n _context6.next = 3;\n return _this7.$http.request({\n url: \"common/buyOrder/commonOrderDetail\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: {\n orderId: _this7.orderID\n },\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then( /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(res) {\n return _regenerator.default.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _this7.customButton = [];\n __f__(\"log\", \"订单详情\", res, \" at pages/bookShop/orderLCont.vue:1096\");\n _this7.orderContet = res.data.buyOrder;\n _this7.goodsList = res.data.productInfo;\n _this7.consigneeShow = true;\n // 存在优惠券信息,就查询优惠券集体金额\n if (!(_this7.orderContet.couponId && _this7.orderContet.couponId != null)) {\n _context5.next = 8;\n break;\n }\n _context5.next = 8;\n return _this7.getCouponDetail(_this7.orderContet.couponId);\n case 8:\n if (_this7.orderContet.orderStatus == 2 && _this7.sheetList.length > 0 && _this7.orderContet.orderStatus != 5) {\n _this7.customButton.push((0, _defineProperty2.default)({\n width: \"160rpx\",\n text: \"查看物流\",\n color: \"#333\",\n backgroundColor: \"#f0f0f0\"\n }, \"color\", \"#fff\"));\n }\n if (_this7.orderContet.orderStatus == 2) {\n _this7.customButton.push({\n width: \"160rpx\",\n text: \"确认收货\",\n color: \"#fff\"\n });\n }\n if (_this7.orderContet.orderStatus == 0 && _this7.orderContet.paymentMethod != 3) {\n _this7.customButton.push({\n width: \"160rpx\",\n text: \"继续付款\"\n });\n }\n if (_this7.orderContet.orderStatus == 0) {\n _this7.customButton.push({\n width: \"160rpx\",\n text: \"取消订单\",\n color: \"#333\",\n backgroundColor: \"#f0f0f0\"\n });\n }\n\n // var seconds = res.result.timestamp + 30 * 60 + 2 // 过期时间\n // var nowSeconds = Math.floor(new Date().getTime() / 1000);\n // res.result.overTime = seconds - nowSeconds\n\n //this.userRecordid = res.userRecordid\n // this.productIDs = res.data.goodsList.map((item) => {\n // return item.buyOrderProductId;\n // });\n // console.log(this.orderContet,'this.orderContet')\n if (_this7.orderContet.orderStatus == 0) {\n _this7.titleStat = \"待支付\";\n } else if (_this7.orderContet.orderStatus == 1) {\n _this7.titleStat = \"待发货\";\n } else if (_this7.orderContet.orderStatus == 2) {\n _this7.titleStat = \"待收货\";\n } else if (_this7.orderContet.orderStatus == 3) {\n _this7.titleStat = \"已完成\";\n }\n if (_this7.orderContet.orderStatus >= 2 && _this7.orderContet.orderType == \"order\" && _this7.orderContet.expressOrders) {\n _this7.sheetList = _this7.orderContet.expressOrders;\n } else {\n _this7.sheetList = [];\n }\n __f__(\"log\", _this7.orderContet, \"订单详情\", \" at pages/bookShop/orderLCont.vue:1170\");\n case 15:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n return function (_x2) {\n return _ref2.apply(this, arguments);\n };\n }());\n case 3:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n // 取消订单\n canceOrder: function canceOrder() {\n var _this8 = this;\n uni.showModal({\n title: \"提示\",\n content: \"确定要取消订单吗?\",\n confirmText: \"取消订单\",\n cancelText: \"考虑一下\",\n confirmColor: \"#c96713\",\n cancelColor: \"#555\",\n success: function success(res) {\n if (res.confirm) {\n _this8.$http.post(\"book/buyOrder/appDelete?orderId=\" + _this8.orderContet.orderId).then(function (res) {\n uni.showToast({\n icon: \"none\",\n title: \"取消订单成功\"\n });\n uni.switchTab({\n url: \"./orderList\"\n });\n });\n }\n }\n });\n },\n // 支付\n goPay: function goPay(payItem) {\n var _this9 = this;\n __f__(\"log\", payItem, \"订单数据\", \" at pages/bookShop/orderLCont.vue:1205\");\n if (payItem.paymentMethod == 2) {\n __f__(\"log\", \"阿里支付\", \" at pages/bookShop/orderLCont.vue:1207\");\n (0, _utils.setPay)({\n typePay: \"alipay\",\n subject: \"order\",\n totalAmount: payItem.realMoney,\n type: 2,\n relevanceoid: payItem.orderSn,\n customerId: this.userInfo.id\n }, function (res) {\n if (res.success) {\n uni.showToast({\n title: \"支付成功\"\n });\n } else {\n uni.showToast({\n title: \"支付失败\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n }\n _this9.getOrderList();\n });\n } else if (payItem.paymentMethod == 1) {\n __f__(\"log\", \"微信支付\", \" at pages/bookShop/orderLCont.vue:1233\");\n // console.log(this.isAndorid)\n if (this.isAndorid == false) {\n uni.showModal({\n title: \"提示\",\n content: \"很抱歉,苹果系统暂不支持微信支付\",\n showCancel: false\n });\n return false;\n } else {\n var data1 = {\n orderSn: payItem.orderSn,\n buyOrderId: null,\n totalAmount: payItem.realMoney\n };\n __f__(\"log\", data1, \"data1\", \" at pages/bookShop/orderLCont.vue:1248\");\n (0, _utils.setWXPay)(data1, function (res) {\n if (res.success) {\n uni.showToast({\n title: \"支付成功\"\n });\n } else {\n __f__(\"log\", res, \" at pages/bookShop/orderLCont.vue:1255\");\n if (res.data.errMsg.indexOf(\"User canceled\") != -1) {\n uni.showToast({\n title: \"用户取消支付\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n } else {\n uni.showToast({\n title: \"支付失败\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n }\n }\n });\n }\n } else if (payItem.paymentMethod == 3) {\n // 苹果充值\n __f__(\"log\", \"苹果二次支付\", \" at pages/bookShop/orderLCont.vue:1274\");\n uni.showModal({\n content: \"apple内购订单不支持继续支付,请重新发起支付申请并完成支付\",\n confirmText: \"好的\",\n showCancel: false\n });\n }\n },\n // 商品内容跳转\n goDetail: function goDetail(id, data) {\n __f__(\"log\", \"data at line 1277:订单详情参数\", data, \" at pages/bookShop/orderLCont.vue:1285\");\n if (data.delFlag == -1) {\n this.$commonJS.showToast(\"商品已下架\");\n } else if (data.goodsType == \"05\") {\n if (data.courseIds && data.courseIds.length > 0) {\n uni.navigateTo({\n url: \"/pages/course/courseDetail?id=\".concat(data.courseIds[0].courseId)\n });\n } else {\n uni.showToast({\n title: \"课程数据出错\",\n icon: \"none\"\n });\n }\n } else {\n uni.navigateTo({\n // url: '../bookShop/commodityDetail?id=' + item.id\n url: \"/pages/goods/index/index?navTitle=''&title=''&id=\".concat(id)\n });\n }\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 62)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYm9va1Nob3Avb3JkZXJMQ29udC52dWUiXSwibmFtZXMiOlsiZGF0YSIsIkEiLCJvcmRlcklkIiwib3JkZXJTbiIsInVzZXJJZCIsInVzZXJOYW1lIiwic3RhdHVzTnVtIiwic2hpcHBpbmdVc2VyIiwidXNlclBob25lIiwicHJvdmluY2UiLCJjaXR5IiwiZGlzdHJpY3QiLCJhZGRyZXNzIiwiY29tZSIsInBheW1lbnRNZXRob2QiLCJvcmRlck1vbmV5IiwiZGlzdHJpY3RNb25leSIsInJlYWxNb25leSIsInNoaXBwaW5nTW9uZXkiLCJzaGlwcGluZ0NvbXBOYW1lIiwic2hpcHBpbmdTbiIsImpmRGVkdWN0aW9uIiwiY3JlYXRlVGltZSIsInNoaXBwaW5nVGltZSIsIm9yZGVyU3RhdHVzIiwic3VjY2Vzc1RpbWUiLCJjb3Vwb25JZCIsImNvdXBvbk5hbWUiLCJkZWxGbGFnIiwicHJvZHVjdHMiLCJwcm9kdWN0TGlzdCIsImJ1eVR5cGUiLCJvcmRlclR5cGUiLCJleHBObyIsImlzU2VuZCIsInZpcEJ1eUNvbmZpZ0lkIiwiYWRkcmVzc0lkIiwicmVtYXJrIiwib3JkZXJDb2RlIiwicGF5bWVudERhdGUiLCJwcm9kdWN0SWQiLCJyZWNvcmRJZCIsInRpbWVzdGFtcCIsInVzZXIiLCJleHByZXNzTGlzdCIsImFkZHJlc3NNb2RpZmllZCIsImNvbnNpZ25lZVZvIiwiYXBwTmFtZSIsImJvb2tCdXlDb25maWdFbnRpdHkiLCJwcmljZVR5cGVJZCIsInR5cGUiLCJxdWRhbyIsIm1vbmV5IiwiZ2l2ZWpmIiwibW9udGgiLCJkZXNjcmlwdGlvbiIsImVmZmVjdGl2ZSIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJ2aXBCdXlDb25maWdFbnRpdHkiLCJpY29uTGlzdCIsInRleHQiLCJpY29uVHlwZSIsImljb24iLCJpbmZvQ29sb3IiLCJ1c2VyUmVjb3JkaWQiLCJwbGF5RGF0YSIsInRpdGxlIiwiaXNTaG93RW1qIiwiZW1vamlJY29uIiwibWVzc2FnZSIsIndpbmRvd1dpZHRoIiwid2luZG93SGVpZ2h0IiwiUGZvcm0iLCJzdGFyIiwiY29tbWVudCIsImltZyIsImh0bWwiLCJwaW5nSUQiLCJwcm9kdWN0SUQiLCJpbWFnZVN0eWxlcyIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyIiwiY29sb3IiLCJzdHlsZSIsInJhZGl1cyIsInBpbmdqaWFTaG93IiwibG9naXN0aWNzRGF0YSIsInRpdGxlU3RhdCIsIm9yZGVySUQiLCJvcmRlckNvbnRldCIsImdvb2RzTGlzdCIsImRlbGl2ZXJEZXRhaWxzIiwiVHJhY2VzIiwiZGVsaXZlckRldGFpbHNMZW5ndGgiLCJlbW9qaSIsIkZpbGVzIiwicGpUeXBlIiwic2hlZXRMaXN0IiwiY29uc2lnbmVlU2hvdyIsInNoZWV0TGlzdFNob3ciLCJjdXN0b21CdXR0b24iLCJvbkxvYWQiLCJvbkhpZGUiLCJvblNob3ciLCJjb21wb25lbnRzIiwiZW1vdGlvbiIsIm11c2ljUGxheSIsImNvbXB1dGVkIiwibWV0aG9kcyIsImdvdG9Xb3JrT3JkZXIiLCJ1bmkiLCJ1cmwiLCJnb0J1eUppZSIsImNsaWNrSWNvbiIsImNvcHlEYXRhIiwic3VjY2VzcyIsInNlZUV4cHJlc3NEZXRhaWxzIiwiaXRlbSIsImNvdW50RG93biIsImhhbmRsZUVtaiIsInRhZyIsIm5hbWUiLCJzaG93Wmh1aXBpbmciLCJ6aHVpcGluZyIsIm9pZCIsImJvb2tpZCIsImNvblRlbnQiLCIkaHR0cCIsInJlcXVlc3QiLCJtZXRob2QiLCJoZWFkZXIiLCJ0aGVuIiwic2V0VGltZW91dCIsImRlbHRhIiwidGV4dGFyZWFCSW5wdXQiLCJzaG93RW1qIiwiSW5wdXRCbHVyIiwiSW5wdXRGb2N1cyIsImRlbGV0ZUltZyIsImdldFN0YXIiLCJzZWxlY3QiLCJ1cFN1Y2Nlc3MiLCJnZXRIdG1sQ29tbWVudCIsInNzIiwiZGVsZXRlUGljIiwidGhhdCIsImFmdGVyUmVhZCIsImZpbGVQYXRoIiwiZm9ybURhdGEiLCJjbG9zZVBpbmdqaWEiLCJzdWJtaXRQSiIsInVzZXJpZCIsImNvbnRlbnQiLCJzdGFyTGV2ZWwiLCJpbWFnZXMiLCJwaW5namkiLCJrZWZ1Iiwic2VlRXhwcmVzc0RldGFpbCIsImhhbmRsZUNvcHkiLCJvblBhZ2VKdW1wIiwiT3Zlck9yZGVyIiwiZHVyYXRpb24iLCJvcmRlclRhYkNMaSIsImdldENvdXBvbkRldGFpbCIsImlkIiwicmVzIiwiY2F0Y2giLCJnZXRPcmRlckxpc3QiLCJiYWNrZ3JvdW5kQ29sb3IiLCJjYW5jZU9yZGVyIiwiY29uZmlybVRleHQiLCJjYW5jZWxUZXh0IiwiY29uZmlybUNvbG9yIiwiY2FuY2VsQ29sb3IiLCJwb3N0IiwiZ29QYXkiLCJ0eXBlUGF5Iiwic3ViamVjdCIsInRvdGFsQW1vdW50IiwicmVsZXZhbmNlb2lkIiwiY3VzdG9tZXJJZCIsImltYWdlIiwic2hvd0NhbmNlbCIsImJ1eU9yZGVySWQiLCJnb0RldGFpbCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUEwaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBQTtBQUFBO0FBQUEsZUFDQTtFQUNBQTtJQUNBO01BQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1VBQ0FDO1VBQ0FDO1VBQ0FDO1VBQ0FsQztVQUNBbUM7VUFDQUM7VUFDQUM7VUFDQUM7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBQztNQUNBO01BQ0FDLFdBQ0E7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQSxFQUNB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QUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiNTIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDx2aWV3XHJcbiAgICBjbGFzcz1cImNvbnRhaW5lciBjb21tb25QYWdlQm94IGNvbW1vbkRldGFpbFBhZ2VcIlxyXG4gICAgc3R5bGU9XCJiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmN2ZiXCJcclxuICA+XHJcbiAgICA8IS0tIOWFrOWFsee7hOS7ti3mr4/kuKrpobXpnaLlv4XpobvlvJXlhaUgLS0+XHJcbiAgICA8cHVibGljLW1vZHVsZT48L3B1YmxpYy1tb2R1bGU+XHJcbiAgICA8ei1uYXYtYmFyIHRpdGxlPVwi6K6i5Y2V6K+m5oOFXCIgYmdDb2xvcj1cIiMyNThmZWJcIiBmb250Q29sb3I9XCIjZmZmXCI+IDwvei1uYXYtYmFyPlxyXG5cclxuICAgIDx2aWV3PlxyXG4gICAgICA8dmlldyBzdHlsZT1cInBhZGRpbmc6IDIwcnB4XCI+XHJcbiAgICAgICAgPHZpZXdcclxuICAgICAgICAgIHYtaWY9XCJcclxuICAgICAgICAgICAgb3JkZXJDb250ZXQub3JkZXJUeXBlICE9ICdwb2ludCcgJiZcclxuICAgICAgICAgICAgb3JkZXJDb250ZXQuYWRkcmVzc0lkICE9IDAgJiZcclxuICAgICAgICAgICAgb3JkZXJDb250ZXQuYWRkcmVzc0lkICE9IG51bGxcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgICBjbGFzcz1cIm9yZGVyX3RvcCBjb21tb25fcmFkaXVzX2JveCBjb2xvcl9zaGFuZG93IGdvb2RzX2JveCBhZGRyZXNzX2JveFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHUtaWNvblxyXG4gICAgICAgICAgICBuYW1lPVwibWFwLWZpbGxcIlxyXG4gICAgICAgICAgICBjb2xvcj1cIiMyNThmZWJcIlxyXG4gICAgICAgICAgICBzaXplPVwiMjNcIlxyXG4gICAgICAgICAgICBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1ibG9jazsgbWFyZ2luLXJpZ2h0OiAxMHJweFwiXHJcbiAgICAgICAgICA+PC91LWljb24+XHJcbiAgICAgICAgICA8IS0tIDx2aWV3IGNsYXNzPVwiY3Vycml1bHVtX3RpdGxlX2JveCBnb29kc19pdGVtXCI+IC0tPlxyXG5cclxuICAgICAgICAgIDx2aWV3IGNsYXNzPVwibm9ybWFsX2JveFwiPlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cIm5vcm1hbF9ib3hfdG9wXCI+XHJcbiAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJjdXJyaXVsdW1fdGl0bGVcIlxyXG4gICAgICAgICAgICAgICAgPnt7IG9yZGVyQ29udGV0LnByb3ZpbmNlIH19XHJcbiAgICAgICAgICAgICAgICB7eyBvcmRlckNvbnRldC5jaXR5IH19XHJcbiAgICAgICAgICAgICAgICB7eyBvcmRlckNvbnRldC5jb3VudHkgfX1cclxuICAgICAgICAgICAgICAgIHt7IG9yZGVyQ29udGV0LmFkZHJlc3MgfX08L3ZpZXdcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJ1c2VyX2luZm9cIj5cclxuICAgICAgICAgICAgICAgIDx0ZXh0IGNsYXNzPVwibmFtZVwiPlxyXG4gICAgICAgICAgICAgICAgICB7eyBvcmRlckNvbnRldC5zaGlwcGluZ1VzZXIgfX1cclxuICAgICAgICAgICAgICAgIDwvdGV4dD5cclxuICAgICAgICAgICAgICAgIDx0ZXh0IGNsYXNzPVwidGVsXCI+XHJcbiAgICAgICAgICAgICAgICAgIHt7IG9yZGVyQ29udGV0LnVzZXJQaG9uZSB9fVxyXG4gICAgICAgICAgICAgICAgPC90ZXh0PlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPC92aWV3PlxyXG5cclxuICAgICAgICAgIDwhLS0gPC92aWV3PiAtLT5cclxuICAgICAgICA8L3ZpZXc+XHJcbiAgICAgIDwvdmlldz5cclxuXHJcbiAgICAgIDx2aWV3IGNsYXNzPVwib3JkZXJMaXN0XCIgdi1pZj1cImNvbnNpZ25lZVNob3dcIj5cclxuICAgICAgICA8dmlld1xyXG4gICAgICAgICAgY2xhc3M9XCJcIlxyXG4gICAgICAgICAgdi1pZj1cInNoZWV0TGlzdC5sZW5ndGggPiAxICYmIG9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID09IDJcIlxyXG4gICAgICAgICAgc3R5bGU9XCJcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDExMywgMjEzLCAxNjEpO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHJweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjBycHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI4cnB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHJweDtcclxuICAgICAgICAgIFwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAg6K6i5Y2V5bey6KKr5ouG5YiG5oiQIHt7IHNoZWV0TGlzdC5sZW5ndGggfX0g5Liq5YyF6KO5XHJcbiAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDx2aWV3IGNsYXNzPVwib3JkZXJJdGVtXCI+XHJcbiAgICAgICAgICA8dmlldyBjbGFzcz1cIlwiIHN0eWxlPVwicG9zaXRpb246IHJlbGF0aXZlOyBoZWlnaHQ6IDYwcnB4XCI+XHJcbiAgICAgICAgICAgIDx0ZXh0XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlclN0YXRlIG9yZGVyU3RhdGUwXCJcclxuICAgICAgICAgICAgICB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJTdGF0dXMgPT0gMFwiXHJcbiAgICAgICAgICAgICAgPuW+heaUr+S7mDwvdGV4dFxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx0ZXh0XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlclN0YXRlIG9yZGVyU3RhdGUxXCJcclxuICAgICAgICAgICAgICB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJTdGF0dXMgPT0gMVwiXHJcbiAgICAgICAgICAgICAgPuW+heWPkei0pzwvdGV4dFxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx0ZXh0XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlclN0YXRlIG9yZGVyU3RhdGUyXCJcclxuICAgICAgICAgICAgICB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJTdGF0dXMgPT0gMlwiXHJcbiAgICAgICAgICAgICAgPuW+heaUtui0pzwvdGV4dFxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx0ZXh0XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlclN0YXRlIG9yZGVyU3RhdGUzXCJcclxuICAgICAgICAgICAgICB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJTdGF0dXMgPT0gM1wiXHJcbiAgICAgICAgICAgICAgPuW3suWujOaIkDwvdGV4dFxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx0ZXh0XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlclN0YXRlIG9yZGVyU3RhdGU1XCJcclxuICAgICAgICAgICAgICB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJTdGF0dXMgPT0gNVwiXHJcbiAgICAgICAgICAgICAgPuW3sui2heaXtjwvdGV4dFxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICA8dmlld1xyXG4gICAgICAgICAgICBjbGFzcz1cIm9yZGVyQ29udGVudFwiXHJcbiAgICAgICAgICAgIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBnb29kc0xpc3RcIlxyXG4gICAgICAgICAgICA6a2V5PVwiaW5kZXhcIlxyXG4gICAgICAgICAgICBAY2xpY2s9XCJnb0RldGFpbChpdGVtLnByb2R1Y3RJZCwgaXRlbSlcIlxyXG4gICAgICAgICAgICB2LWlmPVwiZ29vZHNMaXN0Lmxlbmd0aCA+IDBcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8IS0tIDxpbWFnZSA6c3JjPVwiaXRlbS5wcm9kdWN0SW1hZ2VcIiBtb2RlPVwiXCIgPjwvaW1hZ2U+IC0tPlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cImZlbmdcIiBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IHYtaWY9XCJpdGVtLmRlbEZsYWcgPT0gLTFcIiBjbGFzcz1cImRlbGlzdGVkXCIgc3R5bGU9XCJcIlxyXG4gICAgICAgICAgICAgICAgPuW3suS4i+aetjwvdmlld1xyXG4gICAgICAgICAgICAgID5cclxuXHJcbiAgICAgICAgICAgICAgPCEtLSA8aW1hZ2VcclxuICAgICAgICAgICAgOnNyYz1cInNlbGVjdEdvb2RzRGF0YS5wcm9kdWN0SW1hZ2VzXCJcclxuICAgICAgICAgICAgbW9kZT1cImFzcGVjdEZpdFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiZ29vZHNfaW1hZ2VcIlxyXG4gICAgICAgICAgPjwvaW1hZ2U+IC0tPlxyXG4gICAgICAgICAgICAgIDxpbWFnZVxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiAxMDAlXCJcclxuICAgICAgICAgICAgICAgIHYtaWY9XCJpdGVtLnByb2R1Y3RJbWFnZXNcIlxyXG4gICAgICAgICAgICAgICAgOnNyYz1cIml0ZW0ucHJvZHVjdEltYWdlc1wiXHJcbiAgICAgICAgICAgICAgICBtb2RlPVwiYXNwZWN0Rml0XCJcclxuICAgICAgICAgICAgICA+PC9pbWFnZT5cclxuICAgICAgICAgICAgICA8dmlld1xyXG4gICAgICAgICAgICAgICAgdi1lbHNlXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogI2MwYzRjYztcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnJweDtcclxuICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0MHJweDtcclxuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgICAgID7mmoLml6DlsIHpnaLlm748L3ZpZXdcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvdmlldz5cclxuXHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiZ29vZHNfaW5mb1wiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiZmxleGJveCBpdGVtSmlhblwiPlxyXG4gICAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJib29rbmFtZWxlZnRcIj5cclxuICAgICAgICAgICAgICAgICAgPHRleHRcclxuICAgICAgICAgICAgICAgICAgICA6c3R5bGU9XCJgJHtpdGVtLmRlbEZsYWcgPT0gLTEgPyAnY29sb3I6I2MwYzRjYzsnIDogJyd9YFwiXHJcbiAgICAgICAgICAgICAgICAgICAgPnt7IGl0ZW0ucHJvZHVjdE5hbWUgfX08L3RleHRcclxuICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICAgICAgPHZpZXdcclxuICAgICAgICAgICAgICAgICAgc3R5bGU9XCJjb2xvcjogI2U5NzUxMjsgZm9udC1zaXplOiAyNnJweDsgZm9udC13ZWlnaHQ6IDcwMFwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDx2aWV3XHJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHJweDtcclxuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcnB4O1xyXG4gICAgICAgICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgICAgICDvv6V7eyBpdGVtLnByaWNlIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvdmlldz5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDx2aWV3IHN0eWxlPVwidGV4dC1hbGlnbjogcmlnaHQ7IGNvbG9yOiAjMzMzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgw5d7eyBpdGVtLnF1YW50aXR5ID8gaXRlbS5xdWFudGl0eSA6IFwiXCIgfX1cclxuICAgICAgICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICA8IS0tIDx2aWV3IGNsYXNzPVwiYnRucyBmbGV4Ym94XCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAxMHJweFwiPlxyXG4gICAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJsZWZ0XCIgc3R5bGU9XCJjb2xvcjogI2MwYzRjY1wiPjwvdmlldz5cclxuICAgICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwicmlnaHQgZmxleGJveCBvcGJ0bnNcIiBzdHlsZT1cImNvbG9yOiAjYzBjNGNjXCI+XHJcbiAgICAgICAgICAgICAgICAgIMOXe3sgaXRlbS5xdWFudGl0eSA/IGl0ZW0ucXVhbnRpdHkgOiBcIlwiIH19XHJcbiAgICAgICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgICAgPC92aWV3PiAtLT5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG5cclxuICAgICAgICAgICAgPCEtLSA8dmlldyBjbGFzcz1cIm9yZGVyT3BlclwiIHYtaWY9XCJvcmRlckNvbnRldC5vcmRlclN0YXR1cz09JzMnXCI+IC0tPlxyXG4gICAgICAgICAgICA8IS0tIDx2aWV3IGNsYXNzPVwib3JkZXJPcGVyXCIgdi1pZj1cIml0ZW0ub3JkZXJTdGF0dXMgPT0gM1wiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IHN0eWxlPVwid2lkdGg6IDEwMCU7IHRleHQtYWxpZ246IHJpZ2h0XCI+XHJcbiAgICAgICAgICAgICAgICA8dmlld1xyXG4gICAgICAgICAgICAgICAgICB2LWlmPVwidXNlclJlY29yZGlkID09IG51bGxcIlxyXG4gICAgICAgICAgICAgICAgICBAY2xpY2suc3RvcD1cInBpbmdqaShpdGVtLnByb2R1Y3RJZClcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm9wQ2FuXCJcclxuICAgICAgICAgICAgICAgICAgPuivhOS7tzwvdmlld1xyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHZpZXdcclxuICAgICAgICAgICAgICAgICAgdi1lbHNlXHJcbiAgICAgICAgICAgICAgICAgIEBjbGljay5zdG9wPVwic2hvd1podWlwaW5nKGl0ZW0ucHJvZHVjdElkKVwiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwib3BDYW5cIlxyXG4gICAgICAgICAgICAgICAgICA+6L+96K+EPC92aWV3XHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8L3ZpZXc+IC0tPlxyXG5cclxuICAgICAgICAgICAgPGJyIGNsZWFyPVwiYm90aFwiIC8+XHJcbiAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICA8dmlldyBjbGFzcz1cIm9yZGVyQ29udGVudFwiIHYtaWY9XCJvcmRlckNvbnRldC5vcmRlclR5cGUgPT0gJ3JlbGVhcm4nXCI+XHJcbiAgICAgICAgICAgIDxpbWFnZVxyXG4gICAgICAgICAgICAgIHNyYz1cIi9zdGF0aWMvaWNvbi9mdWdvdS5wbmdcIlxyXG4gICAgICAgICAgICAgIG1vZGU9XCJhc3BlY3RGaWxsXCJcclxuICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDBycHg7IGhlaWdodDogMTAwcnB4XCJcclxuICAgICAgICAgICAgPjwvaW1hZ2U+XHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiaXRlbUppYW5cIj5cclxuICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cIm9yZGVyVGl0bGVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMDBycHhcIj5cclxuICAgICAgICAgICAgICAgIDx0ZXh0Pnt7IG9yZGVyQ29udGV0LnJlbWFyayB9fTwvdGV4dD5cclxuICAgICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJvcmRlclByaWNlXCI+XHJcbiAgICAgICAgICAgICAgICA8dGV4dCBzdHlsZT1cImZvbnQtd2VpZ2h0OiBib2xkXCI+PC90ZXh0PlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICA8YnIgY2xlYXI9XCJib3RoXCIgLz5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8YnIgY2xlYXI9XCJib3RoXCIgLz5cclxuICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgIDx2aWV3IGNsYXNzPVwib3JkZXJDb250ZW50XCIgdi1pZj1cIm9yZGVyQ29udGV0Lm9yZGVyVHlwZSA9PSAndmlwJ1wiPlxyXG4gICAgICAgICAgICA8aW1hZ2VcclxuICAgICAgICAgICAgICBzcmM9XCIvc3RhdGljL2ljb24vdmlwLnBuZ1wiXHJcbiAgICAgICAgICAgICAgbW9kZT1cImFzcGVjdEZpbGxcIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwid2lkdGg6IDEwMHJweDsgaGVpZ2h0OiAxMDBycHhcIlxyXG4gICAgICAgICAgICA+PC9pbWFnZT5cclxuICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJpdGVtSmlhblwiPlxyXG4gICAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwib3JkZXJUaXRsZVwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDEwMHJweFwiPlxyXG4gICAgICAgICAgICAgICAgPHRleHQ+e3sgb3JkZXJDb250ZXQudmlwQnV5Q29uZmlnRW50aXR5LnRpdGxlIH19PC90ZXh0PlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cIm9yZGVyUHJpY2VcIj5cclxuICAgICAgICAgICAgICAgIDx0ZXh0IHN0eWxlPVwiZm9udC13ZWlnaHQ6IGJvbGRcIj48L3RleHQ+XHJcbiAgICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICAgIDxiciBjbGVhcj1cImJvdGhcIiAvPlxyXG4gICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgIDxiciBjbGVhcj1cImJvdGhcIiAvPlxyXG4gICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPHZpZXdcclxuICAgICAgICAgICAgY2xhc3M9XCJvcmRlckNvbnRlbnRcIlxyXG4gICAgICAgICAgICB2LWVsc2UtaWY9XCJvcmRlckNvbnRldC5vcmRlclR5cGUgPT0gJ3BvaW50J1wiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxpbWFnZVxyXG4gICAgICAgICAgICAgIHNyYz1cIi9zdGF0aWMvaWNvbi9wYXlfMy5wbmdcIlxyXG4gICAgICAgICAgICAgIG1vZGU9XCJhc3BlY3RGaWxsXCJcclxuICAgICAgICAgICAgICBzdHlsZT1cIndpZHRoOiAxMDBycHg7IGhlaWdodDogMTAwcnB4XCJcclxuICAgICAgICAgICAgPjwvaW1hZ2U+XHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiaXRlbUppYW5cIj5cclxuICAgICAgICAgICAgICA8dmlldyBjbGFzcz1cIm9yZGVyVGl0bGVcIiBzdHlsZT1cImxpbmUtaGVpZ2h0OiAxMDBycHhcIj5cclxuICAgICAgICAgICAgICAgIDx0ZXh0XHJcbiAgICAgICAgICAgICAgICAgID7lhYXlgLwge3sgb3JkZXJDb250ZXQuYm9va0J1eUNvbmZpZ0VudGl0eS5tb25leSB9feWkqeWMu+W4gTwvdGV4dFxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDwvdmlldz5cclxuXHJcbiAgICAgICAgICAgICAgPGJyIGNsZWFyPVwiYm90aFwiIC8+XHJcbiAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgPGJyIGNsZWFyPVwiYm90aFwiIC8+XHJcbiAgICAgICAgICA8L3ZpZXc+XHJcblxyXG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJvcmRlcl9pdGVtXCIgc3R5bGU9XCJcIj5cclxuICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJvcmRlcmFsbHByaVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM2NjY7IG1hcmdpbi1yaWdodDogMTBycHg7IGZsb2F0OiBsZWZ0XCJcclxuICAgICAgICAgICAgICAgID7llYblk4HmgLvku7cgOlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgPHNwYW4gdi1pZj1cIm9yZGVyQ29udGV0Lm9yZGVyVHlwZSA9PSAncG9pbnQnXCJcclxuICAgICAgICAgICAgICAgID7vv6Uge3sgb3JkZXJDb250ZXQuYm9va0J1eUNvbmZpZ0VudGl0eS5yZWFsTW9uZXkgfX08L3NwYW5cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gdi1lbHNlPu+/pSB7eyBvcmRlckNvbnRldC5vcmRlck1vbmV5IH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwib3JkZXJSZWFsXCIgdi1pZj1cIm9yZGVyQ29udGV0Lm9yZGVyVHlwZSA9PSAnb3JkZXInXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzY2NjsgbWFyZ2luLXJpZ2h0OiAxMHJweDsgZmxvYXQ6IGxlZnRcIlxyXG4gICAgICAgICAgICAgICAgPui/kOi0uSA6XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuPu+/pTwvc3Bhbj57eyBvcmRlckNvbnRldC5zaGlwcGluZ01vbmV5IH19XHJcbiAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgPHZpZXdcclxuICAgICAgICAgICAgICBjbGFzcz1cIm9yZGVyUmVhbFwiXHJcbiAgICAgICAgICAgICAgdi1pZj1cIm9yZGVyQ29udGV0LmRpc3RyaWN0TW9uZXkgJiYgb3JkZXJDb250ZXQuZGlzdHJpY3RNb25leSA+IDBcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzY2NjsgbWFyZ2luLXJpZ2h0OiAxMHJweDsgZmxvYXQ6IGxlZnRcIj5cclxuICAgICAgICAgICAgICAgIOa0u+WKqOeri+WHjzpcclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogI2ZhMmQxMlwiXHJcbiAgICAgICAgICAgICAgICA+LSDvv6V7eyBvcmRlckNvbnRldC5kaXN0cmljdE1vbmV5IH19PC9zcGFuXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgIDx2aWV3XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlclJlYWxcIlxyXG4gICAgICAgICAgICAgIHYtaWY9XCJcclxuICAgICAgICAgICAgICAgIG9yZGVyQ29udGV0LnZpcERpc2NvdW50QW1vdW50ICYmXHJcbiAgICAgICAgICAgICAgICBvcmRlckNvbnRldC52aXBEaXNjb3VudEFtb3VudCA+IDBcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzY2NjsgbWFyZ2luLXJpZ2h0OiAxMHJweDsgZmxvYXQ6IGxlZnRcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgIHN0eWxlPVwiY29sb3I6ICNmOTRmMDQ7IGZvbnQtd2VpZ2h0OiBib2xkOyBtYXJnaW4tcmlnaHQ6IDJweFwiXHJcbiAgICAgICAgICAgICAgICAgID5WSVA8L3NwYW5cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIOS4k+S6q+eri+WHjzpcclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogI2ZhMmQxMlwiXHJcbiAgICAgICAgICAgICAgICA+LSDvv6V7eyBvcmRlckNvbnRldC52aXBEaXNjb3VudEFtb3VudCB9fTwvc3BhblxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8dmlld1xyXG4gICAgICAgICAgICAgIGNsYXNzPVwib3JkZXJSZWFsXCJcclxuICAgICAgICAgICAgICB2LWlmPVwib3JkZXJDb250ZXQuY291cG9uSWQgJiYgb3JkZXJDb250ZXQuY291cG9uSWQgIT0gbnVsbFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiAjNjY2OyBtYXJnaW4tcmlnaHQ6IDEwcnB4OyBmbG9hdDogbGVmdFwiXHJcbiAgICAgICAgICAgICAgICA+5LyY5oOg5Yi4IDpcclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4+LSDvv6U8L3NwYW4+e3sgb3JkZXJDb250ZXQuY291cG9uQW1vdW50IH19XHJcbiAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJvcmRlclJlYWxcIiB2LWlmPVwib3JkZXJDb250ZXQuamZEZWR1Y3Rpb24gPiAwXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzY2NjsgbWFyZ2luLXJpZ2h0OiAxMHJweDsgZmxvYXQ6IGxlZnRcIlxyXG4gICAgICAgICAgICAgICAgPuenr+WIhuaKteaJoyA6XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICNmYTJkMTJcIiB2LWlmPVwib3JkZXJDb250ZXQuamZEZWR1Y3Rpb24gPiAwXCJcclxuICAgICAgICAgICAgICAgID4tPC9zcGFuXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICNmYTJkMTJcIlxyXG4gICAgICAgICAgICAgICAgPu+/pSB7eyBvcmRlckNvbnRldC5qZkRlZHVjdGlvbiB9fTwvc3BhblxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG5cclxuICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJvcmRlclJlYWxcIiB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJTdGF0dXMgIT0gMFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM2NjY7IG1hcmdpbi1yaWdodDogMTBycHg7IGZsb2F0OiBsZWZ0XCJcclxuICAgICAgICAgICAgICAgID7lrp7ku5jmrL4gOlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8YiB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJUeXBlID09ICdwb2ludCdcIiBzdHlsZT1cImNvbG9yOiAjZGQzYzBjXCJcclxuICAgICAgICAgICAgICAgID7vv6Uge3sgb3JkZXJDb250ZXQuYm9va0J1eUNvbmZpZ0VudGl0eS5yZWFsTW9uZXkgfX08L2JcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGIgc3R5bGU9XCJjb2xvcjogI2RkM2MwY1wiXHJcbiAgICAgICAgICAgICAgICA+PHNwYW4+77+lPC9zcGFuPnt7IG9yZGVyQ29udGV0LnJlYWxNb25leSB9fTwvYlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJvcmRlcl9pdGVtXCI+XHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwib3JkZXJZdW5mXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzY2NjsgZmxvYXQ6IGxlZnRcIj7orqLljZXnvJblj7cgOiA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHRleHQgc3R5bGU9XCJmb250LXNpemU6IDI0cnB4OyBjb2xvcjogIzY2NlwiXHJcbiAgICAgICAgICAgICAgICA+e3sgb3JkZXJDb250ZXQub3JkZXJTbiB9fVxyXG4gICAgICAgICAgICAgIDwvdGV4dD5cclxuICAgICAgICAgICAgICA8dS10YWdcclxuICAgICAgICAgICAgICAgIEBjbGljaz1cImhhbmRsZUNvcHkob3JkZXJDb250ZXQub3JkZXJTbiwgJ+iuouWNlee8luWPtycpXCJcclxuICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yPVwiIzI1OGZlYlwiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cIiMyNThmZWJcIlxyXG4gICAgICAgICAgICAgICAgdGV4dD1cIuWkjeWItlwiXHJcbiAgICAgICAgICAgICAgICBwbGFpblxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJmbG9hdDogcmlnaHQ7IG1hcmdpbi1sZWZ0OiA1cnB4XCJcclxuICAgICAgICAgICAgICAgIHNpemU9XCJtaW5pXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcclxuICAgICAgICAgICAgICA+PC91LXRhZz5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cIm9yZGVyUmVhbFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM2NjY7IG1hcmdpbi1yaWdodDogMTBycHg7IGZsb2F0OiBsZWZ0XCJcclxuICAgICAgICAgICAgICAgID7liJvlu7rml7bpl7QgOlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8dGV4dCBzdHlsZT1cImZvbnQtc2l6ZTogMjRycHg7IGNvbG9yOiAjNjY2XCI+e3tcclxuICAgICAgICAgICAgICAgIG9yZGVyQ29udGV0LmNyZWF0ZVRpbWVcclxuICAgICAgICAgICAgICB9fTwvdGV4dD5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8dmlld1xyXG4gICAgICAgICAgICAgIGNsYXNzPVwib3JkZXJSZWFsXCJcclxuICAgICAgICAgICAgICB2LWlmPVwiXHJcbiAgICAgICAgICAgICAgICBvcmRlckNvbnRldC5vcmRlclN0YXR1cyA+PSAxICYmIG9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzICE9IDVcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzY2NjsgbWFyZ2luLXJpZ2h0OiAxMHJweDsgZmxvYXQ6IGxlZnRcIlxyXG4gICAgICAgICAgICAgICAgPuS7mOasvuaXtumXtCA6XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDx0ZXh0IHN0eWxlPVwiZm9udC1zaXplOiAyNHJweDsgY29sb3I6ICM2NjZcIj57e1xyXG4gICAgICAgICAgICAgICAgb3JkZXJDb250ZXQucGF5bWVudERhdGVcclxuICAgICAgICAgICAgICB9fTwvdGV4dD5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8dmlld1xyXG4gICAgICAgICAgICAgIGNsYXNzPVwib3JkZXJSZWFsXCJcclxuICAgICAgICAgICAgICB2LWlmPVwiXHJcbiAgICAgICAgICAgICAgICBvcmRlckNvbnRldC5wYXltZW50TWV0aG9kXHJcbiAgICAgICAgICAgICAgXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM2NjY7IG1hcmdpbi1yaWdodDogMTBycHg7IGZsb2F0OiBsZWZ0XCJcclxuICAgICAgICAgICAgICAgID7ku5jmrL7mlrnlvI8gOlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8dGV4dCBzdHlsZT1cImZvbnQtc2l6ZTogMjRycHg7IGNvbG9yOiAjNjY2XCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiAjNjY2XCIgdi1pZj1cIm9yZGVyQ29udGV0LnBheW1lbnRNZXRob2QgPT0gMVwiXHJcbiAgICAgICAgICAgICAgICAgID7lvq7kv6HmlK/ku5g8L3NwYW5cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM2NjZcIiB2LWlmPVwib3JkZXJDb250ZXQucGF5bWVudE1ldGhvZCA9PSAyXCJcclxuICAgICAgICAgICAgICAgICAgPuaUr+S7mOWuneaUr+S7mDwvc3BhblxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzY2NlwiIHYtaWY9XCJvcmRlckNvbnRldC5wYXltZW50TWV0aG9kID09IDNcIlxyXG4gICAgICAgICAgICAgICAgICA+6Iu55p6c5pSv5LuYPC9zcGFuXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiAjNjY2XCIgdi1pZj1cIm9yZGVyQ29udGV0LnBheW1lbnRNZXRob2QgPT0gNFwiXHJcbiAgICAgICAgICAgICAgICAgID7lpKnljLvluIHmlK/ku5g8L3NwYW5cclxuICAgICAgICAgICAgICAgID48L3RleHRcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgIDwvdmlldz5cclxuXHJcbiAgICAgICAgICA8IS0tIDx2aWV3IGNsYXNzPVwib3JkZXJSZWFsXCIgdi1pZj1cIm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID49IDIgJiYgb3JkZXJDb250ZXQub3JkZXJTdGF0dXMgIT0gNVwiPlxyXG5cdFx0XHRcdFx0PHNwYW4gc3R5bGU9XCJjb2xvcjogIzY2NjttYXJnaW4tcmlnaHQ6IDEwcnB4O2Zsb2F0OiBsZWZ0O1wiPuWPkei0p+aXtumXtCA6IDwvc3Bhbj5cclxuXHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwiZm9udC1zaXplOiAyNHJweDtjb2xvcjogIzY2NjtcIj57e29yZGVyQ29udGV0LnNoaXBwaW5nVGltZX19PC90ZXh0PlxyXG5cdFx0XHRcdDwvdmlldz4gLS0+XHJcbiAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDx2aWV3IGNsYXNzPVwiXCIgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7IHdpZHRoOiAxMDAlXCI+XHJcbiAgICAgICAgICA8dGV4dFxyXG4gICAgICAgICAgICBAY2xpY2s9XCJnb3RvV29ya09yZGVyXCJcclxuICAgICAgICAgICAgc3R5bGU9XCJjb2xvcjogY2FkZXRibHVlOyBmb250LXNpemU6IDI2cnB4XCJcclxuICAgICAgICAgICAgPuiuouWNleaciemXrumimO+8n+WOu+eUs+iviTwvdGV4dFxyXG4gICAgICAgICAgPlxyXG4gICAgICAgIDwvdmlldz5cclxuICAgICAgPC92aWV3PlxyXG4gICAgPC92aWV3PlxyXG4gICAgPHZpZXcgY2xhc3M9XCJnb29kc19uYXZfYm94XCI+XHJcbiAgICAgIDxjb21tb24tZ29vZHMtbmF2XHJcbiAgICAgICAgOmljb25MaXN0PVwiaWNvbkxpc3RcIlxyXG4gICAgICAgIDpjdXN0b21CdXR0b249XCJjdXN0b21CdXR0b25cIlxyXG4gICAgICAgIEBzdWJtaXQ9XCJnb0J1eUppZVwiXHJcbiAgICAgICAgQGNsaWNrSWNvbj1cImNsaWNrSWNvblwiXHJcbiAgICAgID5cclxuICAgICAgICA8IS0tIGxlZnRTbG90IC0tPlxyXG4gICAgICAgIDx0ZW1wbGF0ZSBzbG90PVwibGVmdFNsb3RcIiBzbG90LXNjb3BlPVwic2xvdFByb3BzXCI+XHJcbiAgICAgICAgICA8dmlld1xyXG4gICAgICAgICAgICBjbGFzcz1cInByaWNlX2JveCBvcmRlcl9ib3R0b21fYm94XCJcclxuICAgICAgICAgICAgdi1pZj1cIm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID09IDBcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8dGV4dCBjbGFzcz1cInByaWNlXCJcclxuICAgICAgICAgICAgICA+5ZCI6K6hOlxyXG4gICAgICAgICAgICAgIDx0ZXh0IGNsYXNzPVwidG90YWxcIiB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJUeXBlID09ICdwb2ludCdcIj5cclxuICAgICAgICAgICAgICAgIO+/pSB7eyBvcmRlckNvbnRldC5ib29rQnV5Q29uZmlnRW50aXR5LnJlYWxNb25leSB9fVxyXG4gICAgICAgICAgICAgIDwvdGV4dD5cclxuICAgICAgICAgICAgICA8dGV4dCBjbGFzcz1cInRvdGFsXCIgdi1lbHNlPu+/pXt7IG9yZGVyQ29udGV0LnJlYWxNb25leSB9fTwvdGV4dD5cclxuICAgICAgICAgICAgPC90ZXh0PlxyXG4gICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDwvdGVtcGxhdGU+XHJcbiAgICAgIDwvY29tbW9uLWdvb2RzLW5hdj5cclxuXHJcbiAgICAgIDwhLS0gPHVuaS1nb29kcy1uYXYgOmZpbGw9XCJ0cnVlXCIgOm9wdGlvbnM9XCJidXlPcHRpb25zXCIgOmJ1dHRvbi1ncm91cD1cImN1c3RvbUJ1dHRvbkdyb3VwMVwiIEBjbGljaz1cIm9uQ2xpY2tcIlxyXG4gICAgICAgICAgICAgICAgQGJ1dHRvbkNsaWNrPVwiYnV0dG9uQ2xpY2tcIiAvPiAtLT5cclxuICAgIDwvdmlldz5cclxuICAgIDwhLS0g5a+56K+d5qGGIC0tPlxyXG4gICAgPHUtcG9wdXAgOnNob3c9XCJwaW5namlhU2hvd1wiIDpyb3VuZD1cIjEwXCIgQGNsb3NlPVwiY2xvc2VQaW5namlhXCI+XHJcbiAgICAgIDx2aWV3IGNsYXNzPVwidGFuY2h1XCI+XHJcbiAgICAgICAgPHZpZXcgY2xhc3M9XCJkcF90aXRsZVwiIHYtaWY9XCJwalR5cGUgIT0gJ3podWlwaW5nJ1wiPua3u+WKoOivhOS7tzwvdmlldz5cclxuICAgICAgICA8dmlldyBjbGFzcz1cImRwX3RpdGxlXCIgdi1lbHNlPua3u+WKoOi/veivhDwvdmlldz5cclxuXHJcbiAgICAgICAgPHZpZXcgc3R5bGU9XCJtYXgtaGVpZ2h0OiAxMDAwcnB4OyBvdmVyZmxvdy15OiBzY3JvbGxcIj5cclxuICAgICAgICAgIDx1bmktZm9ybXMgOm1vZGVsVmFsdWU9XCJQZm9ybVwiPlxyXG4gICAgICAgICAgICA8IS0tIOivhOS7t+WbvueJhyAtLT5cclxuICAgICAgICAgICAgPCEtLSBlbmQgLS0+XHJcbiAgICAgICAgICAgIDwhLS0gPHVuaS1mb3Jtcy1pdGVtIG5hbWU9XCJjb21tZW50XCIgbGFiZWwtd2lkdGg9XCIwXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx1bmktZWFzeWlucHV0IHR5cGU9XCJ0ZXh0YXJlYVwiIHYtbW9kZWw9XCJQZm9ybS5jb21tZW50XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXmgqjnmoTllYblk4Hor4Tku7dcIiAgLz5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdW5pLWZvcm1zLWl0ZW0+XHRcdCAtLT5cclxuICAgICAgICAgIDwvdW5pLWZvcm1zPlxyXG4gICAgICAgICAgPCEtLSA8dS1idXR0b24gdHlwZT1cInN1Y2Nlc3NcIiBAY2xpY2s9XCJzdWJtaXRQSlwiPuaPkOS6pOivhOS7tzwvdS1idXR0b24+IC0tPlxyXG4gICAgICAgICAgPCEtLSDmj5DkuqQgLS0+XHJcbiAgICAgICAgICA8dmlld1xyXG4gICAgICAgICAgICBjbGFzcz1cInBhZGRpbmctYm90dG9tLXNtIGZsZXggcGFkZGluZy1sci1zbVwiXHJcbiAgICAgICAgICAgIHN0eWxlPVwiYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWVcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cIm1iMzBcIiB2LWlmPVwicGpUeXBlICE9ICd6aHVpcGluZydcIj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgOmNsYXNzPVwiWydzdGFyJywgUGZvcm0uc3RhciA+PSAxID8gJ3N0YXJMaWdodCcgOiAnc3RhckdyYXknXVwiXHJcbiAgICAgICAgICAgICAgICBAY2xpY2s9XCJnZXRTdGFyKDEpXCJcclxuICAgICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICA6Y2xhc3M9XCJbJ3N0YXInLCBQZm9ybS5zdGFyID49IDIgPyAnc3RhckxpZ2h0JyA6ICdzdGFyR3JheSddXCJcclxuICAgICAgICAgICAgICAgIEBjbGljaz1cImdldFN0YXIoMilcIlxyXG4gICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIDpjbGFzcz1cIlsnc3RhcicsIFBmb3JtLnN0YXIgPj0gMyA/ICdzdGFyTGlnaHQnIDogJ3N0YXJHcmF5J11cIlxyXG4gICAgICAgICAgICAgICAgQGNsaWNrPVwiZ2V0U3RhcigzKVwiXHJcbiAgICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgOmNsYXNzPVwiWydzdGFyJywgUGZvcm0uc3RhciA+PSA0ID8gJ3N0YXJMaWdodCcgOiAnc3RhckdyYXknXVwiXHJcbiAgICAgICAgICAgICAgICBAY2xpY2s9XCJnZXRTdGFyKDQpXCJcclxuICAgICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICA6Y2xhc3M9XCJbJ3N0YXInLCBQZm9ybS5zdGFyID49IDUgPyAnc3RhckxpZ2h0JyA6ICdzdGFyR3JheSddXCJcclxuICAgICAgICAgICAgICAgIEBjbGljaz1cImdldFN0YXIoNSlcIlxyXG4gICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJtYjMwXCIgdi1pZj1cInBqVHlwZSAhPSAnemh1aXBpbmcnXCI+XHJcbiAgICAgICAgICAgICAgPCEtLSA8dW5pLWZpbGUtcGlja2VyIDphdXRvLXVwbG9hZD1cImZhbHNlXCIgcmVmPVwiZmlsZXNcIiBAZGVsZXRlPVwiZGVsZXRlSW1nXCIgbGltaXQ9XCI1XCIgQHN1Y2Nlc3M9XCJ1cFN1Y2Nlc3NcIiBAc2VsZWN0PVwic2VsZWN0XCIgdi1tb2RlbD1cIlBmb3JtLmltZ1wiIGZpbGVNZWRpYXR5cGU9XCJpbWFnZVwiIDppbWFnZS1zdHlsZXM9XCJpbWFnZVN0eWxlc1wiLz4gLS0+XHJcbiAgICAgICAgICAgICAgPHUtdXBsb2FkXHJcbiAgICAgICAgICAgICAgICA6ZmlsZUxpc3Q9XCJQZm9ybS5pbWdcIlxyXG4gICAgICAgICAgICAgICAgQGFmdGVyUmVhZD1cImFmdGVyUmVhZFwiXHJcbiAgICAgICAgICAgICAgICBAZGVsZXRlPVwiZGVsZXRlUGljXCJcclxuICAgICAgICAgICAgICAgIG11bHRpcGxlXHJcbiAgICAgICAgICAgICAgICA6bWF4Q291bnQ9XCI0XCJcclxuICAgICAgICAgICAgICAgIHdpZHRoPVwiODBcIlxyXG4gICAgICAgICAgICAgICAgaGVpZ2h0PVwiODBcIlxyXG4gICAgICAgICAgICAgICAgOnByZXZpZXdGdWxsSW1hZ2U9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC91LXVwbG9hZD5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cImZsZXgtc3ViIGZsZXhib3hcIj5cclxuICAgICAgICAgICAgICA8aSBAY2xpY2s9XCJzaG93RW1qKClcIiA6Y2xhc3M9XCJlbW9qaUljb25cIj48L2k+XHJcbiAgICAgICAgICAgICAgPCEtLSA8aW5wdXQgdHlwZT1cInRleHRcIiBAZm9jdXM9XCJJbnB1dEZvY3VzXCIgQGJsdXI9XCJJbnB1dEJsdXJcIiB2LW1vZGVsPVwibWVzc2FnZVwiICBAaW5wdXQ9XCJ0ZXh0YXJlYUJJbnB1dFwiICBwbGFjZWhvbGRlci1zdHlsZT1cImZvbnQtc2l6ZToyNHJweDtjb2xvcjojYWFhYWFhO1wiICBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaCqOimgeWPkemAgeeahOWGheWuuVwiPjwvaW5wdXQ+IC0tPlxyXG4gICAgICAgICAgICAgIDx0ZXh0YXJlYVxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0YXJlYVwiXHJcbiAgICAgICAgICAgICAgICB2LW1vZGVsPVwiUGZvcm0uY29tbWVudFwiXHJcbiAgICAgICAgICAgICAgICBAZm9jdXM9XCJJbnB1dEZvY3VzXCJcclxuICAgICAgICAgICAgICAgIEBibHVyPVwiSW5wdXRCbHVyXCJcclxuICAgICAgICAgICAgICAgIEBpbnB1dD1cInRleHRhcmVhQklucHV0XCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyLXN0eWxlPVwiZm9udC1zaXplOjI0cnB4O2NvbG9yOiNhYWFhYWE7XCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5oKo6KaB5Y+R6YCB55qE5YaF5a65XCJcclxuICAgICAgICAgICAgICA+PC90ZXh0YXJlYT5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgIDwhLS0gPGJ1dHRvbiBjbGFzcz1cImN1LWJ0biBiZy1ncmFkdWFsLWJsdWUgc2hhZG93LWJsdXJcIj7lj5HpgIE8L2J1dHRvbj4gLS0+XHJcbiAgICAgICAgICAgICAgPHUtYnV0dG9uXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwic3VjY2Vzc1wiXHJcbiAgICAgICAgICAgICAgICBAY2xpY2s9XCJzdWJtaXRQSlwiXHJcbiAgICAgICAgICAgICAgICB2LWlmPVwicGpUeXBlICE9ICd6aHVpcGluZydcIlxyXG4gICAgICAgICAgICAgICAgPuaPkOS6pOivhOS7tzwvdS1idXR0b25cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHUtYnV0dG9uIHR5cGU9XCJzdWNjZXNzXCIgQGNsaWNrPVwiemh1aXBpbmdcIiB2LWVsc2VcclxuICAgICAgICAgICAgICAgID7mj5DkuqTov73or4Q8L3UtYnV0dG9uXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICA8L3ZpZXc+XHJcblxyXG4gICAgICAgICAgPHZpZXcgc3R5bGU9XCJwb3NpdGlvbjogcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgPGVtb3Rpb25cclxuICAgICAgICAgICAgICBAZW1vdGlvbj1cImhhbmRsZUVtalwiXHJcbiAgICAgICAgICAgICAgOmhlaWdodD1cIjIyMFwiXHJcbiAgICAgICAgICAgICAgdi1pZj1cImlzU2hvd0VtalwiXHJcbiAgICAgICAgICAgICAgOndpbmRvd1dpZHRoPVwid2luZG93V2lkdGhcIlxyXG4gICAgICAgICAgICA+PC9lbW90aW9uPlxyXG4gICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDwvdmlldz5cclxuICAgICAgPC92aWV3PlxyXG4gICAgPC91LXBvcHVwPlxyXG4gICAgPHUtcG9wdXBcclxuICAgICAgbW9kZT1cImJvdHRvbVwiXHJcbiAgICAgIDpzaG93PVwic2hlZXRMaXN0U2hvd1wiXHJcbiAgICAgIDpyb3VuZD1cIjEwXCJcclxuICAgICAgQGNsb3NlPVwic2hlZXRMaXN0U2hvdyA9IGZhbHNlXCJcclxuICAgID5cclxuICAgICAgPHZpZXdcclxuICAgICAgICBjbGFzcz1cInRhbmNodSBleHByZXNzbGlzdFwiXHJcbiAgICAgICAgc3R5bGU9XCJoZWlnaHQ6IDUwMHJweDsgb3ZlcmZsb3cteTogc2Nyb2xsXCJcclxuICAgICAgPlxyXG4gICAgICAgIDx2aWV3IGNsYXNzPVwidGl0bGVcIj4g6K+36YCJ5oup6KaB5p+l55yL5YyF6KO5IDwvdmlldz5cclxuICAgICAgICA8dmlldyBjbGFzcz1cImxpc3RcIj5cclxuICAgICAgICAgIDx2aWV3XHJcbiAgICAgICAgICAgIGNsYXNzPVwiaXRlbVwiXHJcbiAgICAgICAgICAgIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBzaGVldExpc3RcIlxyXG4gICAgICAgICAgICBAY2xpY2s9XCJzZWVFeHByZXNzRGV0YWlscyhpdGVtKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxoNCBzdHlsZT1cIm1hcmdpbi1ib3R0b206IDEwcnB4XCI+5YyF6KO5IHt7IGluZGV4ICsgMSB9fTwvaDQ+XHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiXCJcclxuICAgICAgICAgICAgICA+6L+Q5Y2V5Y+377yae3sgaXRlbS5leHByZXNzT3JkZXJTbiB9fVxyXG4gICAgICAgICAgICAgIDx1LXRhZ1xyXG4gICAgICAgICAgICAgICAgQGNsaWNrPVwiY29weURhdGEoaXRlbS5leHByZXNzT3JkZXJTbilcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1pbmlcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjb3B5Q29kZVwiXHJcbiAgICAgICAgICAgICAgICB0ZXh0PVwi5aSN5Yi25Y2V5Y+3XCJcclxuICAgICAgICAgICAgICAgIHBsYWluXHJcbiAgICAgICAgICAgICAgICB0eXBlPVwic3VjY2Vzc1wiXHJcbiAgICAgICAgICAgIC8+PC92aWV3PlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cIlwiPuWPkei0p+aXtumXtO+8mnt7IGl0ZW0uY3JlYXRlVGltZSB9fTwvdmlldz5cclxuICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICA8L3ZpZXc+XHJcbiAgICAgIDwvdmlldz5cclxuICAgIDwvdS1wb3B1cD5cclxuICAgIDxtdXNpYy1wbGF5IDpwbGF5RGF0YT1cInBsYXlEYXRhXCI+PC9tdXNpYy1wbGF5PlxyXG4gIDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbmltcG9ydCBtdXNpY1BsYXkgZnJvbSBcIkAvY29tcG9uZW50cy9tdXNpYy52dWVcIjtcclxuaW1wb3J0IGVtb3Rpb24gZnJvbSBcIkAvYmtodW1vci1lbW9qaXBsdXMvY29tcG9uZW50cy9ia2h1bW9yLWVtb2ppcGx1cy9ia2h1bW9yLWVtb2ppcGx1cy52dWVcIjtcclxuaW1wb3J0ICRodHRwIGZyb20gXCJAL2NvbmZpZy9yZXF1ZXN0Q29uZmlnLmpzXCI7XHJcbmltcG9ydCB7IHNldFBheSwgc2V0UGF5QXNzaWduLCBzZXRXWFBheSB9IGZyb20gXCJAL2NvbmZpZy91dGlsc1wiO1xyXG5pbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gXCJ2dWV4XCI7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBkYXRhKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgQToge1xyXG4gICAgICAgIG9yZGVySWQ6IDE1MzE2LFxyXG4gICAgICAgIG9yZGVyU246IFwiMjAyNDEyMDkxNDE1NDEyNTMxODY2MDAzNzY2NDUwNzBcIixcclxuICAgICAgICB1c2VySWQ6IDEzNDg3LFxyXG4gICAgICAgIHVzZXJOYW1lOiBudWxsLFxyXG4gICAgICAgIHN0YXR1c051bTogbnVsbCxcclxuICAgICAgICBzaGlwcGluZ1VzZXI6IG51bGwsXHJcbiAgICAgICAgdXNlclBob25lOiBcIjE4ODM0ODQ0ODQ3XCIsXHJcbiAgICAgICAgcHJvdmluY2U6IG51bGwsXHJcbiAgICAgICAgY2l0eTogbnVsbCxcclxuICAgICAgICBkaXN0cmljdDogbnVsbCxcclxuICAgICAgICBhZGRyZXNzOiBudWxsLFxyXG4gICAgICAgIGNvbWU6IDIsXHJcbiAgICAgICAgcGF5bWVudE1ldGhvZDogXCIzXCIsXHJcbiAgICAgICAgb3JkZXJNb25leTogMzksXHJcbiAgICAgICAgZGlzdHJpY3RNb25leTogMCxcclxuICAgICAgICByZWFsTW9uZXk6IDM5LFxyXG4gICAgICAgIHNoaXBwaW5nTW9uZXk6IG51bGwsXHJcbiAgICAgICAgc2hpcHBpbmdDb21wTmFtZTogbnVsbCxcclxuICAgICAgICBzaGlwcGluZ1NuOiBudWxsLFxyXG4gICAgICAgIGpmRGVkdWN0aW9uOiAwLFxyXG4gICAgICAgIGNyZWF0ZVRpbWU6IFwiMjAyNC0xMi0wOSAxNDoxNTo0MVwiLFxyXG4gICAgICAgIHNoaXBwaW5nVGltZTogbnVsbCxcclxuICAgICAgICBvcmRlclN0YXR1czogXCIwXCIsXHJcbiAgICAgICAgc3VjY2Vzc1RpbWU6IG51bGwsXHJcbiAgICAgICAgY291cG9uSWQ6IG51bGwsXHJcbiAgICAgICAgY291cG9uTmFtZTogbnVsbCxcclxuICAgICAgICBkZWxGbGFnOiAwLFxyXG4gICAgICAgIHByb2R1Y3RzOiBudWxsLFxyXG4gICAgICAgIHByb2R1Y3RMaXN0OiBudWxsLFxyXG4gICAgICAgIGJ1eVR5cGU6IG51bGwsXHJcbiAgICAgICAgb3JkZXJUeXBlOiBcInBvaW50XCIsXHJcbiAgICAgICAgZXhwTm86IG51bGwsXHJcbiAgICAgICAgaXNTZW5kOiBudWxsLFxyXG4gICAgICAgIHZpcEJ1eUNvbmZpZ0lkOiAwLFxyXG4gICAgICAgIGFkZHJlc3NJZDogbnVsbCxcclxuICAgICAgICByZW1hcms6IG51bGwsXHJcbiAgICAgICAgb3JkZXJDb2RlOiBudWxsLFxyXG4gICAgICAgIHBheW1lbnREYXRlOiBudWxsLFxyXG4gICAgICAgIHByb2R1Y3RJZDogXCIyMVwiLFxyXG4gICAgICAgIHJlY29yZElkOiBudWxsLFxyXG4gICAgICAgIHRpbWVzdGFtcDogbnVsbCxcclxuICAgICAgICB1c2VyOiBudWxsLFxyXG4gICAgICAgIGV4cHJlc3NMaXN0OiBudWxsLFxyXG4gICAgICAgIGFkZHJlc3NNb2RpZmllZDogMCxcclxuICAgICAgICBjb25zaWduZWVWbzogbnVsbCxcclxuICAgICAgICBhcHBOYW1lOiBudWxsLFxyXG4gICAgICAgIGJvb2tCdXlDb25maWdFbnRpdHk6IHtcclxuICAgICAgICAgIHByaWNlVHlwZUlkOiAyMSxcclxuICAgICAgICAgIHR5cGU6IFwicG9pbnRcIixcclxuICAgICAgICAgIHF1ZGFvOiBcIklPU1wiLFxyXG4gICAgICAgICAgcmVhbE1vbmV5OiBcIjQ1XCIsXHJcbiAgICAgICAgICBtb25leTogXCIzOVwiLFxyXG4gICAgICAgICAgZ2l2ZWpmOiBcIjBcIixcclxuICAgICAgICAgIG1vbnRoOiBudWxsLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246IFwiXCIsXHJcbiAgICAgICAgICBlZmZlY3RpdmU6IDAsXHJcbiAgICAgICAgICBzdGFydFRpbWU6IG51bGwsXHJcbiAgICAgICAgICBlbmRUaW1lOiBudWxsLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlwQnV5Q29uZmlnRW50aXR5OiBudWxsLFxyXG4gICAgICB9LFxyXG4gICAgICBpY29uTGlzdDogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRleHQ6IFwi6IGU57O75a6i5pyNXCIsXHJcbiAgICAgICAgICBpY29uVHlwZTogMSxcclxuICAgICAgICAgIGljb246IFwic2VydmVyLWZpbGxcIixcclxuICAgICAgICAgIGluZm9Db2xvcjogXCIjNjY2XCIsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgdXNlclJlY29yZGlkOiBudWxsLCAvLyDnlKjmiLfnmoTor4Tku7fnirbmgIFcclxuICAgICAgcGxheURhdGE6IHt9LFxyXG4gICAgICB0aXRsZTogXCJIZWxsb1wiLFxyXG4gICAgICBpc1Nob3dFbWo6IGZhbHNlLFxyXG4gICAgICBlbW9qaUljb246IFwiY3VJY29uLWVtb2ppXCIsXHJcbiAgICAgIG1lc3NhZ2U6IFwiXCIsXHJcblxyXG4gICAgICB3aW5kb3dXaWR0aDogMCxcclxuICAgICAgd2luZG93SGVpZ2h0OiA1MDAsXHJcbiAgICAgIFBmb3JtOiB7XHJcbiAgICAgICAgLy8g6K+E5Lu36KGo5Y2VXHJcbiAgICAgICAgc3RhcjogMCxcclxuICAgICAgICBjb21tZW50OiBcIlwiLFxyXG4gICAgICAgIGltZzogW10sXHJcbiAgICAgICAgaHRtbDogXCJcIixcclxuICAgICAgfSxcclxuICAgICAgcGluZ0lEOiBudWxsLFxyXG4gICAgICBwcm9kdWN0SUQ6IG51bGwsIC8vIOiuouWNleWVhuWTgWlkXHJcbiAgICAgIGltYWdlU3R5bGVzOiB7XHJcbiAgICAgICAgd2lkdGg6IDY0LFxyXG4gICAgICAgIGhlaWdodDogNjQsXHJcbiAgICAgICAgYm9yZGVyOiB7XHJcbiAgICAgICAgICBjb2xvcjogXCIjODlhYTdkXCIsXHJcbiAgICAgICAgICB3aWR0aDogMixcclxuICAgICAgICAgIHN0eWxlOiBcImRhc2hlZFwiLFxyXG4gICAgICAgICAgcmFkaXVzOiBcIjJweFwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHBpbmdqaWFTaG93OiBmYWxzZSxcclxuICAgICAgbG9naXN0aWNzRGF0YTogW10sIC8vIOW/q+mAkuS/oeaBr+WIl+ihqFxyXG4gICAgICB0aXRsZVN0YXQ6IFwiXCIsXHJcbiAgICAgIG9yZGVySUQ6IDAsXHJcbiAgICAgIG9yZGVyU246IFwiXCIsXHJcbiAgICAgIG9yZGVyVHlwZTogXCJcIixcclxuICAgICAgb3JkZXJDb250ZXQ6IHt9LFxyXG4gICAgICBnb29kc0xpc3Q6IFtdLFxyXG4gICAgICBkZWxpdmVyRGV0YWlsczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFRyYWNlczogW10sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSwgLy8g54mp5rWB6K+m5oOF5L+h5oGv5YWo6YOoXHJcbiAgICAgIGRlbGl2ZXJEZXRhaWxzTGVuZ3RoOiBudWxsLFxyXG4gICAgICBlbW9qaTogW10sXHJcbiAgICAgIEZpbGVzOiBbXSxcclxuICAgICAgcGpUeXBlOiBcIlwiLFxyXG4gICAgICBzaGVldExpc3Q6IFtdLCAvLyDpnaLljZXmlbDmja5cclxuICAgICAgY29uc2lnbmVlU2hvdzogZmFsc2UsXHJcbiAgICAgIHNoZWV0TGlzdFNob3c6IGZhbHNlLFxyXG4gICAgICBjdXN0b21CdXR0b246IFtdLFxyXG4gICAgfTtcclxuICB9LFxyXG4gIG9uTG9hZChlKSB7XHJcbiAgICB0aGlzLndpbmRvd1dpZHRoID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCkud2luZG93V2lkdGg7XHJcbiAgICB0aGlzLm9yZGVySUQgPSBlLm9yZGVySWQ7XHJcbiAgICB0aGlzLm9yZGVyVHlwZSA9IGUub3JkZXJUeXBlO1xyXG4gICAgdGhpcy5vcmRlclNuID0gZS5vcmRlclNuO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5vcmRlcklELCBcInRoaXMub3JkZXJJRFwiKTtcclxuICB9LFxyXG4gIG9uSGlkZSgpIHtcclxuICAgIHRoaXMuc2hlZXRMaXN0ID0gW107XHJcbiAgfSxcclxuICBvblNob3coKSB7XHJcbiAgICB0aGlzLmdldE9yZGVyTGlzdCgpO1xyXG4gIH0sXHJcbiAgY29tcG9uZW50czoge1xyXG4gICAgZW1vdGlvbixcclxuICAgIG11c2ljUGxheSxcclxuICB9LFxyXG4gIGNvbXB1dGVkOiB7XHJcbiAgICAuLi5tYXBTdGF0ZShbXCJ1c2VySW5mb1wiXSksXHJcbiAgfSxcclxuXHJcbiAgbWV0aG9kczoge1xyXG4gICAgZ290b1dvcmtPcmRlcigpIHtcclxuICAgICAgdW5pLm5hdmlnYXRlVG8oe1xyXG4gICAgICAgIHVybDogYC9wYWdlcy91c2VyL3dvcmtPcmRlcj9uYW1lPW9yZGVyYCxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgYXN5bmMgZ29CdXlKaWUoZGF0YSkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcImluZGV4IGF0IGxpbmUgNTMyOlwiLCBkYXRhKTtcclxuICAgICAgaWYgKGRhdGEudGV4dCA9PSBcIue7p+e7reS7mOasvlwiKSB7XHJcbiAgICAgICAgdGhpcy5nb1BheSh0aGlzLm9yZGVyQ29udGV0KTtcclxuICAgICAgfSBlbHNlIGlmIChkYXRhLnRleHQgPT0gXCLlj5bmtojorqLljZVcIikge1xyXG4gICAgICAgIHRoaXMuY2FuY2VPcmRlcigpO1xyXG4gICAgICB9IGVsc2UgaWYgKGRhdGEudGV4dCA9PSBcIuehruiupOaUtui0p1wiKSB7XHJcbiAgICAgICAgdGhpcy5PdmVyT3JkZXIoKTtcclxuICAgICAgfSBlbHNlIGlmIChkYXRhLnRleHQgPT0gXCLmn6XnnIvnianmtYFcIikge1xyXG4gICAgICAgIHRoaXMuc2VlRXhwcmVzc0RldGFpbCh0aGlzLm9yZGVyQ29udGV0KTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGFzeW5jIGNsaWNrSWNvbihkYXRhKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiaW5kZXggYXQgbGluZSA1MzI6XCIsIGRhdGEpO1xyXG4gICAgICBpZiAoZGF0YS50ZXh0ID09IFwi6IGU57O75a6i5pyNXCIpIHtcclxuICAgICAgICB0aGlzLmtlZnUoKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8vIOWkjeWItuWIsOWJquWIh+adv1xyXG4gICAgY29weURhdGEoZGF0YSkge1xyXG4gICAgICB1bmkuc2V0Q2xpcGJvYXJkRGF0YSh7XHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcInN1Y2Nlc3NcIik7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgc2VlRXhwcmVzc0RldGFpbHMoaXRlbSkge1xyXG4gICAgICBjb25zb2xlLmxvZyhpdGVtLCBcIml0ZW1cIik7XHJcbiAgICAgIHVuaS5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICB1cmw6XHJcbiAgICAgICAgICBcIi4vZGVsaXZlckRldGFpbD9vcmRlclNuPVwiICtcclxuICAgICAgICAgIHRoaXMub3JkZXJDb250ZXQub3JkZXJTbiArXHJcbiAgICAgICAgICBcIiZleHByZXNzT3JkZXJTbj1cIiArXHJcbiAgICAgICAgICBpdGVtLmV4cHJlc3NPcmRlclNuICtcclxuICAgICAgICAgIFwiJmV4cHJlc3NDb21wYW55Q29kZT1cIiArXHJcbiAgICAgICAgICBpdGVtLmV4cHJlc3NDb21wYW55Q29kZSArXHJcbiAgICAgICAgICBcIiZleHByZXNzQ29tcGFueU5hbWU9XCIgK1xyXG4gICAgICAgICAgaXRlbS5leHByZXNzQ29tcGFueU5hbWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIC8vIOWAkuiuoeaXtuWbnuiwg1xyXG4gICAgY291bnREb3duKCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIumHjeaWsOWIt+aWsOiuouWNlVwiKTtcclxuICAgICAgdGhpcy5nZXRPcmRlckxpc3QoKTtcclxuICAgIH0sXHJcbiAgICAvLyDojrflvpfovpPlhaXnmoTooajmg4XmlbDnu4RcclxuICAgIGhhbmRsZUVtaihpKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGksIFwiaS0tLS0tLS0tLVwiKTtcclxuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gaTtcclxuICAgICAgLy8gY29uc29sZS5sb2codGhpcy5pbnB1dFZhbHVlKTtcclxuICAgICAgaWYgKGkuZW1vdGlvbmkgPT0gXCJbZW1fOThdXCIpIHtcclxuICAgICAgICAvL+WMuemFjeacgOWQjuS4gOS4quihqOaDheespuWPt+W5tuWIoOmZpDEx44CCXHJcbiAgICAgICAgdGhpcy5QZm9ybS5jb21tZW50ID0gdGhpcy5QZm9ybS5jb21tZW50LnJlcGxhY2UoXHJcbiAgICAgICAgICAvKFxcW1teXFxdXStcXF18W1xcc1xcU10pJC8sXHJcbiAgICAgICAgICBcIlwiXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAodGhpcy5lbW9qaS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmVtb2ppID0gdGhpcy5lbW9qaS5zbGljZSgwLCAtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZW1vamkucHVzaCh7IHRhZzogaS5lbW90aW9uLCBuYW1lOiBpLmVtb3Rpb25pIH0pO1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZW1vamksJ3RoaXMuZW1vamknKVxyXG4gICAgICAgIHRoaXMuUGZvcm0uY29tbWVudCArPSBpLmVtb3Rpb25pO1xyXG4gICAgICAgIC8vLyB0aGlzLlBmb3JtLmh0bWwgKz0gaS5lbW90aW9uXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBzaG93Wmh1aXBpbmcodmFsKSB7XHJcbiAgICAgIHRoaXMucGpUeXBlID0gXCJ6aHVpcGluZ1wiO1xyXG4gICAgICB0aGlzLnBpbmdqaWFTaG93ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5wcm9kdWN0SUQgPSB2YWw7XHJcbiAgICAgIHRoaXMucGluZ0lEID0gcGluZ2lkO1xyXG4gICAgfSxcclxuICAgIC8vIOi/veWKoOivhOiuulxyXG4gICAgemh1aXBpbmcoKSB7XHJcbiAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgIG9pZDogdGhpcy51c2VyUmVjb3JkaWQsXHJcbiAgICAgICAgdXNlcklkOiB0aGlzLnVzZXJJbmZvLmlkLFxyXG4gICAgICAgIGJvb2tpZDogdGhpcy5wcm9kdWN0SUQsXHJcbiAgICAgICAgY29uVGVudDogdGhpcy5QZm9ybS5jb21tZW50LFxyXG4gICAgICB9O1xyXG4gICAgICBjb25zb2xlLmxvZyhkYXRhLCBcImRhdGFcIik7XHJcbiAgICAgICRodHRwXHJcbiAgICAgICAgLnJlcXVlc3Qoe1xyXG4gICAgICAgICAgdXJsOiBcInVzZXIvZm9sbG93VXAvdXNlckZvbGxvd1VwXCIsXHJcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLCAvLyBQT1NU44CBR0VU44CBUFVU44CBREVMRVRF77yM5YW35L2T6K+05piO5p+l55yL5a6Y5pa55paH5qGjXHJcbiAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgIC8v6buY6K6kIOaXoCDor7TmmI7vvJror7fmsYLlpLRcclxuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4oKHJlcykgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcy5jb2RlID09IDApIHtcclxuICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgdGl0bGU6IFwi6L+96K+E5oiQ5Yqf77yBXCIsXHJcbiAgICAgICAgICAgICAgaWNvbjogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnBpbmdqaWFTaG93ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucGpUeXBlID0gXCJcIjtcclxuICAgICAgICAgICAgKHRoaXMucHJvZHVjdElEID0gbnVsbCksICh0aGlzLnVzZXJSZWNvcmRpZCA9IG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLlBmb3JtLmNvbW1lbnQgPSBcIlwiO1xyXG4gICAgICAgICAgICB0aGlzLlBmb3JtLmh0bWwgPSBcIlwiO1xyXG4gICAgICAgICAgICB0aGlzLmVtb2ppID0gW107XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHVuaS5uYXZpZ2F0ZUJhY2soe1xyXG4gICAgICAgICAgICAgICAgZGVsdGE6IDEsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0sIDIwMDApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIHRleHRhcmVhQklucHV0KGUpIHtcclxuICAgICAgY29uc29sZS5sb2coZSwgXCJlXCIpO1xyXG4gICAgICB0aGlzLlBmb3JtLmNvbW1lbnQgPSBlLmRldGFpbC52YWx1ZTtcclxuICAgICAgLy8vIHRoaXMuUGZvcm0uaHRtbCA9IGUuZGV0YWlsLnZhbHVlXHJcbiAgICB9LFxyXG4gICAgc2hvd0VtaigpIHtcclxuICAgICAgbGV0IGJvb2wgPSAhdGhpcy5pc1Nob3dFbWo7XHJcbiAgICAgIGlmIChib29sKSB7XHJcbiAgICAgICAgdGhpcy5lbW9qaUljb24gPSBcImN1SWNvbi1rZXlib2FyZFwiO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZW1vamlJY29uID0gXCJjdUljb24tZW1vamlcIjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5pc1Nob3dFbWogPSBib29sO1xyXG4gICAgICB0aGlzLiRlbWl0KFwic2hvd1wiKTtcclxuICAgIH0sXHJcbiAgICBJbnB1dEJsdXIoZSkge30sXHJcbiAgICBJbnB1dEZvY3VzKGUpIHtcclxuICAgICAgdGhpcy5pc1Nob3dFbWogPSBmYWxzZTtcclxuICAgICAgdGhpcy5lbW9qaUljb24gPSBcImN1SWNvbi1lbW9qaVwiO1xyXG4gICAgICB0aGlzLiRlbWl0KFwiZm9jXCIpO1xyXG4gICAgfSxcclxuXHJcbiAgICAvLyBlbmRcclxuICAgIGRlbGV0ZUltZyhlKSB7XHJcbiAgICAgIC8vIHZhciBhcnIgPSB0aGlzLlBmb3JtLmltZy5zbGljZSgwLC0xKVxyXG4gICAgICB0aGlzLlBmb3JtLmltZy5wb3AoKTtcclxuICAgICAgLy8gIGNvbnNvbGUubG9nKCfliKDpmaTmlofku7YnLGFycilcclxuICAgICAgY29uc29sZS5sb2codGhpcy5QZm9ybSk7XHJcbiAgICB9LFxyXG4gICAgZ2V0U3RhcihpKSB7XHJcbiAgICAgIHRoaXMuUGZvcm0uc3RhciA9IGk7XHJcbiAgICB9LFxyXG4gICAgc2VsZWN0KGUpIHtcclxuICAgICAgY29uc29sZS5sb2coXCLpgInmi6nmlofku7bvvJpcIiwgZSk7XHJcbiAgICAgIGxldCBhcnIgPSBlLnRlbXBGaWxlcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4geyB1cmw6IGl0ZW0udXJsLCBuYW1lOiBpdGVtLm5hbWUgfTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuUGZvcm0uaW1nID0gdGhpcy5QZm9ybS5pbWcuY29uY2F0KC4uLmFycik7XHJcbiAgICAgIC8vdGhpcy5QZm9ybS5pbWcgPSBhcnJcclxuICAgICAgY29uc29sZS5sb2codGhpcy5QZm9ybSwgXCJpbWdcIik7XHJcbiAgICB9LFxyXG4gICAgdXBTdWNjZXNzKGUpIHtcclxuICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB9LFxyXG4gICAgLy8g6I635Y+WaHRtbOagvOW8j+eahOivhOiuujFcclxuICAgIGdldEh0bWxDb21tZW50KCkge1xyXG4gICAgICAvLyDmoLzlvI/ljJZodG1sXHJcbiAgICAgIHZhciBzcyA9IHRoaXMuUGZvcm0uY29tbWVudDtcclxuICAgICAgaWYgKHRoaXMuZW1vamkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5lbW9qaS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaWYgKHRoaXMuUGZvcm0uY29tbWVudC5pbmRleE9mKHRoaXMuZW1vamlbaV0ubmFtZSkgIT09IC0xKSB7XHJcbiAgICAgICAgICAgIC8vdmFyIHJlID0gbmV3IFJlZ0V4cCh0aGlzLmVtb2ppWzBdLm5hbWUsXCJnXCIpOyAvL+WumuS5ieato+WImeihqOi+vuW8j1xyXG4gICAgICAgICAgICAvL+esrOS4gOS4quWPguaVsOaYr+imgeabv+aNouaOieeahOWGheWuue+8jOesrOS6jOS4quWPguaVsFwiZ1wi6KGo56S65pu/5o2i5YWo6YOo77yIZ2xvYmFs77yJ44CCXHJcbiAgICAgICAgICAgIC8vIHNzID0gc3MucmVwbGFjZShyZSwgKTsgLy/nrKzkuIDkuKrlj4LmlbDmmK/mraPliJnooajovr7lvI/jgIJcclxuICAgICAgICAgICAgc3MgPSBzcy5yZXBsYWNlKHRoaXMuZW1vamlbaV0ubmFtZSwgdGhpcy5lbW9qaVtpXS50YWcpO1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhzcylcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5QZm9ybS5odG1sID0gc3M7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5QZm9ybS5odG1sID0gdGhpcy5QZm9ybS5jb21tZW50O1xyXG4gICAgICB9XHJcbiAgICAgIC8vY29uc29sZS5sb2codGhpcy5QZm9ybS5odG1sLCd0aGlzLlBmb3JtLmh0bWwnKVxyXG4gICAgfSxcclxuICAgIGRlbGV0ZVBpYygpIHtcclxuICAgICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgICB0aGF0LlBmb3JtLmltZy5zcGxpY2UoMCwgMSk7XHJcbiAgICAgIC8vY29uc29sZS5sb2codGhhdC5QZm9ybS5pbWcpXHJcbiAgICB9LFxyXG4gICAgYWZ0ZXJSZWFkKGUpIHtcclxuICAgICAgLy9jb25zb2xlLmxvZyhlKVxyXG4gICAgICBsZXQgdGhhdCA9IHRoaXM7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZS5maWxlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZyhpLGUuZmlsZVtpXS51cmwpXHJcbiAgICAgICAgdW5pLnVwbG9hZEZpbGUoe1xyXG4gICAgICAgICAgdXJsOiB0aGlzLiRiYXNlVXJsICsgXCJvc3MvZmlsZW9zc1wiLFxyXG4gICAgICAgICAgZmlsZVBhdGg6IGUuZmlsZVtpXS51cmwsXHJcbiAgICAgICAgICAvL2ZpbGVzOmUuZmlsZSxcclxuICAgICAgICAgIG5hbWU6IFwiZmlsZVwiLFxyXG4gICAgICAgICAgZm9ybURhdGE6IHt9LFxyXG4gICAgICAgICAgc3VjY2VzczogKHJlcykgPT4ge1xyXG4gICAgICAgICAgICB0aGF0LlBmb3JtLmltZy5wdXNoKHtcclxuICAgICAgICAgICAgICB1cmw6IEpTT04ucGFyc2UocmVzLmRhdGEpLnVybCxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgY2xvc2VQaW5namlhKCkge1xyXG4gICAgICB0aGlzLnBpbmdqaWFTaG93ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuUGZvcm0uY29tbWVudCA9IFwiXCI7XHJcbiAgICAgIHRoaXMuUGZvcm0uaHRtbCA9IFwiXCI7XHJcbiAgICAgIHRoaXMuZW1vamkgPSBbXTtcclxuICAgIH0sXHJcbiAgICAvLyDmj5DkuqTor4Tku7dcclxuICAgIHN1Ym1pdFBKKCkge1xyXG4gICAgICBpZiAodGhpcy5QZm9ybS5jb21tZW50ICE9IFwiXCIpIHtcclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgIHVzZXJpZDogdGhpcy51c2VySW5mby5pZCxcclxuICAgICAgICAgIG9yZGVyU246IHRoaXMub3JkZXJTbixcclxuICAgICAgICAgIGJvb2tpZDogdGhpcy5wcm9kdWN0SUQsXHJcbiAgICAgICAgICAvLyAnY29udGVudCc6IHRoaXMuUGZvcm0uaHRtbCxcclxuICAgICAgICAgIGNvbnRlbnQ6IHRoaXMuUGZvcm0uY29tbWVudCxcclxuICAgICAgICAgIHN0YXJMZXZlbDogdGhpcy5QZm9ybS5zdGFyLFxyXG4gICAgICAgICAgaW1hZ2VzOiB0aGlzLlBmb3JtLmltZyxcclxuICAgICAgICAgIC8vICdlbW9qaSc6dGhpcy5lbW9qaSAgLy8g6KGo5oOF5pWw57uEXHJcbiAgICAgICAgfTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhkYXRhLCdkYXRhJylcclxuICAgICAgICAkaHR0cFxyXG4gICAgICAgICAgLnJlcXVlc3Qoe1xyXG4gICAgICAgICAgICB1cmw6IFwiYnV5L3JlY29yZC9Vc2VyUmVjb3JkY29tbWVudFwiLFxyXG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLCAvLyBQT1NU44CBR0VU44CBUFVU44CBREVMRVRF77yM5YW35L2T6K+05piO5p+l55yL5a6Y5pa55paH5qGjXHJcbiAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgIGhlYWRlcjoge1xyXG4gICAgICAgICAgICAgIC8v6buY6K6kIOaXoCDor7TmmI7vvJror7fmsYLlpLRcclxuICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMuY29kZSA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCLor4Tku7fmiJDlip/vvIFcIixcclxuICAgICAgICAgICAgICAgIGljb246IFwic3VjY2Vzc1wiLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLnBpbmdqaWFTaG93ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5QZm9ybS5jb21tZW50ID0gXCJcIjtcclxuICAgICAgICAgICAgICB0aGlzLlBmb3JtLmh0bWwgPSBcIlwiO1xyXG4gICAgICAgICAgICAgIHRoaXMuZW1vamkgPSBbXTtcclxuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHVuaS5uYXZpZ2F0ZUJhY2soe1xyXG4gICAgICAgICAgICAgICAgICBkZWx0YTogMSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0sIDIwMDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgIHRpdGxlOiBcIuivt+WFiOi+k+WFpeaCqOeahOivhOS7t+WGheWuuSDvvIFcIixcclxuICAgICAgICAgIGljb246IFwibm9uZVwiLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgLy8g5re75Yqg6K+E5Lu3XHJcbiAgICBwaW5namkoaWQpIHtcclxuICAgICAgY29uc29sZS5sb2coaWQpO1xyXG4gICAgICB0aGlzLnBqVHlwZSA9IFwiXCI7XHJcbiAgICAgIHRoaXMucHJvZHVjdElEID0gaWQ7XHJcbiAgICAgIHRoaXMucGluZ2ppYVNob3cgPSB0cnVlO1xyXG4gICAgfSxcclxuICAgIC8vIOiBlOezu+WuouacjVxyXG4gICAga2VmdSgpIHtcclxuICAgICAgdW5pLnNob3dNb2RhbCh7XHJcbiAgICAgICAgdGl0bGU6IFwi5o+Q56S6XCIsXHJcbiAgICAgICAgY29udGVudDogXCLlvq7kv6Hlj7fvvJp5aWx1amlhbmthbmdrZWZ1XCIsXHJcbiAgICAgICAgLy8gc3VjY2VzczogZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgIC8vIFx0aWYgKHJlcy5jb25maXJtKSB7XHJcbiAgICAgICAgLy8gXHRcdHVuaS5tYWtlUGhvbmVDYWxsKHtcclxuICAgICAgICAvLyBcdFx0XHRwaG9uZU51bWJlcjogJzAyMi0yNDE0MjMyMScgLy/ku4XkuLrnpLrkvotcclxuICAgICAgICAvLyBcdFx0fSk7XHJcbiAgICAgICAgLy8gXHR9IGVsc2UgaWYgKHJlcy5jYW5jZWwpIHtcclxuXHJcbiAgICAgICAgLy8gXHR9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgICAvLyDmn6XnnIvnianmtYFcclxuICAgIHNlZUV4cHJlc3NEZXRhaWwoaXRlbSkge1xyXG4gICAgICBpZiAodGhpcy5zaGVldExpc3QubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIHRoaXMuc2hlZXRMaXN0U2hvdyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zaGVldExpc3QubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAvLyDnm7TmjqXlsZXnpLror6bmg4VcclxuICAgICAgICB1bmkubmF2aWdhdGVUbyh7XHJcbiAgICAgICAgICB1cmw6XHJcbiAgICAgICAgICAgIFwiLi9kZWxpdmVyRGV0YWlsP29yZGVyU249XCIgK1xyXG4gICAgICAgICAgICBpdGVtLm9yZGVyU24gK1xyXG4gICAgICAgICAgICBcIiZleHByZXNzT3JkZXJTbj1cIiArXHJcbiAgICAgICAgICAgIHRoaXMuc2hlZXRMaXN0WzBdLmV4cHJlc3NPcmRlclNuLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgaGFuZGxlQ29weSh2YWx1ZSwgdGl0bGUpIHtcclxuICAgICAgdGhpcy4kY29tbW9uSlMuaGFuZGxlQ29weSh2YWx1ZSwgdGl0bGUpO1xyXG4gICAgfSxcclxuICAgIG9uUGFnZUp1bXAoaXRlbSkge1xyXG4gICAgICB1bmkubmF2aWdhdGVUbyh7XHJcbiAgICAgICAgdXJsOiBcIi4vZGVsaXZlckRldGFpbD9vYmpJZD1cIiArIGl0ZW0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIE92ZXJPcmRlcigpIHtcclxuICAgICAgLy8g56Gu6K6k5pS26LSnXHJcbiAgICAgIHVuaS5zaG93TW9kYWwoe1xyXG4gICAgICAgIHRpdGxlOiBcIuaPkOekulwiLFxyXG4gICAgICAgIGNvbnRlbnQ6IFwi56Gu6K6k5pS26LSn77yfXCIsXHJcbiAgICAgICAgc3VjY2VzczogKHJlcykgPT4ge1xyXG4gICAgICAgICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgICAgICAgIG9yZGVySWQ6IHRoaXMub3JkZXJJRCxcclxuICAgICAgICAgICAgb3JkZXJTdGF0dXM6IFwiM1wiLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlmIChyZXMuY29uZmlybSkge1xyXG4gICAgICAgICAgICB1bmkuc2hvd0xvYWRpbmcoKTtcclxuICAgICAgICAgICAgJGh0dHBcclxuICAgICAgICAgICAgICAucmVxdWVzdCh7XHJcbiAgICAgICAgICAgICAgICB1cmw6IFwiYm9vay9idXlPcmRlci91cGRhdGVcIixcclxuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsIC8vIFBPU1TjgIFHRVTjgIFQVVTjgIFERUxFVEXvvIzlhbfkvZPor7TmmI7mn6XnnIvlrpjmlrnmlofmoaNcclxuICAgICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHtcclxuICAgICAgICAgICAgICAgICAgLy/pu5jorqQg5pegIOivtOaYju+8muivt+axguWktFxyXG4gICAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcclxuICAgICAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5pS26LSn5oiQ5YqfXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMDAsXHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldE9yZGVyTGlzdCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChyZXMuY2FuY2VsKSB7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgLy8g5YiH5o2i6K6i5Y2V54q25oCBXHJcbiAgICBvcmRlclRhYkNMaShlKSB7XHJcbiAgICAgIHRoaXMub3JkZXJMaXN0VGFiID0gZTtcclxuICAgIH0sXHJcbiAgICBhc3luYyBnZXRDb3Vwb25EZXRhaWwoaWQpIHtcclxuICAgICAgYXdhaXQgdGhpcy4kaHR0cFxyXG4gICAgICAgIC5yZXF1ZXN0KHtcclxuICAgICAgICAgIHVybDogXCJjb21tb24vY291cG9uL2dldENvdXBvbkhpc3RvcnlJbmZvXCIsXHJcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLCAvLyBQT1NU44CBR0VU44CBUFVU44CBREVMRVRF77yM5YW35L2T6K+05piO5p+l55yL5a6Y5pa55paH5qGjXHJcbiAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGhlYWRlcjoge1xyXG4gICAgICAgICAgICAvL+m7mOiupCDml6Ag6K+05piO77ya6K+35rGC5aS0XHJcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMuY29kZSAhPSAwKSByZXR1cm4gdGhpcy4kY29tbW9uSlMuc2hvd1RvYXN0KHJlcy5lcnJNc2cpO1xyXG4gICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5jb3Vwb25BbW91bnQgPVxyXG4gICAgICAgICAgICByZXMuY291cG9uSGlzdG9yeS5jb3Vwb25FbnRpdHkuY291cG9uQW1vdW50O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKChlKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgICAgIHRoaXMuJGNvbW1vbkpTLnNob3dUb2FzdChlLmVyck1zZyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgLy8g6I635Y+W6K6i5Y2V6K+m5oOFXHJcbiAgICBhc3luYyBnZXRPcmRlckxpc3QoKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5vcmRlclR5cGVcIiwgdGhpcy5vcmRlclR5cGUpO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy4kaHR0cFxyXG4gICAgICAgIC5yZXF1ZXN0KHtcclxuICAgICAgICAgIHVybDogXCJjb21tb24vYnV5T3JkZXIvY29tbW9uT3JkZXJEZXRhaWxcIixcclxuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsIC8vIFBPU1TjgIFHRVTjgIFQVVTjgIFERUxFVEXvvIzlhbfkvZPor7TmmI7mn6XnnIvlrpjmlrnmlofmoaNcclxuICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgb3JkZXJJZDogdGhpcy5vcmRlcklELFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGhlYWRlcjoge1xyXG4gICAgICAgICAgICAvL+m7mOiupCDml6Ag6K+05piO77ya6K+35rGC5aS0XHJcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMuY3VzdG9tQnV0dG9uID0gW107XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIuiuouWNleivpuaDhVwiLCByZXMpO1xyXG4gICAgICAgICAgdGhpcy5vcmRlckNvbnRldCA9IHJlcy5kYXRhLmJ1eU9yZGVyO1xyXG4gICAgICAgICAgdGhpcy5nb29kc0xpc3QgPSByZXMuZGF0YS5wcm9kdWN0SW5mbztcclxuICAgICAgICAgIHRoaXMuY29uc2lnbmVlU2hvdyA9IHRydWU7XHJcbiAgICAgICAgICAvLyDlrZjlnKjkvJjmg6DliLjkv6Hmga/vvIzlsLHmn6Xor6LkvJjmg6DliLjpm4bkvZPph5Hpop1cclxuICAgICAgICAgIGlmICh0aGlzLm9yZGVyQ29udGV0LmNvdXBvbklkICYmIHRoaXMub3JkZXJDb250ZXQuY291cG9uSWQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdldENvdXBvbkRldGFpbCh0aGlzLm9yZGVyQ29udGV0LmNvdXBvbklkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA9PSAyICYmXHJcbiAgICAgICAgICAgIHRoaXMuc2hlZXRMaXN0Lmxlbmd0aCA+IDAgJiZcclxuICAgICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyAhPSA1XHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21CdXR0b24ucHVzaCh7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IFwiMTYwcnB4XCIsXHJcbiAgICAgICAgICAgICAgdGV4dDogXCLmn6XnnIvnianmtYFcIixcclxuICAgICAgICAgICAgICBjb2xvcjogXCIjMzMzXCIsXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmMGYwZjBcIixcclxuICAgICAgICAgICAgICBjb2xvcjogXCIjZmZmXCIsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMub3JkZXJDb250ZXQub3JkZXJTdGF0dXMgPT0gMikge1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbUJ1dHRvbi5wdXNoKHtcclxuICAgICAgICAgICAgICB3aWR0aDogXCIxNjBycHhcIixcclxuICAgICAgICAgICAgICB0ZXh0OiBcIuehruiupOaUtui0p1wiLFxyXG5cclxuICAgICAgICAgICAgICBjb2xvcjogXCIjZmZmXCIsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID09IDAgJiZcclxuICAgICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5wYXltZW50TWV0aG9kICE9IDNcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbUJ1dHRvbi5wdXNoKHtcclxuICAgICAgICAgICAgICB3aWR0aDogXCIxNjBycHhcIixcclxuICAgICAgICAgICAgICB0ZXh0OiBcIue7p+e7reS7mOasvlwiLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21CdXR0b24ucHVzaCh7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IFwiMTYwcnB4XCIsXHJcbiAgICAgICAgICAgICAgdGV4dDogXCLlj5bmtojorqLljZVcIixcclxuICAgICAgICAgICAgICBjb2xvcjogXCIjMzMzXCIsXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmMGYwZjBcIixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gdmFyIHNlY29uZHMgPSByZXMucmVzdWx0LnRpbWVzdGFtcCArIDMwICogNjAgKyAyICAgIC8vIOi/h+acn+aXtumXtFxyXG4gICAgICAgICAgLy8gdmFyIG5vd1NlY29uZHMgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCk7XHJcbiAgICAgICAgICAvLyByZXMucmVzdWx0Lm92ZXJUaW1lID0gc2Vjb25kcyAtIG5vd1NlY29uZHNcclxuXHJcbiAgICAgICAgICAvL3RoaXMudXNlclJlY29yZGlkID0gcmVzLnVzZXJSZWNvcmRpZFxyXG4gICAgICAgICAgLy8gdGhpcy5wcm9kdWN0SURzID0gcmVzLmRhdGEuZ29vZHNMaXN0Lm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgLy8gICByZXR1cm4gaXRlbS5idXlPcmRlclByb2R1Y3RJZDtcclxuICAgICAgICAgIC8vIH0pO1xyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5vcmRlckNvbnRldCwndGhpcy5vcmRlckNvbnRldCcpXHJcbiAgICAgICAgICBpZiAodGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGl0bGVTdGF0ID0gXCLlvoXmlK/ku5hcIjtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA9PSAxKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGl0bGVTdGF0ID0gXCLlvoXlj5HotKdcIjtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA9PSAyKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGl0bGVTdGF0ID0gXCLlvoXmlLbotKdcIjtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA9PSAzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGl0bGVTdGF0ID0gXCLlt7LlrozmiJBcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA+PSAyICYmXHJcbiAgICAgICAgICAgIHRoaXMub3JkZXJDb250ZXQub3JkZXJUeXBlID09IFwib3JkZXJcIiAmJlxyXG4gICAgICAgICAgICB0aGlzLm9yZGVyQ29udGV0LmV4cHJlc3NPcmRlcnNcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLnNoZWV0TGlzdCA9IHRoaXMub3JkZXJDb250ZXQuZXhwcmVzc09yZGVycztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hlZXRMaXN0ID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLm9yZGVyQ29udGV0LCBcIuiuouWNleivpuaDhVwiKTtcclxuICAgICAgICB9KTtcclxuICAgIH0sXHJcblxyXG4gICAgLy8g5Y+W5raI6K6i5Y2VXHJcbiAgICBjYW5jZU9yZGVyKCkge1xyXG4gICAgICB1bmkuc2hvd01vZGFsKHtcclxuICAgICAgICB0aXRsZTogXCLmj5DnpLpcIixcclxuICAgICAgICBjb250ZW50OiBcIuehruWumuimgeWPlua2iOiuouWNleWQl++8n1wiLFxyXG4gICAgICAgIGNvbmZpcm1UZXh0OiBcIuWPlua2iOiuouWNlVwiLFxyXG4gICAgICAgIGNhbmNlbFRleHQ6IFwi6ICD6JmR5LiA5LiLXCIsXHJcbiAgICAgICAgY29uZmlybUNvbG9yOiBcIiNjOTY3MTNcIixcclxuICAgICAgICBjYW5jZWxDb2xvcjogXCIjNTU1XCIsXHJcbiAgICAgICAgc3VjY2VzczogKHJlcykgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcy5jb25maXJtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuJGh0dHBcclxuICAgICAgICAgICAgICAucG9zdChcclxuICAgICAgICAgICAgICAgIFwiYm9vay9idXlPcmRlci9hcHBEZWxldGU/b3JkZXJJZD1cIiArIHRoaXMub3JkZXJDb250ZXQub3JkZXJJZFxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICAgICAgaWNvbjogXCJub25lXCIsXHJcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWPlua2iOiuouWNleaIkOWKn1wiLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB1bmkuc3dpdGNoVGFiKHtcclxuICAgICAgICAgICAgICAgICAgdXJsOiBcIi4vb3JkZXJMaXN0XCIsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcblxyXG4gICAgLy8g5pSv5LuYXHJcbiAgICBnb1BheShwYXlJdGVtKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHBheUl0ZW0sIFwi6K6i5Y2V5pWw5o2uXCIpO1xyXG4gICAgICBpZiAocGF5SXRlbS5wYXltZW50TWV0aG9kID09IDIpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIumYv+mHjOaUr+S7mFwiKTtcclxuICAgICAgICBzZXRQYXkoXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGVQYXk6IFwiYWxpcGF5XCIsXHJcbiAgICAgICAgICAgIHN1YmplY3Q6IFwib3JkZXJcIixcclxuICAgICAgICAgICAgdG90YWxBbW91bnQ6IHBheUl0ZW0ucmVhbE1vbmV5LFxyXG4gICAgICAgICAgICB0eXBlOiAyLFxyXG4gICAgICAgICAgICByZWxldmFuY2VvaWQ6IHBheUl0ZW0ub3JkZXJTbixcclxuICAgICAgICAgICAgY3VzdG9tZXJJZDogdGhpcy51c2VySW5mby5pZCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwi5pSv5LuY5oiQ5YqfXCIsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCLmlK/ku5jlpLHotKVcIixcclxuICAgICAgICAgICAgICAgIGljb246IFwibm9uZVwiLFxyXG4gICAgICAgICAgICAgICAgaW1hZ2U6IFwiLi4vLi4vc3RhdGljL2ljb24vaWNfY2xvc2UucG5nXCIsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5nZXRPcmRlckxpc3QoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2UgaWYgKHBheUl0ZW0ucGF5bWVudE1ldGhvZCA9PSAxKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLlvq7kv6HmlK/ku5hcIik7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5pc0FuZG9yaWQpXHJcbiAgICAgICAgaWYgKHRoaXMuaXNBbmRvcmlkID09IGZhbHNlKSB7XHJcbiAgICAgICAgICB1bmkuc2hvd01vZGFsKHtcclxuICAgICAgICAgICAgdGl0bGU6IFwi5o+Q56S6XCIsXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwi5b6I5oqx5q2J77yM6Iu55p6c57O757uf5pqC5LiN5pSv5oyB5b6u5L+h5pSv5LuYXCIsXHJcbiAgICAgICAgICAgIHNob3dDYW5jZWw6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGxldCBkYXRhMSA9IHtcclxuICAgICAgICAgICAgb3JkZXJTbjogcGF5SXRlbS5vcmRlclNuLFxyXG4gICAgICAgICAgICBidXlPcmRlcklkOiBudWxsLFxyXG4gICAgICAgICAgICB0b3RhbEFtb3VudDogcGF5SXRlbS5yZWFsTW9uZXksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZGF0YTEsIFwiZGF0YTFcIik7XHJcbiAgICAgICAgICBzZXRXWFBheShkYXRhMSwgKHJlcykgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaUr+S7mOaIkOWKn1wiLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XHJcbiAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmVyck1zZy5pbmRleE9mKFwiVXNlciBjYW5jZWxlZFwiKSAhPSAtMSkge1xyXG4gICAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIueUqOaIt+WPlua2iOaUr+S7mFwiLFxyXG4gICAgICAgICAgICAgICAgICBpY29uOiBcIm5vbmVcIixcclxuICAgICAgICAgICAgICAgICAgaW1hZ2U6IFwiLi4vLi4vc3RhdGljL2ljb24vaWNfY2xvc2UucG5nXCIsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaUr+S7mOWksei0pVwiLFxyXG4gICAgICAgICAgICAgICAgICBpY29uOiBcIm5vbmVcIixcclxuICAgICAgICAgICAgICAgICAgaW1hZ2U6IFwiLi4vLi4vc3RhdGljL2ljb24vaWNfY2xvc2UucG5nXCIsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChwYXlJdGVtLnBheW1lbnRNZXRob2QgPT0gMykge1xyXG4gICAgICAgIC8vIOiLueaenOWFheWAvFxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi6Iu55p6c5LqM5qyh5pSv5LuYXCIpO1xyXG4gICAgICAgIHVuaS5zaG93TW9kYWwoe1xyXG4gICAgICAgICAgY29udGVudDogXCJhcHBsZeWGhei0reiuouWNleS4jeaUr+aMgee7p+e7reaUr+S7mO+8jOivt+mHjeaWsOWPkei1t+aUr+S7mOeUs+ivt+W5tuWujOaIkOaUr+S7mFwiLFxyXG4gICAgICAgICAgY29uZmlybVRleHQ6IFwi5aW955qEXCIsXHJcbiAgICAgICAgICBzaG93Q2FuY2VsOiBmYWxzZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICAvLyDllYblk4HlhoXlrrnot7PovaxcclxuICAgIGdvRGV0YWlsKGlkLCBkYXRhKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiZGF0YSBhdCBsaW5lIDEyNzc66K6i5Y2V6K+m5oOF5Y+C5pWwXCIsIGRhdGEpO1xyXG4gICAgICBpZiAoZGF0YS5kZWxGbGFnID09IC0xKSB7XHJcbiAgICAgICAgdGhpcy4kY29tbW9uSlMuc2hvd1RvYXN0KFwi5ZWG5ZOB5bey5LiL5p62XCIpO1xyXG4gICAgICB9IGVsc2UgaWYgKGRhdGEuZ29vZHNUeXBlID09IFwiMDVcIikge1xyXG4gICAgICAgIGlmIChkYXRhLmNvdXJzZUlkcyAmJiBkYXRhLmNvdXJzZUlkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB1bmkubmF2aWdhdGVUbyh7XHJcbiAgICAgICAgICAgIHVybDogYC9wYWdlcy9jb3Vyc2UvY291cnNlRGV0YWlsP2lkPSR7ZGF0YS5jb3Vyc2VJZHNbMF0uY291cnNlSWR9YCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgdGl0bGU6IFwi6K++56iL5pWw5o2u5Ye66ZSZXCIsXHJcbiAgICAgICAgICAgIGljb246IFwibm9uZVwiLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHVuaS5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICAgIC8vIHVybDogJy4uL2Jvb2tTaG9wL2NvbW1vZGl0eURldGFpbD9pZD0nICsgaXRlbS5pZFxyXG4gICAgICAgICAgdXJsOiBgL3BhZ2VzL2dvb2RzL2luZGV4L2luZGV4P25hdlRpdGxlPScnJnRpdGxlPScnJmlkPSR7aWR9YCxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICB9LFxyXG59O1xyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cclxuLmV4cHJlc3NsaXN0IHtcclxuICBmb250LXNpemU6IDI4cnB4O1xyXG4gIGNvbG9yOiAjNjY2O1xyXG4gIC50aXRsZSB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIC5pdGVtIHtcclxuICAgIHBhZGRpbmc6IDMwcnB4O1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XHJcbiAgfVxyXG59XHJcbi5vcmRlclN0YXRlIHtcclxuICBjb2xvcjogI2ZmZjtcclxuXHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwcnB4O1xyXG4gIHBhZGRpbmc6IDZycHggMTBycHg7XHJcbiAgYm9yZGVyLXJhZGl1czogMCAyNHJweCAyNHJweCAwO1xyXG4gIGZvbnQtc2l6ZTogMjZycHg7XHJcbiAgLy8gZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY29sb3I6ICNmZmY7XHJcbn1cclxuLm9yZGVyU3RhdGUwIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZhMjNjO1xyXG59XHJcbi5vcmRlclN0YXRlMSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQwOWVmZjtcclxufVxyXG4ub3JkZXJTdGF0ZTIge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmNTZjNmM7XHJcbn1cclxuLm9yZGVyU3RhdGUzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjdjMjNhO1xyXG59XHJcbi5vcmRlclN0YXRlNSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzc4Nzg3ODtcclxufVxyXG4uZ3VvcWkge1xyXG4gIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBjb2xvcjogcmVkO1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBsaW5lLWhlaWdodDogNDBycHg7XHJcbn1cclxuLnN0YXIge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMjBweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgbWFyZ2luLXJpZ2h0OiAxMHJweDtcclxufVxyXG4uc3RhckdyYXkge1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi8uLi9zdGF0aWMvaWNvbi9zdGFyX2dyZWV5LnBuZykgbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxufVxyXG4uc3RhckxpZ2h0IHtcclxuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vc3RhdGljL2ljb24vc3Rhcl9saWdodC5wbmcpIG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbn1cclxuLmN1SWNvbi1lbW9qaSB7XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uLy4uL3N0YXRpYy9iaWFvcWluZy5wbmcpIG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgbWFyZ2luLXJpZ2h0OiAyMHJweDtcclxuICB3aWR0aDogMzBweDtcclxufVxyXG4uY3VJY29uLWtleWJvYXJkIHtcclxuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vc3RhdGljL2JpYW9xaW5nLnBuZykgbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogMzBweDtcclxufVxyXG4ubWIzMCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMzBycHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG4udGFuY2h1IHtcclxuICBwYWRkaW5nOiA0MHJweCAzMHJweCA0MHJweCAzMHJweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIC5kcF90aXRsZSB7XHJcbiAgICBmb250LXNpemU6IDMycnB4O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNTBycHg7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIH1cclxuXHJcbiAgLmRwX2FkZCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDQwcnB4O1xyXG4gICAgcmlnaHQ6IDMwcnB4O1xyXG4gICAgZm9udC1zaXplOiAyMnJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZDYwMDQ7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG4gICAgcGFkZGluZzogNXJweCAxMHJweDtcclxuXHJcbiAgICAudS1pY29uIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVycHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWRkcmVzc0l0ZW0ge1xyXG4gICAgYm9yZGVyOiAycHggZGFzaGVkICNkOWQ5ZDk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHJweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHBhZGRpbmc6IDIwcnB4IDEwcnB4O1xyXG4gICAgbWFyZ2luOiAyNXJweCAwIDAgMDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG5cclxuICAgIC5hZGRyQ29udGVudCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiA0MHJweDtcclxuICAgICAgZmxleDogMTtcclxuXHJcbiAgICAgIC5hZGRyQ29udGVudFRvcCB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVycHggMDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAgIC51c2VyTmFtZSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDM1cnB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnVzZXJUZWwge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyNXJweDtcclxuICAgICAgICAgIGNvbG9yOiAjODg4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnVzZXJNb3JlbiB7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmQ2MDA0O1xyXG4gICAgICAgICAgY29sb3I6ICNmZDYwMDQ7XHJcbiAgICAgICAgICBwYWRkaW5nOiAzcnB4IDEwcnB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMnJweDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCAyMHJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jaG9vc2VDaGVjayB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDNycHg7XHJcbiAgICAgICAgICByaWdodDogNnJweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hZGRyQ29udGVudEJvdHRvbSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzMnJweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmFkZHJlc3NJdGVtLmFkZEl0ZW1fc3R5bGUge1xyXG4gICAgYm9yZGVyLWNvbG9yOiAjZmQ2MDA0O1xyXG4gIH1cclxuXHJcbiAgLnlvdWh1aUl0ZW0ge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZDlkOTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMjBycHggMTBycHg7XHJcbiAgICBtYXJnaW46IDI1cnB4IDAgMCAwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXNpemU6IDMwcnB4O1xyXG4gIH1cclxuXHJcbiAgLnlvdWh1aUl0ZW0gPiB2aWV3IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gIH1cclxuXHJcbiAgLnlvdWh1aUl0ZW0ueW91SXRlbV9zdHlsZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICNmZDYwMDQ7XHJcbiAgfVxyXG59XHJcbi5vcFNob3Uge1xyXG4gIGJvcmRlci1jb2xvcjogJHVuaS1jb2xvci1zdWNjZXNzICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5hZERlZmF1bHQge1xyXG4gIHBhZGRpbmc6IDMwcnB4IDUwcnB4IDMwcnB4IDEwMHJweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xyXG4gIGJvcmRlci1ib3R0b206IDJweCBkYXNoZWQgI2IyZTlkNztcclxuICBtYXJnaW46IDAgMCA1cnB4IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAuZGVmYWxUb3Age1xyXG4gICAgLnVzZXJOYW1lIHtcclxuICAgICAgZm9udC1zaXplOiAzNXJweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMzBycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnVzZXJUZWwge1xyXG4gICAgICBmb250LXNpemU6IDI1cnB4O1xyXG4gICAgICBjb2xvcjogIzg4ODtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kZWZhbEJvdHRvbSB7XHJcbiAgICAudXNlckFkZHJlc3Mge1xyXG4gICAgICBmb250LXNpemU6IDMycnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogNDBycHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZGVmYWxMZWZ0IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDMwcnB4O1xyXG4gICAgdG9wOiA1NXJweDtcclxuICB9XHJcbn1cclxuXHJcbi5vcmRlckxpc3Qge1xyXG4gIHBhZGRpbmc6IDIwcnB4O1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG5cclxuICAub3JkZXJJdGVtIHtcclxuICAgIHBhZGRpbmc6IDMwcnB4IDBycHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMzBycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHJweDtcclxuXHJcbiAgICAub3JkZXJDb250ZW50IHtcclxuICAgICAgcGFkZGluZzogMjBycHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcnB4O1xyXG5cclxuICAgICAgaW1hZ2Uge1xyXG4gICAgICAgIHdpZHRoOiAxNTBycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxODBycHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHJweDtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgfVxyXG4gICAgICAuZ29vZHNfaW5mbyB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE4MHJweCkgIWltcG9ydGFudDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIH1cclxuICAgICAgLml0ZW1KaWFuIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgLm9yZGVyVGl0bGUge1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICBmb250LXNpemU6IDMwcnB4O1xyXG4gICAgICAgICAgbWFyZ2luOiAwIDAgMjBycHggMDtcclxuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICAgd2lkdGg6IDQxMHJweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5vcmRlclByaWNlIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgICB3aWR0aDogNjBycHg7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHJweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAub3JkZXJhbGxwcmkge1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgIG1hcmdpbjogMTBycHggMDtcclxuICAgICAgLy8gcGFkZGluZzogMzBycHggMCAwIDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm9yZGVyUmVhbCB7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICBmb250LXNpemU6IDI4cnB4O1xyXG4gICAgICBtYXJnaW46IDEwcnB4IDA7XHJcbiAgICAgIC8vIHBhZGRpbmc6IDI4cnB4IDAgMCAwO1xyXG4gICAgfVxyXG5cclxuICAgIC5vcmRlcll1bmYge1xyXG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuXHJcbiAgICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICB9XHJcblxyXG4gICAgLm9yZGVyT3BlciB7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICBtYXJnaW46IDQwcnB4IDIwcnB4IDAgMDtcclxuXHJcbiAgICAgIHZpZXcge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuICAgICAgICBwYWRkaW5nOiAxMHJweCAwO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB3aWR0aDogMTYwcnB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjVycHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAub3BGaXgge1xyXG4gICAgICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBycHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5vcENhbiB7XHJcbiAgICAgICAgY29sb3I6ICNjOTY3MTM7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ViYTAwYjtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHJweDtcclxuICAgICAgfVxyXG4gICAgICAua2VmdSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuLmNvcHlDb2RlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgbWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG59XHJcbi5kZWxpdmVyQ250ZW50IHtcclxuICBwYWRkaW5nOiAzMnJweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBtYXJnaW4tYm90dG9tOiAyMHJweDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcclxuICBmb250LXNpemU6IDI4cnB4O1xyXG59XHJcblxyXG4uZmxleGJveCB7XHJcbiAgZGlzcGxheTogZmxleDtcclxufVxyXG5cclxuLmltZ19pY29uIHtcclxuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbn1cclxuXHJcbi5tb3JlQnRuRiB7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBwYWRkaW5nOiAzMHJweDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICB6LWluZGV4OiAxO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcclxuICAvLyBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDI1NSwyNTUsMjU1LDEpMCUscmdiYSgyNTUsMjU1LDI1NSwwLjUpNjYlLCByZ2JhKDI1NSwyNTUsMjU1LDI1NSk5OSUpOy8qIFNhZmFyaeOAgUNocm9tZSAqL1xyXG5cclxuICAvLyBiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwyNTUsMjU1LDI1NSkscmdiYSgyNTUsMjU1LDI1NSwxKSk7Lyog6buY6K6k5riQ5Y+Y5L2N572u5LuO5LiK5b6A5LiLICovXHJcbn1cclxuXHJcbi53dWxpdSB7XHJcbiAgLnRpbWUge1xyXG4gICAgY29sb3I6ICM4ODg7XHJcbiAgfVxyXG5cclxuICAubW9yZUJ0biB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogNTBweDtcclxuICB9XHJcbn1cclxuLmFkZHJlc3NfYm94IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIC8vIHBhZGRpbmc6IDIwcnB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAub3JkZXJfdG9wIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAyMHJweDtcclxuICB9XHJcblxyXG4gIC51c2VyX2luZm8ge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHJweDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgLm5hbWUge1xyXG4gICAgICBjb2xvcjogIzgzODI4MjtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHJweDtcclxuICAgIH1cclxuXHJcbiAgICAudGVsIHtcclxuICAgICAgY29sb3I6ICM4MzgyODI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuY3Vycml1bHVtX3RpdGxlIHtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgZm9udC1zaXplOiAzNHJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogMTBycHg7XHJcbiAgICBjb2xvcjogIzMzMztcclxuICAgIGxpbmUtaGVpZ2h0OiA1MHJweDtcclxuICAgIGxldHRlci1zcGFjaW5nOiAycnB4O1xyXG4gIH1cclxuXHJcbiAgLm5vcm1hbF9ib3gge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDVycHg7XHJcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTIwcnB4KTtcclxuICB9XHJcblxyXG4gIC5nb29kc19ib3gge1xyXG4gICAgcGFkZGluZzogMjBycHggMjBycHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB9XHJcblxyXG4gIC5yaWdodEFycm93IHtcclxuICAgIG1hcmdpbi1sZWZ0OiA0MHJweDtcclxuICAgIHdpZHRoOiA0MHJweDtcclxuICAgIGhlaWdodDogNDBycHg7XHJcbiAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAvLyByaWdodDogMzBycHg7XHJcbiAgfVxyXG59XHJcbi5mZW5nIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xyXG4gIG1hcmdpbjogMHJweCAyMnJweCAwIDA7XHJcbiAgaGVpZ2h0OiAxNDBycHggIWltcG9ydGFudDtcclxuICB3aWR0aDogMTQwcnB4ICFpbXBvcnRhbnQ7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMTRycHg7XHJcbiAgLy8gYm9yZGVyOiAxcnB4IHNvbGlkICNlOWU5ZTk7XHJcbn1cclxuLmJvb2tuYW1lbGVmdCB7XHJcbiAgZm9udC1zaXplOiAzMnJweDtcclxuICB3aWR0aDogY2FsYygxMDAlIC0gMTAwcnB4KTtcclxuICBjb2xvcjogIzA3MDcwNztcclxuICBsZXR0ZXItc3BhY2luZzogMC41cnB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuLm9yZGVyX2l0ZW0ge1xyXG4gIHBhZGRpbmc6IDIwcnB4IDIwcnB4O1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xyXG59XHJcbi9kZWVwLy5nb29kc19uYXZfYm94IHtcclxuICAubGVmdCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTBycHg7XHJcbiAgICB3aWR0aDogYXV0bztcclxuICAgIGhlaWdodDogYXV0bztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIC8vIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcbi5kZWxpc3RlZCB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIC8vIHBhZGRpbmc6IDJycHggNHJweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgYm9yZGVyLXJhZGl1czogNHJweDtcclxuICBmb250LXNpemU6IDIycnB4O1xyXG4gIHdpZHRoOiAxMDBycHg7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGhlaWdodDogNDBycHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQwcnB4O1xyXG4gIGxlZnQ6IGNhbGMoKDEwMCUgLSAxMDBycHgpIC8gMik7XHJcbiAgdG9wOiBjYWxjKCgxMDAlIC0gNDBycHgpIC8gMik7XHJcbn1cclxuLm9yZGVyX2JvdHRvbV9ib3gge1xyXG4gIG1hcmdpbi1sZWZ0OiAyMHJweDtcclxuXHJcbiAgLm51bWJlciB7XHJcbiAgICBmb250LXNpemU6IDI4cnB4O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxNXJweDtcclxuICAgIG1hcmdpbi10b3A6IDVycHg7XHJcbiAgfVxyXG5cclxuICAucHJpY2Uge1xyXG4gICAgLnRvdGFsIHtcclxuICAgICAgZm9udC1zaXplOiAzOHJweDtcclxuICAgICAgY29sb3I6IHJlZDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuPC9zdHlsZT5cclxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///522\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 */ 47));\nvar _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 125));\nvar _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 49));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _music = _interopRequireDefault(__webpack_require__(/*! @/components/music.vue */ 89));\nvar _bkhumorEmojiplus = _interopRequireDefault(__webpack_require__(/*! @/bkhumor-emojiplus/components/bkhumor-emojiplus/bkhumor-emojiplus.vue */ 513));\nvar _requestConfig = _interopRequireDefault(__webpack_require__(/*! @/config/requestConfig.js */ 95));\nvar _utils = __webpack_require__(/*! @/config/utils */ 235);\nvar _vuex = __webpack_require__(/*! vuex */ 63);\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 A: {\n orderId: 15316,\n orderSn: \"20241209141541253186600376645070\",\n userId: 13487,\n userName: null,\n statusNum: null,\n shippingUser: null,\n userPhone: \"18834844847\",\n province: null,\n city: null,\n district: null,\n address: null,\n come: 2,\n paymentMethod: \"3\",\n orderMoney: 39,\n districtMoney: 0,\n realMoney: 39,\n shippingMoney: null,\n shippingCompName: null,\n shippingSn: null,\n jfDeduction: 0,\n createTime: \"2024-12-09 14:15:41\",\n shippingTime: null,\n orderStatus: \"0\",\n successTime: null,\n couponId: null,\n couponName: null,\n delFlag: 0,\n products: null,\n productList: null,\n buyType: null,\n orderType: \"point\",\n expNo: null,\n isSend: null,\n vipBuyConfigId: 0,\n addressId: null,\n remark: null,\n orderCode: null,\n paymentDate: null,\n productId: \"21\",\n recordId: null,\n timestamp: null,\n user: null,\n expressList: null,\n addressModified: 0,\n consigneeVo: null,\n appName: null,\n bookBuyConfigEntity: {\n priceTypeId: 21,\n type: \"point\",\n qudao: \"IOS\",\n realMoney: \"45\",\n money: \"39\",\n givejf: \"0\",\n month: null,\n description: \"\",\n effective: 0,\n startTime: null,\n endTime: null\n },\n vipBuyConfigEntity: null\n },\n iconList: [{\n text: \"联系客服\",\n iconType: 1,\n icon: \"server-fill\",\n infoColor: \"#666\"\n }],\n userRecordid: null,\n // 用户的评价状态\n playData: {},\n title: \"Hello\",\n isShowEmj: false,\n emojiIcon: \"cuIcon-emoji\",\n message: \"\",\n windowWidth: 0,\n windowHeight: 500,\n Pform: {\n // 评价表单\n star: 0,\n comment: \"\",\n img: [],\n html: \"\"\n },\n pingID: null,\n productID: null,\n // 订单商品id\n imageStyles: {\n width: 64,\n height: 64,\n border: {\n color: \"#89aa7d\",\n width: 2,\n style: \"dashed\",\n radius: \"2px\"\n }\n },\n pingjiaShow: false,\n logisticsData: [],\n // 快递信息列表\n titleStat: \"\",\n orderID: 0,\n orderSn: \"\",\n orderType: \"\",\n orderContet: {},\n goodsList: [],\n deliverDetails: [{\n Traces: []\n }],\n // 物流详情信息全部\n deliverDetailsLength: null,\n emoji: [],\n Files: [],\n pjType: \"\",\n sheetList: [],\n // 面单数据\n consigneeShow: false,\n sheetListShow: false,\n customButton: []\n };\n },\n onLoad: function onLoad(e) {\n this.windowWidth = uni.getSystemInfoSync().windowWidth;\n this.orderID = e.orderId;\n this.orderType = e.orderType;\n this.orderSn = e.orderSn;\n __f__(\"log\", this.orderID, \"this.orderID\", \" at pages/bookShop/orderLCont.vue:689\");\n },\n onHide: function onHide() {\n this.sheetList = [];\n },\n onShow: function onShow() {\n this.getOrderList();\n },\n components: {\n emotion: _bkhumorEmojiplus.default,\n musicPlay: _music.default\n },\n computed: _objectSpread({}, (0, _vuex.mapState)([\"userInfo\"])),\n methods: {\n gotoWorkOrder: function gotoWorkOrder() {\n uni.navigateTo({\n url: \"/pages/user/workOrder?name=order\"\n });\n },\n goBuyJie: function goBuyJie(data) {\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 __f__(\"log\", \"index at line 532:\", data, \" at pages/bookShop/orderLCont.vue:712\");\n if (data.text == \"继续付款\") {\n _this.goPay(_this.orderContet);\n } else if (data.text == \"取消订单\") {\n _this.canceOrder();\n } else if (data.text == \"确认收货\") {\n _this.OverOrder();\n } else if (data.text == \"查看物流\") {\n _this.seeExpressDetail(_this.orderContet);\n }\n case 2:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n clickIcon: function clickIcon(data) {\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\", \"index at line 532:\", data, \" at pages/bookShop/orderLCont.vue:724\");\n if (data.text == \"联系客服\") {\n _this2.kefu();\n }\n case 2:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }))();\n },\n // 复制到剪切板\n copyData: function copyData(data) {\n uni.setClipboardData({\n data: data,\n success: function success() {\n __f__(\"log\", \"success\", \" at pages/bookShop/orderLCont.vue:734\");\n }\n });\n },\n seeExpressDetails: function seeExpressDetails(item) {\n __f__(\"log\", item, \"item\", \" at pages/bookShop/orderLCont.vue:739\");\n uni.navigateTo({\n url: \"./deliverDetail?orderSn=\" + this.orderContet.orderSn + \"&expressOrderSn=\" + item.expressOrderSn + \"&expressCompanyCode=\" + item.expressCompanyCode + \"&expressCompanyName=\" + item.expressCompanyName\n });\n },\n // 倒计时回调\n countDown: function countDown() {\n __f__(\"log\", \"重新刷新订单\", \" at pages/bookShop/orderLCont.vue:754\");\n this.getOrderList();\n },\n // 获得输入的表情数组\n handleEmj: function handleEmj(i) {\n __f__(\"log\", i, \"i---------\", \" at pages/bookShop/orderLCont.vue:759\");\n this.inputValue = i;\n // console.log(this.inputValue);\n if (i.emotioni == \"[em_98]\") {\n //匹配最后一个表情符号并删除11。\n this.Pform.comment = this.Pform.comment.replace(/(\\[[^\\]]+\\]|[\\s\\S])$/, \"\");\n if (this.emoji.length > 0) {\n this.emoji = this.emoji.slice(0, -1);\n }\n } else {\n this.emoji.push({\n tag: i.emotion,\n name: i.emotioni\n });\n // console.log(this.emoji,'this.emoji')\n this.Pform.comment += i.emotioni;\n /// this.Pform.html += i.emotion\n }\n },\n showZhuiping: function showZhuiping(val) {\n this.pjType = \"zhuiping\";\n this.pingjiaShow = true;\n this.productID = val;\n this.pingID = pingid;\n },\n // 追加评论\n zhuiping: function zhuiping() {\n var _this3 = this;\n var data = {\n oid: this.userRecordid,\n userId: this.userInfo.id,\n bookid: this.productID,\n conTent: this.Pform.comment\n };\n __f__(\"log\", data, \"data\", \" at pages/bookShop/orderLCont.vue:792\");\n _requestConfig.default.request({\n url: \"user/followUp/userFollowUp\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: data,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n uni.showToast({\n title: \"追评成功!\",\n icon: \"success\"\n });\n _this3.pingjiaShow = false;\n _this3.pjType = \"\";\n _this3.productID = null, _this3.userRecordid = null;\n _this3.Pform.comment = \"\";\n _this3.Pform.html = \"\";\n _this3.emoji = [];\n setTimeout(function () {\n uni.navigateBack({\n delta: 1\n });\n }, 2000);\n }\n });\n },\n textareaBInput: function textareaBInput(e) {\n __f__(\"log\", e, \"e\", \" at pages/bookShop/orderLCont.vue:824\");\n this.Pform.comment = e.detail.value;\n /// this.Pform.html = e.detail.value\n },\n showEmj: function showEmj() {\n var bool = !this.isShowEmj;\n if (bool) {\n this.emojiIcon = \"cuIcon-keyboard\";\n } else {\n this.emojiIcon = \"cuIcon-emoji\";\n }\n this.isShowEmj = bool;\n this.$emit(\"show\");\n },\n InputBlur: function InputBlur(e) {},\n InputFocus: function InputFocus(e) {\n this.isShowEmj = false;\n this.emojiIcon = \"cuIcon-emoji\";\n this.$emit(\"foc\");\n },\n // end\n deleteImg: function deleteImg(e) {\n // var arr = this.Pform.img.slice(0,-1)\n this.Pform.img.pop();\n // console.log('删除文件',arr)\n __f__(\"log\", this.Pform, \" at pages/bookShop/orderLCont.vue:851\");\n },\n getStar: function getStar(i) {\n this.Pform.star = i;\n },\n select: function select(e) {\n var _this$Pform$img;\n __f__(\"log\", \"选择文件:\", e, \" at pages/bookShop/orderLCont.vue:857\");\n var arr = e.tempFiles.map(function (item) {\n return {\n url: item.url,\n name: item.name\n };\n });\n this.Pform.img = (_this$Pform$img = this.Pform.img).concat.apply(_this$Pform$img, (0, _toConsumableArray2.default)(arr));\n //this.Pform.img = arr\n __f__(\"log\", this.Pform, \"img\", \" at pages/bookShop/orderLCont.vue:863\");\n },\n upSuccess: function upSuccess(e) {\n __f__(\"log\", e, \" at pages/bookShop/orderLCont.vue:866\");\n },\n // 获取html格式的评论1\n getHtmlComment: function getHtmlComment() {\n // 格式化html\n var ss = this.Pform.comment;\n if (this.emoji.length > 0) {\n for (var i = 0; i < this.emoji.length; i++) {\n if (this.Pform.comment.indexOf(this.emoji[i].name) !== -1) {\n //var re = new RegExp(this.emoji[0].name,\"g\"); //定义正则表达式\n //第一个参数是要替换掉的内容,第二个参数\"g\"表示替换全部(global)。\n // ss = ss.replace(re, ); //第一个参数是正则表达式。\n ss = ss.replace(this.emoji[i].name, this.emoji[i].tag);\n // console.log(ss)\n }\n }\n\n this.Pform.html = ss;\n } else {\n this.Pform.html = this.Pform.comment;\n }\n //console.log(this.Pform.html,'this.Pform.html')\n },\n deletePic: function deletePic() {\n var that = this;\n that.Pform.img.splice(0, 1);\n //console.log(that.Pform.img)\n },\n afterRead: function afterRead(e) {\n //console.log(e)\n var that = this;\n for (var i = 0; i < e.file.length; i++) {\n //console.log(i,e.file[i].url)\n uni.uploadFile({\n url: this.$baseUrl + \"oss/fileoss\",\n filePath: e.file[i].url,\n //files:e.file,\n name: \"file\",\n formData: {},\n success: function success(res) {\n that.Pform.img.push({\n url: JSON.parse(res.data).url\n });\n }\n });\n }\n },\n closePingjia: function closePingjia() {\n this.pingjiaShow = false;\n this.Pform.comment = \"\";\n this.Pform.html = \"\";\n this.emoji = [];\n },\n // 提交评价\n submitPJ: function submitPJ() {\n var _this4 = this;\n if (this.Pform.comment != \"\") {\n var data = {\n userid: this.userInfo.id,\n orderSn: this.orderSn,\n bookid: this.productID,\n // 'content': this.Pform.html,\n content: this.Pform.comment,\n starLevel: this.Pform.star,\n images: this.Pform.img\n // 'emoji':this.emoji // 表情数组\n };\n // console.log(data,'data')\n _requestConfig.default.request({\n url: \"buy/record/UserRecordcomment\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: data,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n uni.showToast({\n title: \"评价成功!\",\n icon: \"success\"\n });\n _this4.pingjiaShow = false;\n _this4.Pform.comment = \"\";\n _this4.Pform.html = \"\";\n _this4.emoji = [];\n setTimeout(function () {\n uni.navigateBack({\n delta: 1\n });\n }, 2000);\n }\n });\n } else {\n uni.showToast({\n title: \"请先输入您的评价内容 !\",\n icon: \"none\"\n });\n }\n },\n // 添加评价\n pingji: function pingji(id) {\n __f__(\"log\", id, \" at pages/bookShop/orderLCont.vue:969\");\n this.pjType = \"\";\n this.productID = id;\n this.pingjiaShow = true;\n },\n // 联系客服\n kefu: function kefu() {\n uni.showModal({\n title: \"提示\",\n content: \"微信号:yilujiankangkefu\"\n // success: function (res) {\n // \tif (res.confirm) {\n // \t\tuni.makePhoneCall({\n // \t\t\tphoneNumber: '022-24142321' //仅为示例\n // \t\t});\n // \t} else if (res.cancel) {\n\n // \t}\n // }\n });\n },\n // 查看物流\n seeExpressDetail: function seeExpressDetail(item) {\n if (this.sheetList.length > 1) {\n this.sheetListShow = true;\n } else if (this.sheetList.length == 1) {\n // 直接展示详情\n uni.navigateTo({\n url: \"./deliverDetail?orderSn=\" + item.orderSn + \"&expressOrderSn=\" + this.sheetList[0].expressOrderSn\n });\n }\n },\n handleCopy: function handleCopy(value, title) {\n this.$commonJS.handleCopy(value, title);\n },\n onPageJump: function onPageJump(item) {\n uni.navigateTo({\n url: \"./deliverDetail?objId=\" + item\n });\n },\n OverOrder: function OverOrder() {\n var _this5 = this;\n // 确认收货\n uni.showModal({\n title: \"提示\",\n content: \"确认收货?\",\n success: function success(res) {\n var data = {\n orderId: _this5.orderID,\n orderStatus: \"3\"\n };\n if (res.confirm) {\n uni.showLoading();\n _requestConfig.default.request({\n url: \"book/buyOrder/update\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: data,\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n uni.hideLoading();\n uni.showToast({\n title: \"收货成功\",\n icon: \"success\",\n duration: 1000\n });\n _this5.getOrderList();\n }\n });\n } else if (res.cancel) {}\n }\n });\n },\n // 切换订单状态\n orderTabCLi: function orderTabCLi(e) {\n this.orderListTab = e;\n },\n getCouponDetail: function getCouponDetail(id) {\n var _this6 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() {\n return _regenerator.default.wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return _this6.$http.request({\n url: \"common/coupon/getCouponHistoryInfo\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: {\n id: id\n },\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then( /*#__PURE__*/function () {\n var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(res) {\n return _regenerator.default.wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n if (!(res.code != 0)) {\n _context3.next = 2;\n break;\n }\n return _context3.abrupt(\"return\", _this6.$commonJS.showToast(res.errMsg));\n case 2:\n _this6.orderContet.couponAmount = res.couponHistory.couponEntity.couponAmount;\n case 3:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).catch(function (e) {\n __f__(\"log\", e, \" at pages/bookShop/orderLCont.vue:1074\");\n _this6.$commonJS.showToast(e.errMsg);\n });\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }))();\n },\n // 获取订单详情\n getOrderList: function getOrderList() {\n var _this7 = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6() {\n return _regenerator.default.wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n __f__(\"log\", \"this.orderType\", _this7.orderType, \" at pages/bookShop/orderLCont.vue:1080\");\n _context6.next = 3;\n return _this7.$http.request({\n url: \"common/buyOrder/commonOrderDetail\",\n method: \"POST\",\n // POST、GET、PUT、DELETE,具体说明查看官方文档\n data: {\n orderId: _this7.orderID\n },\n header: {\n //默认 无 说明:请求头\n \"Content-Type\": \"application/json\"\n }\n }).then( /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(res) {\n return _regenerator.default.wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _this7.customButton = [];\n __f__(\"log\", \"订单详情\", res, \" at pages/bookShop/orderLCont.vue:1096\");\n _this7.orderContet = res.data.buyOrder;\n _this7.goodsList = res.data.productInfo;\n _this7.consigneeShow = true;\n // 存在优惠券信息,就查询优惠券集体金额\n if (!(_this7.orderContet.couponId && _this7.orderContet.couponId != null)) {\n _context5.next = 8;\n break;\n }\n _context5.next = 8;\n return _this7.getCouponDetail(_this7.orderContet.couponId);\n case 8:\n if (_this7.orderContet.orderStatus == 2 && _this7.sheetList.length > 0 && _this7.orderContet.orderStatus != 5) {\n _this7.customButton.push((0, _defineProperty2.default)({\n width: \"160rpx\",\n text: \"查看物流\",\n color: \"#333\",\n backgroundColor: \"#f0f0f0\"\n }, \"color\", \"#fff\"));\n }\n if (_this7.orderContet.orderStatus == 2) {\n _this7.customButton.push({\n width: \"160rpx\",\n text: \"确认收货\",\n color: \"#fff\"\n });\n }\n if (_this7.orderContet.orderStatus == 0 && _this7.orderContet.paymentMethod != 3) {\n _this7.customButton.push({\n width: \"160rpx\",\n text: \"继续付款\"\n });\n }\n if (_this7.orderContet.orderStatus == 0) {\n _this7.customButton.push({\n width: \"160rpx\",\n text: \"取消订单\",\n color: \"#333\",\n backgroundColor: \"#f0f0f0\"\n });\n }\n\n // var seconds = res.result.timestamp + 30 * 60 + 2 // 过期时间\n // var nowSeconds = Math.floor(new Date().getTime() / 1000);\n // res.result.overTime = seconds - nowSeconds\n\n //this.userRecordid = res.userRecordid\n // this.productIDs = res.data.goodsList.map((item) => {\n // return item.buyOrderProductId;\n // });\n // console.log(this.orderContet,'this.orderContet')\n if (_this7.orderContet.orderStatus == 0) {\n _this7.titleStat = \"待支付\";\n } else if (_this7.orderContet.orderStatus == 1) {\n _this7.titleStat = \"待发货\";\n } else if (_this7.orderContet.orderStatus == 2) {\n _this7.titleStat = \"待收货\";\n } else if (_this7.orderContet.orderStatus == 3) {\n _this7.titleStat = \"已完成\";\n }\n if (_this7.orderContet.orderStatus >= 2 && _this7.orderContet.orderType == \"order\" && _this7.orderContet.expressOrders) {\n _this7.sheetList = _this7.orderContet.expressOrders;\n } else {\n _this7.sheetList = [];\n }\n __f__(\"log\", _this7.orderContet, \"订单详情\", \" at pages/bookShop/orderLCont.vue:1170\");\n case 15:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n return function (_x2) {\n return _ref2.apply(this, arguments);\n };\n }());\n case 3:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6);\n }))();\n },\n // 取消订单\n canceOrder: function canceOrder() {\n var _this8 = this;\n uni.showModal({\n title: \"提示\",\n content: \"确定要取消订单吗?\",\n confirmText: \"取消订单\",\n cancelText: \"考虑一下\",\n confirmColor: \"#c96713\",\n cancelColor: \"#555\",\n success: function success(res) {\n if (res.confirm) {\n _this8.$http.post(\"book/buyOrder/appDelete?orderId=\" + _this8.orderContet.orderId).then(function (res) {\n uni.showToast({\n icon: \"none\",\n title: \"取消订单成功\"\n });\n uni.switchTab({\n url: \"./orderList\"\n });\n });\n }\n }\n });\n },\n // 支付\n goPay: function goPay(payItem) {\n var _this9 = this;\n __f__(\"log\", payItem, \"订单数据\", \" at pages/bookShop/orderLCont.vue:1205\");\n if (payItem.paymentMethod == 2) {\n __f__(\"log\", \"阿里支付\", \" at pages/bookShop/orderLCont.vue:1207\");\n (0, _utils.setPay)({\n typePay: \"alipay\",\n subject: \"order\",\n totalAmount: payItem.realMoney,\n type: 2,\n relevanceoid: payItem.orderSn,\n customerId: this.userInfo.id\n }, function (res) {\n if (res.success) {\n uni.showToast({\n title: \"支付成功\"\n });\n } else {\n uni.showToast({\n title: \"支付失败\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n }\n _this9.getOrderList();\n });\n } else if (payItem.paymentMethod == 1) {\n __f__(\"log\", \"微信支付\", \" at pages/bookShop/orderLCont.vue:1233\");\n // console.log(this.isAndorid)\n if (this.isAndorid == false) {\n uni.showModal({\n title: \"提示\",\n content: \"很抱歉,苹果系统暂不支持微信支付\",\n showCancel: false\n });\n return false;\n } else {\n var data1 = {\n orderSn: payItem.orderSn,\n buyOrderId: null,\n totalAmount: payItem.realMoney\n };\n __f__(\"log\", data1, \"data1\", \" at pages/bookShop/orderLCont.vue:1248\");\n (0, _utils.setWXPay)(data1, function (res) {\n if (res.success) {\n uni.showToast({\n title: \"支付成功\"\n });\n } else {\n __f__(\"log\", res, \" at pages/bookShop/orderLCont.vue:1255\");\n if (res.data.errMsg.indexOf(\"User canceled\") != -1) {\n uni.showToast({\n title: \"用户取消支付\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n } else {\n uni.showToast({\n title: \"支付失败\",\n icon: \"none\",\n image: \"../../static/icon/ic_close.png\"\n });\n }\n }\n });\n }\n } else if (payItem.paymentMethod == 3) {\n // 苹果充值\n __f__(\"log\", \"苹果二次支付\", \" at pages/bookShop/orderLCont.vue:1274\");\n uni.showModal({\n content: \"apple内购订单不支持继续支付,请重新发起支付申请并完成支付\",\n confirmText: \"好的\",\n showCancel: false\n });\n }\n },\n // 商品内容跳转\n goDetail: function goDetail(id, data) {\n __f__(\"log\", \"data at line 1277:订单详情参数\", data, \" at pages/bookShop/orderLCont.vue:1285\");\n if (data.delFlag == -1) {\n this.$commonJS.showToast(\"商品已下架\");\n } else if (data.goodsType == \"05\") {\n if (data.courseIds && data.courseIds.length > 0) {\n uni.navigateTo({\n url: \"/pages/course/courseDetail?id=\".concat(data.courseIds[0].courseId)\n });\n } else {\n uni.showToast({\n title: \"课程数据出错\",\n icon: \"none\"\n });\n }\n } else {\n uni.navigateTo({\n // url: '../bookShop/commodityDetail?id=' + item.id\n url: \"/pages/goods/index/index?navTitle=''&title=''&id=\".concat(id)\n });\n }\n }\n }\n};\nexports.default = _default;\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/vue-cli-plugin-uni/lib/format-log.js */ 62)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvYm9va1Nob3Avb3JkZXJMQ29udC52dWUiXSwibmFtZXMiOlsiZGF0YSIsIkEiLCJvcmRlcklkIiwib3JkZXJTbiIsInVzZXJJZCIsInVzZXJOYW1lIiwic3RhdHVzTnVtIiwic2hpcHBpbmdVc2VyIiwidXNlclBob25lIiwicHJvdmluY2UiLCJjaXR5IiwiZGlzdHJpY3QiLCJhZGRyZXNzIiwiY29tZSIsInBheW1lbnRNZXRob2QiLCJvcmRlck1vbmV5IiwiZGlzdHJpY3RNb25leSIsInJlYWxNb25leSIsInNoaXBwaW5nTW9uZXkiLCJzaGlwcGluZ0NvbXBOYW1lIiwic2hpcHBpbmdTbiIsImpmRGVkdWN0aW9uIiwiY3JlYXRlVGltZSIsInNoaXBwaW5nVGltZSIsIm9yZGVyU3RhdHVzIiwic3VjY2Vzc1RpbWUiLCJjb3Vwb25JZCIsImNvdXBvbk5hbWUiLCJkZWxGbGFnIiwicHJvZHVjdHMiLCJwcm9kdWN0TGlzdCIsImJ1eVR5cGUiLCJvcmRlclR5cGUiLCJleHBObyIsImlzU2VuZCIsInZpcEJ1eUNvbmZpZ0lkIiwiYWRkcmVzc0lkIiwicmVtYXJrIiwib3JkZXJDb2RlIiwicGF5bWVudERhdGUiLCJwcm9kdWN0SWQiLCJyZWNvcmRJZCIsInRpbWVzdGFtcCIsInVzZXIiLCJleHByZXNzTGlzdCIsImFkZHJlc3NNb2RpZmllZCIsImNvbnNpZ25lZVZvIiwiYXBwTmFtZSIsImJvb2tCdXlDb25maWdFbnRpdHkiLCJwcmljZVR5cGVJZCIsInR5cGUiLCJxdWRhbyIsIm1vbmV5IiwiZ2l2ZWpmIiwibW9udGgiLCJkZXNjcmlwdGlvbiIsImVmZmVjdGl2ZSIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJ2aXBCdXlDb25maWdFbnRpdHkiLCJpY29uTGlzdCIsInRleHQiLCJpY29uVHlwZSIsImljb24iLCJpbmZvQ29sb3IiLCJ1c2VyUmVjb3JkaWQiLCJwbGF5RGF0YSIsInRpdGxlIiwiaXNTaG93RW1qIiwiZW1vamlJY29uIiwibWVzc2FnZSIsIndpbmRvd1dpZHRoIiwid2luZG93SGVpZ2h0IiwiUGZvcm0iLCJzdGFyIiwiY29tbWVudCIsImltZyIsImh0bWwiLCJwaW5nSUQiLCJwcm9kdWN0SUQiLCJpbWFnZVN0eWxlcyIsIndpZHRoIiwiaGVpZ2h0IiwiYm9yZGVyIiwiY29sb3IiLCJzdHlsZSIsInJhZGl1cyIsInBpbmdqaWFTaG93IiwibG9naXN0aWNzRGF0YSIsInRpdGxlU3RhdCIsIm9yZGVySUQiLCJvcmRlckNvbnRldCIsImdvb2RzTGlzdCIsImRlbGl2ZXJEZXRhaWxzIiwiVHJhY2VzIiwiZGVsaXZlckRldGFpbHNMZW5ndGgiLCJlbW9qaSIsIkZpbGVzIiwicGpUeXBlIiwic2hlZXRMaXN0IiwiY29uc2lnbmVlU2hvdyIsInNoZWV0TGlzdFNob3ciLCJjdXN0b21CdXR0b24iLCJvbkxvYWQiLCJlIiwidW5pIiwiZ2V0U3lzdGVtSW5mb1N5bmMiLCJvbkhpZGUiLCJvblNob3ciLCJnZXRPcmRlckxpc3QiLCJjb21wb25lbnRzIiwiZW1vdGlvbiIsIm11c2ljUGxheSIsImNvbXB1dGVkIiwibWFwU3RhdGUiLCJtZXRob2RzIiwiZ290b1dvcmtPcmRlciIsIm5hdmlnYXRlVG8iLCJ1cmwiLCJnb0J1eUppZSIsImdvUGF5IiwiY2FuY2VPcmRlciIsIk92ZXJPcmRlciIsInNlZUV4cHJlc3NEZXRhaWwiLCJjbGlja0ljb24iLCJrZWZ1IiwiY29weURhdGEiLCJzZXRDbGlwYm9hcmREYXRhIiwic3VjY2VzcyIsInNlZUV4cHJlc3NEZXRhaWxzIiwiaXRlbSIsImV4cHJlc3NPcmRlclNuIiwiZXhwcmVzc0NvbXBhbnlDb2RlIiwiZXhwcmVzc0NvbXBhbnlOYW1lIiwiY291bnREb3duIiwiaGFuZGxlRW1qIiwiaSIsImlucHV0VmFsdWUiLCJlbW90aW9uaSIsInJlcGxhY2UiLCJsZW5ndGgiLCJzbGljZSIsInB1c2giLCJ0YWciLCJuYW1lIiwic2hvd1podWlwaW5nIiwidmFsIiwicGluZ2lkIiwiemh1aXBpbmciLCJvaWQiLCJ1c2VySW5mbyIsImlkIiwiYm9va2lkIiwiY29uVGVudCIsIiRodHRwIiwicmVxdWVzdCIsIm1ldGhvZCIsImhlYWRlciIsInRoZW4iLCJyZXMiLCJjb2RlIiwic2hvd1RvYXN0Iiwic2V0VGltZW91dCIsIm5hdmlnYXRlQmFjayIsImRlbHRhIiwidGV4dGFyZWFCSW5wdXQiLCJkZXRhaWwiLCJ2YWx1ZSIsInNob3dFbWoiLCJib29sIiwiJGVtaXQiLCJJbnB1dEJsdXIiLCJJbnB1dEZvY3VzIiwiZGVsZXRlSW1nIiwicG9wIiwiZ2V0U3RhciIsInNlbGVjdCIsImFyciIsInRlbXBGaWxlcyIsIm1hcCIsImNvbmNhdCIsInVwU3VjY2VzcyIsImdldEh0bWxDb21tZW50Iiwic3MiLCJpbmRleE9mIiwiZGVsZXRlUGljIiwidGhhdCIsInNwbGljZSIsImFmdGVyUmVhZCIsImZpbGUiLCJ1cGxvYWRGaWxlIiwiJGJhc2VVcmwiLCJmaWxlUGF0aCIsImZvcm1EYXRhIiwiSlNPTiIsInBhcnNlIiwiY2xvc2VQaW5namlhIiwic3VibWl0UEoiLCJ1c2VyaWQiLCJjb250ZW50Iiwic3RhckxldmVsIiwiaW1hZ2VzIiwicGluZ2ppIiwic2hvd01vZGFsIiwiaGFuZGxlQ29weSIsIiRjb21tb25KUyIsIm9uUGFnZUp1bXAiLCJjb25maXJtIiwic2hvd0xvYWRpbmciLCJoaWRlTG9hZGluZyIsImR1cmF0aW9uIiwiY2FuY2VsIiwib3JkZXJUYWJDTGkiLCJvcmRlckxpc3RUYWIiLCJnZXRDb3Vwb25EZXRhaWwiLCJlcnJNc2ciLCJjb3Vwb25BbW91bnQiLCJjb3Vwb25IaXN0b3J5IiwiY291cG9uRW50aXR5IiwiY2F0Y2giLCJidXlPcmRlciIsInByb2R1Y3RJbmZvIiwiYmFja2dyb3VuZENvbG9yIiwiZXhwcmVzc09yZGVycyIsImNvbmZpcm1UZXh0IiwiY2FuY2VsVGV4dCIsImNvbmZpcm1Db2xvciIsImNhbmNlbENvbG9yIiwicG9zdCIsInN3aXRjaFRhYiIsInBheUl0ZW0iLCJzZXRQYXkiLCJ0eXBlUGF5Iiwic3ViamVjdCIsInRvdGFsQW1vdW50IiwicmVsZXZhbmNlb2lkIiwiY3VzdG9tZXJJZCIsImltYWdlIiwiaXNBbmRvcmlkIiwic2hvd0NhbmNlbCIsImRhdGExIiwiYnV5T3JkZXJJZCIsInNldFdYUGF5IiwiZ29EZXRhaWwiLCJnb29kc1R5cGUiLCJjb3Vyc2VJZHMiLCJjb3Vyc2VJZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUEwaUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFBZ0M7QUFBQTtBQUFBLGVBQ2pCO0VBQ2JBLElBQUksa0JBQUc7SUFDTCxPQUFPO01BQ0xDLENBQUMsRUFBRTtRQUNEQyxPQUFPLEVBQUUsS0FBSztRQUNkQyxPQUFPLEVBQUUsa0NBQWtDO1FBQzNDQyxNQUFNLEVBQUUsS0FBSztRQUNiQyxRQUFRLEVBQUUsSUFBSTtRQUNkQyxTQUFTLEVBQUUsSUFBSTtRQUNmQyxZQUFZLEVBQUUsSUFBSTtRQUNsQkMsU0FBUyxFQUFFLGFBQWE7UUFDeEJDLFFBQVEsRUFBRSxJQUFJO1FBQ2RDLElBQUksRUFBRSxJQUFJO1FBQ1ZDLFFBQVEsRUFBRSxJQUFJO1FBQ2RDLE9BQU8sRUFBRSxJQUFJO1FBQ2JDLElBQUksRUFBRSxDQUFDO1FBQ1BDLGFBQWEsRUFBRSxHQUFHO1FBQ2xCQyxVQUFVLEVBQUUsRUFBRTtRQUNkQyxhQUFhLEVBQUUsQ0FBQztRQUNoQkMsU0FBUyxFQUFFLEVBQUU7UUFDYkMsYUFBYSxFQUFFLElBQUk7UUFDbkJDLGdCQUFnQixFQUFFLElBQUk7UUFDdEJDLFVBQVUsRUFBRSxJQUFJO1FBQ2hCQyxXQUFXLEVBQUUsQ0FBQztRQUNkQyxVQUFVLEVBQUUscUJBQXFCO1FBQ2pDQyxZQUFZLEVBQUUsSUFBSTtRQUNsQkMsV0FBVyxFQUFFLEdBQUc7UUFDaEJDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCQyxRQUFRLEVBQUUsSUFBSTtRQUNkQyxVQUFVLEVBQUUsSUFBSTtRQUNoQkMsT0FBTyxFQUFFLENBQUM7UUFDVkMsUUFBUSxFQUFFLElBQUk7UUFDZEMsV0FBVyxF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RSxRQUFRO1lBQ2ZKLElBQUksRUFBRTtVQUNSLENBQUMsQ0FBQztRQUNKO01BQ0YsQ0FBQyxNQUFNO1FBQ0wwQyxHQUFHLENBQUNZLFVBQVUsQ0FBQztVQUNiO1VBQ0FDLEdBQUcsNkRBQXNEaUMsRUFBRTtRQUM3RCxDQUFDLENBQUM7TUFDSjtJQUNGO0VBQ0Y7QUFDRixDQUFDO0FBQUEsMkIiLCJmaWxlIjoiNTIyLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuLy9cclxuXHJcbmltcG9ydCBtdXNpY1BsYXkgZnJvbSBcIkAvY29tcG9uZW50cy9tdXNpYy52dWVcIjtcclxuaW1wb3J0IGVtb3Rpb24gZnJvbSBcIkAvYmtodW1vci1lbW9qaXBsdXMvY29tcG9uZW50cy9ia2h1bW9yLWVtb2ppcGx1cy9ia2h1bW9yLWVtb2ppcGx1cy52dWVcIjtcclxuaW1wb3J0ICRodHRwIGZyb20gXCJAL2NvbmZpZy9yZXF1ZXN0Q29uZmlnLmpzXCI7XHJcbmltcG9ydCB7IHNldFBheSwgc2V0UGF5QXNzaWduLCBzZXRXWFBheSB9IGZyb20gXCJAL2NvbmZpZy91dGlsc1wiO1xyXG5pbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gXCJ2dWV4XCI7XHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICBkYXRhKCkge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgQToge1xyXG4gICAgICAgIG9yZGVySWQ6IDE1MzE2LFxyXG4gICAgICAgIG9yZGVyU246IFwiMjAyNDEyMDkxNDE1NDEyNTMxODY2MDAzNzY2NDUwNzBcIixcclxuICAgICAgICB1c2VySWQ6IDEzNDg3LFxyXG4gICAgICAgIHVzZXJOYW1lOiBudWxsLFxyXG4gICAgICAgIHN0YXR1c051bTogbnVsbCxcclxuICAgICAgICBzaGlwcGluZ1VzZXI6IG51bGwsXHJcbiAgICAgICAgdXNlclBob25lOiBcIjE4ODM0ODQ0ODQ3XCIsXHJcbiAgICAgICAgcHJvdmluY2U6IG51bGwsXHJcbiAgICAgICAgY2l0eTogbnVsbCxcclxuICAgICAgICBkaXN0cmljdDogbnVsbCxcclxuICAgICAgICBhZGRyZXNzOiBudWxsLFxyXG4gICAgICAgIGNvbWU6IDIsXHJcbiAgICAgICAgcGF5bWVudE1ldGhvZDogXCIzXCIsXHJcbiAgICAgICAgb3JkZXJNb25leTogMzksXHJcbiAgICAgICAgZGlzdHJpY3RNb25leTogMCxcclxuICAgICAgICByZWFsTW9uZXk6IDM5LFxyXG4gICAgICAgIHNoaXBwaW5nTW9uZXk6IG51bGwsXHJcbiAgICAgICAgc2hpcHBpbmdDb21wTmFtZTogbnVsbCxcclxuICAgICAgICBzaGlwcGluZ1NuOiBudWxsLFxyXG4gICAgICAgIGpmRGVkdWN0aW9uOiAwLFxyXG4gICAgICAgIGNyZWF0ZVRpbWU6IFwiMjAyNC0xMi0wOSAxNDoxNTo0MVwiLFxyXG4gICAgICAgIHNoaXBwaW5nVGltZTogbnVsbCxcclxuICAgICAgICBvcmRlclN0YXR1czogXCIwXCIsXHJcbiAgICAgICAgc3VjY2Vzc1RpbWU6IG51bGwsXHJcbiAgICAgICAgY291cG9uSWQ6IG51bGwsXHJcbiAgICAgICAgY291cG9uTmFtZTogbnVsbCxcclxuICAgICAgICBkZWxGbGFnOiAwLFxyXG4gICAgICAgIHByb2R1Y3RzOiBudWxsLFxyXG4gICAgICAgIHByb2R1Y3RMaXN0OiBudWxsLFxyXG4gICAgICAgIGJ1eVR5cGU6IG51bGwsXHJcbiAgICAgICAgb3JkZXJUeXBlOiBcInBvaW50XCIsXHJcbiAgICAgICAgZXhwTm86IG51bGwsXHJcbiAgICAgICAgaXNTZW5kOiBudWxsLFxyXG4gICAgICAgIHZpcEJ1eUNvbmZpZ0lkOiAwLFxyXG4gICAgICAgIGFkZHJlc3NJZDogbnVsbCxcclxuICAgICAgICByZW1hcms6IG51bGwsXHJcbiAgICAgICAgb3JkZXJDb2RlOiBudWxsLFxyXG4gICAgICAgIHBheW1lbnREYXRlOiBudWxsLFxyXG4gICAgICAgIHByb2R1Y3RJZDogXCIyMVwiLFxyXG4gICAgICAgIHJlY29yZElkOiBudWxsLFxyXG4gICAgICAgIHRpbWVzdGFtcDogbnVsbCxcclxuICAgICAgICB1c2VyOiBudWxsLFxyXG4gICAgICAgIGV4cHJlc3NMaXN0OiBudWxsLFxyXG4gICAgICAgIGFkZHJlc3NNb2RpZmllZDogMCxcclxuICAgICAgICBjb25zaWduZWVWbzogbnVsbCxcclxuICAgICAgICBhcHBOYW1lOiBudWxsLFxyXG4gICAgICAgIGJvb2tCdXlDb25maWdFbnRpdHk6IHtcclxuICAgICAgICAgIHByaWNlVHlwZUlkOiAyMSxcclxuICAgICAgICAgIHR5cGU6IFwicG9pbnRcIixcclxuICAgICAgICAgIHF1ZGFvOiBcIklPU1wiLFxyXG4gICAgICAgICAgcmVhbE1vbmV5OiBcIjQ1XCIsXHJcbiAgICAgICAgICBtb25leTogXCIzOVwiLFxyXG4gICAgICAgICAgZ2l2ZWpmOiBcIjBcIixcclxuICAgICAgICAgIG1vbnRoOiBudWxsLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246IFwiXCIsXHJcbiAgICAgICAgICBlZmZlY3RpdmU6IDAsXHJcbiAgICAgICAgICBzdGFydFRpbWU6IG51bGwsXHJcbiAgICAgICAgICBlbmRUaW1lOiBudWxsLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgdmlwQnV5Q29uZmlnRW50aXR5OiBudWxsLFxyXG4gICAgICB9LFxyXG4gICAgICBpY29uTGlzdDogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRleHQ6IFwi6IGU57O75a6i5pyNXCIsXHJcbiAgICAgICAgICBpY29uVHlwZTogMSxcclxuICAgICAgICAgIGljb246IFwic2VydmVyLWZpbGxcIixcclxuICAgICAgICAgIGluZm9Db2xvcjogXCIjNjY2XCIsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgdXNlclJlY29yZGlkOiBudWxsLCAvLyDnlKjmiLfnmoTor4Tku7fnirbmgIFcclxuICAgICAgcGxheURhdGE6IHt9LFxyXG4gICAgICB0aXRsZTogXCJIZWxsb1wiLFxyXG4gICAgICBpc1Nob3dFbWo6IGZhbHNlLFxyXG4gICAgICBlbW9qaUljb246IFwiY3VJY29uLWVtb2ppXCIsXHJcbiAgICAgIG1lc3NhZ2U6IFwiXCIsXHJcblxyXG4gICAgICB3aW5kb3dXaWR0aDogMCxcclxuICAgICAgd2luZG93SGVpZ2h0OiA1MDAsXHJcbiAgICAgIFBmb3JtOiB7XHJcbiAgICAgICAgLy8g6K+E5Lu36KGo5Y2VXHJcbiAgICAgICAgc3RhcjogMCxcclxuICAgICAgICBjb21tZW50OiBcIlwiLFxyXG4gICAgICAgIGltZzogW10sXHJcbiAgICAgICAgaHRtbDogXCJcIixcclxuICAgICAgfSxcclxuICAgICAgcGluZ0lEOiBudWxsLFxyXG4gICAgICBwcm9kdWN0SUQ6IG51bGwsIC8vIOiuouWNleWVhuWTgWlkXHJcbiAgICAgIGltYWdlU3R5bGVzOiB7XHJcbiAgICAgICAgd2lkdGg6IDY0LFxyXG4gICAgICAgIGhlaWdodDogNjQsXHJcbiAgICAgICAgYm9yZGVyOiB7XHJcbiAgICAgICAgICBjb2xvcjogXCIjODlhYTdkXCIsXHJcbiAgICAgICAgICB3aWR0aDogMixcclxuICAgICAgICAgIHN0eWxlOiBcImRhc2hlZFwiLFxyXG4gICAgICAgICAgcmFkaXVzOiBcIjJweFwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0sXHJcbiAgICAgIHBpbmdqaWFTaG93OiBmYWxzZSxcclxuICAgICAgbG9naXN0aWNzRGF0YTogW10sIC8vIOW/q+mAkuS/oeaBr+WIl+ihqFxyXG4gICAgICB0aXRsZVN0YXQ6IFwiXCIsXHJcbiAgICAgIG9yZGVySUQ6IDAsXHJcbiAgICAgIG9yZGVyU246IFwiXCIsXHJcbiAgICAgIG9yZGVyVHlwZTogXCJcIixcclxuICAgICAgb3JkZXJDb250ZXQ6IHt9LFxyXG4gICAgICBnb29kc0xpc3Q6IFtdLFxyXG4gICAgICBkZWxpdmVyRGV0YWlsczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIFRyYWNlczogW10sXHJcbiAgICAgICAgfSxcclxuICAgICAgXSwgLy8g54mp5rWB6K+m5oOF5L+h5oGv5YWo6YOoXHJcbiAgICAgIGRlbGl2ZXJEZXRhaWxzTGVuZ3RoOiBudWxsLFxyXG4gICAgICBlbW9qaTogW10sXHJcbiAgICAgIEZpbGVzOiBbXSxcclxuICAgICAgcGpUeXBlOiBcIlwiLFxyXG4gICAgICBzaGVldExpc3Q6IFtdLCAvLyDpnaLljZXmlbDmja5cclxuICAgICAgY29uc2lnbmVlU2hvdzogZmFsc2UsXHJcbiAgICAgIHNoZWV0TGlzdFNob3c6IGZhbHNlLFxyXG4gICAgICBjdXN0b21CdXR0b246IFtdLFxyXG4gICAgfTtcclxuICB9LFxyXG4gIG9uTG9hZChlKSB7XHJcbiAgICB0aGlzLndpbmRvd1dpZHRoID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKCkud2luZG93V2lkdGg7XHJcbiAgICB0aGlzLm9yZGVySUQgPSBlLm9yZGVySWQ7XHJcbiAgICB0aGlzLm9yZGVyVHlwZSA9IGUub3JkZXJUeXBlO1xyXG4gICAgdGhpcy5vcmRlclNuID0gZS5vcmRlclNuO1xyXG4gICAgY29uc29sZS5sb2codGhpcy5vcmRlcklELCBcInRoaXMub3JkZXJJRFwiKTtcclxuICB9LFxyXG4gIG9uSGlkZSgpIHtcclxuICAgIHRoaXMuc2hlZXRMaXN0ID0gW107XHJcbiAgfSxcclxuICBvblNob3coKSB7XHJcbiAgICB0aGlzLmdldE9yZGVyTGlzdCgpO1xyXG4gIH0sXHJcbiAgY29tcG9uZW50czoge1xyXG4gICAgZW1vdGlvbixcclxuICAgIG11c2ljUGxheSxcclxuICB9LFxyXG4gIGNvbXB1dGVkOiB7XHJcbiAgICAuLi5tYXBTdGF0ZShbXCJ1c2VySW5mb1wiXSksXHJcbiAgfSxcclxuXHJcbiAgbWV0aG9kczoge1xyXG4gICAgZ290b1dvcmtPcmRlcigpIHtcclxuICAgICAgdW5pLm5hdmlnYXRlVG8oe1xyXG4gICAgICAgIHVybDogYC9wYWdlcy91c2VyL3dvcmtPcmRlcj9uYW1lPW9yZGVyYCxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgYXN5bmMgZ29CdXlKaWUoZGF0YSkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcImluZGV4IGF0IGxpbmUgNTMyOlwiLCBkYXRhKTtcclxuICAgICAgaWYgKGRhdGEudGV4dCA9PSBcIue7p+e7reS7mOasvlwiKSB7XHJcbiAgICAgICAgdGhpcy5nb1BheSh0aGlzLm9yZGVyQ29udGV0KTtcclxuICAgICAgfSBlbHNlIGlmIChkYXRhLnRleHQgPT0gXCLlj5bmtojorqLljZVcIikge1xyXG4gICAgICAgIHRoaXMuY2FuY2VPcmRlcigpO1xyXG4gICAgICB9IGVsc2UgaWYgKGRhdGEudGV4dCA9PSBcIuehruiupOaUtui0p1wiKSB7XHJcbiAgICAgICAgdGhpcy5PdmVyT3JkZXIoKTtcclxuICAgICAgfSBlbHNlIGlmIChkYXRhLnRleHQgPT0gXCLmn6XnnIvnianmtYFcIikge1xyXG4gICAgICAgIHRoaXMuc2VlRXhwcmVzc0RldGFpbCh0aGlzLm9yZGVyQ29udGV0KTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIGFzeW5jIGNsaWNrSWNvbihkYXRhKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiaW5kZXggYXQgbGluZSA1MzI6XCIsIGRhdGEpO1xyXG4gICAgICBpZiAoZGF0YS50ZXh0ID09IFwi6IGU57O75a6i5pyNXCIpIHtcclxuICAgICAgICB0aGlzLmtlZnUoKTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIC8vIOWkjeWItuWIsOWJquWIh+adv1xyXG4gICAgY29weURhdGEoZGF0YSkge1xyXG4gICAgICB1bmkuc2V0Q2xpcGJvYXJkRGF0YSh7XHJcbiAgICAgICAgZGF0YSxcclxuICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcInN1Y2Nlc3NcIik7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgc2VlRXhwcmVzc0RldGFpbHMoaXRlbSkge1xyXG4gICAgICBjb25zb2xlLmxvZyhpdGVtLCBcIml0ZW1cIik7XHJcbiAgICAgIHVuaS5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICB1cmw6XHJcbiAgICAgICAgICBcIi4vZGVsaXZlckRldGFpbD9vcmRlclNuPVwiICtcclxuICAgICAgICAgIHRoaXMub3JkZXJDb250ZXQub3JkZXJTbiArXHJcbiAgICAgICAgICBcIiZleHByZXNzT3JkZXJTbj1cIiArXHJcbiAgICAgICAgICBpdGVtLmV4cHJlc3NPcmRlclNuICtcclxuICAgICAgICAgIFwiJmV4cHJlc3NDb21wYW55Q29kZT1cIiArXHJcbiAgICAgICAgICBpdGVtLmV4cHJlc3NDb21wYW55Q29kZSArXHJcbiAgICAgICAgICBcIiZleHByZXNzQ29tcGFueU5hbWU9XCIgK1xyXG4gICAgICAgICAgaXRlbS5leHByZXNzQ29tcGFueU5hbWUsXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIC8vIOWAkuiuoeaXtuWbnuiwg1xyXG4gICAgY291bnREb3duKCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIumHjeaWsOWIt+aWsOiuouWNlVwiKTtcclxuICAgICAgdGhpcy5nZXRPcmRlckxpc3QoKTtcclxuICAgIH0sXHJcbiAgICAvLyDojrflvpfovpPlhaXnmoTooajmg4XmlbDnu4RcclxuICAgIGhhbmRsZUVtaihpKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGksIFwiaS0tLS0tLS0tLVwiKTtcclxuICAgICAgdGhpcy5pbnB1dFZhbHVlID0gaTtcclxuICAgICAgLy8gY29uc29sZS5sb2codGhpcy5pbnB1dFZhbHVlKTtcclxuICAgICAgaWYgKGkuZW1vdGlvbmkgPT0gXCJbZW1fOThdXCIpIHtcclxuICAgICAgICAvL+WMuemFjeacgOWQjuS4gOS4quihqOaDheespuWPt+W5tuWIoOmZpDEx44CCXHJcbiAgICAgICAgdGhpcy5QZm9ybS5jb21tZW50ID0gdGhpcy5QZm9ybS5jb21tZW50LnJlcGxhY2UoXHJcbiAgICAgICAgICAvKFxcW1teXFxdXStcXF18W1xcc1xcU10pJC8sXHJcbiAgICAgICAgICBcIlwiXHJcbiAgICAgICAgKTtcclxuICAgICAgICBpZiAodGhpcy5lbW9qaS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB0aGlzLmVtb2ppID0gdGhpcy5lbW9qaS5zbGljZSgwLCAtMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZW1vamkucHVzaCh7IHRhZzogaS5lbW90aW9uLCBuYW1lOiBpLmVtb3Rpb25pIH0pO1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKHRoaXMuZW1vamksJ3RoaXMuZW1vamknKVxyXG4gICAgICAgIHRoaXMuUGZvcm0uY29tbWVudCArPSBpLmVtb3Rpb25pO1xyXG4gICAgICAgIC8vLyB0aGlzLlBmb3JtLmh0bWwgKz0gaS5lbW90aW9uXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBzaG93Wmh1aXBpbmcodmFsKSB7XHJcbiAgICAgIHRoaXMucGpUeXBlID0gXCJ6aHVpcGluZ1wiO1xyXG4gICAgICB0aGlzLnBpbmdqaWFTaG93ID0gdHJ1ZTtcclxuICAgICAgdGhpcy5wcm9kdWN0SUQgPSB2YWw7XHJcbiAgICAgIHRoaXMucGluZ0lEID0gcGluZ2lkO1xyXG4gICAgfSxcclxuICAgIC8vIOi/veWKoOivhOiuulxyXG4gICAgemh1aXBpbmcoKSB7XHJcbiAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgIG9pZDogdGhpcy51c2VyUmVjb3JkaWQsXHJcbiAgICAgICAgdXNlcklkOiB0aGlzLnVzZXJJbmZvLmlkLFxyXG4gICAgICAgIGJvb2tpZDogdGhpcy5wcm9kdWN0SUQsXHJcbiAgICAgICAgY29uVGVudDogdGhpcy5QZm9ybS5jb21tZW50LFxyXG4gICAgICB9O1xyXG4gICAgICBjb25zb2xlLmxvZyhkYXRhLCBcImRhdGFcIik7XHJcbiAgICAgICRodHRwXHJcbiAgICAgICAgLnJlcXVlc3Qoe1xyXG4gICAgICAgICAgdXJsOiBcInVzZXIvZm9sbG93VXAvdXNlckZvbGxvd1VwXCIsXHJcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLCAvLyBQT1NU44CBR0VU44CBUFVU44CBREVMRVRF77yM5YW35L2T6K+05piO5p+l55yL5a6Y5pa55paH5qGjXHJcbiAgICAgICAgICBkYXRhLFxyXG4gICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgIC8v6buY6K6kIOaXoCDor7TmmI7vvJror7fmsYLlpLRcclxuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4oKHJlcykgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcy5jb2RlID09IDApIHtcclxuICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgdGl0bGU6IFwi6L+96K+E5oiQ5Yqf77yBXCIsXHJcbiAgICAgICAgICAgICAgaWNvbjogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnBpbmdqaWFTaG93ID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMucGpUeXBlID0gXCJcIjtcclxuICAgICAgICAgICAgKHRoaXMucHJvZHVjdElEID0gbnVsbCksICh0aGlzLnVzZXJSZWNvcmRpZCA9IG51bGwpO1xyXG4gICAgICAgICAgICB0aGlzLlBmb3JtLmNvbW1lbnQgPSBcIlwiO1xyXG4gICAgICAgICAgICB0aGlzLlBmb3JtLmh0bWwgPSBcIlwiO1xyXG4gICAgICAgICAgICB0aGlzLmVtb2ppID0gW107XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgIHVuaS5uYXZpZ2F0ZUJhY2soe1xyXG4gICAgICAgICAgICAgICAgZGVsdGE6IDEsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0sIDIwMDApO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIHRleHRhcmVhQklucHV0KGUpIHtcclxuICAgICAgY29uc29sZS5sb2coZSwgXCJlXCIpO1xyXG4gICAgICB0aGlzLlBmb3JtLmNvbW1lbnQgPSBlLmRldGFpbC52YWx1ZTtcclxuICAgICAgLy8vIHRoaXMuUGZvcm0uaHRtbCA9IGUuZGV0YWlsLnZhbHVlXHJcbiAgICB9LFxyXG4gICAgc2hvd0VtaigpIHtcclxuICAgICAgbGV0IGJvb2wgPSAhdGhpcy5pc1Nob3dFbWo7XHJcbiAgICAgIGlmIChib29sKSB7XHJcbiAgICAgICAgdGhpcy5lbW9qaUljb24gPSBcImN1SWNvbi1rZXlib2FyZFwiO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuZW1vamlJY29uID0gXCJjdUljb24tZW1vamlcIjtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5pc1Nob3dFbWogPSBib29sO1xyXG4gICAgICB0aGlzLiRlbWl0KFwic2hvd1wiKTtcclxuICAgIH0sXHJcbiAgICBJbnB1dEJsdXIoZSkge30sXHJcbiAgICBJbnB1dEZvY3VzKGUpIHtcclxuICAgICAgdGhpcy5pc1Nob3dFbWogPSBmYWxzZTtcclxuICAgICAgdGhpcy5lbW9qaUljb24gPSBcImN1SWNvbi1lbW9qaVwiO1xyXG4gICAgICB0aGlzLiRlbWl0KFwiZm9jXCIpO1xyXG4gICAgfSxcclxuXHJcbiAgICAvLyBlbmRcclxuICAgIGRlbGV0ZUltZyhlKSB7XHJcbiAgICAgIC8vIHZhciBhcnIgPSB0aGlzLlBmb3JtLmltZy5zbGljZSgwLC0xKVxyXG4gICAgICB0aGlzLlBmb3JtLmltZy5wb3AoKTtcclxuICAgICAgLy8gIGNvbnNvbGUubG9nKCfliKDpmaTmlofku7YnLGFycilcclxuICAgICAgY29uc29sZS5sb2codGhpcy5QZm9ybSk7XHJcbiAgICB9LFxyXG4gICAgZ2V0U3RhcihpKSB7XHJcbiAgICAgIHRoaXMuUGZvcm0uc3RhciA9IGk7XHJcbiAgICB9LFxyXG4gICAgc2VsZWN0KGUpIHtcclxuICAgICAgY29uc29sZS5sb2coXCLpgInmi6nmlofku7bvvJpcIiwgZSk7XHJcbiAgICAgIGxldCBhcnIgPSBlLnRlbXBGaWxlcy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4geyB1cmw6IGl0ZW0udXJsLCBuYW1lOiBpdGVtLm5hbWUgfTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMuUGZvcm0uaW1nID0gdGhpcy5QZm9ybS5pbWcuY29uY2F0KC4uLmFycik7XHJcbiAgICAgIC8vdGhpcy5QZm9ybS5pbWcgPSBhcnJcclxuICAgICAgY29uc29sZS5sb2codGhpcy5QZm9ybSwgXCJpbWdcIik7XHJcbiAgICB9LFxyXG4gICAgdXBTdWNjZXNzKGUpIHtcclxuICAgICAgY29uc29sZS5sb2coZSk7XHJcbiAgICB9LFxyXG4gICAgLy8g6I635Y+WaHRtbOagvOW8j+eahOivhOiuujFcclxuICAgIGdldEh0bWxDb21tZW50KCkge1xyXG4gICAgICAvLyDmoLzlvI/ljJZodG1sXHJcbiAgICAgIHZhciBzcyA9IHRoaXMuUGZvcm0uY29tbWVudDtcclxuICAgICAgaWYgKHRoaXMuZW1vamkubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5lbW9qaS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgaWYgKHRoaXMuUGZvcm0uY29tbWVudC5pbmRleE9mKHRoaXMuZW1vamlbaV0ubmFtZSkgIT09IC0xKSB7XHJcbiAgICAgICAgICAgIC8vdmFyIHJlID0gbmV3IFJlZ0V4cCh0aGlzLmVtb2ppWzBdLm5hbWUsXCJnXCIpOyAvL+WumuS5ieato+WImeihqOi+vuW8j1xyXG4gICAgICAgICAgICAvL+esrOS4gOS4quWPguaVsOaYr+imgeabv+aNouaOieeahOWGheWuue+8jOesrOS6jOS4quWPguaVsFwiZ1wi6KGo56S65pu/5o2i5YWo6YOo77yIZ2xvYmFs77yJ44CCXHJcbiAgICAgICAgICAgIC8vIHNzID0gc3MucmVwbGFjZShyZSwgKTsgLy/nrKzkuIDkuKrlj4LmlbDmmK/mraPliJnooajovr7lvI/jgIJcclxuICAgICAgICAgICAgc3MgPSBzcy5yZXBsYWNlKHRoaXMuZW1vamlbaV0ubmFtZSwgdGhpcy5lbW9qaVtpXS50YWcpO1xyXG4gICAgICAgICAgICAvLyBjb25zb2xlLmxvZyhzcylcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5QZm9ybS5odG1sID0gc3M7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5QZm9ybS5odG1sID0gdGhpcy5QZm9ybS5jb21tZW50O1xyXG4gICAgICB9XHJcbiAgICAgIC8vY29uc29sZS5sb2codGhpcy5QZm9ybS5odG1sLCd0aGlzLlBmb3JtLmh0bWwnKVxyXG4gICAgfSxcclxuICAgIGRlbGV0ZVBpYygpIHtcclxuICAgICAgbGV0IHRoYXQgPSB0aGlzO1xyXG4gICAgICB0aGF0LlBmb3JtLmltZy5zcGxpY2UoMCwgMSk7XHJcbiAgICAgIC8vY29uc29sZS5sb2codGhhdC5QZm9ybS5pbWcpXHJcbiAgICB9LFxyXG4gICAgYWZ0ZXJSZWFkKGUpIHtcclxuICAgICAgLy9jb25zb2xlLmxvZyhlKVxyXG4gICAgICBsZXQgdGhhdCA9IHRoaXM7XHJcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZS5maWxlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgLy9jb25zb2xlLmxvZyhpLGUuZmlsZVtpXS51cmwpXHJcbiAgICAgICAgdW5pLnVwbG9hZEZpbGUoe1xyXG4gICAgICAgICAgdXJsOiB0aGlzLiRiYXNlVXJsICsgXCJvc3MvZmlsZW9zc1wiLFxyXG4gICAgICAgICAgZmlsZVBhdGg6IGUuZmlsZVtpXS51cmwsXHJcbiAgICAgICAgICAvL2ZpbGVzOmUuZmlsZSxcclxuICAgICAgICAgIG5hbWU6IFwiZmlsZVwiLFxyXG4gICAgICAgICAgZm9ybURhdGE6IHt9LFxyXG4gICAgICAgICAgc3VjY2VzczogKHJlcykgPT4ge1xyXG4gICAgICAgICAgICB0aGF0LlBmb3JtLmltZy5wdXNoKHtcclxuICAgICAgICAgICAgICB1cmw6IEpTT04ucGFyc2UocmVzLmRhdGEpLnVybCxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgY2xvc2VQaW5namlhKCkge1xyXG4gICAgICB0aGlzLnBpbmdqaWFTaG93ID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuUGZvcm0uY29tbWVudCA9IFwiXCI7XHJcbiAgICAgIHRoaXMuUGZvcm0uaHRtbCA9IFwiXCI7XHJcbiAgICAgIHRoaXMuZW1vamkgPSBbXTtcclxuICAgIH0sXHJcbiAgICAvLyDmj5DkuqTor4Tku7dcclxuICAgIHN1Ym1pdFBKKCkge1xyXG4gICAgICBpZiAodGhpcy5QZm9ybS5jb21tZW50ICE9IFwiXCIpIHtcclxuICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgIHVzZXJpZDogdGhpcy51c2VySW5mby5pZCxcclxuICAgICAgICAgIG9yZGVyU246IHRoaXMub3JkZXJTbixcclxuICAgICAgICAgIGJvb2tpZDogdGhpcy5wcm9kdWN0SUQsXHJcbiAgICAgICAgICAvLyAnY29udGVudCc6IHRoaXMuUGZvcm0uaHRtbCxcclxuICAgICAgICAgIGNvbnRlbnQ6IHRoaXMuUGZvcm0uY29tbWVudCxcclxuICAgICAgICAgIHN0YXJMZXZlbDogdGhpcy5QZm9ybS5zdGFyLFxyXG4gICAgICAgICAgaW1hZ2VzOiB0aGlzLlBmb3JtLmltZyxcclxuICAgICAgICAgIC8vICdlbW9qaSc6dGhpcy5lbW9qaSAgLy8g6KGo5oOF5pWw57uEXHJcbiAgICAgICAgfTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyhkYXRhLCdkYXRhJylcclxuICAgICAgICAkaHR0cFxyXG4gICAgICAgICAgLnJlcXVlc3Qoe1xyXG4gICAgICAgICAgICB1cmw6IFwiYnV5L3JlY29yZC9Vc2VyUmVjb3JkY29tbWVudFwiLFxyXG4gICAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLCAvLyBQT1NU44CBR0VU44CBUFVU44CBREVMRVRF77yM5YW35L2T6K+05piO5p+l55yL5a6Y5pa55paH5qGjXHJcbiAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgIGhlYWRlcjoge1xyXG4gICAgICAgICAgICAgIC8v6buY6K6kIOaXoCDor7TmmI7vvJror7fmsYLlpLRcclxuICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMuY29kZSA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCLor4Tku7fmiJDlip/vvIFcIixcclxuICAgICAgICAgICAgICAgIGljb246IFwic3VjY2Vzc1wiLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICB0aGlzLnBpbmdqaWFTaG93ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5QZm9ybS5jb21tZW50ID0gXCJcIjtcclxuICAgICAgICAgICAgICB0aGlzLlBmb3JtLmh0bWwgPSBcIlwiO1xyXG4gICAgICAgICAgICAgIHRoaXMuZW1vamkgPSBbXTtcclxuICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHVuaS5uYXZpZ2F0ZUJhY2soe1xyXG4gICAgICAgICAgICAgICAgICBkZWx0YTogMSxcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0sIDIwMDApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgIHRpdGxlOiBcIuivt+WFiOi+k+WFpeaCqOeahOivhOS7t+WGheWuuSDvvIFcIixcclxuICAgICAgICAgIGljb246IFwibm9uZVwiLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgLy8g5re75Yqg6K+E5Lu3XHJcbiAgICBwaW5namkoaWQpIHtcclxuICAgICAgY29uc29sZS5sb2coaWQpO1xyXG4gICAgICB0aGlzLnBqVHlwZSA9IFwiXCI7XHJcbiAgICAgIHRoaXMucHJvZHVjdElEID0gaWQ7XHJcbiAgICAgIHRoaXMucGluZ2ppYVNob3cgPSB0cnVlO1xyXG4gICAgfSxcclxuICAgIC8vIOiBlOezu+WuouacjVxyXG4gICAga2VmdSgpIHtcclxuICAgICAgdW5pLnNob3dNb2RhbCh7XHJcbiAgICAgICAgdGl0bGU6IFwi5o+Q56S6XCIsXHJcbiAgICAgICAgY29udGVudDogXCLlvq7kv6Hlj7fvvJp5aWx1amlhbmthbmdrZWZ1XCIsXHJcbiAgICAgICAgLy8gc3VjY2VzczogZnVuY3Rpb24gKHJlcykge1xyXG4gICAgICAgIC8vIFx0aWYgKHJlcy5jb25maXJtKSB7XHJcbiAgICAgICAgLy8gXHRcdHVuaS5tYWtlUGhvbmVDYWxsKHtcclxuICAgICAgICAvLyBcdFx0XHRwaG9uZU51bWJlcjogJzAyMi0yNDE0MjMyMScgLy/ku4XkuLrnpLrkvotcclxuICAgICAgICAvLyBcdFx0fSk7XHJcbiAgICAgICAgLy8gXHR9IGVsc2UgaWYgKHJlcy5jYW5jZWwpIHtcclxuXHJcbiAgICAgICAgLy8gXHR9XHJcbiAgICAgICAgLy8gfVxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgICAvLyDmn6XnnIvnianmtYFcclxuICAgIHNlZUV4cHJlc3NEZXRhaWwoaXRlbSkge1xyXG4gICAgICBpZiAodGhpcy5zaGVldExpc3QubGVuZ3RoID4gMSkge1xyXG4gICAgICAgIHRoaXMuc2hlZXRMaXN0U2hvdyA9IHRydWU7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5zaGVldExpc3QubGVuZ3RoID09IDEpIHtcclxuICAgICAgICAvLyDnm7TmjqXlsZXnpLror6bmg4VcclxuICAgICAgICB1bmkubmF2aWdhdGVUbyh7XHJcbiAgICAgICAgICB1cmw6XHJcbiAgICAgICAgICAgIFwiLi9kZWxpdmVyRGV0YWlsP29yZGVyU249XCIgK1xyXG4gICAgICAgICAgICBpdGVtLm9yZGVyU24gK1xyXG4gICAgICAgICAgICBcIiZleHByZXNzT3JkZXJTbj1cIiArXHJcbiAgICAgICAgICAgIHRoaXMuc2hlZXRMaXN0WzBdLmV4cHJlc3NPcmRlclNuLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgaGFuZGxlQ29weSh2YWx1ZSwgdGl0bGUpIHtcclxuICAgICAgdGhpcy4kY29tbW9uSlMuaGFuZGxlQ29weSh2YWx1ZSwgdGl0bGUpO1xyXG4gICAgfSxcclxuICAgIG9uUGFnZUp1bXAoaXRlbSkge1xyXG4gICAgICB1bmkubmF2aWdhdGVUbyh7XHJcbiAgICAgICAgdXJsOiBcIi4vZGVsaXZlckRldGFpbD9vYmpJZD1cIiArIGl0ZW0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIE92ZXJPcmRlcigpIHtcclxuICAgICAgLy8g56Gu6K6k5pS26LSnXHJcbiAgICAgIHVuaS5zaG93TW9kYWwoe1xyXG4gICAgICAgIHRpdGxlOiBcIuaPkOekulwiLFxyXG4gICAgICAgIGNvbnRlbnQ6IFwi56Gu6K6k5pS26LSn77yfXCIsXHJcbiAgICAgICAgc3VjY2VzczogKHJlcykgPT4ge1xyXG4gICAgICAgICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgICAgICAgIG9yZGVySWQ6IHRoaXMub3JkZXJJRCxcclxuICAgICAgICAgICAgb3JkZXJTdGF0dXM6IFwiM1wiLFxyXG4gICAgICAgICAgfTtcclxuICAgICAgICAgIGlmIChyZXMuY29uZmlybSkge1xyXG4gICAgICAgICAgICB1bmkuc2hvd0xvYWRpbmcoKTtcclxuICAgICAgICAgICAgJGh0dHBcclxuICAgICAgICAgICAgICAucmVxdWVzdCh7XHJcbiAgICAgICAgICAgICAgICB1cmw6IFwiYm9vay9idXlPcmRlci91cGRhdGVcIixcclxuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsIC8vIFBPU1TjgIFHRVTjgIFQVVTjgIFERUxFVEXvvIzlhbfkvZPor7TmmI7mn6XnnIvlrpjmlrnmlofmoaNcclxuICAgICAgICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICAgICAgICBoZWFkZXI6IHtcclxuICAgICAgICAgICAgICAgICAgLy/pu5jorqQg5pegIOivtOaYju+8muivt+axguWktFxyXG4gICAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICB1bmkuaGlkZUxvYWRpbmcoKTtcclxuICAgICAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5pS26LSn5oiQ5YqfXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgaWNvbjogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDEwMDAsXHJcbiAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLmdldE9yZGVyTGlzdCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChyZXMuY2FuY2VsKSB7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgLy8g5YiH5o2i6K6i5Y2V54q25oCBXHJcbiAgICBvcmRlclRhYkNMaShlKSB7XHJcbiAgICAgIHRoaXMub3JkZXJMaXN0VGFiID0gZTtcclxuICAgIH0sXHJcbiAgICBhc3luYyBnZXRDb3Vwb25EZXRhaWwoaWQpIHtcclxuICAgICAgYXdhaXQgdGhpcy4kaHR0cFxyXG4gICAgICAgIC5yZXF1ZXN0KHtcclxuICAgICAgICAgIHVybDogXCJjb21tb24vY291cG9uL2dldENvdXBvbkhpc3RvcnlJbmZvXCIsXHJcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLCAvLyBQT1NU44CBR0VU44CBUFVU44CBREVMRVRF77yM5YW35L2T6K+05piO5p+l55yL5a6Y5pa55paH5qGjXHJcbiAgICAgICAgICBkYXRhOiB7XHJcbiAgICAgICAgICAgIGlkLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGhlYWRlcjoge1xyXG4gICAgICAgICAgICAvL+m7mOiupCDml6Ag6K+05piO77ya6K+35rGC5aS0XHJcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMuY29kZSAhPSAwKSByZXR1cm4gdGhpcy4kY29tbW9uSlMuc2hvd1RvYXN0KHJlcy5lcnJNc2cpO1xyXG4gICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5jb3Vwb25BbW91bnQgPVxyXG4gICAgICAgICAgICByZXMuY291cG9uSGlzdG9yeS5jb3Vwb25FbnRpdHkuY291cG9uQW1vdW50O1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmNhdGNoKChlKSA9PiB7XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgICAgIHRoaXMuJGNvbW1vbkpTLnNob3dUb2FzdChlLmVyck1zZyk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgLy8g6I635Y+W6K6i5Y2V6K+m5oOFXHJcbiAgICBhc3luYyBnZXRPcmRlckxpc3QoKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwidGhpcy5vcmRlclR5cGVcIiwgdGhpcy5vcmRlclR5cGUpO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy4kaHR0cFxyXG4gICAgICAgIC5yZXF1ZXN0KHtcclxuICAgICAgICAgIHVybDogXCJjb21tb24vYnV5T3JkZXIvY29tbW9uT3JkZXJEZXRhaWxcIixcclxuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsIC8vIFBPU1TjgIFHRVTjgIFQVVTjgIFERUxFVEXvvIzlhbfkvZPor7TmmI7mn6XnnIvlrpjmlrnmlofmoaNcclxuICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgb3JkZXJJZDogdGhpcy5vcmRlcklELFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGhlYWRlcjoge1xyXG4gICAgICAgICAgICAvL+m7mOiupCDml6Ag6K+05piO77ya6K+35rGC5aS0XHJcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICB9KVxyXG4gICAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHtcclxuICAgICAgICAgIHRoaXMuY3VzdG9tQnV0dG9uID0gW107XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhcIuiuouWNleivpuaDhVwiLCByZXMpO1xyXG4gICAgICAgICAgdGhpcy5vcmRlckNvbnRldCA9IHJlcy5kYXRhLmJ1eU9yZGVyO1xyXG4gICAgICAgICAgdGhpcy5nb29kc0xpc3QgPSByZXMuZGF0YS5wcm9kdWN0SW5mbztcclxuICAgICAgICAgIHRoaXMuY29uc2lnbmVlU2hvdyA9IHRydWU7XHJcbiAgICAgICAgICAvLyDlrZjlnKjkvJjmg6DliLjkv6Hmga/vvIzlsLHmn6Xor6LkvJjmg6DliLjpm4bkvZPph5Hpop1cclxuICAgICAgICAgIGlmICh0aGlzLm9yZGVyQ29udGV0LmNvdXBvbklkICYmIHRoaXMub3JkZXJDb250ZXQuY291cG9uSWQgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdldENvdXBvbkRldGFpbCh0aGlzLm9yZGVyQ29udGV0LmNvdXBvbklkKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA9PSAyICYmXHJcbiAgICAgICAgICAgIHRoaXMuc2hlZXRMaXN0Lmxlbmd0aCA+IDAgJiZcclxuICAgICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyAhPSA1XHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21CdXR0b24ucHVzaCh7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IFwiMTYwcnB4XCIsXHJcbiAgICAgICAgICAgICAgdGV4dDogXCLmn6XnnIvnianmtYFcIixcclxuICAgICAgICAgICAgICBjb2xvcjogXCIjMzMzXCIsXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmMGYwZjBcIixcclxuICAgICAgICAgICAgICBjb2xvcjogXCIjZmZmXCIsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMub3JkZXJDb250ZXQub3JkZXJTdGF0dXMgPT0gMikge1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbUJ1dHRvbi5wdXNoKHtcclxuICAgICAgICAgICAgICB3aWR0aDogXCIxNjBycHhcIixcclxuICAgICAgICAgICAgICB0ZXh0OiBcIuehruiupOaUtui0p1wiLFxyXG5cclxuICAgICAgICAgICAgICBjb2xvcjogXCIjZmZmXCIsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID09IDAgJiZcclxuICAgICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5wYXltZW50TWV0aG9kICE9IDNcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbUJ1dHRvbi5wdXNoKHtcclxuICAgICAgICAgICAgICB3aWR0aDogXCIxNjBycHhcIixcclxuICAgICAgICAgICAgICB0ZXh0OiBcIue7p+e7reS7mOasvlwiLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmICh0aGlzLm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID09IDApIHtcclxuICAgICAgICAgICAgdGhpcy5jdXN0b21CdXR0b24ucHVzaCh7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IFwiMTYwcnB4XCIsXHJcbiAgICAgICAgICAgICAgdGV4dDogXCLlj5bmtojorqLljZVcIixcclxuICAgICAgICAgICAgICBjb2xvcjogXCIjMzMzXCIsXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmMGYwZjBcIixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gdmFyIHNlY29uZHMgPSByZXMucmVzdWx0LnRpbWVzdGFtcCArIDMwICogNjAgKyAyICAgIC8vIOi/h+acn+aXtumXtFxyXG4gICAgICAgICAgLy8gdmFyIG5vd1NlY29uZHMgPSBNYXRoLmZsb29yKG5ldyBEYXRlKCkuZ2V0VGltZSgpIC8gMTAwMCk7XHJcbiAgICAgICAgICAvLyByZXMucmVzdWx0Lm92ZXJUaW1lID0gc2Vjb25kcyAtIG5vd1NlY29uZHNcclxuXHJcbiAgICAgICAgICAvL3RoaXMudXNlclJlY29yZGlkID0gcmVzLnVzZXJSZWNvcmRpZFxyXG4gICAgICAgICAgLy8gdGhpcy5wcm9kdWN0SURzID0gcmVzLmRhdGEuZ29vZHNMaXN0Lm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgLy8gICByZXR1cm4gaXRlbS5idXlPcmRlclByb2R1Y3RJZDtcclxuICAgICAgICAgIC8vIH0pO1xyXG4gICAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5vcmRlckNvbnRldCwndGhpcy5vcmRlckNvbnRldCcpXHJcbiAgICAgICAgICBpZiAodGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA9PSAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGl0bGVTdGF0ID0gXCLlvoXmlK/ku5hcIjtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA9PSAxKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGl0bGVTdGF0ID0gXCLlvoXlj5HotKdcIjtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA9PSAyKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGl0bGVTdGF0ID0gXCLlvoXmlLbotKdcIjtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA9PSAzKSB7XHJcbiAgICAgICAgICAgIHRoaXMudGl0bGVTdGF0ID0gXCLlt7LlrozmiJBcIjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA+PSAyICYmXHJcbiAgICAgICAgICAgIHRoaXMub3JkZXJDb250ZXQub3JkZXJUeXBlID09IFwib3JkZXJcIiAmJlxyXG4gICAgICAgICAgICB0aGlzLm9yZGVyQ29udGV0LmV4cHJlc3NPcmRlcnNcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLnNoZWV0TGlzdCA9IHRoaXMub3JkZXJDb250ZXQuZXhwcmVzc09yZGVycztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hlZXRMaXN0ID0gW107XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLm9yZGVyQ29udGV0LCBcIuiuouWNleivpuaDhVwiKTtcclxuICAgICAgICB9KTtcclxuICAgIH0sXHJcblxyXG4gICAgLy8g5Y+W5raI6K6i5Y2VXHJcbiAgICBjYW5jZU9yZGVyKCkge1xyXG4gICAgICB1bmkuc2hvd01vZGFsKHtcclxuICAgICAgICB0aXRsZTogXCLmj5DnpLpcIixcclxuICAgICAgICBjb250ZW50OiBcIuehruWumuimgeWPlua2iOiuouWNleWQl++8n1wiLFxyXG4gICAgICAgIGNvbmZpcm1UZXh0OiBcIuWPlua2iOiuouWNlVwiLFxyXG4gICAgICAgIGNhbmNlbFRleHQ6IFwi6ICD6JmR5LiA5LiLXCIsXHJcbiAgICAgICAgY29uZmlybUNvbG9yOiBcIiNjOTY3MTNcIixcclxuICAgICAgICBjYW5jZWxDb2xvcjogXCIjNTU1XCIsXHJcbiAgICAgICAgc3VjY2VzczogKHJlcykgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcy5jb25maXJtKSB7XHJcbiAgICAgICAgICAgIHRoaXMuJGh0dHBcclxuICAgICAgICAgICAgICAucG9zdChcclxuICAgICAgICAgICAgICAgIFwiYm9vay9idXlPcmRlci9hcHBEZWxldGU/b3JkZXJJZD1cIiArIHRoaXMub3JkZXJDb250ZXQub3JkZXJJZFxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICAgICAgaWNvbjogXCJub25lXCIsXHJcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuWPlua2iOiuouWNleaIkOWKn1wiLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB1bmkuc3dpdGNoVGFiKHtcclxuICAgICAgICAgICAgICAgICAgdXJsOiBcIi4vb3JkZXJMaXN0XCIsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcblxyXG4gICAgLy8g5pSv5LuYXHJcbiAgICBnb1BheShwYXlJdGVtKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHBheUl0ZW0sIFwi6K6i5Y2V5pWw5o2uXCIpO1xyXG4gICAgICBpZiAocGF5SXRlbS5wYXltZW50TWV0aG9kID09IDIpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIumYv+mHjOaUr+S7mFwiKTtcclxuICAgICAgICBzZXRQYXkoXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHR5cGVQYXk6IFwiYWxpcGF5XCIsXHJcbiAgICAgICAgICAgIHN1YmplY3Q6IFwib3JkZXJcIixcclxuICAgICAgICAgICAgdG90YWxBbW91bnQ6IHBheUl0ZW0ucmVhbE1vbmV5LFxyXG4gICAgICAgICAgICB0eXBlOiAyLFxyXG4gICAgICAgICAgICByZWxldmFuY2VvaWQ6IHBheUl0ZW0ub3JkZXJTbixcclxuICAgICAgICAgICAgY3VzdG9tZXJJZDogdGhpcy51c2VySW5mby5pZCxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwi5pSv5LuY5oiQ5YqfXCIsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCLmlK/ku5jlpLHotKVcIixcclxuICAgICAgICAgICAgICAgIGljb246IFwibm9uZVwiLFxyXG4gICAgICAgICAgICAgICAgaW1hZ2U6IFwiLi4vLi4vc3RhdGljL2ljb24vaWNfY2xvc2UucG5nXCIsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5nZXRPcmRlckxpc3QoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2UgaWYgKHBheUl0ZW0ucGF5bWVudE1ldGhvZCA9PSAxKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLlvq7kv6HmlK/ku5hcIik7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5pc0FuZG9yaWQpXHJcbiAgICAgICAgaWYgKHRoaXMuaXNBbmRvcmlkID09IGZhbHNlKSB7XHJcbiAgICAgICAgICB1bmkuc2hvd01vZGFsKHtcclxuICAgICAgICAgICAgdGl0bGU6IFwi5o+Q56S6XCIsXHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwi5b6I5oqx5q2J77yM6Iu55p6c57O757uf5pqC5LiN5pSv5oyB5b6u5L+h5pSv5LuYXCIsXHJcbiAgICAgICAgICAgIHNob3dDYW5jZWw6IGZhbHNlLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGxldCBkYXRhMSA9IHtcclxuICAgICAgICAgICAgb3JkZXJTbjogcGF5SXRlbS5vcmRlclNuLFxyXG4gICAgICAgICAgICBidXlPcmRlcklkOiBudWxsLFxyXG4gICAgICAgICAgICB0b3RhbEFtb3VudDogcGF5SXRlbS5yZWFsTW9uZXksXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgY29uc29sZS5sb2coZGF0YTEsIFwiZGF0YTFcIik7XHJcbiAgICAgICAgICBzZXRXWFBheShkYXRhMSwgKHJlcykgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzLnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaUr+S7mOaIkOWKn1wiLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUubG9nKHJlcyk7XHJcbiAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLmVyck1zZy5pbmRleE9mKFwiVXNlciBjYW5jZWxlZFwiKSAhPSAtMSkge1xyXG4gICAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIueUqOaIt+WPlua2iOaUr+S7mFwiLFxyXG4gICAgICAgICAgICAgICAgICBpY29uOiBcIm5vbmVcIixcclxuICAgICAgICAgICAgICAgICAgaW1hZ2U6IFwiLi4vLi4vc3RhdGljL2ljb24vaWNfY2xvc2UucG5nXCIsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaUr+S7mOWksei0pVwiLFxyXG4gICAgICAgICAgICAgICAgICBpY29uOiBcIm5vbmVcIixcclxuICAgICAgICAgICAgICAgICAgaW1hZ2U6IFwiLi4vLi4vc3RhdGljL2ljb24vaWNfY2xvc2UucG5nXCIsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIGlmIChwYXlJdGVtLnBheW1lbnRNZXRob2QgPT0gMykge1xyXG4gICAgICAgIC8vIOiLueaenOWFheWAvFxyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi6Iu55p6c5LqM5qyh5pSv5LuYXCIpO1xyXG4gICAgICAgIHVuaS5zaG93TW9kYWwoe1xyXG4gICAgICAgICAgY29udGVudDogXCJhcHBsZeWGhei0reiuouWNleS4jeaUr+aMgee7p+e7reaUr+S7mO+8jOivt+mHjeaWsOWPkei1t+aUr+S7mOeUs+ivt+W5tuWujOaIkOaUr+S7mFwiLFxyXG4gICAgICAgICAgY29uZmlybVRleHQ6IFwi5aW955qEXCIsXHJcbiAgICAgICAgICBzaG93Q2FuY2VsOiBmYWxzZSxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICAvLyDllYblk4HlhoXlrrnot7PovaxcclxuICAgIGdvRGV0YWlsKGlkLCBkYXRhKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiZGF0YSBhdCBsaW5lIDEyNzc66K6i5Y2V6K+m5oOF5Y+C5pWwXCIsIGRhdGEpO1xyXG4gICAgICBpZiAoZGF0YS5kZWxGbGFnID09IC0xKSB7XHJcbiAgICAgICAgdGhpcy4kY29tbW9uSlMuc2hvd1RvYXN0KFwi5ZWG5ZOB5bey5LiL5p62XCIpO1xyXG4gICAgICB9IGVsc2UgaWYgKGRhdGEuZ29vZHNUeXBlID09IFwiMDVcIikge1xyXG4gICAgICAgIGlmIChkYXRhLmNvdXJzZUlkcyAmJiBkYXRhLmNvdXJzZUlkcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICB1bmkubmF2aWdhdGVUbyh7XHJcbiAgICAgICAgICAgIHVybDogYC9wYWdlcy9jb3Vyc2UvY291cnNlRGV0YWlsP2lkPSR7ZGF0YS5jb3Vyc2VJZHNbMF0uY291cnNlSWR9YCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgdGl0bGU6IFwi6K++56iL5pWw5o2u5Ye66ZSZXCIsXHJcbiAgICAgICAgICAgIGljb246IFwibm9uZVwiLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHVuaS5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICAgIC8vIHVybDogJy4uL2Jvb2tTaG9wL2NvbW1vZGl0eURldGFpbD9pZD0nICsgaXRlbS5pZFxyXG4gICAgICAgICAgdXJsOiBgL3BhZ2VzL2dvb2RzL2luZGV4L2luZGV4P25hdlRpdGxlPScnJnRpdGxlPScnJmlkPSR7aWR9YCxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSxcclxuICB9LFxyXG59O1xyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///522\n"); /***/ }), /* 523 */ diff --git a/unpackage/dist/dev/app-plus/app-view.js b/unpackage/dist/dev/app-plus/app-view.js index f3c5777..0a37130 100644 --- a/unpackage/dist/dev/app-plus/app-view.js +++ b/unpackage/dist/dev/app-plus/app-view.js @@ -32130,7 +32130,7 @@ var render = function () { }, attrs: { _i: 79 }, }, - [_vm._v("积分抵扣 :")] + [_vm._v("积分 :")] ), _vm._$g(80, "i") ? _c(