From f8cba4311781ea8bf4efe7fa8b0f79425efdf7ad 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:23:47 +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/mine/mine/index.vue | 10 +++++----- unpackage/dist/dev/app-plus/app-service.js | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pages/mine/mine/index.vue b/pages/mine/mine/index.vue index d6f0ea1..be61408 100644 --- a/pages/mine/mine/index.vue +++ b/pages/mine/mine/index.vue @@ -203,11 +203,11 @@ url: "/pages/certificate/certificate", type: "pageJump", }, - { - name: "我的湖分", - url: "/pages/hufen/hufen", - type: "pageJump", - }, + // { + // name: "我的湖分", + // url: "/pages/hufen/hufen", + // type: "pageJump", + // }, { name: "个人资料", url: "/pages/mine/userInfo/persData", diff --git a/unpackage/dist/dev/app-plus/app-service.js b/unpackage/dist/dev/app-plus/app-service.js index 6c90691..39f564f 100644 --- a/unpackage/dist/dev/app-plus/app-service.js +++ b/unpackage/dist/dev/app-plus/app-service.js @@ -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,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"); +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+WIhiA6XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICNmYTJkMTJcIiB2LWlmPVwib3JkZXJDb250ZXQuamZEZWR1Y3Rpb24gPiAwXCJcclxuICAgICAgICAgICAgICAgID4tPC9zcGFuXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICNmYTJkMTJcIlxyXG4gICAgICAgICAgICAgICAgPu+/pSB7eyBvcmRlckNvbnRldC5qZkRlZHVjdGlvbiB9fTwvc3BhblxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG5cclxuICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJvcmRlclJlYWxcIiB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJTdGF0dXMgIT0gMFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM2NjY7IG1hcmdpbi1yaWdodDogMTBycHg7IGZsb2F0OiBsZWZ0XCJcclxuICAgICAgICAgICAgICAgID7lrp7ku5jmrL4gOlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8YiB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJUeXBlID09ICdwb2ludCdcIiBzdHlsZT1cImNvbG9yOiAjZGQzYzBjXCJcclxuICAgICAgICAgICAgICAgID7vv6Uge3sgb3JkZXJDb250ZXQuYm9va0J1eUNvbmZpZ0VudGl0eS5yZWFsTW9uZXkgfX08L2JcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPGIgc3R5bGU9XCJjb2xvcjogI2RkM2MwY1wiXHJcbiAgICAgICAgICAgICAgICA+PHNwYW4+77+lPC9zcGFuPnt7IG9yZGVyQ29udGV0LnJlYWxNb25leSB9fTwvYlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPHZpZXcgY2xhc3M9XCJvcmRlcl9pdGVtXCI+XHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwib3JkZXJZdW5mXCI+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzY2NjsgZmxvYXQ6IGxlZnRcIj7orqLljZXnvJblj7cgOiA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHRleHQgc3R5bGU9XCJmb250LXNpemU6IDI0cnB4OyBjb2xvcjogIzY2NlwiXHJcbiAgICAgICAgICAgICAgICA+e3sgb3JkZXJDb250ZXQub3JkZXJTbiB9fVxyXG4gICAgICAgICAgICAgIDwvdGV4dD5cclxuICAgICAgICAgICAgICA8dS10YWdcclxuICAgICAgICAgICAgICAgIEBjbGljaz1cImhhbmRsZUNvcHkob3JkZXJDb250ZXQub3JkZXJTbiwgJ+iuouWNlee8luWPtycpXCJcclxuICAgICAgICAgICAgICAgIGJvcmRlckNvbG9yPVwiIzI1OGZlYlwiXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cIiMyNThmZWJcIlxyXG4gICAgICAgICAgICAgICAgdGV4dD1cIuWkjeWItlwiXHJcbiAgICAgICAgICAgICAgICBwbGFpblxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJmbG9hdDogcmlnaHQ7IG1hcmdpbi1sZWZ0OiA1cnB4XCJcclxuICAgICAgICAgICAgICAgIHNpemU9XCJtaW5pXCJcclxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcclxuICAgICAgICAgICAgICA+PC91LXRhZz5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cIm9yZGVyUmVhbFwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM2NjY7IG1hcmdpbi1yaWdodDogMTBycHg7IGZsb2F0OiBsZWZ0XCJcclxuICAgICAgICAgICAgICAgID7liJvlu7rml7bpl7QgOlxyXG4gICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICA8dGV4dCBzdHlsZT1cImZvbnQtc2l6ZTogMjRycHg7IGNvbG9yOiAjNjY2XCI+e3tcclxuICAgICAgICAgICAgICAgIG9yZGVyQ29udGV0LmNyZWF0ZVRpbWVcclxuICAgICAgICAgICAgICB9fTwvdGV4dD5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8dmlld1xyXG4gICAgICAgICAgICAgIGNsYXNzPVwib3JkZXJSZWFsXCJcclxuICAgICAgICAgICAgICB2LWlmPVwiXHJcbiAgICAgICAgICAgICAgICBvcmRlckNvbnRldC5vcmRlclN0YXR1cyA+PSAxICYmIG9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzICE9IDUmJiBvcmRlckNvbnRldC5wYXltZW50RGF0ZVxyXG4gICAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiAjNjY2OyBtYXJnaW4tcmlnaHQ6IDEwcnB4OyBmbG9hdDogbGVmdFwiXHJcbiAgICAgICAgICAgICAgICA+5LuY5qy+5pe26Ze0IDpcclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHRleHQgc3R5bGU9XCJmb250LXNpemU6IDI0cnB4OyBjb2xvcjogIzY2NlwiPnt7XHJcbiAgICAgICAgICAgICAgICBvcmRlckNvbnRldC5wYXltZW50RGF0ZVxyXG4gICAgICAgICAgICAgIH19PC90ZXh0PlxyXG4gICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgIDx2aWV3XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJvcmRlclJlYWxcIlxyXG4gICAgICAgICAgICAgIHYtaWY9XCJcclxuICAgICAgICAgICAgICAgIG9yZGVyQ29udGV0LnBheW1lbnRNZXRob2RcclxuICAgICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzY2NjsgbWFyZ2luLXJpZ2h0OiAxMHJweDsgZmxvYXQ6IGxlZnRcIlxyXG4gICAgICAgICAgICAgICAgPuS7mOasvuaWueW8jyA6XHJcbiAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgIDx0ZXh0IHN0eWxlPVwiZm9udC1zaXplOiAyNHJweDsgY29sb3I6ICM2NjZcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM2NjZcIiB2LWlmPVwib3JkZXJDb250ZXQucGF5bWVudE1ldGhvZCA9PSAxXCJcclxuICAgICAgICAgICAgICAgICAgPuW+ruS/oeaUr+S7mDwvc3BhblxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9XCJjb2xvcjogIzY2NlwiIHYtaWY9XCJvcmRlckNvbnRldC5wYXltZW50TWV0aG9kID09IDJcIlxyXG4gICAgICAgICAgICAgICAgICA+5pSv5LuY5a6d5pSv5LuYPC9zcGFuXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT1cImNvbG9yOiAjNjY2XCIgdi1pZj1cIm9yZGVyQ29udGV0LnBheW1lbnRNZXRob2QgPT0gM1wiXHJcbiAgICAgICAgICAgICAgICAgID7oi7nmnpzmlK/ku5g8L3NwYW5cclxuICAgICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIDxzcGFuIHN0eWxlPVwiY29sb3I6ICM2NjZcIiB2LWlmPVwib3JkZXJDb250ZXQucGF5bWVudE1ldGhvZCA9PSA0XCJcclxuICAgICAgICAgICAgICAgICAgPuWkqeWMu+W4geaUr+S7mDwvc3BhblxyXG4gICAgICAgICAgICAgICAgPjwvdGV4dFxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgPC92aWV3PlxyXG5cclxuICAgICAgICAgIDwhLS0gPHZpZXcgY2xhc3M9XCJvcmRlclJlYWxcIiB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJTdGF0dXMgPj0gMiAmJiBvcmRlckNvbnRldC5vcmRlclN0YXR1cyAhPSA1XCI+XHJcblx0XHRcdFx0XHQ8c3BhbiBzdHlsZT1cImNvbG9yOiAjNjY2O21hcmdpbi1yaWdodDogMTBycHg7ZmxvYXQ6IGxlZnQ7XCI+5Y+R6LSn5pe26Ze0IDogPC9zcGFuPlxyXG5cdFx0XHRcdFx0PHRleHQgc3R5bGU9XCJmb250LXNpemU6IDI0cnB4O2NvbG9yOiAjNjY2O1wiPnt7b3JkZXJDb250ZXQuc2hpcHBpbmdUaW1lfX08L3RleHQ+XHJcblx0XHRcdFx0PC92aWV3PiAtLT5cclxuICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgPHZpZXcgY2xhc3M9XCJcIiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6IDEwMCVcIj5cclxuICAgICAgICAgIDx0ZXh0XHJcbiAgICAgICAgICAgIEBjbGljaz1cImdvdG9Xb3JrT3JkZXJcIlxyXG4gICAgICAgICAgICBzdHlsZT1cImNvbG9yOiBjYWRldGJsdWU7IGZvbnQtc2l6ZTogMjZycHhcIlxyXG4gICAgICAgICAgICA+6K6i5Y2V5pyJ6Zeu6aKY77yf5Y6755Sz6K+JPC90ZXh0XHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgPC92aWV3PlxyXG4gICAgICA8L3ZpZXc+XHJcbiAgICA8L3ZpZXc+XHJcbiAgICA8dmlldyBjbGFzcz1cImdvb2RzX25hdl9ib3hcIj5cclxuICAgICAgPGNvbW1vbi1nb29kcy1uYXZcclxuICAgICAgICA6aWNvbkxpc3Q9XCJpY29uTGlzdFwiXHJcbiAgICAgICAgOmN1c3RvbUJ1dHRvbj1cImN1c3RvbUJ1dHRvblwiXHJcbiAgICAgICAgQHN1Ym1pdD1cImdvQnV5SmllXCJcclxuICAgICAgICBAY2xpY2tJY29uPVwiY2xpY2tJY29uXCJcclxuICAgICAgPlxyXG4gICAgICAgIDwhLS0gbGVmdFNsb3QgLS0+XHJcbiAgICAgICAgPHRlbXBsYXRlIHNsb3Q9XCJsZWZ0U2xvdFwiIHNsb3Qtc2NvcGU9XCJzbG90UHJvcHNcIj5cclxuICAgICAgICAgIDx2aWV3XHJcbiAgICAgICAgICAgIGNsYXNzPVwicHJpY2VfYm94IG9yZGVyX2JvdHRvbV9ib3hcIlxyXG4gICAgICAgICAgICB2LWlmPVwib3JkZXJDb250ZXQub3JkZXJTdGF0dXMgPT0gMFwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx0ZXh0IGNsYXNzPVwicHJpY2VcIlxyXG4gICAgICAgICAgICAgID7lkIjorqE6XHJcbiAgICAgICAgICAgICAgPHRleHQgY2xhc3M9XCJ0b3RhbFwiIHYtaWY9XCJvcmRlckNvbnRldC5vcmRlclR5cGUgPT0gJ3BvaW50J1wiPlxyXG4gICAgICAgICAgICAgICAg77+lIHt7IG9yZGVyQ29udGV0LmJvb2tCdXlDb25maWdFbnRpdHkucmVhbE1vbmV5IH19XHJcbiAgICAgICAgICAgICAgPC90ZXh0PlxyXG4gICAgICAgICAgICAgIDx0ZXh0IGNsYXNzPVwidG90YWxcIiB2LWVsc2U+77+le3sgb3JkZXJDb250ZXQucmVhbE1vbmV5IH19PC90ZXh0PlxyXG4gICAgICAgICAgICA8L3RleHQ+XHJcbiAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgPC90ZW1wbGF0ZT5cclxuICAgICAgPC9jb21tb24tZ29vZHMtbmF2PlxyXG5cclxuICAgICAgPCEtLSA8dW5pLWdvb2RzLW5hdiA6ZmlsbD1cInRydWVcIiA6b3B0aW9ucz1cImJ1eU9wdGlvbnNcIiA6YnV0dG9uLWdyb3VwPVwiY3VzdG9tQnV0dG9uR3JvdXAxXCIgQGNsaWNrPVwib25DbGlja1wiXHJcbiAgICAgICAgICAgICAgICBAYnV0dG9uQ2xpY2s9XCJidXR0b25DbGlja1wiIC8+IC0tPlxyXG4gICAgPC92aWV3PlxyXG4gICAgPCEtLSDlr7nor53moYYgLS0+XHJcbiAgICA8dS1wb3B1cCA6c2hvdz1cInBpbmdqaWFTaG93XCIgOnJvdW5kPVwiMTBcIiBAY2xvc2U9XCJjbG9zZVBpbmdqaWFcIj5cclxuICAgICAgPHZpZXcgY2xhc3M9XCJ0YW5jaHVcIj5cclxuICAgICAgICA8dmlldyBjbGFzcz1cImRwX3RpdGxlXCIgdi1pZj1cInBqVHlwZSAhPSAnemh1aXBpbmcnXCI+5re75Yqg6K+E5Lu3PC92aWV3PlxyXG4gICAgICAgIDx2aWV3IGNsYXNzPVwiZHBfdGl0bGVcIiB2LWVsc2U+5re75Yqg6L+96K+EPC92aWV3PlxyXG5cclxuICAgICAgICA8dmlldyBzdHlsZT1cIm1heC1oZWlnaHQ6IDEwMDBycHg7IG92ZXJmbG93LXk6IHNjcm9sbFwiPlxyXG4gICAgICAgICAgPHVuaS1mb3JtcyA6bW9kZWxWYWx1ZT1cIlBmb3JtXCI+XHJcbiAgICAgICAgICAgIDwhLS0g6K+E5Lu35Zu+54mHIC0tPlxyXG4gICAgICAgICAgICA8IS0tIGVuZCAtLT5cclxuICAgICAgICAgICAgPCEtLSA8dW5pLWZvcm1zLWl0ZW0gbmFtZT1cImNvbW1lbnRcIiBsYWJlbC13aWR0aD1cIjBcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PHVuaS1lYXN5aW5wdXQgdHlwZT1cInRleHRhcmVhXCIgdi1tb2RlbD1cIlBmb3JtLmNvbW1lbnRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaCqOeahOWVhuWTgeivhOS7t1wiICAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC91bmktZm9ybXMtaXRlbT5cdFx0IC0tPlxyXG4gICAgICAgICAgPC91bmktZm9ybXM+XHJcbiAgICAgICAgICA8IS0tIDx1LWJ1dHRvbiB0eXBlPVwic3VjY2Vzc1wiIEBjbGljaz1cInN1Ym1pdFBKXCI+5o+Q5Lqk6K+E5Lu3PC91LWJ1dHRvbj4gLS0+XHJcbiAgICAgICAgICA8IS0tIOaPkOS6pCAtLT5cclxuICAgICAgICAgIDx2aWV3XHJcbiAgICAgICAgICAgIGNsYXNzPVwicGFkZGluZy1ib3R0b20tc20gZmxleCBwYWRkaW5nLWxyLXNtXCJcclxuICAgICAgICAgICAgc3R5bGU9XCJib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwibWIzMFwiIHYtaWY9XCJwalR5cGUgIT0gJ3podWlwaW5nJ1wiPlxyXG4gICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICA6Y2xhc3M9XCJbJ3N0YXInLCBQZm9ybS5zdGFyID49IDEgPyAnc3RhckxpZ2h0JyA6ICdzdGFyR3JheSddXCJcclxuICAgICAgICAgICAgICAgIEBjbGljaz1cImdldFN0YXIoMSlcIlxyXG4gICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIDpjbGFzcz1cIlsnc3RhcicsIFBmb3JtLnN0YXIgPj0gMiA/ICdzdGFyTGlnaHQnIDogJ3N0YXJHcmF5J11cIlxyXG4gICAgICAgICAgICAgICAgQGNsaWNrPVwiZ2V0U3RhcigyKVwiXHJcbiAgICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAgICAgOmNsYXNzPVwiWydzdGFyJywgUGZvcm0uc3RhciA+PSAzID8gJ3N0YXJMaWdodCcgOiAnc3RhckdyYXknXVwiXHJcbiAgICAgICAgICAgICAgICBAY2xpY2s9XCJnZXRTdGFyKDMpXCJcclxuICAgICAgICAgICAgICA+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuXHJcbiAgICAgICAgICAgICAgICA6Y2xhc3M9XCJbJ3N0YXInLCBQZm9ybS5zdGFyID49IDQgPyAnc3RhckxpZ2h0JyA6ICdzdGFyR3JheSddXCJcclxuICAgICAgICAgICAgICAgIEBjbGljaz1cImdldFN0YXIoNClcIlxyXG4gICAgICAgICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW5cclxuICAgICAgICAgICAgICAgIDpjbGFzcz1cIlsnc3RhcicsIFBmb3JtLnN0YXIgPj0gNSA/ICdzdGFyTGlnaHQnIDogJ3N0YXJHcmF5J11cIlxyXG4gICAgICAgICAgICAgICAgQGNsaWNrPVwiZ2V0U3Rhcig1KVwiXHJcbiAgICAgICAgICAgICAgPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgICAgICA8dmlldyBjbGFzcz1cIm1iMzBcIiB2LWlmPVwicGpUeXBlICE9ICd6aHVpcGluZydcIj5cclxuICAgICAgICAgICAgICA8IS0tIDx1bmktZmlsZS1waWNrZXIgOmF1dG8tdXBsb2FkPVwiZmFsc2VcIiByZWY9XCJmaWxlc1wiIEBkZWxldGU9XCJkZWxldGVJbWdcIiBsaW1pdD1cIjVcIiBAc3VjY2Vzcz1cInVwU3VjY2Vzc1wiIEBzZWxlY3Q9XCJzZWxlY3RcIiB2LW1vZGVsPVwiUGZvcm0uaW1nXCIgZmlsZU1lZGlhdHlwZT1cImltYWdlXCIgOmltYWdlLXN0eWxlcz1cImltYWdlU3R5bGVzXCIvPiAtLT5cclxuICAgICAgICAgICAgICA8dS11cGxvYWRcclxuICAgICAgICAgICAgICAgIDpmaWxlTGlzdD1cIlBmb3JtLmltZ1wiXHJcbiAgICAgICAgICAgICAgICBAYWZ0ZXJSZWFkPVwiYWZ0ZXJSZWFkXCJcclxuICAgICAgICAgICAgICAgIEBkZWxldGU9XCJkZWxldGVQaWNcIlxyXG4gICAgICAgICAgICAgICAgbXVsdGlwbGVcclxuICAgICAgICAgICAgICAgIDptYXhDb3VudD1cIjRcIlxyXG4gICAgICAgICAgICAgICAgd2lkdGg9XCI4MFwiXHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ9XCI4MFwiXHJcbiAgICAgICAgICAgICAgICA6cHJldmlld0Z1bGxJbWFnZT1cInRydWVcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8L3UtdXBsb2FkPlxyXG4gICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiZmxleC1zdWIgZmxleGJveFwiPlxyXG4gICAgICAgICAgICAgIDxpIEBjbGljaz1cInNob3dFbWooKVwiIDpjbGFzcz1cImVtb2ppSWNvblwiPjwvaT5cclxuICAgICAgICAgICAgICA8IS0tIDxpbnB1dCB0eXBlPVwidGV4dFwiIEBmb2N1cz1cIklucHV0Rm9jdXNcIiBAYmx1cj1cIklucHV0Qmx1clwiIHYtbW9kZWw9XCJtZXNzYWdlXCIgIEBpbnB1dD1cInRleHRhcmVhQklucHV0XCIgIHBsYWNlaG9sZGVyLXN0eWxlPVwiZm9udC1zaXplOjI0cnB4O2NvbG9yOiNhYWFhYWE7XCIgIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5oKo6KaB5Y+R6YCB55qE5YaF5a65XCI+PC9pbnB1dD4gLS0+XHJcbiAgICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHRhcmVhXCJcclxuICAgICAgICAgICAgICAgIHYtbW9kZWw9XCJQZm9ybS5jb21tZW50XCJcclxuICAgICAgICAgICAgICAgIEBmb2N1cz1cIklucHV0Rm9jdXNcIlxyXG4gICAgICAgICAgICAgICAgQGJsdXI9XCJJbnB1dEJsdXJcIlxyXG4gICAgICAgICAgICAgICAgQGlucHV0PVwidGV4dGFyZWFCSW5wdXRcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXItc3R5bGU9XCJmb250LXNpemU6MjRycHg7Y29sb3I6I2FhYWFhYTtcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXmgqjopoHlj5HpgIHnmoTlhoXlrrlcIlxyXG4gICAgICAgICAgICAgID48L3RleHRhcmVhPlxyXG4gICAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgICAgPCEtLSA8YnV0dG9uIGNsYXNzPVwiY3UtYnRuIGJnLWdyYWR1YWwtYmx1ZSBzaGFkb3ctYmx1clwiPuWPkemAgTwvYnV0dG9uPiAtLT5cclxuICAgICAgICAgICAgICA8dS1idXR0b25cclxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcclxuICAgICAgICAgICAgICAgIEBjbGljaz1cInN1Ym1pdFBKXCJcclxuICAgICAgICAgICAgICAgIHYtaWY9XCJwalR5cGUgIT0gJ3podWlwaW5nJ1wiXHJcbiAgICAgICAgICAgICAgICA+5o+Q5Lqk6K+E5Lu3PC91LWJ1dHRvblxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICA8dS1idXR0b24gdHlwZT1cInN1Y2Nlc3NcIiBAY2xpY2s9XCJ6aHVpcGluZ1wiIHYtZWxzZVxyXG4gICAgICAgICAgICAgICAgPuaPkOS6pOi/veivhDwvdS1idXR0b25cclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDwvdmlldz5cclxuICAgICAgICAgIDwvdmlldz5cclxuXHJcbiAgICAgICAgICA8dmlldyBzdHlsZT1cInBvc2l0aW9uOiByZWxhdGl2ZVwiPlxyXG4gICAgICAgICAgICA8ZW1vdGlvblxyXG4gICAgICAgICAgICAgIEBlbW90aW9uPVwiaGFuZGxlRW1qXCJcclxuICAgICAgICAgICAgICA6aGVpZ2h0PVwiMjIwXCJcclxuICAgICAgICAgICAgICB2LWlmPVwiaXNTaG93RW1qXCJcclxuICAgICAgICAgICAgICA6d2luZG93V2lkdGg9XCJ3aW5kb3dXaWR0aFwiXHJcbiAgICAgICAgICAgID48L2Vtb3Rpb24+XHJcbiAgICAgICAgICA8L3ZpZXc+XHJcbiAgICAgICAgPC92aWV3PlxyXG4gICAgICA8L3ZpZXc+XHJcbiAgICA8L3UtcG9wdXA+XHJcbiAgICA8dS1wb3B1cFxyXG4gICAgICBtb2RlPVwiYm90dG9tXCJcclxuICAgICAgOnNob3c9XCJzaGVldExpc3RTaG93XCJcclxuICAgICAgOnJvdW5kPVwiMTBcIlxyXG4gICAgICBAY2xvc2U9XCJzaGVldExpc3RTaG93ID0gZmFsc2VcIlxyXG4gICAgPlxyXG4gICAgICA8dmlld1xyXG4gICAgICAgIGNsYXNzPVwidGFuY2h1IGV4cHJlc3NsaXN0XCJcclxuICAgICAgICBzdHlsZT1cImhlaWdodDogNTAwcnB4OyBvdmVyZmxvdy15OiBzY3JvbGxcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHZpZXcgY2xhc3M9XCJ0aXRsZVwiPiDor7fpgInmi6nopoHmn6XnnIvljIXoo7kgPC92aWV3PlxyXG4gICAgICAgIDx2aWV3IGNsYXNzPVwibGlzdFwiPlxyXG4gICAgICAgICAgPHZpZXdcclxuICAgICAgICAgICAgY2xhc3M9XCJpdGVtXCJcclxuICAgICAgICAgICAgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIHNoZWV0TGlzdFwiXHJcbiAgICAgICAgICAgIEBjbGljaz1cInNlZUV4cHJlc3NEZXRhaWxzKGl0ZW0pXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAgPGg0IHN0eWxlPVwibWFyZ2luLWJvdHRvbTogMTBycHhcIj7ljIXoo7kge3sgaW5kZXggKyAxIH19PC9oND5cclxuICAgICAgICAgICAgPHZpZXcgY2xhc3M9XCJcIlxyXG4gICAgICAgICAgICAgID7ov5DljZXlj7fvvJp7eyBpdGVtLmV4cHJlc3NPcmRlclNuIH19XHJcbiAgICAgICAgICAgICAgPHUtdGFnXHJcbiAgICAgICAgICAgICAgICBAY2xpY2s9XCJjb3B5RGF0YShpdGVtLmV4cHJlc3NPcmRlclNuKVwiXHJcbiAgICAgICAgICAgICAgICBzaXplPVwibWluaVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImNvcHlDb2RlXCJcclxuICAgICAgICAgICAgICAgIHRleHQ9XCLlpI3liLbljZXlj7dcIlxyXG4gICAgICAgICAgICAgICAgcGxhaW5cclxuICAgICAgICAgICAgICAgIHR5cGU9XCJzdWNjZXNzXCJcclxuICAgICAgICAgICAgLz48L3ZpZXc+XHJcbiAgICAgICAgICAgIDx2aWV3IGNsYXNzPVwiXCI+5Y+R6LSn5pe26Ze077yae3sgaXRlbS5jcmVhdGVUaW1lIH19PC92aWV3PlxyXG4gICAgICAgICAgPC92aWV3PlxyXG4gICAgICAgIDwvdmlldz5cclxuICAgICAgPC92aWV3PlxyXG4gICAgPC91LXBvcHVwPlxyXG4gICAgPG11c2ljLXBsYXkgOnBsYXlEYXRhPVwicGxheURhdGFcIj48L211c2ljLXBsYXk+XHJcbiAgPC92aWV3PlxyXG48L3RlbXBsYXRlPlxyXG5cclxuPHNjcmlwdD5cclxuaW1wb3J0IG11c2ljUGxheSBmcm9tIFwiQC9jb21wb25lbnRzL211c2ljLnZ1ZVwiO1xyXG5pbXBvcnQgZW1vdGlvbiBmcm9tIFwiQC9ia2h1bW9yLWVtb2ppcGx1cy9jb21wb25lbnRzL2JraHVtb3ItZW1vamlwbHVzL2JraHVtb3ItZW1vamlwbHVzLnZ1ZVwiO1xyXG5pbXBvcnQgJGh0dHAgZnJvbSBcIkAvY29uZmlnL3JlcXVlc3RDb25maWcuanNcIjtcclxuaW1wb3J0IHsgc2V0UGF5LCBzZXRQYXlBc3NpZ24sIHNldFdYUGF5IH0gZnJvbSBcIkAvY29uZmlnL3V0aWxzXCI7XHJcbmltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSBcInZ1ZXhcIjtcclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIGRhdGEoKSB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBBOiB7XHJcbiAgICAgICAgb3JkZXJJZDogMTUzMTYsXHJcbiAgICAgICAgb3JkZXJTbjogXCIyMDI0MTIwOTE0MTU0MTI1MzE4NjYwMDM3NjY0NTA3MFwiLFxyXG4gICAgICAgIHVzZXJJZDogMTM0ODcsXHJcbiAgICAgICAgdXNlck5hbWU6IG51bGwsXHJcbiAgICAgICAgc3RhdHVzTnVtOiBudWxsLFxyXG4gICAgICAgIHNoaXBwaW5nVXNlcjogbnVsbCxcclxuICAgICAgICB1c2VyUGhvbmU6IFwiMTg4MzQ4NDQ4NDdcIixcclxuICAgICAgICBwcm92aW5jZTogbnVsbCxcclxuICAgICAgICBjaXR5OiBudWxsLFxyXG4gICAgICAgIGRpc3RyaWN0OiBudWxsLFxyXG4gICAgICAgIGFkZHJlc3M6IG51bGwsXHJcbiAgICAgICAgY29tZTogMixcclxuICAgICAgICBwYXltZW50TWV0aG9kOiBcIjNcIixcclxuICAgICAgICBvcmRlck1vbmV5OiAzOSxcclxuICAgICAgICBkaXN0cmljdE1vbmV5OiAwLFxyXG4gICAgICAgIHJlYWxNb25leTogMzksXHJcbiAgICAgICAgc2hpcHBpbmdNb25leTogbnVsbCxcclxuICAgICAgICBzaGlwcGluZ0NvbXBOYW1lOiBudWxsLFxyXG4gICAgICAgIHNoaXBwaW5nU246IG51bGwsXHJcbiAgICAgICAgamZEZWR1Y3Rpb246IDAsXHJcbiAgICAgICAgY3JlYXRlVGltZTogXCIyMDI0LTEyLTA5IDE0OjE1OjQxXCIsXHJcbiAgICAgICAgc2hpcHBpbmdUaW1lOiBudWxsLFxyXG4gICAgICAgIG9yZGVyU3RhdHVzOiBcIjBcIixcclxuICAgICAgICBzdWNjZXNzVGltZTogbnVsbCxcclxuICAgICAgICBjb3Vwb25JZDogbnVsbCxcclxuICAgICAgICBjb3Vwb25OYW1lOiBudWxsLFxyXG4gICAgICAgIGRlbEZsYWc6IDAsXHJcbiAgICAgICAgcHJvZHVjdHM6IG51bGwsXHJcbiAgICAgICAgcHJvZHVjdExpc3Q6IG51bGwsXHJcbiAgICAgICAgYnV5VHlwZTogbnVsbCxcclxuICAgICAgICBvcmRlclR5cGU6IFwicG9pbnRcIixcclxuICAgICAgICBleHBObzogbnVsbCxcclxuICAgICAgICBpc1NlbmQ6IG51bGwsXHJcbiAgICAgICAgdmlwQnV5Q29uZmlnSWQ6IDAsXHJcbiAgICAgICAgYWRkcmVzc0lkOiBudWxsLFxyXG4gICAgICAgIHJlbWFyazogbnVsbCxcclxuICAgICAgICBvcmRlckNvZGU6IG51bGwsXHJcbiAgICAgICAgcGF5bWVudERhdGU6IG51bGwsXHJcbiAgICAgICAgcHJvZHVjdElkOiBcIjIxXCIsXHJcbiAgICAgICAgcmVjb3JkSWQ6IG51bGwsXHJcbiAgICAgICAgdGltZXN0YW1wOiBudWxsLFxyXG4gICAgICAgIHVzZXI6IG51bGwsXHJcbiAgICAgICAgZXhwcmVzc0xpc3Q6IG51bGwsXHJcbiAgICAgICAgYWRkcmVzc01vZGlmaWVkOiAwLFxyXG4gICAgICAgIGNvbnNpZ25lZVZvOiBudWxsLFxyXG4gICAgICAgIGFwcE5hbWU6IG51bGwsXHJcbiAgICAgICAgYm9va0J1eUNvbmZpZ0VudGl0eToge1xyXG4gICAgICAgICAgcHJpY2VUeXBlSWQ6IDIxLFxyXG4gICAgICAgICAgdHlwZTogXCJwb2ludFwiLFxyXG4gICAgICAgICAgcXVkYW86IFwiSU9TXCIsXHJcbiAgICAgICAgICByZWFsTW9uZXk6IFwiNDVcIixcclxuICAgICAgICAgIG1vbmV5OiBcIjM5XCIsXHJcbiAgICAgICAgICBnaXZlamY6IFwiMFwiLFxyXG4gICAgICAgICAgbW9udGg6IG51bGwsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogXCJcIixcclxuICAgICAgICAgIGVmZmVjdGl2ZTogMCxcclxuICAgICAgICAgIHN0YXJ0VGltZTogbnVsbCxcclxuICAgICAgICAgIGVuZFRpbWU6IG51bGwsXHJcbiAgICAgICAgfSxcclxuICAgICAgICB2aXBCdXlDb25maWdFbnRpdHk6IG51bGwsXHJcbiAgICAgIH0sXHJcbiAgICAgIGljb25MaXN0OiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGV4dDogXCLogZTns7vlrqLmnI1cIixcclxuICAgICAgICAgIGljb25UeXBlOiAxLFxyXG4gICAgICAgICAgaWNvbjogXCJzZXJ2ZXItZmlsbFwiLFxyXG4gICAgICAgICAgaW5mb0NvbG9yOiBcIiM2NjZcIixcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgICB1c2VyUmVjb3JkaWQ6IG51bGwsIC8vIOeUqOaIt+eahOivhOS7t+eKtuaAgVxyXG4gICAgICBwbGF5RGF0YToge30sXHJcbiAgICAgIHRpdGxlOiBcIkhlbGxvXCIsXHJcbiAgICAgIGlzU2hvd0VtajogZmFsc2UsXHJcbiAgICAgIGVtb2ppSWNvbjogXCJjdUljb24tZW1vamlcIixcclxuICAgICAgbWVzc2FnZTogXCJcIixcclxuXHJcbiAgICAgIHdpbmRvd1dpZHRoOiAwLFxyXG4gICAgICB3aW5kb3dIZWlnaHQ6IDUwMCxcclxuICAgICAgUGZvcm06IHtcclxuICAgICAgICAvLyDor4Tku7fooajljZVcclxuICAgICAgICBzdGFyOiAwLFxyXG4gICAgICAgIGNvbW1lbnQ6IFwiXCIsXHJcbiAgICAgICAgaW1nOiBbXSxcclxuICAgICAgICBodG1sOiBcIlwiLFxyXG4gICAgICB9LFxyXG4gICAgICBwaW5nSUQ6IG51bGwsXHJcbiAgICAgIHByb2R1Y3RJRDogbnVsbCwgLy8g6K6i5Y2V5ZWG5ZOBaWRcclxuICAgICAgaW1hZ2VTdHlsZXM6IHtcclxuICAgICAgICB3aWR0aDogNjQsXHJcbiAgICAgICAgaGVpZ2h0OiA2NCxcclxuICAgICAgICBib3JkZXI6IHtcclxuICAgICAgICAgIGNvbG9yOiBcIiM4OWFhN2RcIixcclxuICAgICAgICAgIHdpZHRoOiAyLFxyXG4gICAgICAgICAgc3R5bGU6IFwiZGFzaGVkXCIsXHJcbiAgICAgICAgICByYWRpdXM6IFwiMnB4XCIsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgcGluZ2ppYVNob3c6IGZhbHNlLFxyXG4gICAgICBsb2dpc3RpY3NEYXRhOiBbXSwgLy8g5b+r6YCS5L+h5oGv5YiX6KGoXHJcbiAgICAgIHRpdGxlU3RhdDogXCJcIixcclxuICAgICAgb3JkZXJJRDogMCxcclxuICAgICAgb3JkZXJTbjogXCJcIixcclxuICAgICAgb3JkZXJUeXBlOiBcIlwiLFxyXG4gICAgICBvcmRlckNvbnRldDoge30sXHJcbiAgICAgIGdvb2RzTGlzdDogW10sXHJcbiAgICAgIGRlbGl2ZXJEZXRhaWxzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgVHJhY2VzOiBbXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLCAvLyDnianmtYHor6bmg4Xkv6Hmga/lhajpg6hcclxuICAgICAgZGVsaXZlckRldGFpbHNMZW5ndGg6IG51bGwsXHJcbiAgICAgIGVtb2ppOiBbXSxcclxuICAgICAgRmlsZXM6IFtdLFxyXG4gICAgICBwalR5cGU6IFwiXCIsXHJcbiAgICAgIHNoZWV0TGlzdDogW10sIC8vIOmdouWNleaVsOaNrlxyXG4gICAgICBjb25zaWduZWVTaG93OiBmYWxzZSxcclxuICAgICAgc2hlZXRMaXN0U2hvdzogZmFsc2UsXHJcbiAgICAgIGN1c3RvbUJ1dHRvbjogW10sXHJcbiAgICB9O1xyXG4gIH0sXHJcbiAgb25Mb2FkKGUpIHtcclxuICAgIHRoaXMud2luZG93V2lkdGggPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKS53aW5kb3dXaWR0aDtcclxuICAgIHRoaXMub3JkZXJJRCA9IGUub3JkZXJJZDtcclxuICAgIHRoaXMub3JkZXJUeXBlID0gZS5vcmRlclR5cGU7XHJcbiAgICB0aGlzLm9yZGVyU24gPSBlLm9yZGVyU247XHJcbiAgICBjb25zb2xlLmxvZyh0aGlzLm9yZGVySUQsIFwidGhpcy5vcmRlcklEXCIpO1xyXG4gIH0sXHJcbiAgb25IaWRlKCkge1xyXG4gICAgdGhpcy5zaGVldExpc3QgPSBbXTtcclxuICB9LFxyXG4gIG9uU2hvdygpIHtcclxuICAgIHRoaXMuZ2V0T3JkZXJMaXN0KCk7XHJcbiAgfSxcclxuICBjb21wb25lbnRzOiB7XHJcbiAgICBlbW90aW9uLFxyXG4gICAgbXVzaWNQbGF5LFxyXG4gIH0sXHJcbiAgY29tcHV0ZWQ6IHtcclxuICAgIC4uLm1hcFN0YXRlKFtcInVzZXJJbmZvXCJdKSxcclxuICB9LFxyXG5cclxuICBtZXRob2RzOiB7XHJcbiAgICBnb3RvV29ya09yZGVyKCkge1xyXG4gICAgICB1bmkubmF2aWdhdGVUbyh7XHJcbiAgICAgICAgdXJsOiBgL3BhZ2VzL3VzZXIvd29ya09yZGVyP25hbWU9b3JkZXJgLFxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgICBhc3luYyBnb0J1eUppZShkYXRhKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiaW5kZXggYXQgbGluZSA1MzI6XCIsIGRhdGEpO1xyXG4gICAgICBpZiAoZGF0YS50ZXh0ID09IFwi57un57ut5LuY5qy+XCIpIHtcclxuICAgICAgICB0aGlzLmdvUGF5KHRoaXMub3JkZXJDb250ZXQpO1xyXG4gICAgICB9IGVsc2UgaWYgKGRhdGEudGV4dCA9PSBcIuWPlua2iOiuouWNlVwiKSB7XHJcbiAgICAgICAgdGhpcy5jYW5jZU9yZGVyKCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZGF0YS50ZXh0ID09IFwi56Gu6K6k5pS26LSnXCIpIHtcclxuICAgICAgICB0aGlzLk92ZXJPcmRlcigpO1xyXG4gICAgICB9IGVsc2UgaWYgKGRhdGEudGV4dCA9PSBcIuafpeeci+eJqea1gVwiKSB7XHJcbiAgICAgICAgdGhpcy5zZWVFeHByZXNzRGV0YWlsKHRoaXMub3JkZXJDb250ZXQpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgYXN5bmMgY2xpY2tJY29uKGRhdGEpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJpbmRleCBhdCBsaW5lIDUzMjpcIiwgZGF0YSk7XHJcbiAgICAgIGlmIChkYXRhLnRleHQgPT0gXCLogZTns7vlrqLmnI1cIikge1xyXG4gICAgICAgIHRoaXMua2VmdSgpO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgLy8g5aSN5Yi25Yiw5Ymq5YiH5p2/XHJcbiAgICBjb3B5RGF0YShkYXRhKSB7XHJcbiAgICAgIHVuaS5zZXRDbGlwYm9hcmREYXRhKHtcclxuICAgICAgICBkYXRhLFxyXG4gICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwic3VjY2Vzc1wiKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgICBzZWVFeHByZXNzRGV0YWlscyhpdGVtKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKGl0ZW0sIFwiaXRlbVwiKTtcclxuICAgICAgdW5pLm5hdmlnYXRlVG8oe1xyXG4gICAgICAgIHVybDpcclxuICAgICAgICAgIFwiLi9kZWxpdmVyRGV0YWlsP29yZGVyU249XCIgK1xyXG4gICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5vcmRlclNuICtcclxuICAgICAgICAgIFwiJmV4cHJlc3NPcmRlclNuPVwiICtcclxuICAgICAgICAgIGl0ZW0uZXhwcmVzc09yZGVyU24gK1xyXG4gICAgICAgICAgXCImZXhwcmVzc0NvbXBhbnlDb2RlPVwiICtcclxuICAgICAgICAgIGl0ZW0uZXhwcmVzc0NvbXBhbnlDb2RlICtcclxuICAgICAgICAgIFwiJmV4cHJlc3NDb21wYW55TmFtZT1cIiArXHJcbiAgICAgICAgICBpdGVtLmV4cHJlc3NDb21wYW55TmFtZSxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgLy8g5YCS6K6h5pe25Zue6LCDXHJcbiAgICBjb3VudERvd24oKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwi6YeN5paw5Yi35paw6K6i5Y2VXCIpO1xyXG4gICAgICB0aGlzLmdldE9yZGVyTGlzdCgpO1xyXG4gICAgfSxcclxuICAgIC8vIOiOt+W+l+i+k+WFpeeahOihqOaDheaVsOe7hFxyXG4gICAgaGFuZGxlRW1qKGkpIHtcclxuICAgICAgY29uc29sZS5sb2coaSwgXCJpLS0tLS0tLS0tXCIpO1xyXG4gICAgICB0aGlzLmlucHV0VmFsdWUgPSBpO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmlucHV0VmFsdWUpO1xyXG4gICAgICBpZiAoaS5lbW90aW9uaSA9PSBcIltlbV85OF1cIikge1xyXG4gICAgICAgIC8v5Yy56YWN5pyA5ZCO5LiA5Liq6KGo5oOF56ym5Y+35bm25Yig6ZmkMTHjgIJcclxuICAgICAgICB0aGlzLlBmb3JtLmNvbW1lbnQgPSB0aGlzLlBmb3JtLmNvbW1lbnQucmVwbGFjZShcclxuICAgICAgICAgIC8oXFxbW15cXF1dK1xcXXxbXFxzXFxTXSkkLyxcclxuICAgICAgICAgIFwiXCJcclxuICAgICAgICApO1xyXG4gICAgICAgIGlmICh0aGlzLmVtb2ppLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHRoaXMuZW1vamkgPSB0aGlzLmVtb2ppLnNsaWNlKDAsIC0xKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5lbW9qaS5wdXNoKHsgdGFnOiBpLmVtb3Rpb24sIG5hbWU6IGkuZW1vdGlvbmkgfSk7XHJcbiAgICAgICAgLy8gY29uc29sZS5sb2codGhpcy5lbW9qaSwndGhpcy5lbW9qaScpXHJcbiAgICAgICAgdGhpcy5QZm9ybS5jb21tZW50ICs9IGkuZW1vdGlvbmk7XHJcbiAgICAgICAgLy8vIHRoaXMuUGZvcm0uaHRtbCArPSBpLmVtb3Rpb25cclxuICAgICAgfVxyXG4gICAgfSxcclxuICAgIHNob3daaHVpcGluZyh2YWwpIHtcclxuICAgICAgdGhpcy5walR5cGUgPSBcInpodWlwaW5nXCI7XHJcbiAgICAgIHRoaXMucGluZ2ppYVNob3cgPSB0cnVlO1xyXG4gICAgICB0aGlzLnByb2R1Y3RJRCA9IHZhbDtcclxuICAgICAgdGhpcy5waW5nSUQgPSBwaW5naWQ7XHJcbiAgICB9LFxyXG4gICAgLy8g6L+95Yqg6K+E6K66XHJcbiAgICB6aHVpcGluZygpIHtcclxuICAgICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgICAgb2lkOiB0aGlzLnVzZXJSZWNvcmRpZCxcclxuICAgICAgICB1c2VySWQ6IHRoaXMudXNlckluZm8uaWQsXHJcbiAgICAgICAgYm9va2lkOiB0aGlzLnByb2R1Y3RJRCxcclxuICAgICAgICBjb25UZW50OiB0aGlzLlBmb3JtLmNvbW1lbnQsXHJcbiAgICAgIH07XHJcbiAgICAgIGNvbnNvbGUubG9nKGRhdGEsIFwiZGF0YVwiKTtcclxuICAgICAgJGh0dHBcclxuICAgICAgICAucmVxdWVzdCh7XHJcbiAgICAgICAgICB1cmw6IFwidXNlci9mb2xsb3dVcC91c2VyRm9sbG93VXBcIixcclxuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsIC8vIFBPU1TjgIFHRVTjgIFQVVTjgIFERUxFVEXvvIzlhbfkvZPor7TmmI7mn6XnnIvlrpjmlrnmlofmoaNcclxuICAgICAgICAgIGRhdGEsXHJcbiAgICAgICAgICBoZWFkZXI6IHtcclxuICAgICAgICAgICAgLy/pu5jorqQg5pegIOivtOaYju+8muivt+axguWktFxyXG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSlcclxuICAgICAgICAudGhlbigocmVzKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzLmNvZGUgPT0gMCkge1xyXG4gICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICB0aXRsZTogXCLov73or4TmiJDlip/vvIFcIixcclxuICAgICAgICAgICAgICBpY29uOiBcInN1Y2Nlc3NcIixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMucGluZ2ppYVNob3cgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5walR5cGUgPSBcIlwiO1xyXG4gICAgICAgICAgICAodGhpcy5wcm9kdWN0SUQgPSBudWxsKSwgKHRoaXMudXNlclJlY29yZGlkID0gbnVsbCk7XHJcbiAgICAgICAgICAgIHRoaXMuUGZvcm0uY29tbWVudCA9IFwiXCI7XHJcbiAgICAgICAgICAgIHRoaXMuUGZvcm0uaHRtbCA9IFwiXCI7XHJcbiAgICAgICAgICAgIHRoaXMuZW1vamkgPSBbXTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgdW5pLm5hdmlnYXRlQmFjayh7XHJcbiAgICAgICAgICAgICAgICBkZWx0YTogMSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSwgMjAwMCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgdGV4dGFyZWFCSW5wdXQoZSkge1xyXG4gICAgICBjb25zb2xlLmxvZyhlLCBcImVcIik7XHJcbiAgICAgIHRoaXMuUGZvcm0uY29tbWVudCA9IGUuZGV0YWlsLnZhbHVlO1xyXG4gICAgICAvLy8gdGhpcy5QZm9ybS5odG1sID0gZS5kZXRhaWwudmFsdWVcclxuICAgIH0sXHJcbiAgICBzaG93RW1qKCkge1xyXG4gICAgICBsZXQgYm9vbCA9ICF0aGlzLmlzU2hvd0VtajtcclxuICAgICAgaWYgKGJvb2wpIHtcclxuICAgICAgICB0aGlzLmVtb2ppSWNvbiA9IFwiY3VJY29uLWtleWJvYXJkXCI7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5lbW9qaUljb24gPSBcImN1SWNvbi1lbW9qaVwiO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmlzU2hvd0VtaiA9IGJvb2w7XHJcbiAgICAgIHRoaXMuJGVtaXQoXCJzaG93XCIpO1xyXG4gICAgfSxcclxuICAgIElucHV0Qmx1cihlKSB7fSxcclxuICAgIElucHV0Rm9jdXMoZSkge1xyXG4gICAgICB0aGlzLmlzU2hvd0VtaiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmVtb2ppSWNvbiA9IFwiY3VJY29uLWVtb2ppXCI7XHJcbiAgICAgIHRoaXMuJGVtaXQoXCJmb2NcIik7XHJcbiAgICB9LFxyXG5cclxuICAgIC8vIGVuZFxyXG4gICAgZGVsZXRlSW1nKGUpIHtcclxuICAgICAgLy8gdmFyIGFyciA9IHRoaXMuUGZvcm0uaW1nLnNsaWNlKDAsLTEpXHJcbiAgICAgIHRoaXMuUGZvcm0uaW1nLnBvcCgpO1xyXG4gICAgICAvLyAgY29uc29sZS5sb2coJ+WIoOmZpOaWh+S7ticsYXJyKVxyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLlBmb3JtKTtcclxuICAgIH0sXHJcbiAgICBnZXRTdGFyKGkpIHtcclxuICAgICAgdGhpcy5QZm9ybS5zdGFyID0gaTtcclxuICAgIH0sXHJcbiAgICBzZWxlY3QoZSkge1xyXG4gICAgICBjb25zb2xlLmxvZyhcIumAieaLqeaWh+S7tu+8mlwiLCBlKTtcclxuICAgICAgbGV0IGFyciA9IGUudGVtcEZpbGVzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7IHVybDogaXRlbS51cmwsIG5hbWU6IGl0ZW0ubmFtZSB9O1xyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5QZm9ybS5pbWcgPSB0aGlzLlBmb3JtLmltZy5jb25jYXQoLi4uYXJyKTtcclxuICAgICAgLy90aGlzLlBmb3JtLmltZyA9IGFyclxyXG4gICAgICBjb25zb2xlLmxvZyh0aGlzLlBmb3JtLCBcImltZ1wiKTtcclxuICAgIH0sXHJcbiAgICB1cFN1Y2Nlc3MoZSkge1xyXG4gICAgICBjb25zb2xlLmxvZyhlKTtcclxuICAgIH0sXHJcbiAgICAvLyDojrflj5ZodG1s5qC85byP55qE6K+E6K66MVxyXG4gICAgZ2V0SHRtbENvbW1lbnQoKSB7XHJcbiAgICAgIC8vIOagvOW8j+WMlmh0bWxcclxuICAgICAgdmFyIHNzID0gdGhpcy5QZm9ybS5jb21tZW50O1xyXG4gICAgICBpZiAodGhpcy5lbW9qaS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmVtb2ppLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5QZm9ybS5jb21tZW50LmluZGV4T2YodGhpcy5lbW9qaVtpXS5uYW1lKSAhPT0gLTEpIHtcclxuICAgICAgICAgICAgLy92YXIgcmUgPSBuZXcgUmVnRXhwKHRoaXMuZW1vamlbMF0ubmFtZSxcImdcIik7IC8v5a6a5LmJ5q2j5YiZ6KGo6L6+5byPXHJcbiAgICAgICAgICAgIC8v56ys5LiA5Liq5Y+C5pWw5piv6KaB5pu/5o2i5o6J55qE5YaF5a6577yM56ys5LqM5Liq5Y+C5pWwXCJnXCLooajnpLrmm7/mjaLlhajpg6jvvIhnbG9iYWzvvInjgIJcclxuICAgICAgICAgICAgLy8gc3MgPSBzcy5yZXBsYWNlKHJlLCApOyAvL+esrOS4gOS4quWPguaVsOaYr+ato+WImeihqOi+vuW8j+OAglxyXG4gICAgICAgICAgICBzcyA9IHNzLnJlcGxhY2UodGhpcy5lbW9qaVtpXS5uYW1lLCB0aGlzLmVtb2ppW2ldLnRhZyk7XHJcbiAgICAgICAgICAgIC8vIGNvbnNvbGUubG9nKHNzKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLlBmb3JtLmh0bWwgPSBzcztcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLlBmb3JtLmh0bWwgPSB0aGlzLlBmb3JtLmNvbW1lbnQ7XHJcbiAgICAgIH1cclxuICAgICAgLy9jb25zb2xlLmxvZyh0aGlzLlBmb3JtLmh0bWwsJ3RoaXMuUGZvcm0uaHRtbCcpXHJcbiAgICB9LFxyXG4gICAgZGVsZXRlUGljKCkge1xyXG4gICAgICBsZXQgdGhhdCA9IHRoaXM7XHJcbiAgICAgIHRoYXQuUGZvcm0uaW1nLnNwbGljZSgwLCAxKTtcclxuICAgICAgLy9jb25zb2xlLmxvZyh0aGF0LlBmb3JtLmltZylcclxuICAgIH0sXHJcbiAgICBhZnRlclJlYWQoZSkge1xyXG4gICAgICAvL2NvbnNvbGUubG9nKGUpXHJcbiAgICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBlLmZpbGUubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAvL2NvbnNvbGUubG9nKGksZS5maWxlW2ldLnVybClcclxuICAgICAgICB1bmkudXBsb2FkRmlsZSh7XHJcbiAgICAgICAgICB1cmw6IHRoaXMuJGJhc2VVcmwgKyBcIm9zcy9maWxlb3NzXCIsXHJcbiAgICAgICAgICBmaWxlUGF0aDogZS5maWxlW2ldLnVybCxcclxuICAgICAgICAgIC8vZmlsZXM6ZS5maWxlLFxyXG4gICAgICAgICAgbmFtZTogXCJmaWxlXCIsXHJcbiAgICAgICAgICBmb3JtRGF0YToge30sXHJcbiAgICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIHRoYXQuUGZvcm0uaW1nLnB1c2goe1xyXG4gICAgICAgICAgICAgIHVybDogSlNPTi5wYXJzZShyZXMuZGF0YSkudXJsLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBjbG9zZVBpbmdqaWEoKSB7XHJcbiAgICAgIHRoaXMucGluZ2ppYVNob3cgPSBmYWxzZTtcclxuICAgICAgdGhpcy5QZm9ybS5jb21tZW50ID0gXCJcIjtcclxuICAgICAgdGhpcy5QZm9ybS5odG1sID0gXCJcIjtcclxuICAgICAgdGhpcy5lbW9qaSA9IFtdO1xyXG4gICAgfSxcclxuICAgIC8vIOaPkOS6pOivhOS7t1xyXG4gICAgc3VibWl0UEooKSB7XHJcbiAgICAgIGlmICh0aGlzLlBmb3JtLmNvbW1lbnQgIT0gXCJcIikge1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgdXNlcmlkOiB0aGlzLnVzZXJJbmZvLmlkLFxyXG4gICAgICAgICAgb3JkZXJTbjogdGhpcy5vcmRlclNuLFxyXG4gICAgICAgICAgYm9va2lkOiB0aGlzLnByb2R1Y3RJRCxcclxuICAgICAgICAgIC8vICdjb250ZW50JzogdGhpcy5QZm9ybS5odG1sLFxyXG4gICAgICAgICAgY29udGVudDogdGhpcy5QZm9ybS5jb21tZW50LFxyXG4gICAgICAgICAgc3RhckxldmVsOiB0aGlzLlBmb3JtLnN0YXIsXHJcbiAgICAgICAgICBpbWFnZXM6IHRoaXMuUGZvcm0uaW1nLFxyXG4gICAgICAgICAgLy8gJ2Vtb2ppJzp0aGlzLmVtb2ppICAvLyDooajmg4XmlbDnu4RcclxuICAgICAgICB9O1xyXG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGRhdGEsJ2RhdGEnKVxyXG4gICAgICAgICRodHRwXHJcbiAgICAgICAgICAucmVxdWVzdCh7XHJcbiAgICAgICAgICAgIHVybDogXCJidXkvcmVjb3JkL1VzZXJSZWNvcmRjb21tZW50XCIsXHJcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsIC8vIFBPU1TjgIFHRVTjgIFQVVTjgIFERUxFVEXvvIzlhbfkvZPor7TmmI7mn6XnnIvlrpjmlrnmlofmoaNcclxuICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgICAgLy/pu5jorqQg5pegIOivtOaYju+8muivt+axguWktFxyXG4gICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC50aGVuKChyZXMpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcy5jb2RlID09IDApIHtcclxuICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIuivhOS7t+aIkOWKn++8gVwiLFxyXG4gICAgICAgICAgICAgICAgaWNvbjogXCJzdWNjZXNzXCIsXHJcbiAgICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMucGluZ2ppYVNob3cgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLlBmb3JtLmNvbW1lbnQgPSBcIlwiO1xyXG4gICAgICAgICAgICAgIHRoaXMuUGZvcm0uaHRtbCA9IFwiXCI7XHJcbiAgICAgICAgICAgICAgdGhpcy5lbW9qaSA9IFtdO1xyXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdW5pLm5hdmlnYXRlQmFjayh7XHJcbiAgICAgICAgICAgICAgICAgIGRlbHRhOiAxLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfSwgMjAwMCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgdGl0bGU6IFwi6K+35YWI6L6T5YWl5oKo55qE6K+E5Lu35YaF5a65IO+8gVwiLFxyXG4gICAgICAgICAgaWNvbjogXCJub25lXCIsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICAvLyDmt7vliqDor4Tku7dcclxuICAgIHBpbmdqaShpZCkge1xyXG4gICAgICBjb25zb2xlLmxvZyhpZCk7XHJcbiAgICAgIHRoaXMucGpUeXBlID0gXCJcIjtcclxuICAgICAgdGhpcy5wcm9kdWN0SUQgPSBpZDtcclxuICAgICAgdGhpcy5waW5namlhU2hvdyA9IHRydWU7XHJcbiAgICB9LFxyXG4gICAgLy8g6IGU57O75a6i5pyNXHJcbiAgICBrZWZ1KCkge1xyXG4gICAgICB1bmkuc2hvd01vZGFsKHtcclxuICAgICAgICB0aXRsZTogXCLmj5DnpLpcIixcclxuICAgICAgICBjb250ZW50OiBcIuW+ruS/oeWPt++8mnlpbHVqaWFua2FuZ2tlZnVcIixcclxuICAgICAgICAvLyBzdWNjZXNzOiBmdW5jdGlvbiAocmVzKSB7XHJcbiAgICAgICAgLy8gXHRpZiAocmVzLmNvbmZpcm0pIHtcclxuICAgICAgICAvLyBcdFx0dW5pLm1ha2VQaG9uZUNhbGwoe1xyXG4gICAgICAgIC8vIFx0XHRcdHBob25lTnVtYmVyOiAnMDIyLTI0MTQyMzIxJyAvL+S7heS4uuekuuS+i1xyXG4gICAgICAgIC8vIFx0XHR9KTtcclxuICAgICAgICAvLyBcdH0gZWxzZSBpZiAocmVzLmNhbmNlbCkge1xyXG5cclxuICAgICAgICAvLyBcdH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuICAgIC8vIOafpeeci+eJqea1gVxyXG4gICAgc2VlRXhwcmVzc0RldGFpbChpdGVtKSB7XHJcbiAgICAgIGlmICh0aGlzLnNoZWV0TGlzdC5sZW5ndGggPiAxKSB7XHJcbiAgICAgICAgdGhpcy5zaGVldExpc3RTaG93ID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNoZWV0TGlzdC5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgIC8vIOebtOaOpeWxleekuuivpuaDhVxyXG4gICAgICAgIHVuaS5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICAgIHVybDpcclxuICAgICAgICAgICAgXCIuL2RlbGl2ZXJEZXRhaWw/b3JkZXJTbj1cIiArXHJcbiAgICAgICAgICAgIGl0ZW0ub3JkZXJTbiArXHJcbiAgICAgICAgICAgIFwiJmV4cHJlc3NPcmRlclNuPVwiICtcclxuICAgICAgICAgICAgdGhpcy5zaGVldExpc3RbMF0uZXhwcmVzc09yZGVyU24sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBoYW5kbGVDb3B5KHZhbHVlLCB0aXRsZSkge1xyXG4gICAgICB0aGlzLiRjb21tb25KUy5oYW5kbGVDb3B5KHZhbHVlLCB0aXRsZSk7XHJcbiAgICB9LFxyXG4gICAgb25QYWdlSnVtcChpdGVtKSB7XHJcbiAgICAgIHVuaS5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICB1cmw6IFwiLi9kZWxpdmVyRGV0YWlsP29iaklkPVwiICsgaXRlbSxcclxuICAgICAgfSk7XHJcbiAgICB9LFxyXG4gICAgT3Zlck9yZGVyKCkge1xyXG4gICAgICAvLyDnoa7orqTmlLbotKdcclxuICAgICAgdW5pLnNob3dNb2RhbCh7XHJcbiAgICAgICAgdGl0bGU6IFwi5o+Q56S6XCIsXHJcbiAgICAgICAgY29udGVudDogXCLnoa7orqTmlLbotKfvvJ9cIixcclxuICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XHJcbiAgICAgICAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgICAgICAgb3JkZXJJZDogdGhpcy5vcmRlcklELFxyXG4gICAgICAgICAgICBvcmRlclN0YXR1czogXCIzXCIsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgICAgaWYgKHJlcy5jb25maXJtKSB7XHJcbiAgICAgICAgICAgIHVuaS5zaG93TG9hZGluZygpO1xyXG4gICAgICAgICAgICAkaHR0cFxyXG4gICAgICAgICAgICAgIC5yZXF1ZXN0KHtcclxuICAgICAgICAgICAgICAgIHVybDogXCJib29rL2J1eU9yZGVyL3VwZGF0ZVwiLFxyXG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIiwgLy8gUE9TVOOAgUdFVOOAgVBVVOOAgURFTEVURe+8jOWFt+S9k+ivtOaYjuafpeeci+WumOaWueaWh+aho1xyXG4gICAgICAgICAgICAgICAgZGF0YSxcclxuICAgICAgICAgICAgICAgIGhlYWRlcjoge1xyXG4gICAgICAgICAgICAgICAgICAvL+m7mOiupCDml6Ag6K+05piO77ya6K+35rGC5aS0XHJcbiAgICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIC50aGVuKChyZXMpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChyZXMuY29kZSA9PSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgIHVuaS5oaWRlTG9hZGluZygpO1xyXG4gICAgICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCLmlLbotKfmiJDlip9cIixcclxuICAgICAgICAgICAgICAgICAgICBpY29uOiBcInN1Y2Nlc3NcIixcclxuICAgICAgICAgICAgICAgICAgICBkdXJhdGlvbjogMTAwMCxcclxuICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0T3JkZXJMaXN0KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHJlcy5jYW5jZWwpIHtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICAgIH0sXHJcbiAgICAvLyDliIfmjaLorqLljZXnirbmgIFcclxuICAgIG9yZGVyVGFiQ0xpKGUpIHtcclxuICAgICAgdGhpcy5vcmRlckxpc3RUYWIgPSBlO1xyXG4gICAgfSxcclxuICAgIGFzeW5jIGdldENvdXBvbkRldGFpbChpZCkge1xyXG4gICAgICBhd2FpdCB0aGlzLiRodHRwXHJcbiAgICAgICAgLnJlcXVlc3Qoe1xyXG4gICAgICAgICAgdXJsOiBcImNvbW1vbi9jb3Vwb24vZ2V0Q291cG9uSGlzdG9yeUluZm9cIixcclxuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsIC8vIFBPU1TjgIFHRVTjgIFQVVTjgIFERUxFVEXvvIzlhbfkvZPor7TmmI7mn6XnnIvlrpjmlrnmlofmoaNcclxuICAgICAgICAgIGRhdGE6IHtcclxuICAgICAgICAgICAgaWQsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgIC8v6buY6K6kIOaXoCDor7TmmI7vvJror7fmsYLlpLRcclxuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcy5jb2RlICE9IDApIHJldHVybiB0aGlzLiRjb21tb25KUy5zaG93VG9hc3QocmVzLmVyck1zZyk7XHJcbiAgICAgICAgICB0aGlzLm9yZGVyQ29udGV0LmNvdXBvbkFtb3VudCA9XHJcbiAgICAgICAgICAgIHJlcy5jb3Vwb25IaXN0b3J5LmNvdXBvbkVudGl0eS5jb3Vwb25BbW91bnQ7XHJcbiAgICAgICAgfSlcclxuICAgICAgICAuY2F0Y2goKGUpID0+IHtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICAgICAgdGhpcy4kY29tbW9uSlMuc2hvd1RvYXN0KGUuZXJyTXNnKTtcclxuICAgICAgICB9KTtcclxuICAgIH0sXHJcbiAgICAvLyDojrflj5borqLljZXor6bmg4VcclxuICAgIGFzeW5jIGdldE9yZGVyTGlzdCgpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJ0aGlzLm9yZGVyVHlwZVwiLCB0aGlzLm9yZGVyVHlwZSk7XHJcblxyXG4gICAgICBhd2FpdCB0aGlzLiRodHRwXHJcbiAgICAgICAgLnJlcXVlc3Qoe1xyXG4gICAgICAgICAgdXJsOiBcImNvbW1vbi9idXlPcmRlci9jb21tb25PcmRlckRldGFpbFwiLFxyXG4gICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIiwgLy8gUE9TVOOAgUdFVOOAgVBVVOOAgURFTEVURe+8jOWFt+S9k+ivtOaYjuafpeeci+WumOaWueaWh+aho1xyXG4gICAgICAgICAgZGF0YToge1xyXG4gICAgICAgICAgICBvcmRlcklkOiB0aGlzLm9yZGVySUQsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgaGVhZGVyOiB7XHJcbiAgICAgICAgICAgIC8v6buY6K6kIOaXoCDor7TmmI7vvJror7fmsYLlpLRcclxuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLnRoZW4oYXN5bmMgKHJlcykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jdXN0b21CdXR0b24gPSBbXTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFwi6K6i5Y2V6K+m5oOFXCIsIHJlcyk7XHJcbiAgICAgICAgICB0aGlzLm9yZGVyQ29udGV0ID0gcmVzLmRhdGEuYnV5T3JkZXI7XHJcbiAgICAgICAgICB0aGlzLmdvb2RzTGlzdCA9IHJlcy5kYXRhLnByb2R1Y3RJbmZvO1xyXG4gICAgICAgICAgdGhpcy5jb25zaWduZWVTaG93ID0gdHJ1ZTtcclxuICAgICAgICAgIC8vIOWtmOWcqOS8mOaDoOWIuOS/oeaBr++8jOWwseafpeivouS8mOaDoOWIuOmbhuS9k+mHkeminVxyXG4gICAgICAgICAgaWYgKHRoaXMub3JkZXJDb250ZXQuY291cG9uSWQgJiYgdGhpcy5vcmRlckNvbnRldC5jb3Vwb25JZCAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuZ2V0Q291cG9uRGV0YWlsKHRoaXMub3JkZXJDb250ZXQuY291cG9uSWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID09IDIgJiZcclxuICAgICAgICAgICAgdGhpcy5zaGVldExpc3QubGVuZ3RoID4gMCAmJlxyXG4gICAgICAgICAgICB0aGlzLm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzICE9IDVcclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbUJ1dHRvbi5wdXNoKHtcclxuICAgICAgICAgICAgICB3aWR0aDogXCIxNjBycHhcIixcclxuICAgICAgICAgICAgICB0ZXh0OiBcIuafpeeci+eJqea1gVwiLFxyXG4gICAgICAgICAgICAgIGNvbG9yOiBcIiMzMzNcIixcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2YwZjBmMFwiLFxyXG4gICAgICAgICAgICAgIGNvbG9yOiBcIiNmZmZcIixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAodGhpcy5vcmRlckNvbnRldC5vcmRlclN0YXR1cyA9PSAyKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tQnV0dG9uLnB1c2goe1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBcIjE2MHJweFwiLFxyXG4gICAgICAgICAgICAgIHRleHQ6IFwi56Gu6K6k5pS26LSnXCIsXHJcblxyXG4gICAgICAgICAgICAgIGNvbG9yOiBcIiNmZmZcIixcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIHRoaXMub3JkZXJDb250ZXQub3JkZXJTdGF0dXMgPT0gMCAmJlxyXG4gICAgICAgICAgICB0aGlzLm9yZGVyQ29udGV0LnBheW1lbnRNZXRob2QgIT0gM1xyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuY3VzdG9tQnV0dG9uLnB1c2goe1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBcIjE2MHJweFwiLFxyXG4gICAgICAgICAgICAgIHRleHQ6IFwi57un57ut5LuY5qy+XCIsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKHRoaXMub3JkZXJDb250ZXQub3JkZXJTdGF0dXMgPT0gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmN1c3RvbUJ1dHRvbi5wdXNoKHtcclxuICAgICAgICAgICAgICB3aWR0aDogXCIxNjBycHhcIixcclxuICAgICAgICAgICAgICB0ZXh0OiBcIuWPlua2iOiuouWNlVwiLFxyXG4gICAgICAgICAgICAgIGNvbG9yOiBcIiMzMzNcIixcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2YwZjBmMFwiLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyB2YXIgc2Vjb25kcyA9IHJlcy5yZXN1bHQudGltZXN0YW1wICsgMzAgKiA2MCArIDIgICAgLy8g6L+H5pyf5pe26Ze0XHJcbiAgICAgICAgICAvLyB2YXIgbm93U2Vjb25kcyA9IE1hdGguZmxvb3IobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKTtcclxuICAgICAgICAgIC8vIHJlcy5yZXN1bHQub3ZlclRpbWUgPSBzZWNvbmRzIC0gbm93U2Vjb25kc1xyXG5cclxuICAgICAgICAgIC8vdGhpcy51c2VyUmVjb3JkaWQgPSByZXMudXNlclJlY29yZGlkXHJcbiAgICAgICAgICAvLyB0aGlzLnByb2R1Y3RJRHMgPSByZXMuZGF0YS5nb29kc0xpc3QubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAvLyAgIHJldHVybiBpdGVtLmJ1eU9yZGVyUHJvZHVjdElkO1xyXG4gICAgICAgICAgLy8gfSk7XHJcbiAgICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLm9yZGVyQ29udGV0LCd0aGlzLm9yZGVyQ29udGV0JylcclxuICAgICAgICAgIGlmICh0aGlzLm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID09IDApIHtcclxuICAgICAgICAgICAgdGhpcy50aXRsZVN0YXQgPSBcIuW+heaUr+S7mFwiO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID09IDEpIHtcclxuICAgICAgICAgICAgdGhpcy50aXRsZVN0YXQgPSBcIuW+heWPkei0p1wiO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID09IDIpIHtcclxuICAgICAgICAgICAgdGhpcy50aXRsZVN0YXQgPSBcIuW+heaUtui0p1wiO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID09IDMpIHtcclxuICAgICAgICAgICAgdGhpcy50aXRsZVN0YXQgPSBcIuW3suWujOaIkFwiO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICB0aGlzLm9yZGVyQ29udGV0Lm9yZGVyU3RhdHVzID49IDIgJiZcclxuICAgICAgICAgICAgdGhpcy5vcmRlckNvbnRldC5vcmRlclR5cGUgPT0gXCJvcmRlclwiICYmXHJcbiAgICAgICAgICAgIHRoaXMub3JkZXJDb250ZXQuZXhwcmVzc09yZGVyc1xyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hlZXRMaXN0ID0gdGhpcy5vcmRlckNvbnRldC5leHByZXNzT3JkZXJzO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zaGVldExpc3QgPSBbXTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGNvbnNvbGUubG9nKHRoaXMub3JkZXJDb250ZXQsIFwi6K6i5Y2V6K+m5oOFXCIpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSxcclxuXHJcbiAgICAvLyDlj5bmtojorqLljZVcclxuICAgIGNhbmNlT3JkZXIoKSB7XHJcbiAgICAgIHVuaS5zaG93TW9kYWwoe1xyXG4gICAgICAgIHRpdGxlOiBcIuaPkOekulwiLFxyXG4gICAgICAgIGNvbnRlbnQ6IFwi56Gu5a6a6KaB5Y+W5raI6K6i5Y2V5ZCX77yfXCIsXHJcbiAgICAgICAgY29uZmlybVRleHQ6IFwi5Y+W5raI6K6i5Y2VXCIsXHJcbiAgICAgICAgY2FuY2VsVGV4dDogXCLogIPomZHkuIDkuItcIixcclxuICAgICAgICBjb25maXJtQ29sb3I6IFwiI2M5NjcxM1wiLFxyXG4gICAgICAgIGNhbmNlbENvbG9yOiBcIiM1NTVcIixcclxuICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzLmNvbmZpcm0pIHtcclxuICAgICAgICAgICAgdGhpcy4kaHR0cFxyXG4gICAgICAgICAgICAgIC5wb3N0KFxyXG4gICAgICAgICAgICAgICAgXCJib29rL2J1eU9yZGVyL2FwcERlbGV0ZT9vcmRlcklkPVwiICsgdGhpcy5vcmRlckNvbnRldC5vcmRlcklkXHJcbiAgICAgICAgICAgICAgKVxyXG4gICAgICAgICAgICAgIC50aGVuKChyZXMpID0+IHtcclxuICAgICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgICAgICAgICBpY29uOiBcIm5vbmVcIixcclxuICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5Y+W5raI6K6i5Y2V5oiQ5YqfXCIsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIHVuaS5zd2l0Y2hUYWIoe1xyXG4gICAgICAgICAgICAgICAgICB1cmw6IFwiLi9vcmRlckxpc3RcIixcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSxcclxuXHJcbiAgICAvLyDmlK/ku5hcclxuICAgIGdvUGF5KHBheUl0ZW0pIHtcclxuICAgICAgY29uc29sZS5sb2cocGF5SXRlbSwgXCLorqLljZXmlbDmja5cIik7XHJcbiAgICAgIGlmIChwYXlJdGVtLnBheW1lbnRNZXRob2QgPT0gMikge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwi6Zi/6YeM5pSv5LuYXCIpO1xyXG4gICAgICAgIHNldFBheShcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdHlwZVBheTogXCJhbGlwYXlcIixcclxuICAgICAgICAgICAgc3ViamVjdDogXCJvcmRlclwiLFxyXG4gICAgICAgICAgICB0b3RhbEFtb3VudDogcGF5SXRlbS5yZWFsTW9uZXksXHJcbiAgICAgICAgICAgIHR5cGU6IDIsXHJcbiAgICAgICAgICAgIHJlbGV2YW5jZW9pZDogcGF5SXRlbS5vcmRlclNuLFxyXG4gICAgICAgICAgICBjdXN0b21lcklkOiB0aGlzLnVzZXJJbmZvLmlkLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIChyZXMpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcy5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgICAgdW5pLnNob3dUb2FzdCh7XHJcbiAgICAgICAgICAgICAgICB0aXRsZTogXCLmlK/ku5jmiJDlip9cIixcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICAgIHRpdGxlOiBcIuaUr+S7mOWksei0pVwiLFxyXG4gICAgICAgICAgICAgICAgaWNvbjogXCJub25lXCIsXHJcbiAgICAgICAgICAgICAgICBpbWFnZTogXCIuLi8uLi9zdGF0aWMvaWNvbi9pY19jbG9zZS5wbmdcIixcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmdldE9yZGVyTGlzdCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgIH0gZWxzZSBpZiAocGF5SXRlbS5wYXltZW50TWV0aG9kID09IDEpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIuW+ruS/oeaUr+S7mFwiKTtcclxuICAgICAgICAvLyBjb25zb2xlLmxvZyh0aGlzLmlzQW5kb3JpZClcclxuICAgICAgICBpZiAodGhpcy5pc0FuZG9yaWQgPT0gZmFsc2UpIHtcclxuICAgICAgICAgIHVuaS5zaG93TW9kYWwoe1xyXG4gICAgICAgICAgICB0aXRsZTogXCLmj5DnpLpcIixcclxuICAgICAgICAgICAgY29udGVudDogXCLlvojmirHmrYnvvIzoi7nmnpzns7vnu5/mmoLkuI3mlK/mjIHlvq7kv6HmlK/ku5hcIixcclxuICAgICAgICAgICAgc2hvd0NhbmNlbDogZmFsc2UsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbGV0IGRhdGExID0ge1xyXG4gICAgICAgICAgICBvcmRlclNuOiBwYXlJdGVtLm9yZGVyU24sXHJcbiAgICAgICAgICAgIGJ1eU9yZGVySWQ6IG51bGwsXHJcbiAgICAgICAgICAgIHRvdGFsQW1vdW50OiBwYXlJdGVtLnJlYWxNb25leSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhMSwgXCJkYXRhMVwiKTtcclxuICAgICAgICAgIHNldFdYUGF5KGRhdGExLCAocmVzKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChyZXMuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgICAgICAgdGl0bGU6IFwi5pSv5LuY5oiQ5YqfXCIsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgY29uc29sZS5sb2cocmVzKTtcclxuICAgICAgICAgICAgICBpZiAocmVzLmRhdGEuZXJyTXNnLmluZGV4T2YoXCJVc2VyIGNhbmNlbGVkXCIpICE9IC0xKSB7XHJcbiAgICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi55So5oi35Y+W5raI5pSv5LuYXCIsXHJcbiAgICAgICAgICAgICAgICAgIGljb246IFwibm9uZVwiLFxyXG4gICAgICAgICAgICAgICAgICBpbWFnZTogXCIuLi8uLi9zdGF0aWMvaWNvbi9pY19jbG9zZS5wbmdcIixcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB1bmkuc2hvd1RvYXN0KHtcclxuICAgICAgICAgICAgICAgICAgdGl0bGU6IFwi5pSv5LuY5aSx6LSlXCIsXHJcbiAgICAgICAgICAgICAgICAgIGljb246IFwibm9uZVwiLFxyXG4gICAgICAgICAgICAgICAgICBpbWFnZTogXCIuLi8uLi9zdGF0aWMvaWNvbi9pY19jbG9zZS5wbmdcIixcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKHBheUl0ZW0ucGF5bWVudE1ldGhvZCA9PSAzKSB7XHJcbiAgICAgICAgLy8g6Iu55p6c5YWF5YC8XHJcbiAgICAgICAgY29uc29sZS5sb2coXCLoi7nmnpzkuozmrKHmlK/ku5hcIik7XHJcbiAgICAgICAgdW5pLnNob3dNb2RhbCh7XHJcbiAgICAgICAgICBjb250ZW50OiBcImFwcGxl5YaF6LSt6K6i5Y2V5LiN5pSv5oyB57un57ut5pSv5LuY77yM6K+36YeN5paw5Y+R6LW35pSv5LuY55Sz6K+35bm25a6M5oiQ5pSv5LuYXCIsXHJcbiAgICAgICAgICBjb25maXJtVGV4dDogXCLlpb3nmoRcIixcclxuICAgICAgICAgIHNob3dDYW5jZWw6IGZhbHNlLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIC8vIOWVhuWTgeWGheWuuei3s+i9rFxyXG4gICAgZ29EZXRhaWwoaWQsIGRhdGEpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJkYXRhIGF0IGxpbmUgMTI3NzrorqLljZXor6bmg4Xlj4LmlbBcIiwgZGF0YSk7XHJcbiAgICAgIGlmIChkYXRhLmRlbEZsYWcgPT0gLTEpIHtcclxuICAgICAgICB0aGlzLiRjb21tb25KUy5zaG93VG9hc3QoXCLllYblk4Hlt7LkuIvmnrZcIik7XHJcbiAgICAgIH0gZWxzZSBpZiAoZGF0YS5nb29kc1R5cGUgPT0gXCIwNVwiKSB7XHJcbiAgICAgICAgaWYgKGRhdGEuY291cnNlSWRzICYmIGRhdGEuY291cnNlSWRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgIHVuaS5uYXZpZ2F0ZVRvKHtcclxuICAgICAgICAgICAgdXJsOiBgL3BhZ2VzL2NvdXJzZS9jb3Vyc2VEZXRhaWw/aWQ9JHtkYXRhLmNvdXJzZUlkc1swXS5jb3Vyc2VJZH1gLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHVuaS5zaG93VG9hc3Qoe1xyXG4gICAgICAgICAgICB0aXRsZTogXCLor77nqIvmlbDmja7lh7rplJlcIixcclxuICAgICAgICAgICAgaWNvbjogXCJub25lXCIsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdW5pLm5hdmlnYXRlVG8oe1xyXG4gICAgICAgICAgLy8gdXJsOiAnLi4vYm9va1Nob3AvY29tbW9kaXR5RGV0YWlsP2lkPScgKyBpdGVtLmlkXHJcbiAgICAgICAgICB1cmw6IGAvcGFnZXMvZ29vZHMvaW5kZXgvaW5kZXg/bmF2VGl0bGU9JycmdGl0bGU9JycmaWQ9JHtpZH1gLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gIH0sXHJcbn07XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG4uZXhwcmVzc2xpc3Qge1xyXG4gIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgY29sb3I6ICM2NjY7XHJcbiAgLnRpdGxlIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbiAgLml0ZW0ge1xyXG4gICAgcGFkZGluZzogMzBycHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcclxuICB9XHJcbn1cclxuLm9yZGVyU3RhdGUge1xyXG4gIGNvbG9yOiAjZmZmO1xyXG5cclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbGVmdDogMDtcclxuICB0b3A6IDBycHg7XHJcbiAgcGFkZGluZzogNnJweCAxMHJweDtcclxuICBib3JkZXItcmFkaXVzOiAwIDI0cnB4IDI0cnB4IDA7XHJcbiAgZm9udC1zaXplOiAyNnJweDtcclxuICAvLyBmb250LXdlaWdodDogYm9sZDtcclxuICBjb2xvcjogI2ZmZjtcclxufVxyXG4ub3JkZXJTdGF0ZTAge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmEyM2M7XHJcbn1cclxuLm9yZGVyU3RhdGUxIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDA5ZWZmO1xyXG59XHJcbi5vcmRlclN0YXRlMiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1NmM2YztcclxufVxyXG4ub3JkZXJTdGF0ZTMge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICM2N2MyM2E7XHJcbn1cclxuLm9yZGVyU3RhdGU1IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzg3ODc4O1xyXG59XHJcbi5ndW9xaSB7XHJcbiAgZm9udC1zaXplOiAyOHJweDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGNvbG9yOiByZWQ7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIGxpbmUtaGVpZ2h0OiA0MHJweDtcclxufVxyXG4uc3RhciB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHdpZHRoOiAyMHB4O1xyXG4gIGhlaWdodDogMjBweDtcclxuICBtYXJnaW4tcmlnaHQ6IDEwcnB4O1xyXG59XHJcbi5zdGFyR3JheSB7XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uLy4uL3N0YXRpYy9pY29uL3N0YXJfZ3JlZXkucG5nKSBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG59XHJcbi5zdGFyTGlnaHQge1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi8uLi9zdGF0aWMvaWNvbi9zdGFyX2xpZ2h0LnBuZykgbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxufVxyXG4uY3VJY29uLWVtb2ppIHtcclxuICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vc3RhdGljL2JpYW9xaW5nLnBuZykgbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW4tcmlnaHQ6IDIwcnB4O1xyXG4gIHdpZHRoOiAzMHB4O1xyXG59XHJcbi5jdUljb24ta2V5Ym9hcmQge1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi8uLi9zdGF0aWMvYmlhb3FpbmcucG5nKSBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAzMHB4O1xyXG59XHJcbi5tYjMwIHtcclxuICBtYXJnaW4tYm90dG9tOiAzMHJweDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbi50YW5jaHUge1xyXG4gIHBhZGRpbmc6IDQwcnB4IDMwcnB4IDQwcnB4IDMwcnB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgLmRwX3RpdGxlIHtcclxuICAgIGZvbnQtc2l6ZTogMzJycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1MHJweDtcclxuICAgIGNvbG9yOiAjNTU1O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG5cclxuICAuZHBfYWRkIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNDBycHg7XHJcbiAgICByaWdodDogMzBycHg7XHJcbiAgICBmb250LXNpemU6IDIycnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkNjAwNDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBycHg7XHJcbiAgICBwYWRkaW5nOiA1cnB4IDEwcnB4O1xyXG5cclxuICAgIC51LWljb24ge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNXJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hZGRyZXNzSXRlbSB7XHJcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgI2Q5ZDlkOTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcnB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMjBycHggMTBycHg7XHJcbiAgICBtYXJnaW46IDI1cnB4IDAgMCAwO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcblxyXG4gICAgLmFkZHJDb250ZW50IHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDQwcnB4O1xyXG4gICAgICBmbGV4OiAxO1xyXG5cclxuICAgICAgLmFkZHJDb250ZW50VG9wIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgICBtYXJnaW46IDAgMCAxNXJweCAwO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAgICAgLnVzZXJOYW1lIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMzVycHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBycHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudXNlclRlbCB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDI1cnB4O1xyXG4gICAgICAgICAgY29sb3I6ICM4ODg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudXNlck1vcmVuIHtcclxuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZDYwMDQ7XHJcbiAgICAgICAgICBjb2xvcjogI2ZkNjAwNDtcclxuICAgICAgICAgIHBhZGRpbmc6IDNycHggMTBycHg7XHJcbiAgICAgICAgICBmb250LXNpemU6IDIycnB4O1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBycHg7XHJcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDIwcnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNob29zZUNoZWNrIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgIHRvcDogM3JweDtcclxuICAgICAgICAgIHJpZ2h0OiA2cnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmFkZHJDb250ZW50Qm90dG9tIHtcclxuICAgICAgICBmb250LXNpemU6IDMycnB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYWRkcmVzc0l0ZW0uYWRkSXRlbV9zdHlsZSB7XHJcbiAgICBib3JkZXItY29sb3I6ICNmZDYwMDQ7XHJcbiAgfVxyXG5cclxuICAueW91aHVpSXRlbSB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMTBycHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBwYWRkaW5nOiAyMHJweCAxMHJweDtcclxuICAgIG1hcmdpbjogMjVycHggMCAwIDA7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGZvbnQtc2l6ZTogMzBycHg7XHJcbiAgfVxyXG5cclxuICAueW91aHVpSXRlbSA+IHZpZXcge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG5cclxuICAueW91aHVpSXRlbS55b3VJdGVtX3N0eWxlIHtcclxuICAgIGJvcmRlci1jb2xvcjogI2ZkNjAwNDtcclxuICB9XHJcbn1cclxuLm9wU2hvdSB7XHJcbiAgYm9yZGVyLWNvbG9yOiAkdW5pLWNvbG9yLXN1Y2Nlc3MgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmFkRGVmYXVsdCB7XHJcbiAgcGFkZGluZzogMzBycHggNTBycHggMzBycHggMTAwcnB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4IGRhc2hlZCAjYjJlOWQ3O1xyXG4gIG1hcmdpbjogMCAwIDVycHggMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gIC5kZWZhbFRvcCB7XHJcbiAgICAudXNlck5hbWUge1xyXG4gICAgICBmb250LXNpemU6IDM1cnB4O1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHJweDtcclxuICAgIH1cclxuXHJcbiAgICAudXNlclRlbCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjVycHg7XHJcbiAgICAgIGNvbG9yOiAjODg4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmRlZmFsQm90dG9tIHtcclxuICAgIC51c2VyQWRkcmVzcyB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzJycHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHJweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5kZWZhbExlZnQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMzBycHg7XHJcbiAgICB0b3A6IDU1cnB4O1xyXG4gIH1cclxufVxyXG5cclxuLm9yZGVyTGlzdCB7XHJcbiAgcGFkZGluZzogMjBycHg7XHJcbiAgcGFkZGluZy10b3A6IDA7XHJcblxyXG4gIC5vcmRlckl0ZW0ge1xyXG4gICAgcGFkZGluZzogMzBycHggMHJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzMHJweDtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcnB4O1xyXG5cclxuICAgIC5vcmRlckNvbnRlbnQge1xyXG4gICAgICBwYWRkaW5nOiAyMHJweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMjBycHg7XHJcblxyXG4gICAgICBpbWFnZSB7XHJcbiAgICAgICAgd2lkdGg6IDE1MHJweDtcclxuICAgICAgICBoZWlnaHQ6IDE4MHJweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcnB4O1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICAgIC5nb29kc19pbmZvIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTgwcnB4KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgfVxyXG4gICAgICAuaXRlbUppYW4ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAub3JkZXJUaXRsZSB7XHJcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMzBycHg7XHJcbiAgICAgICAgICBtYXJnaW46IDAgMCAyMHJweCAwO1xyXG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICB3aWR0aDogNDEwcnB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLm9yZGVyUHJpY2Uge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyOHJweDtcclxuICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgIHdpZHRoOiA2MHJweDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5vcmRlcmFsbHByaSB7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgICAgbWFyZ2luOiAxMHJweCAwO1xyXG4gICAgICAvLyBwYWRkaW5nOiAzMHJweCAwIDAgMDtcclxuICAgICAgZm9udC1zaXplOiAyOHJweDtcclxuICAgIH1cclxuXHJcbiAgICAub3JkZXJSZWFsIHtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICAgIG1hcmdpbjogMTBycHggMDtcclxuICAgICAgLy8gcGFkZGluZzogMjhycHggMCAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgLm9yZGVyWXVuZiB7XHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cclxuICAgICAgZm9udC1zaXplOiAyOHJweDtcclxuICAgIH1cclxuXHJcbiAgICAub3JkZXJPcGVyIHtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIG1hcmdpbjogNDBycHggMjBycHggMCAwO1xyXG5cclxuICAgICAgdmlldyB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDEwcnB4IDA7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxNjBycHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAyNXJweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5vcEZpeCB7XHJcbiAgICAgICAgY29sb3I6ICM1NTU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHJweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm9wQ2FuIHtcclxuICAgICAgICBjb2xvcjogI2M5NjcxMztcclxuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZWJhMDBiO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcnB4O1xyXG4gICAgICB9XHJcbiAgICAgIC5rZWZ1IHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4uY29weUNvZGUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBtYXJnaW4tbGVmdDogMjBycHg7XHJcbn1cclxuLmRlbGl2ZXJDbnRlbnQge1xyXG4gIHBhZGRpbmc6IDMycnB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIG1hcmdpbi1ib3R0b206IDIwcnB4O1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xyXG4gIGZvbnQtc2l6ZTogMjhycHg7XHJcbn1cclxuXHJcbi5mbGV4Ym94IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG59XHJcblxyXG4uaW1nX2ljb24ge1xyXG4gIHBhZGRpbmctcmlnaHQ6IDVweDtcclxufVxyXG5cclxuLm1vcmVCdG5GIHtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIHBhZGRpbmc6IDMwcnB4O1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xyXG4gIC8vIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjU1LDI1NSwyNTUsMSkwJSxyZ2JhKDI1NSwyNTUsMjU1LDAuNSk2NiUsIHJnYmEoMjU1LDI1NSwyNTUsMjU1KTk5JSk7LyogU2FmYXJp44CBQ2hyb21lICovXHJcblxyXG4gIC8vIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHJnYmEoMjU1LDI1NSwyNTUsMjU1KSxyZ2JhKDI1NSwyNTUsMjU1LDEpKTsvKiDpu5jorqTmuJDlj5jkvY3nva7ku47kuIrlvoDkuIsgKi9cclxufVxyXG5cclxuLnd1bGl1IHtcclxuICAudGltZSB7XHJcbiAgICBjb2xvcjogIzg4ODtcclxuICB9XHJcblxyXG4gIC5tb3JlQnRuIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiA1MHB4O1xyXG4gIH1cclxufVxyXG4uYWRkcmVzc19ib3gge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgLy8gcGFkZGluZzogMjBycHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIC5vcmRlcl90b3Age1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIC8vIG1hcmdpbi1ib3R0b206IDIwcnB4O1xyXG4gIH1cclxuXHJcbiAgLnVzZXJfaW5mbyB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIG1hcmdpbi10b3A6IDEwcnB4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAubmFtZSB7XHJcbiAgICAgIGNvbG9yOiAjODM4MjgyO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcnB4O1xyXG4gICAgfVxyXG5cclxuICAgIC50ZWwge1xyXG4gICAgICBjb2xvcjogIzgzODI4MjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdXJyaXVsdW1fdGl0bGUge1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBmb250LXNpemU6IDM0cnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMHJweDtcclxuICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgbGluZS1oZWlnaHQ6IDUwcnB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDJycHg7XHJcbiAgfVxyXG5cclxuICAubm9ybWFsX2JveCB7XHJcbiAgICBtYXJnaW4tbGVmdDogNXJweDtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjBycHgpO1xyXG4gIH1cclxuXHJcbiAgLmdvb2RzX2JveCB7XHJcbiAgICBwYWRkaW5nOiAyMHJweCAyMHJweDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLnJpZ2h0QXJyb3cge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDQwcnB4O1xyXG4gICAgd2lkdGg6IDQwcnB4O1xyXG4gICAgaGVpZ2h0OiA0MHJweDtcclxuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vIHJpZ2h0OiAzMHJweDtcclxuICB9XHJcbn1cclxuLmZlbmcge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7XHJcbiAgbWFyZ2luOiAwcnB4IDIycnB4IDAgMDtcclxuICBoZWlnaHQ6IDE0MHJweCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAxNDBycHggIWltcG9ydGFudDtcclxuICBmbG9hdDogbGVmdDtcclxuICBib3JkZXItcmFkaXVzOiAxNHJweDtcclxuICAvLyBib3JkZXI6IDFycHggc29saWQgI2U5ZTllOTtcclxufVxyXG4uYm9va25hbWVsZWZ0IHtcclxuICBmb250LXNpemU6IDMycnB4O1xyXG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBycHgpO1xyXG4gIGNvbG9yOiAjMDcwNzA3O1xyXG4gIGxldHRlci1zcGFjaW5nOiAwLjVycHg7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4ub3JkZXJfaXRlbSB7XHJcbiAgcGFkZGluZzogMjBycHggMjBycHg7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7XHJcbn1cclxuL2RlZXAvLmdvb2RzX25hdl9ib3gge1xyXG4gIC5sZWZ0IHtcclxuICAgIG1hcmdpbi10b3A6IC0xMHJweDtcclxuICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuLmRlbGlzdGVkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgLy8gcGFkZGluZzogMnJweCA0cnB4O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3JkZXItcmFkaXVzOiA0cnB4O1xyXG4gIGZvbnQtc2l6ZTogMjJycHg7XHJcbiAgd2lkdGg6IDEwMHJweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgaGVpZ2h0OiA0MHJweDtcclxuICBsaW5lLWhlaWdodDogNDBycHg7XHJcbiAgbGVmdDogY2FsYygoMTAwJSAtIDEwMHJweCkgLyAyKTtcclxuICB0b3A6IGNhbGMoKDEwMCUgLSA0MHJweCkgLyAyKTtcclxufVxyXG4ub3JkZXJfYm90dG9tX2JveCB7XHJcbiAgbWFyZ2luLWxlZnQ6IDIwcnB4O1xyXG5cclxuICAubnVtYmVyIHtcclxuICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cnB4O1xyXG4gICAgbWFyZ2luLXRvcDogNXJweDtcclxuICB9XHJcblxyXG4gIC5wcmljZSB7XHJcbiAgICAudG90YWwge1xyXG4gICAgICBmb250LXNpemU6IDM4cnB4O1xyXG4gICAgICBjb2xvcjogcmVkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG48L3N0eWxlPlxyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///522\n"); /***/ }), /* 523 */ @@ -62093,7 +62093,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 _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 _requestConfig = _interopRequireDefault(__webpack_require__(/*! @/config/requestConfig.js */ 95));\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 roleObj: {},\n infoShow: false,\n // 显示电子书相关\n showEbook: false,\n // 显示电子书相关\n userMes: {},\n signShow: false,\n signContent: \"是否要退出登录?\",\n playData: {},\n userCouponNum: 0,\n // 优惠券数量\n directorShow: false,\n // 主任是否显示班级入口\n monitorShow: false,\n // 其他管理是否显示班级入口\n pageList: [{\n name: \"我的订单\",\n url: \"/pages/bookShop/orderList?type=mine\",\n type: \"switchTab\"\n }, {\n name: \"我的证书\",\n url: \"/pages/certificate/certificate\",\n type: \"pageJump\"\n }, {\n name: \"我的湖分\",\n url: \"/pages/hufen/hufen\",\n type: \"pageJump\"\n }, {\n name: \"个人资料\",\n url: \"/pages/mine/userInfo/persData\",\n type: \"pageJump\"\n }, {\n name: \"地址管理\",\n url: \"/pages/component/commonComponents/address/index?type=mine\",\n type: \"pageJump\"\n }, {\n name: \"关于我们\",\n url: \"/pages/mine/aboutUs/index\",\n type: \"pageJump\"\n }, {\n name: \"问题反馈/申诉\",\n url: \"/pages/user/workOrder\",\n type: \"workOrder\"\n }],\n //vip\n vipList: [],\n textList: [],\n //普通vip文字\n hasVipType1: false,\n hasVipType2: false\n };\n },\n //第一次加载\n onLoad: function onLoad(e) {\n // 隐藏原生的tabbar\n uni.hideTabBar();\n },\n computed: _objectSpread({}, (0, _vuex.mapState)([\"userInfo\"])),\n //页面显示\n onShow: function onShow() {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this.getData();\n _this.getUserRole();\n _context.next = 4;\n return _this.getUserCouponList();\n case 4:\n //获取vip身份\n _this.textList = [];\n _this.getUserVipType();\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n components: {\n musicPlay: _music.default\n },\n //方法\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapMutations)([\"setUserInfo\"])), {}, {\n // 获取用户优惠券列表\n getUserCouponList: function getUserCouponList() {\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 _context3.next = 2;\n return _this2.$http.request({\n url: \"common/coupon/getCouponHistoryList\",\n method: \"POST\",\n data: {\n \"page\": 1,\n \"limit\": 10,\n \"getType\": \"\",\n //获取类型 0 后台赠送 1 主动获取\n \"status\": \"0\",\n //使用状态 0 未使用 1 已使用 2 已过期\n \"userInfo\": \"\",\n //用户信息\n \"userId\": _this2.userInfo.id\n },\n header: {\n \"Content-Type\": \"application/json\"\n }\n }).then( /*#__PURE__*/function () {\n var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(res) {\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(res.code != 0)) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\", _this2.$commonJS.showToast(res.errMsg));\n case 2:\n _this2.userCouponNum = res.couponList.total;\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).catch(function (e) {\n _this2.$commonJS.showToast(e.errMsg);\n });\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n openInfo: function openInfo() {\n this.infoShow = true;\n },\n goSetting: function goSetting() {\n this.onPageJump(\"/pages/mine/set/index\");\n },\n goUserInfo: function goUserInfo() {\n this.onPageJump(\"/pages/mine/userInfo/persData\");\n },\n handleClickTab: function handleClickTab(v) {\n switch (v.type) {\n case \"pageJump\":\n this.onPageJump(v.url);\n break;\n case \"switchTab\":\n this.switchTab(v.url);\n break;\n case \"share\":\n //分享\n this.newOnShare();\n break;\n case \"quitLogin\":\n //退出登录\n this.signShow = true;\n break;\n case \"loginOut\":\n //注销账号\n this.logout();\n break;\n case \"workOrder\":\n uni.navigateTo({\n url: \"\".concat(v.url, \"?name=userPage\")\n });\n break;\n }\n },\n haveSelected: function haveSelected(data) {\n if (data.index == 0) {\n // 分享到好友\n uni.share({\n provider: \"weixin\",\n scene: \"WXSceneSession\",\n type: 0,\n href: this.$apkUrl,\n title: \"吴门医述\",\n summary: \"我正在使用吴门医述提升自己,赶紧跟我一起来体验吧!\",\n imageUrl: \"static/icon/home_icon_logo.png\",\n success: function success(res) {\n __f__(\"log\", \"success:\" + JSON.stringify(res), \" at pages/mine/mine/index.vue:336\");\n },\n fail: function fail(err) {\n __f__(\"log\", \"fail:\" + JSON.stringify(err), \" at pages/mine/mine/index.vue:339\");\n }\n });\n } else if (data.index == 1) {\n // 分享到朋友圈\n uni.share({\n provider: \"weixin\",\n scene: \"WXSceneTimeline\",\n type: 0,\n href: this.$apkUrl,\n title: \"吴门医述\",\n summary: \"我正在使用吴门医述提升自己,赶紧跟我一起来体验吧!\",\n imageUrl: \"static/icon/home_icon_logo.png\",\n success: function success(res) {\n __f__(\"log\", \"success:\" + JSON.stringify(res), \" at pages/mine/mine/index.vue:353\");\n },\n fail: function fail(err) {\n __f__(\"log\", \"fail:\" + JSON.stringify(err), \" at pages/mine/mine/index.vue:356\");\n }\n });\n }\n },\n switchTab: function switchTab(url) {\n uni.switchTab({\n url: url\n });\n },\n //判断过期的vip\n isExpired: function isExpired(dateString) {\n var dataTime = new Date(dateString.replace(' ', 'T'));\n //获取当前时间的Date对象\n var currentTime = new Date();\n //比较两个时间\n return dataTime < currentTime;\n },\n // 获取用户的角色信息\n getUserRole: function getUserRole() {\n var _this3 = this;\n this.$http.post(\"common/class/getRoleType\").then(function (res) {\n _this3.roleObj = res.result;\n var zhurenIndex = _this3.pageList.findIndex(function (item) {\n return item.name == '主任教学';\n });\n if (zhurenIndex > -1) {\n _this3.pageList.splice(zhurenIndex, 1);\n }\n var banzhangIndex = _this3.pageList.findIndex(function (item) {\n return item.name == '班级管理';\n });\n if (banzhangIndex > -1) {\n _this3.pageList.splice(banzhangIndex, 1);\n }\n var yonghuIndex = _this3.pageList.findIndex(function (item) {\n return item.name == '我的班级';\n });\n if (yonghuIndex > -1) {\n _this3.pageList.splice(yonghuIndex, 1);\n }\n if (_this3.roleObj.isDirector) {\n var n = _this3.pageList.find(function (item) {\n return item.name == '主任教学';\n });\n if (!n) {\n var item = {\n name: \"主任教学\",\n url: \"/pages/miniClass/DirectorModalList?type=mine\",\n type: \"pageJump\"\n };\n _this3.pageList.splice(3, 0, item);\n }\n }\n // 是班长\n if (_this3.roleObj.isCommittee) {\n var n = _this3.pageList.find(function (item) {\n return item.name == '班级管理';\n });\n if (!n) {\n var item = {\n name: \"班级管理\",\n url: \"/pages/miniClass/MonitorClassList?type=mine\",\n type: \"pageJump\"\n };\n _this3.pageList.splice(3, 0, item);\n }\n }\n // 是学员\n if (_this3.roleObj.isStudent) {\n var n = _this3.pageList.find(function (item) {\n return item.name == '我的班级';\n });\n if (!n) {\n var item = {\n name: \"我的班级\",\n url: \"/pages/miniClass/myClassList?type=mine\",\n type: \"pageJump\"\n };\n _this3.pageList.splice(3, 0, item);\n }\n }\n }).catch(function (e) {});\n },\n //获取个人信息\n getData: function getData() {\n var _this4 = this;\n if (this.userInfo.id != undefined) {\n this.$http.post(\"common/user/getUserInfo\").then(function (res) {\n _this4.userMes = res.result;\n });\n }\n },\n // 新写分享\n newOnShare: function newOnShare() {\n this.$refs.share.open();\n },\n // 注销账户\n logout: function logout() {\n var that = this;\n uni.showModal({\n title: \"提示\",\n content: \"确定要注销当前账户吗?\",\n success: function success(res) {\n if (res.confirm) {\n uni.showModal({\n title: \"提示\",\n showCancel: false,\n content: \"\\u6CE8\\u9500\\u7533\\u8BF7\\u5DF2\\u63D0\\u4EA4\\u6210\\u529F,\\u8BF7\\u8054\\u7CFB\\u5BA2\\u670D\\u8FDB\\u884C\\u540E\\u7EED\\u64CD\\u4F5C\\uFF1A022-24142321\",\n success: function success(res1) {\n if (res1.confirm) {\n that.signOut();\n }\n }\n });\n } else if (res.cancel) {\n // 取消操作\n }\n }\n });\n },\n // 跳转\n onGoing: function onGoing() {\n uni.showToast({\n icon: \"none\",\n title: \"开发中,敬请期待...\"\n });\n },\n onPageJump: function onPageJump(url) {\n uni.navigateTo({\n url: url\n });\n },\n // 退出登录\n signOut: function signOut() {\n this.signShow = false;\n this.setUserInfo({\n token: null\n });\n uni.reLaunch({\n url: \"/pages/user/login/login\"\n });\n },\n //获取vip身份\n getUserVipType: function getUserVipType() {\n var _this5 = this;\n this.$http.request({\n url: \"common/userVip/getUserVipType\",\n method: \"POST\",\n data: {},\n header: {\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n _this5.vipList = res.list;\n _this5.hasVipType1 = _this5.vipList.some(function (item) {\n return item.type === 1;\n });\n _this5.hasVipType2 = _this5.vipList.some(function (item) {\n return item.type === 2;\n });\n\n //筛选出来已过期的\n var listAll = _this5.vipList;\n var list = _this5.vipList.filter(function (item) {\n return !_this5.isExpired(item.endTime);\n });\n\n //全部的 vip模块展示\n if (listAll.length > 0) {\n listAll = _this5.showDataList(listAll);\n } else {\n _this5.textList = [];\n }\n __f__(\"log\", '-------listAll', listAll, \" at pages/mine/mine/index.vue:530\");\n //筛选过期以后的 昵称模块展示需要\n if (list.length > 0) {\n list = _this5.showDataList(list);\n } else {\n _this5.textList = [];\n }\n __f__(\"log\", '-------list', list, \" at pages/mine/mine/index.vue:537\");\n }\n });\n },\n //分情况展示逻辑\n showDataList: function showDataList(list) {\n var _this6 = this;\n this.textList = [];\n list.forEach(function (item, index) {\n if (item.type == '4') {\n item.text = '中医学';\n _this6.textList.push(item.text);\n } else if (item.type == '5') {\n item.text = '针灸学';\n _this6.textList.push(item.text);\n } else if (item.type == '6') {\n item.text = '肿瘤学';\n _this6.textList.push(item.text);\n } else if (item.type == '7') {\n item.text = '国学';\n _this6.textList.push(item.text);\n } else if (item.type == '8') {\n item.text = '心理学';\n _this6.textList.push(item.text);\n } else if (item.type == '9') {\n item.text = '中西汇通学';\n _this6.textList.push(item.text);\n } else if (item.type == '1') {\n item.text = '医学S';\n } else if (item.type == '2') {\n item.text = '国学心理学S';\n }\n });\n return this.textList;\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9taW5lL2luZGV4LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwicm9sZU9iaiIsImluZm9TaG93Iiwic2hvd0Vib29rIiwidXNlck1lcyIsInNpZ25TaG93Iiwic2lnbkNvbnRlbnQiLCJwbGF5RGF0YSIsInVzZXJDb3Vwb25OdW0iLCJkaXJlY3RvclNob3ciLCJtb25pdG9yU2hvdyIsInBhZ2VMaXN0IiwibmFtZSIsInVybCIsInR5cGUiLCJ2aXBMaXN0IiwidGV4dExpc3QiLCJoYXNWaXBUeXBlMSIsImhhc1ZpcFR5cGUyIiwib25Mb2FkIiwidW5pIiwiY29tcHV0ZWQiLCJvblNob3ciLCJjb21wb25lbnRzIiwibXVzaWNQbGF5IiwibWV0aG9kcyIsImdldFVzZXJDb3Vwb25MaXN0IiwicmVxdWVzdCIsIm1ldGhvZCIsImhlYWRlciIsInRoZW4iLCJyZXMiLCJvcGVuSW5mbyIsImdvU2V0dGluZyIsImdvVXNlckluZm8iLCJoYW5kbGVDbGlja1RhYiIsImhhdmVTZWxlY3RlZCIsInByb3ZpZGVyIiwic2NlbmUiLCJocmVmIiwidGl0bGUiLCJzdW1tYXJ5IiwiaW1hZ2VVcmwiLCJzdWNjZXNzIiwiZmFpbCIsInN3aXRjaFRhYiIsImlzRXhwaXJlZCIsImdldFVzZXJSb2xlIiwiZ2V0RGF0YSIsIm5ld09uU2hhcmUiLCJsb2dvdXQiLCJjb250ZW50Iiwic2hvd0NhbmNlbCIsInRoYXQiLCJvbkdvaW5nIiwiaWNvbiIsIm9uUGFnZUp1bXAiLCJzaWduT3V0IiwidG9rZW4iLCJnZXRVc2VyVmlwVHlwZSIsImxpc3RBbGwiLCJsaXN0Iiwic2hvd0RhdGFMaXN0IiwiaXRlbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQWdMQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBQUEsZUFDQTtFQUNBQTtJQUNBO01BQ0FDO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUFBO01BQ0FDO01B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QUNBRDtjQUNBUjtnQkFDQTtrQkFDQVU7Z0JBQ0E7Y0FDQTtZQUNBO1VBQ0E7WUFDQTtVQUFBO1FBRUE7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQWxDO1FBQ0FtQztRQUNBZjtNQUNBO0lBQ0E7SUFDQWdCO01BQ0FwQztRQUNBUDtNQUNBO0lBQ0E7SUFFQTtJQUNBNEM7TUFDQTtNQUNBO1FBQ0FDO01BQ0E7TUFDQXRDO1FBQ0FQO01BQ0E7SUFDQTtJQUNBO0lBQ0E4QztNQUFBO01BQ0E7UUFDQTlDO1FBQ0FlO1FBQ0E1QjtRQUNBNkI7VUFDQTtRQUNBO01BQ0EsR0FDQUM7UUFDQTtVQUNBO1VBQ0E7WUFBQTtVQUFBO1VBQ0E7WUFBQTtVQUFBOztVQUVBO1VBQ0E7VUFDQTtZQUFBO1VBQUE7O1VBRUE7VUFDQTtZQUNBOEI7VUFDQTtZQUNBO1VBQ0E7VUFFQTtVQUNBO1VBQ0E7WUFDQUM7VUFDQTtZQUNBO1VBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtNQUNBRDtRQUNBO1VBQ0FFO1VBQ0E7UUFDQTtVQUNBQTtVQUNBO1FBQ0E7VUFDQUE7VUFDQTtRQUNBO1VBQ0FBO1VBQ0E7UUFDQTtVQUNBQTtVQUNBO1FBQ0E7VUFDQUE7VUFDQTtRQUNBO1VBQ0FBO1FBQ0E7VUFDQUE7UUFDQTtNQUNBO01BRUE7SUFDQTtFQUFBO0FBRUE7QUFBQSwyQiIsImZpbGUiOiI4MTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgc3R5bGU9XCIgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBwYWRkaW5nOiAwIDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICAgIDtcclxuICAgIFwiIGNsYXNzPVwiY29tbW9uUGFnZWVlZWUgY29tbW9uUGFnZUJveFwiPlxyXG5cdFx0PCEtLSDlhazlhbHnu4Tku7Yt5q+P5Liq6aG16Z2i5b+F6aG75byV5YWlIC0tPlxyXG5cdFx0PHB1YmxpYy1tb2R1bGU+PC9wdWJsaWMtbW9kdWxlPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJzZXRJY29uXCIgQGNsaWNrPVwiZ29TZXR0aW5nXCI+XHJcblx0XHRcdDx1LWljb24gY2xhc3M9XCJcIiBsYWJlbENvbG9yPVwiIzI1OGZlYlwiIGxhYmVsUG9zPVwiYm90dG9tXCIgbGFiZWw9XCLorr7nva5cIiBuYW1lPVwic2V0dGluZ1wiXHJcblx0XHRcdFx0OnN0eWxlPVwiYHRvcDokeygxMCArIHN0YXR1c0JhckhlaWdodCkgKiAyfXJweGBcIiBjb2xvcj1cIiMyNThmZWJcIiBzaXplPVwiMjhcIj48L3UtaWNvbj5cclxuXHRcdDwvdmlldz5cclxuXHJcblx0XHQ8dmlldyBjbGFzcz1cImJnX3RvcCBmbGV4X2JveCBmbGV4X2JldHdlZW5cIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJwZXJfbWVzXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwZXJfbWVzX3VzZXJcIiA6c3R5bGU9XCJoYXNWaXBUeXBlMj8nd2lkdGg6IDE3MHJweDsnOicnXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIndpZHRoOiAxMjBycHg7IGhlaWdodDogMTIwcnB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XCI+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSBAY2xpY2s9XCJnb1VzZXJJbmZvXCIgOnNyYz1cInVzZXJNZXMuYXZhdGFyXCIgdi1pZj1cInVzZXJNZXMuYXZhdGFyXCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cInBlcl9tZXNfaW1nIGNvbG9yX3NoYW5kb3dcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiQC9zdGF0aWMvaWNvbi9ob21lX2ljb25fbG9nby5wbmdcIiB2LWVsc2VcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cInBlcl9tZXNfaW1nIGNvbG9yX3NoYW5kb3dcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyX3ZpcF9ib3hcIiB2LWlmPVwiaGFzVmlwVHlwZTEgfHwgaGFzVmlwVHlwZTJcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyX3ZpcCBzdXBlclwiIDpzdHlsZT1cImhhc1ZpcFR5cGUyPyd3aWR0aDogMTcwcnB4Oyc6JydcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXJfdmlwX2l0ZW1cIiB2LWlmPVwiaGFzVmlwVHlwZTFcIj48dGV4dD7ljLvlraY8L3RleHQ+PGltYWdlIHNyYz1cIkAvc3RhdGljL2ljb24vY2hhb19zdmlwLnBuZ1wiPjwvaW1hZ2U+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlcl92aXBfaXRlbVwiIHYtaWY9XCJoYXNWaXBUeXBlMlwiPjx0ZXh0PuWbveWtpuW/g+eQhuWtpjwvdGV4dD48aW1hZ2Ugc3JjPVwiQC9zdGF0aWMvaWNvbi9jaGFvX3N2aXAucG5nXCI+PC9pbWFnZT48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VySW5mb0JveFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDIwcnB4O1wiPlxyXG5cdFx0XHRcdFx0PHRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5hbWVcIj57eyB1c2VyTWVzLm5pY2tuYW1lID8gdXNlck1lcy5uaWNrbmFtZSA6IFwi5pyq6K6+572uXCIgfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxyXG5cdFx0XHRcdFx0PHRlbXBsYXRlIHYtaWY9XCJ1c2VyTWVzLnRlbFwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob25lXCI+5omL5py65Y+377yaKHt7IHVzZXJNZXMudGVsIH19KTwvdmlldz5cclxuXHRcdFx0XHRcdDwvdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1pZj1cInRleHRMaXN0Lmxlbmd0aD4wXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidmlwX3R5cGVcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInZpcF90eXBlX2l0ZW1cIiA6Y2xhc3M9XCJ0ZXh0TGlzdC5sZW5ndGg+ND8ndmlwX3R5cGVfaXRlbV9sZW4nOicnXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gdGV4dExpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdHt7aXRlbX19PGltYWdlIHNyYz1cIkAvc3RhdGljL2ljb24vY2hhb192aXAucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdGVtcGxhdGU+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDx2aWV3IGNsYXNzPVwibWluZV9ib3hcIiA6c3R5bGU9XCJgdG9wOiR7KDQ1ICsgc3RhdHVzQmFySGVpZ2h0KSAqIDJ9cnB4YFwiPlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cIlxyXG4gICAgICAgICAgcGFkZGluZzogMjBycHg7ICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNob25nX3poaSBib3hTaGFkb3cgYm94X2ZpbGxldCB2aXBfYm94XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5vVmlwXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInpoYW5naHUgUE1fZm9udFwiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwidmlwX2ltYWdlXCIgc3R5bGU9XCJ3aWR0aDo4MHJweDtoZWlnaHQ6ODBycHg7bWFyZ2luLWxlZnQ6IDEwcnB4O1wiIHNyYz1cIkAvc3RhdGljL3ZpcC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwiY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogNjBycHg7XCIgdi1pZj1cInZpcExpc3QubGVuZ3RoPT0wXCI+VklQPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInZpcF9pbmZvclwiIHYtaWY9XCJ2aXBMaXN0JiZ2aXBMaXN0Lmxlbmd0aD4wXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInZpcF9pbmZvcl9pdGVtXCIgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIHZpcExpc3RcIiA6a2V5PVwiaW5kZXhcIiA6Y2xhc3M9XCJ7ZXhwaXJlZDogaXNFeHBpcmVkKGl0ZW0uZW5kVGltZSl9XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0Pnt7aXRlbS50ZXh0fX1WSVA8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJpc0V4cGlyZWQoaXRlbS5lbmRUaW1lKVwiPu+8iHt7aXRlbS5lbmRUaW1lLnNwbGl0KCcgJylbMF19fSDlt7LliLDmnJ/vvIk8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHYtZWxzZT7vvIjmnInmlYjmnJ/liLAge3tpdGVtLmVuZFRpbWUuc3BsaXQoJyAnKVswXX19KTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgdi1lbHNlIGNsYXNzPVwidmlwX251bGxcIiBzdHlsZT1cIiBwYWRkaW5nLWxlZnQ6IDMwcnB4O1wiPuWKnueQhlZJUO+8jOeVheS6q+abtOWkmuS4k+Wxnuadg+ebijwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInZpcF9idG5cIiBAY2xpY2s9XCJvblBhZ2VKdW1wKCcvcGFnZXMvbWluZS92aXAvaW5kZXgnKVwiPjxidXR0b24gdi1pZj1cInZpcExpc3QubGVuZ3RoPT0wXCI+5Yqe55CGPC9idXR0b24+PGJ1dHRvbiB2LWVsc2U+57ut6LS5PC9idXR0b24+PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8IS0tIGVuZCAtLT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNob25nX3poaSBib3hTaGFkb3cgYm94X2ZpbGxldCBjaG9uZ3poaV9ib3hcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hvbmdfbGlzdFwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNob25nX2xpc3RfaXRlbVwiIHN0eWxlPVwiXHJcblx0XHRcdFx0XHRcdFx0ICBkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdFx0XHRcdCAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0XHQgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdFx0XHRcdFx0ICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdFx0XHRcdFx0XCIgQGNsaWNrPVwib25QYWdlSnVtcCgnL3BhZ2VzL21pbmUvd2FsbGV0L2luZGV4L2luZGV4JylcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGF5X2l0ZW1faW1nXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOWkqeWMu+W4gTx1LWljb24gQGNsaWNrLm5hdGl2ZS5zdG9wPVwib3BlbkluZm8oKVwiIG5hbWU9XCJxdWVzdGlvbi1jaXJjbGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlPVwiZmxvYXQ6IHJpZ2h0OyBtYXJnaW46IDAgNnJweFwiPjwvdS1pY29uPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0ZXh0XCIgc3R5bGU9XCJsaW5lLWhlaWdodDogNDBycHg7IGRpc3BsYXk6IGZsZXhcIj57e3VzZXJNZXMucGVhbnV0Q29pbiA/IHVzZXJNZXMucGVhbnV0Q29pbiA6IDB9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hvbmdfbGlzdF9pdGVtXCIgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgXCIgQGNsaWNrPVwib25QYWdlSnVtcCgnL3BhZ2VzL21pbmUvd2FsbGV0L2pmL2luZGV4JylcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGF5X2l0ZW1faW1nXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOenr+WIhlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGV4dFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDQwcnB4XCI+e3t1c2VyTWVzLmpmID8gdXNlck1lcy5qZiA6IDB9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjaG9uZ19saXN0X2l0ZW1cIiBzdHlsZT1cIlxyXG5cdFx0XHRcdFx0XHRcdCAgZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdFx0XHQgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdFx0ICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHRcdFx0XHRcdCAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0XHRcdFx0XHRcdFwiIEBjbGljaz1cIm9uUGFnZUp1bXAoJy9wYWdlcy9taW5lL3dhbGxldC9jb3Vwb25MaXN0JylcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGF5X2l0ZW1faW1nXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOS8mOaDoOWIuFxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGV4dFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDQwcnB4XCI+e3t1c2VyQ291cG9uTnVtfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hvbmdfbGlzdF9pdGVtXCIgc3R5bGU9XCJcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHQgIFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hvbmdfYnRuXCIgdi1pZj1cImlvc0hpZGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwib25QYWdlSnVtcCgnL3BhZ2VzL21pbmUvd2FsbGV0L3JlY2hhcmdlL2luZGV4JylcIj7lhYUg5YC8PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImxpc3RfYm94XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ4aXVnYWkgYm94U2hhZG93IGJveF9maWxsZXRcIj5cclxuXHRcdFx0XHRcdDxjb21tb24tbGlzdCA6ZGF0YUxpc3Q9XCJwYWdlTGlzdFwiIEBoYW5jbGVDbGljaz1cImhhbmRsZUNsaWNrVGFiXCIgbGFiZWw9XCJuYW1lXCI+XHJcblx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSBzbG90PVwicmlnaHRTbG90XCIgc2xvdC1zY29wZT1cInNsb3RQcm9wc1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZmRCdXR0b25Cb3ggYXVpLXRleHQtc3VjY2Vzc1wiXHJcblx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImxpbmUtaGVpZ2h0OiA0MHJweDsgZm9udC1zaXplOiA1MHJweDtcIj57eyBzbG90UHJvcHMucm93LmNvbnRlbnQgfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdDwvdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8L2NvbW1vbi1saXN0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDx1LW1vZGFsIDpzaG93PVwic2lnblNob3dcIiA6Y29udGVudD1cInNpZ25Db250ZW50XCIgOnNob3dDYW5jZWxCdXR0b249XCJ0cnVlXCIgQGNhbmNlbD1cInNpZ25TaG93ID0gZmFsc2VcIlxyXG5cdFx0XHRAY29uZmlybT1cInNpZ25PdXRcIj5cclxuXHRcdDwvdS1tb2RhbD5cclxuXHRcdDwhLS0g5YiG5Lqr5by556qXIC0tPlxyXG5cdFx0PHVuaS1wb3B1cCByZWY9XCJzaGFyZVwiIHR5cGU9XCJzaGFyZVwiIHNhZmVBcmVhIGJhY2tncm91bmRDb2xvcj1cIiNmZmZcIj5cclxuXHRcdFx0PHVuaS1wb3B1cC1zaGFyZSBAc2VsZWN0PVwiaGF2ZVNlbGVjdGVkXCI+PC91bmktcG9wdXAtc2hhcmU+XHJcblx0XHQ8L3VuaS1wb3B1cD5cclxuXHJcblx0XHQ8dS1wb3B1cCA6c2hvdz1cImluZm9TaG93XCIgbW9kZT1cImNlbnRlclwiIHJvdW5kPVwiNlwiIGJhY2tncm91bmRDb2xvcj1cIiNmZmZcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJwb3B1cF9ib3hcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlXCI+5rip6aao5o+Q56S6PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO+OAkOWkqeWMu+W4geOAkeS7heS4uuaIkeW5s+WPsOaUr+S7mOS9v+eUqOW4geenjSDjgIJcclxuXHRcdFx0XHRcdFx05LiA5Lq65rCR5biBPeS4gOWkqeWMu+W4ge+8jOS7heS4uuS6huaWueS+v+eUqOaIt+aUr+S7mOS9v+eUqOOAgjxiciAvPuOAkOWkqeWMu+W4geOAkeWPr+S7peeUqOS6juWcqOaIkeW5s+WPsOaUr+S7mOS5puexjeaIluivvueoi+S9v+eUqOOAglxyXG5cdFx0XHRcdFx0XHQ8YnIgLz7jgJDlpKnljLvluIHjgJHov5nkuKrlkI3np7DmmK/kuLrpgILlupTmiJHku6zlubPlj7DnmoTlrprkvY3lsZ7mgKfvvIzmiYDotbflkI3np7DjgILkuI7ljLrlnZfpk77omZrmi5/otKfluIHml6Dku7vkvZXlhbPns7vjgIJcclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJvdHRvbVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ1dHRvbl9ib3hcIiBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgIFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOiAyMDBycHg7IGZsb2F0OiBjZW50ZXJcIiA6cGxhaW49XCJ0cnVlXCIgdGV4dD1cIuefpemBk+WVplwiIGNvbG9yPVwiIzliOWI5YlwiXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21hbGxcIiBAY2xpY2s9XCJpbmZvU2hvdyA9IGZhbHNlXCI+PC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC91LXBvcHVwPlxyXG5cdFx0PG11c2ljLXBsYXkgOnBsYXlEYXRhPVwicGxheURhdGFcIj48L211c2ljLXBsYXk+XHJcblx0XHQ8ei1uYXZpZ2F0aW9uPjwvei1uYXZpZ2F0aW9uPlxyXG5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCBtdXNpY1BsYXkgZnJvbSBcIkAvY29tcG9uZW50cy9tdXNpYy52dWVcIjtcclxuXHRpbXBvcnQgJGh0dHAgZnJvbSBcIkAvY29uZmlnL3JlcXVlc3RDb25maWcuanNcIjtcclxuXHRpbXBvcnQge1xyXG5cdFx0bWFwU3RhdGUsXHJcblx0XHRtYXBNdXRhdGlvbnNcclxuXHR9IGZyb20gXCJ2dWV4XCI7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRyb2xlT2JqOiB7fSxcclxuXHRcdFx0XHRpbmZvU2hvdzogZmFsc2UsIC8vIOaYvuekuueUteWtkOS5puebuOWFs1xyXG5cdFx0XHRcdHNob3dFYm9vazogZmFsc2UsIC8vIOaYvuekuueUteWtkOS5puebuOWFs1xyXG5cdFx0XHRcdHVzZXJNZXM6IHt9LFxyXG5cdFx0XHRcdHNpZ25TaG93OiBmYWxzZSxcclxuXHRcdFx0XHRzaWduQ29udGVudDogXCLmmK/lkKbopoHpgIDlh7rnmbvlvZXvvJ9cIixcclxuXHRcdFx0XHRwbGF5RGF0YToge30sXHJcblx0XHRcdFx0dXNlckNvdXBvbk51bTowLCAvLyDkvJjmg6DliLjmlbDph49cclxuXHRcdFx0XHRkaXJlY3RvclNob3c6IGZhbHNlLCAvLyDkuLvku7vmmK/lkKbmmL7npLrnj63nuqflhaXlj6NcclxuXHRcdFx0XHRtb25pdG9yU2hvdzogZmFsc2UsIC8vIOWFtuS7lueuoeeQhuaYr+WQpuaYvuekuuePree6p+WFpeWPo1xyXG5cdFx0XHRcdHBhZ2VMaXN0OiBbe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuaIkeeahOiuouWNlVwiLFxyXG5cdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL2Jvb2tTaG9wL29yZGVyTGlzdD90eXBlPW1pbmVcIixcclxuXHRcdFx0XHRcdFx0dHlwZTogXCJzd2l0Y2hUYWJcIlxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCLmiJHnmoTor4HkuaZcIixcclxuXHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9jZXJ0aWZpY2F0ZS9jZXJ0aWZpY2F0ZVwiLFxyXG5cdFx0XHRcdFx0XHR0eXBlOiBcInBhZ2VKdW1wXCIsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuaIkeeahOa5luWIhlwiLFxyXG5cdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL2h1ZmVuL2h1ZmVuXCIsXHJcblx0XHRcdFx0XHRcdHR5cGU6IFwicGFnZUp1bXBcIixcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5Liq5Lq66LWE5paZXCIsXHJcblx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvbWluZS91c2VySW5mby9wZXJzRGF0YVwiLFxyXG5cdFx0XHRcdFx0XHR0eXBlOiBcInBhZ2VKdW1wXCIsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuWcsOWdgOeuoeeQhlwiLFxyXG5cdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL2NvbXBvbmVudC9jb21tb25Db21wb25lbnRzL2FkZHJlc3MvaW5kZXg/dHlwZT1taW5lXCIsXHJcblx0XHRcdFx0XHRcdHR5cGU6IFwicGFnZUp1bXBcIixcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5YWz5LqO5oiR5LusXCIsXHJcblx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvbWluZS9hYm91dFVzL2luZGV4XCIsXHJcblx0XHRcdFx0XHRcdHR5cGU6IFwicGFnZUp1bXBcIixcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi6Zeu6aKY5Y+N6aaIL+eUs+iviVwiLFxyXG5cdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3VzZXIvd29ya09yZGVyXCIsXHJcblx0XHRcdFx0XHRcdHR5cGU6IFwid29ya09yZGVyXCJcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdC8vdmlwXHJcblx0XHRcdFx0dmlwTGlzdDogW10sXHJcblx0XHRcdFx0dGV4dExpc3Q6IFtdLCAgLy/mma7pgJp2aXDmloflrZdcclxuXHRcdFx0XHRoYXNWaXBUeXBlMTogZmFsc2UsXHJcblx0XHRcdFx0aGFzVmlwVHlwZTI6IGZhbHNlXHJcblx0XHRcdH07XHJcblx0XHR9LFxyXG5cdFx0Ly/nrKzkuIDmrKHliqDovb1cclxuXHRcdG9uTG9hZChlKSB7XHJcblx0XHRcdC8vIOmakOiXj+WOn+eUn+eahHRhYmJhclxyXG5cdFx0XHR1bmkuaGlkZVRhYkJhcigpO1xyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiB7XHJcblx0XHRcdC4uLm1hcFN0YXRlKFtcInVzZXJJbmZvXCJdKSxcclxuXHRcdH0sXHJcblx0XHQvL+mhtemdouaYvuekulxyXG5cdFx0YXN5bmMgb25TaG93KCkge1xyXG5cdFx0XHR0aGlzLmdldERhdGEoKTtcclxuXHRcdFx0dGhpcy5nZXRVc2VyUm9sZSgpXHJcblx0XHRcdGF3YWl0IHRoaXMuZ2V0VXNlckNvdXBvbkxpc3QoKVxyXG5cdFx0XHQvL+iOt+WPlnZpcOi6q+S7vVxyXG5cdFx0XHR0aGlzLnRleHRMaXN0ID0gW107XHJcblx0XHRcdHRoaXMuZ2V0VXNlclZpcFR5cGUoKTtcclxuXHRcdH0sXHJcblx0XHRjb21wb25lbnRzOiB7XHJcblx0XHRcdG11c2ljUGxheSxcclxuXHRcdH0sXHJcblx0XHQvL+aWueazlVxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQuLi5tYXBNdXRhdGlvbnMoW1wic2V0VXNlckluZm9cIl0pLFxyXG5cdFx0XHQvLyDojrflj5bnlKjmiLfkvJjmg6DliLjliJfooahcclxuXHRcdFx0YXN5bmMgZ2V0VXNlckNvdXBvbkxpc3QoKXtcclxuXHRcdFx0XHRhd2FpdCB0aGlzLiRodHRwXHJcblx0XHRcdFx0ICAucmVxdWVzdCh7XHJcblx0XHRcdFx0ICAgIHVybDogXCJjb21tb24vY291cG9uL2dldENvdXBvbkhpc3RvcnlMaXN0XCIsXHJcblx0XHRcdFx0ICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcblx0XHRcdFx0ICAgIGRhdGE6IHtcclxuXHRcdFx0XHQgICAgICBcInBhZ2VcIjoxLFxyXG5cdFx0XHRcdCAgICAgICAgICBcImxpbWl0XCI6MTAsXHJcblx0XHRcdFx0ICAgICAgICAgIFwiZ2V0VHlwZVwiOlwiXCIsLy/ojrflj5bnsbvlnosgMCDlkI7lj7DotaDpgIEgMSDkuLvliqjojrflj5ZcclxuXHRcdFx0XHQgICAgICAgICAgXCJzdGF0dXNcIjpcIjBcIiwvL+S9v+eUqOeKtuaAgSAwIOacquS9v+eUqCAxIOW3suS9v+eUqCAyIOW3sui/h+acn1xyXG5cdFx0XHRcdCAgICAgICAgICBcInVzZXJJbmZvXCI6XCJcIiwvL+eUqOaIt+S/oeaBr1xyXG5cdFx0XHRcdCAgICAgICAgICBcInVzZXJJZFwiOnRoaXMudXNlckluZm8uaWRcclxuXHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHRcdFx0ICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcblx0XHRcdFx0ICAgIH0sXHJcblx0XHRcdFx0ICB9KVxyXG5cdFx0XHRcdCAgLnRoZW4oYXN5bmMgKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0ICBpZihyZXMuY29kZSAhPSAwKSByZXR1cm4gdGhpcy4kY29tbW9uSlMuc2hvd1RvYXN0KHJlcy5lcnJNc2cpO1xyXG5cdFx0XHRcdFx0ICB0aGlzLnVzZXJDb3Vwb25OdW0gPSByZXMuY291cG9uTGlzdC50b3RhbFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHQgIH0pLmNhdGNoKGUgPT4ge1xyXG5cdFx0XHRcdFx0ICB0aGlzLiRjb21tb25KUy5zaG93VG9hc3QoZS5lcnJNc2cpO1xyXG5cdFx0XHRcdCAgfSlcclxuXHRcdFx0fSxcclxuXHRcdFx0b3BlbkluZm8oKSB7XHJcblx0XHRcdFx0dGhpcy5pbmZvU2hvdyA9IHRydWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvU2V0dGluZygpIHtcclxuXHRcdFx0XHR0aGlzLm9uUGFnZUp1bXAoXCIvcGFnZXMvbWluZS9zZXQvaW5kZXhcIik7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvVXNlckluZm8oKSB7XHJcblx0XHRcdFx0dGhpcy5vblBhZ2VKdW1wKFwiL3BhZ2VzL21pbmUvdXNlckluZm8vcGVyc0RhdGFcIik7XHJcblx0XHRcdH0sXHJcblx0XHRcdGhhbmRsZUNsaWNrVGFiKHYpIHtcclxuXHRcdFx0XHRzd2l0Y2ggKHYudHlwZSkge1xyXG5cdFx0XHRcdFx0Y2FzZSBcInBhZ2VKdW1wXCI6XHJcblx0XHRcdFx0XHRcdHRoaXMub25QYWdlSnVtcCh2LnVybCk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBcInN3aXRjaFRhYlwiOlxyXG5cdFx0XHRcdFx0XHR0aGlzLnN3aXRjaFRhYih2LnVybCk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBcInNoYXJlXCI6XHJcblx0XHRcdFx0XHRcdC8v5YiG5LqrXHJcblx0XHRcdFx0XHRcdHRoaXMubmV3T25TaGFyZSgpO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgXCJxdWl0TG9naW5cIjpcclxuXHRcdFx0XHRcdFx0Ly/pgIDlh7rnmbvlvZVcclxuXHRcdFx0XHRcdFx0dGhpcy5zaWduU2hvdyA9IHRydWU7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBcImxvZ2luT3V0XCI6XHJcblx0XHRcdFx0XHRcdC8v5rOo6ZSA6LSm5Y+3XHJcblx0XHRcdFx0XHRcdHRoaXMubG9nb3V0KCk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBcIndvcmtPcmRlclwiOlxyXG5cdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHRcdFx0dXJsOiBgJHt2LnVybH0/bmFtZT11c2VyUGFnZWBcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRoYXZlU2VsZWN0ZWQoZGF0YSkge1xyXG5cdFx0XHRcdGlmIChkYXRhLmluZGV4ID09IDApIHtcclxuXHRcdFx0XHRcdC8vIOWIhuS6q+WIsOWlveWPi1xyXG5cdFx0XHRcdFx0dW5pLnNoYXJlKHtcclxuXHRcdFx0XHRcdFx0cHJvdmlkZXI6IFwid2VpeGluXCIsXHJcblx0XHRcdFx0XHRcdHNjZW5lOiBcIldYU2NlbmVTZXNzaW9uXCIsXHJcblx0XHRcdFx0XHRcdHR5cGU6IDAsXHJcblx0XHRcdFx0XHRcdGhyZWY6IHRoaXMuJGFwa1VybCxcclxuXHRcdFx0XHRcdFx0dGl0bGU6IFwi5ZC06Zeo5Yy76L+wXCIsXHJcblx0XHRcdFx0XHRcdHN1bW1hcnk6IFwi5oiR5q2j5Zyo5L2/55So5ZC06Zeo5Yy76L+w5o+Q5Y2H6Ieq5bex77yM6LW257Sn6Lef5oiR5LiA6LW35p2l5L2T6aqM5ZCn77yBXCIsXHJcblx0XHRcdFx0XHRcdGltYWdlVXJsOiBcInN0YXRpYy9pY29uL2hvbWVfaWNvbl9sb2dvLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInN1Y2Nlc3M6XCIgKyBKU09OLnN0cmluZ2lmeShyZXMpKTtcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0ZmFpbDogZnVuY3Rpb24oZXJyKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJmYWlsOlwiICsgSlNPTi5zdHJpbmdpZnkoZXJyKSk7XHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKGRhdGEuaW5kZXggPT0gMSkge1xyXG5cdFx0XHRcdFx0Ly8g5YiG5Lqr5Yiw5pyL5Y+L5ZyIXHJcblx0XHRcdFx0XHR1bmkuc2hhcmUoe1xyXG5cdFx0XHRcdFx0XHRwcm92aWRlcjogXCJ3ZWl4aW5cIixcclxuXHRcdFx0XHRcdFx0c2NlbmU6IFwiV1hTY2VuZVRpbWVsaW5lXCIsXHJcblx0XHRcdFx0XHRcdHR5cGU6IDAsXHJcblx0XHRcdFx0XHRcdGhyZWY6IHRoaXMuJGFwa1VybCxcclxuXHRcdFx0XHRcdFx0dGl0bGU6IFwi5ZC06Zeo5Yy76L+wXCIsXHJcblx0XHRcdFx0XHRcdHN1bW1hcnk6IFwi5oiR5q2j5Zyo5L2/55So5ZC06Zeo5Yy76L+w5o+Q5Y2H6Ieq5bex77yM6LW257Sn6Lef5oiR5LiA6LW35p2l5L2T6aqM5ZCn77yBXCIsXHJcblx0XHRcdFx0XHRcdGltYWdlVXJsOiBcInN0YXRpYy9pY29uL2hvbWVfaWNvbl9sb2dvLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInN1Y2Nlc3M6XCIgKyBKU09OLnN0cmluZ2lmeShyZXMpKTtcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0ZmFpbDogZnVuY3Rpb24oZXJyKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJmYWlsOlwiICsgSlNPTi5zdHJpbmdpZnkoZXJyKSk7XHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHN3aXRjaFRhYih1cmwpIHtcclxuXHRcdFx0XHR1bmkuc3dpdGNoVGFiKHtcclxuXHRcdFx0XHRcdHVybDogdXJsLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WIpOaWrei/h+acn+eahHZpcFxyXG5cdFx0XHRpc0V4cGlyZWQoZGF0ZVN0cmluZyl7XHJcblx0XHRcdFx0Y29uc3QgZGF0YVRpbWUgPSBuZXcgRGF0ZShkYXRlU3RyaW5nLnJlcGxhY2UoJyAnLCAnVCcpKTtcclxuXHRcdFx0XHQvL+iOt+WPluW9k+WJjeaXtumXtOeahERhdGXlr7nosaFcclxuXHRcdFx0XHRjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCk7XHJcblx0XHRcdFx0Ly/mr5TovoPkuKTkuKrml7bpl7RcclxuXHRcdFx0XHRyZXR1cm4gZGF0YVRpbWUgPCBjdXJyZW50VGltZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6I635Y+W55So5oi355qE6KeS6Imy5L+h5oGvXHJcblx0XHRcdGdldFVzZXJSb2xlKCkge1xyXG5cdFx0XHRcdHRoaXMuJGh0dHAucG9zdChcImNvbW1vbi9jbGFzcy9nZXRSb2xlVHlwZVwiKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMucm9sZU9iaiA9IHJlcy5yZXN1bHRcclxuXHRcdFx0XHRcdHZhciB6aHVyZW5JbmRleCA9IHRoaXMucGFnZUxpc3QuZmluZEluZGV4KGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gaXRlbS5uYW1lID09ICfkuLvku7vmlZnlraYnXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0aWYgKHpodXJlbkluZGV4ID4gLTEpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5wYWdlTGlzdC5zcGxpY2Uoemh1cmVuSW5kZXgsIDEpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR2YXIgYmFuemhhbmdJbmRleCA9IHRoaXMucGFnZUxpc3QuZmluZEluZGV4KGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gaXRlbS5uYW1lID09ICfnj63nuqfnrqHnkIYnXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0aWYgKGJhbnpoYW5nSW5kZXggPiAtMSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnBhZ2VMaXN0LnNwbGljZShiYW56aGFuZ0luZGV4LCAxKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dmFyIHlvbmdodUluZGV4ID0gdGhpcy5wYWdlTGlzdC5maW5kSW5kZXgoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBpdGVtLm5hbWUgPT0gJ+aIkeeahOePree6pydcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRpZiAoeW9uZ2h1SW5kZXggPiAtMSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnBhZ2VMaXN0LnNwbGljZSh5b25naHVJbmRleCwgMSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmICh0aGlzLnJvbGVPYmouaXNEaXJlY3Rvcikge1xyXG5cdFx0XHRcdFx0XHR2YXIgbiA9IHRoaXMucGFnZUxpc3QuZmluZChpdGVtID0+IHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gaXRlbS5uYW1lID09ICfkuLvku7vmlZnlraYnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdGlmICghbikge1xyXG5cdFx0XHRcdFx0XHRcdHZhciBpdGVtID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLkuLvku7vmlZnlraZcIixcclxuXHRcdFx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvbWluaUNsYXNzL0RpcmVjdG9yTW9kYWxMaXN0P3R5cGU9bWluZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJwYWdlSnVtcFwiXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucGFnZUxpc3Quc3BsaWNlKDMsIDAsIGl0ZW0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvLyDmmK/nj63plb9cclxuXHRcdFx0XHRcdGlmICh0aGlzLnJvbGVPYmouaXNDb21taXR0ZWUpIHtcclxuXHRcdFx0XHRcdFx0dmFyIG4gPSB0aGlzLnBhZ2VMaXN0LmZpbmQoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGl0ZW0ubmFtZSA9PSAn54+t57qn566h55CGJ1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRpZiAoIW4pIHtcclxuXHRcdFx0XHRcdFx0XHR2YXIgaXRlbSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwi54+t57qn566h55CGXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL21pbmlDbGFzcy9Nb25pdG9yQ2xhc3NMaXN0P3R5cGU9bWluZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJwYWdlSnVtcFwiXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucGFnZUxpc3Quc3BsaWNlKDMsIDAsIGl0ZW0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvLyDmmK/lrablkZhcclxuXHRcdFx0XHRcdGlmICh0aGlzLnJvbGVPYmouaXNTdHVkZW50KSB7XHJcblx0XHRcdFx0XHRcdHZhciBuID0gdGhpcy5wYWdlTGlzdC5maW5kKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBpdGVtLm5hbWUgPT0gJ+aIkeeahOePree6pydcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0aWYgKCFuKSB7XHJcblx0XHRcdFx0XHRcdFx0dmFyIGl0ZW0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIuaIkeeahOePree6p1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9taW5pQ2xhc3MvbXlDbGFzc0xpc3Q/dHlwZT1taW5lXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcInBhZ2VKdW1wXCJcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5wYWdlTGlzdC5zcGxpY2UoMywgMCwgaXRlbSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fSkuY2F0Y2goZSA9PiB7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+iOt+WPluS4quS6uuS/oeaBr1xyXG5cdFx0XHRnZXREYXRhKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnVzZXJJbmZvLmlkICE9IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdFx0dGhpcy4kaHR0cC5wb3N0KFwiY29tbW9uL3VzZXIvZ2V0VXNlckluZm9cIikudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMudXNlck1lcyA9IHJlcy5yZXN1bHQ7XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDmlrDlhpnliIbkuqtcclxuXHRcdFx0bmV3T25TaGFyZSgpIHtcclxuXHRcdFx0XHR0aGlzLiRyZWZzLnNoYXJlLm9wZW4oKTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdC8vIOazqOmUgOi0puaIt1xyXG5cdFx0XHRsb2dvdXQoKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0dGl0bGU6IFwi5o+Q56S6XCIsXHJcblx0XHRcdFx0XHRjb250ZW50OiBcIuehruWumuimgeazqOmUgOW9k+WJjei0puaIt+WQl++8n1wiLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29uZmlybSkge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5o+Q56S6XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRzaG93Q2FuY2VsOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IGDms6jplIDnlLPor7flt7Lmj5DkuqTmiJDlip8s6K+36IGU57O75a6i5pyN6L+b6KGM5ZCO57ut5pON5L2c77yaMDIyLTI0MTQyMzIxYCxcclxuXHRcdFx0XHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlczEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlczEuY29uZmlybSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuc2lnbk91dCgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5jYW5jZWwpIHtcclxuXHRcdFx0XHRcdFx0XHQvLyDlj5bmtojmk43kvZxcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6Lez6L2sXHJcblx0XHRcdG9uR29pbmcoKSB7XHJcblx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdHRpdGxlOiBcIuW8gOWPkeS4re+8jOaVrOivt+acn+W+hS4uLlwiLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRvblBhZ2VKdW1wKHVybCkge1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogdXJsLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly8g6YCA5Ye655m75b2VXHJcblx0XHRcdHNpZ25PdXQoKSB7XHJcblx0XHRcdFx0dGhpcy5zaWduU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMuc2V0VXNlckluZm8oe1xyXG5cdFx0XHRcdFx0dG9rZW46IG51bGwsXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dW5pLnJlTGF1bmNoKHtcclxuXHRcdFx0XHRcdHVybDogXCIvcGFnZXMvdXNlci9sb2dpbi9sb2dpblwiLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+iOt+WPlnZpcOi6q+S7vVxyXG5cdFx0XHRnZXRVc2VyVmlwVHlwZSgpIHtcclxuXHRcdFx0XHR0aGlzLiRodHRwLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiBcImNvbW1vbi91c2VyVmlwL2dldFVzZXJWaXBUeXBlXCIsXHJcblx0XHRcdFx0XHRtZXRob2Q6IFwiUE9TVFwiLFxyXG5cdFx0XHRcdFx0ZGF0YToge30sXHJcblx0XHRcdFx0XHRoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0XCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0LnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0dGhpcy52aXBMaXN0ID0gcmVzLmxpc3Q7XHJcblx0XHRcdFx0XHRcdHRoaXMuaGFzVmlwVHlwZTEgPSB0aGlzLnZpcExpc3Quc29tZShpdGVtID0+IGl0ZW0udHlwZSA9PT0gMSk7XHJcblx0XHRcdFx0XHRcdHRoaXMuaGFzVmlwVHlwZTIgPSB0aGlzLnZpcExpc3Quc29tZShpdGVtID0+IGl0ZW0udHlwZSA9PT0gMik7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHQvL+etm+mAieWHuuadpeW3sui/h+acn+eahFxyXG5cdFx0XHRcdFx0XHRsZXQgbGlzdEFsbCA9IHRoaXMudmlwTGlzdDtcclxuXHRcdFx0XHRcdFx0bGV0IGxpc3QgPSB0aGlzLnZpcExpc3QuZmlsdGVyKGl0ZW0gPT4gIXRoaXMuaXNFeHBpcmVkKGl0ZW0uZW5kVGltZSkpO1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0Ly/lhajpg6jnmoQgdmlw5qih5Z2X5bGV56S6XHJcblx0XHRcdFx0XHRcdGlmKGxpc3RBbGwubGVuZ3RoPjApe1xyXG5cdFx0XHRcdFx0XHRcdGxpc3RBbGwgPSB0aGlzLnNob3dEYXRhTGlzdChsaXN0QWxsKTtcclxuXHRcdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50ZXh0TGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnLS0tLS0tLWxpc3RBbGwnLGxpc3RBbGwpXHJcblx0XHRcdFx0XHRcdC8v562b6YCJ6L+H5pyf5Lul5ZCO55qEIOaYteensOaooeWdl+WxleekuumcgOimgVxyXG5cdFx0XHRcdFx0XHRpZihsaXN0Lmxlbmd0aD4wKXtcclxuXHRcdFx0XHRcdFx0XHRsaXN0ID0gdGhpcy5zaG93RGF0YUxpc3QobGlzdCk7XHJcblx0XHRcdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudGV4dExpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnLS0tLS0tLWxpc3QnLGxpc3QpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5YiG5oOF5Ya15bGV56S66YC76L6RXHJcblx0XHRcdHNob3dEYXRhTGlzdChsaXN0KXtcclxuXHRcdFx0XHR0aGlzLnRleHRMaXN0ID0gW107XHJcblx0XHRcdFx0bGlzdC5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG5cdFx0XHRcdFx0aWYoaXRlbS50eXBlPT0nNCcpe1xyXG5cdFx0XHRcdFx0XHRpdGVtLnRleHQgPSAn5Lit5Yy75a2mJztcclxuXHRcdFx0XHRcdFx0dGhpcy50ZXh0TGlzdC5wdXNoKGl0ZW0udGV4dCk7XHJcblx0XHRcdFx0XHR9ZWxzZSBpZihpdGVtLnR5cGU9PSc1Jyl7XHJcblx0XHRcdFx0XHRcdGl0ZW0udGV4dCA9ICfpkojngbjlraYnO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRleHRMaXN0LnB1c2goaXRlbS50ZXh0KTtcclxuXHRcdFx0XHRcdH1lbHNlIGlmKGl0ZW0udHlwZT09JzYnKXtcclxuXHRcdFx0XHRcdFx0aXRlbS50ZXh0ID0gJ+iCv+eYpOWtpic7XHJcblx0XHRcdFx0XHRcdHRoaXMudGV4dExpc3QucHVzaChpdGVtLnRleHQpO1xyXG5cdFx0XHRcdFx0fWVsc2UgaWYoaXRlbS50eXBlPT0nNycpe1xyXG5cdFx0XHRcdFx0XHRpdGVtLnRleHQgPSAn5Zu95a2mJztcclxuXHRcdFx0XHRcdFx0dGhpcy50ZXh0TGlzdC5wdXNoKGl0ZW0udGV4dCk7XHJcblx0XHRcdFx0XHR9ZWxzZSBpZihpdGVtLnR5cGU9PSc4Jyl7XHJcblx0XHRcdFx0XHRcdGl0ZW0udGV4dCA9ICflv4PnkIblraYnO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRleHRMaXN0LnB1c2goaXRlbS50ZXh0KTtcclxuXHRcdFx0XHRcdH1lbHNlIGlmKGl0ZW0udHlwZT09JzknKXtcclxuXHRcdFx0XHRcdFx0aXRlbS50ZXh0ID0gJ+S4reilv+axh+mAmuWtpic7XHJcblx0XHRcdFx0XHRcdHRoaXMudGV4dExpc3QucHVzaChpdGVtLnRleHQpO1xyXG5cdFx0XHRcdFx0fWVsc2UgaWYoaXRlbS50eXBlPT0nMScpe1xyXG5cdFx0XHRcdFx0XHRpdGVtLnRleHQgPSAn5Yy75a2mUyc7XHJcblx0XHRcdFx0XHR9ZWxzZSBpZihpdGVtLnR5cGU9PScyJyl7XHJcblx0XHRcdFx0XHRcdGl0ZW0udGV4dCA9ICflm73lrablv4PnkIblraZTJztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy50ZXh0TGlzdDtcclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9O1xyXG48L3NjcmlwdD5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG5cdEBpbXBvcnQgXCJAL3N0eWxlL21peGluLnNjc3NcIjtcclxuXHJcblx0LnBlcl9tZXNfdXNlciB7XHJcblx0XHR3aWR0aDogMTI1cnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHRcclxuXHQucGVyX21lcyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbi10b3A6IDUwcnB4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHRcdC5wZXJfbWVzX2ltZyB7XHJcblx0XHRcdHdpZHRoOiAxMjBycHg7XHJcblx0XHRcdGhlaWdodDogMTIwcnB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMDBycHg7XHJcblx0XHRcdG1hcmdpbjogMCAwIDAgMDtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0dmlldyB7XHJcblx0XHRcdC5uYW1lIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHRmb250LXNpemU6IDMycnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjNjk5MGM3ICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5waG9uZSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHRcdFx0XHRjb2xvcjogIzY5OTBjNyAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucGVyX3VzZXJfaW1nIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0d2lkdGg6IDQwdXB4O1xyXG5cdFx0XHRcdGhlaWdodDogNDB1cHg7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEwcnB4O1xyXG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm5vd192aXAge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdC8vIGJvcmRlci1yYWRpdXM6IDIwdXB4O1xyXG5cdFx0bWFyZ2luOiAwIDAgMzB1cHggMDtcclxuXHRcdHBhZGRpbmc6IDAgMzB1cHg7XHJcblx0XHRoZWlnaHQ6IDEyMHVweDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZlZWVkNiAwJSwgI2Y1Y2U5OSAxMDAlKTtcclxuXHJcblx0XHRpbWFnZSB7XHJcblx0XHRcdHdpZHRoOiA0NnJweDtcclxuXHRcdFx0aGVpZ2h0OiA1MHJweDtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XHJcblx0XHRcdG1hcmdpbjogMCAxMHJweCAwIDA7XHJcblx0XHR9XHJcblxyXG5cdFx0dGV4dCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzB1cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxMjB1cHg7XHJcblx0XHRcdGNvbG9yOiAjOTc3NzQ5O1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdH1cclxuXHJcblx0XHQua3RfYnRuIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyNnVweDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTBycHg7XHJcblx0XHRcdGNvbG9yOiAjZmZmYmY2O1xyXG5cdFx0XHRwYWRkaW5nOiAxMnJweCAyNnJweDtcclxuXHRcdFx0bWFyZ2luOiAzM3JweCAwIDAgMDtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZGZhOTY0IDAlLCAjN2Y1MjE4IDEwMCUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmNvbW1vblBhZ2VCb3gge1xyXG5cdFx0Ly8gYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQC9zdGF0aWMvaWNvbi9taW5lX2JnLnBuZ1wiKTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNjBkZWcsICNmZGYwZWQgMCUsICNiZmUzZjAgNDAlLCAjZTRlZWZhIDYwJSwgI2JmZTNmMCA4MCUsICNmZGYwZWQgMTAwJSk7XHJcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhmOGU0ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQuY2hvbmdfemhpIHtcclxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRwYWRkaW5nOiAwIDMwdXB4O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cclxuXHRcdC56aGFuZ2h1IHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBycHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdGNvbG9yOiAkdGhlbWVDb2xvcjtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdH1cclxuXHJcblx0XHQubm9WaXAge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdFxyXG5cdFx0XHQuemhhbmdodSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiA0MHJweDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwcnB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0aW1hZ2Uge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMHJweDtcclxuXHRcdFx0XHRcdGhlaWdodDogMTAwcnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5oYXNWaXAge1xyXG5cdFx0XHQudGltZSB7XHJcblx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0cGFkZGluZzogNHJweCAyMHJweDtcclxuXHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdFx0XHQvLyAgIHRvIHJpZ2h0LFxyXG5cdFx0XHRcdC8vICAgIzU2QjBDRSAwJSxcclxuXHRcdFx0XHQvLyAgICM2RERBRUEgMTAwJVxyXG5cdFx0XHRcdC8vICkgIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jaG9uZ19saXN0IHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDBycHg7XHJcblxyXG5cdFx0XHQubGVmdCB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY2hvbmdfbGlzdF9pdGVtIHtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMHJweDtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDYwcnB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0Y29sb3I6ICR0aGVtZUNvbG9yO1xyXG5cclxuXHRcdFx0XHQudGV4dCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRcdFx0Ly8gbWFyZ2luOiAwIDAgMTBycHggMDtcclxuXHJcblx0XHRcdFx0XHRjb2xvcjogJHRoZW1lQ29sb3IgIWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jaG9uZ19idG4ge1xyXG5cdFx0XHRcdC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdC8vIHRvcDogMHB4O1xyXG5cdFx0XHRcdC8vIHJpZ2h0OiAwcHg7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwcnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjZmZmYmY2O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEwcnB4IDMycnB4O1xyXG5cdFx0XHRcdC8vIG1hcmdpbi10b3A6IC02MHJweDtcclxuXHRcdFx0XHQvLyBtYXJnaW46IDIwcnB4IDAgMCAwO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzI1OGZlYiAwJSwgI2Q1ZWNkZCAyMDAlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnhpdWdhaSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweCAhaW1wb3J0YW50O1xyXG5cdFx0bWFyZ2luOiAwIDIwcnB4O1xyXG5cdFx0Ly8gcGFkZGluZzowIDQwcnB4O1xyXG5cdFx0YmFja2dyb3VuZDogI2YwZjlmYjtcclxuXHJcblx0XHQubmF2X2xpc3Qge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYjdlMGUyO1xyXG5cdFx0XHRwYWRkaW5nOiAxNXJweCAwIDE1cnB4IDEwcnB4O1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRmb250LXNpemU6IDIycnB4O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcclxuXHJcblx0XHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0ZXh0IHtcclxuXHRcdFx0XHRjb2xvcjogIzMzMztcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMTBycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRyaWdodDogMjBycHg7XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdFx0XHRcdHdpZHRoOiAzMHJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDMwcnB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkAvc3RhdGljL2ljb24vaWNvbl9yaWdodC5wbmdcIik7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubmF2X2xpc3Q6bnRoLWxhc3QtY2hpbGQoMSkge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJveF9maWxsZXQge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0LmNob25nemhpX2JveCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDMwcnB4IDIwcnB4IDEwcnB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2YwZjlmYjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0LnZpcF9ib3gge1xyXG5cdFx0cGFkZGluZzogMjJycHggMCAhaW1wb3J0YW50O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzJycHg7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg2MGRlZywgIzgyNjVmOSAzMCUsICMwMTZkZWEgMTAwJSk7XHJcblx0XHRcclxuXHRcdC56aGFuZ2h1IHtcclxuXHRcdFx0Zm9udC1zaXplOiA4MHJweDtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTAwJTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC9kZWVwLy5zY3JvbGwtdmlldy1pdGVtOm50aC1jaGlsZCgybi0xKSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQuYmdfdG9wIHtcclxuXHRcdHBhZGRpbmc6IDAgMTBycHggMCAyMHJweDtcclxuXHRcdHBhZGRpbmctdG9wOiA4MHJweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDYwcnB4O1xyXG5cdH1cclxuXHJcblx0LnNldEljb24ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0cmlnaHQ6IDMwcnB4O1xyXG5cdFx0dG9wOiA2MHJweDtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0fVxyXG5cclxuXHQubWluZV9ib3gge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0cGFkZGluZzogMCAwcnB4O1xyXG5cdH1cclxuXHJcblx0Lmxpc3RfYm94IHtcclxuXHRcdHBhZGRpbmc6IDIwcnB4IDA7XHJcblx0XHRtYXJnaW4tdG9wOiAtMTBycHg7XHJcblx0fVxyXG5cclxuXHQucGF5X2l0ZW1faW1nIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRjb2xvcjogIzMzMztcclxuXHRcdC8vIGNvbG9yOiAjZGFjNGI3O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdC8vIHdpZHRoOiA4MHJweDtcclxuXHRcdC8vIGhlaWdodDogODBycHg7XHJcblx0XHRwYWRkaW5nOiA4cnB4O1xyXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuXHRcdC8vbWFyZ2luLXRvcDotMTBycHg7XHJcblx0fVxyXG5cclxuXHQucG9wdXBfYm94IHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAyMHJweDtcclxuXHRcdHdpZHRoOiA4OHZ3O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHRmb250LWZhbWlseTogUGFuZ01lblpoZW5nRGFvQmlhb1RpVGlNaWFuRmVpQmFuO1xyXG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRmb250LXNpemU6IDQ2cnB4O1xyXG5cdFx0XHRjb2xvcjogJHRoZW1lQ29sb3I7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcblx0XHRcdHBhZGRpbmc6IDIwcnB4O1xyXG5cdFx0XHQvLyAgIGJvcmRlci1sZXJhZGl1czogNnB4O1xyXG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XHJcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbnRlbnQge1xyXG5cdFx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4xNXJweDtcclxuXHRcdFx0cGFkZGluZzogMjBycHg7XHJcblx0XHRcdGNvbG9yOiAjM2YzZjNmO1xyXG5cclxuXHRcdFx0LnRvcCB7XHJcblx0XHRcdFx0bWFyZ2luOiAzMHJweCAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY2VudGVyIHtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogNDBycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5ib3R0b20ge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDYwcnB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI2cnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjYjBiMGIwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmJ1dHRvbl9ib3gge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xyXG5cclxuXHRcdFx0LnUtYnV0dG9uIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogNDBycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC51LWJ1dHRvbjpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC51c2VyX3ZpcF9ib3h7XHJcblx0XHR3aWR0aDogMTI1cnB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bWFyZ2luLXRvcDogLSA0MHJweDtcclxuXHRcdHotaW5kZXg6IDk5O1xyXG5cdH1cclxuXHQudXNlcl92aXBfaXRlbXtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQudXNlcl92aXBfaXRlbSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZmMWYwMCAwJSwgI2ZhOWY5MyAxMDAlKTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0Zm9udC1zaXplOiAyMHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA0MHJweDtcclxuXHRcdGhlaWdodDogNDBycHg7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDVycHg7XHJcblx0fVxyXG5cdC51c2VyX3ZpcF9pdGVtIGltYWdle1xyXG5cdFx0d2lkdGg6IDQ5cnB4O1xyXG5cdFx0aGVpZ2h0OiAxNnJweDtcclxuXHR9XHJcblx0LnZpcF90eXBle1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG5cdC52aXBfdHlwZV9pdGVte1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDAgMTBycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMyNThmZWIgMCUsICMwMGUxZWMgMTAwJSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMThycHg7XHJcblx0XHRsaW5lLWhlaWdodDogNDBycHg7XHJcblx0XHRoZWlnaHQ6IDQwcnB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdG1hcmdpbi1yaWdodDogOHJweDtcclxuXHR9XHJcblx0LnZpcF90eXBlX2l0ZW1fbGVue1xyXG5cdFx0cGFkZGluZzogMCA3cnB4O1xyXG5cdFx0Zm9udC1zaXplOiAxM3JweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAzNHJweDtcclxuXHRcdGhlaWdodDogMzRycHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDRycHg7XHJcblx0fVxyXG5cdC52aXBfdHlwZV9pdGVtOmxhc3QtY2hpbGR7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0fVxyXG5cdC52aXBfdHlwZV9pdGVtIGltYWdle1xyXG5cdFx0d2lkdGg6IDMwcnB4O1xyXG5cdFx0aGVpZ2h0OiAyMHJweDtcclxuXHR9XHJcblx0LnZpcF9pbmZvcntcclxuXHRcdHBhZGRpbmctbGVmdDogMjBycHg7XHJcblx0fVxyXG5cdC52aXBfaW5mb3JfaXRlbXtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDM2cnB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IFBhbmdNZW5aaGVuZ0Rhb0JpYW9UaVRpTWlhbkZlaUJhbjtcclxuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0fVxyXG5cdC52aXBfaW5mb3JfaXRlbSB0ZXh0e1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0fVxyXG5cdC52aXBfYnRue1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxNXJweDtcclxuXHR9XHJcblx0LnZpcF9idG4gYnV0dG9ue1xyXG5cdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdGJvcmRlcjogMnJweCBzb2xpZCAjZjlhZTNkO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNDBycHg7XHJcblx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0d2lkdGg6IDgycnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDQycnB4O1xyXG5cdFx0Y29sb3I6ICNmOWFlM2Q7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHR9XHJcblx0LnZpcF9udWxse1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDM0cnB4O1xyXG5cdH1cclxuXHQuZXhwaXJlZHtcclxuXHRcdG9wYWNpdHk6IDAuNTU7XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///811\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 _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 _requestConfig = _interopRequireDefault(__webpack_require__(/*! @/config/requestConfig.js */ 95));\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 roleObj: {},\n infoShow: false,\n // 显示电子书相关\n showEbook: false,\n // 显示电子书相关\n userMes: {},\n signShow: false,\n signContent: \"是否要退出登录?\",\n playData: {},\n userCouponNum: 0,\n // 优惠券数量\n directorShow: false,\n // 主任是否显示班级入口\n monitorShow: false,\n // 其他管理是否显示班级入口\n pageList: [{\n name: \"我的订单\",\n url: \"/pages/bookShop/orderList?type=mine\",\n type: \"switchTab\"\n }, {\n name: \"我的证书\",\n url: \"/pages/certificate/certificate\",\n type: \"pageJump\"\n },\n // {\n // \tname: \"我的湖分\",\n // \turl: \"/pages/hufen/hufen\",\n // \ttype: \"pageJump\",\n // },\n {\n name: \"个人资料\",\n url: \"/pages/mine/userInfo/persData\",\n type: \"pageJump\"\n }, {\n name: \"地址管理\",\n url: \"/pages/component/commonComponents/address/index?type=mine\",\n type: \"pageJump\"\n }, {\n name: \"关于我们\",\n url: \"/pages/mine/aboutUs/index\",\n type: \"pageJump\"\n }, {\n name: \"问题反馈/申诉\",\n url: \"/pages/user/workOrder\",\n type: \"workOrder\"\n }],\n //vip\n vipList: [],\n textList: [],\n //普通vip文字\n hasVipType1: false,\n hasVipType2: false\n };\n },\n //第一次加载\n onLoad: function onLoad(e) {\n // 隐藏原生的tabbar\n uni.hideTabBar();\n },\n computed: _objectSpread({}, (0, _vuex.mapState)([\"userInfo\"])),\n //页面显示\n onShow: function onShow() {\n var _this = this;\n return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _this.getData();\n _this.getUserRole();\n _context.next = 4;\n return _this.getUserCouponList();\n case 4:\n //获取vip身份\n _this.textList = [];\n _this.getUserVipType();\n case 6:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }))();\n },\n components: {\n musicPlay: _music.default\n },\n //方法\n methods: _objectSpread(_objectSpread({}, (0, _vuex.mapMutations)([\"setUserInfo\"])), {}, {\n // 获取用户优惠券列表\n getUserCouponList: function getUserCouponList() {\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 _context3.next = 2;\n return _this2.$http.request({\n url: \"common/coupon/getCouponHistoryList\",\n method: \"POST\",\n data: {\n \"page\": 1,\n \"limit\": 10,\n \"getType\": \"\",\n //获取类型 0 后台赠送 1 主动获取\n \"status\": \"0\",\n //使用状态 0 未使用 1 已使用 2 已过期\n \"userInfo\": \"\",\n //用户信息\n \"userId\": _this2.userInfo.id\n },\n header: {\n \"Content-Type\": \"application/json\"\n }\n }).then( /*#__PURE__*/function () {\n var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(res) {\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(res.code != 0)) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\", _this2.$commonJS.showToast(res.errMsg));\n case 2:\n _this2.userCouponNum = res.couponList.total;\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).catch(function (e) {\n _this2.$commonJS.showToast(e.errMsg);\n });\n case 2:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }))();\n },\n openInfo: function openInfo() {\n this.infoShow = true;\n },\n goSetting: function goSetting() {\n this.onPageJump(\"/pages/mine/set/index\");\n },\n goUserInfo: function goUserInfo() {\n this.onPageJump(\"/pages/mine/userInfo/persData\");\n },\n handleClickTab: function handleClickTab(v) {\n switch (v.type) {\n case \"pageJump\":\n this.onPageJump(v.url);\n break;\n case \"switchTab\":\n this.switchTab(v.url);\n break;\n case \"share\":\n //分享\n this.newOnShare();\n break;\n case \"quitLogin\":\n //退出登录\n this.signShow = true;\n break;\n case \"loginOut\":\n //注销账号\n this.logout();\n break;\n case \"workOrder\":\n uni.navigateTo({\n url: \"\".concat(v.url, \"?name=userPage\")\n });\n break;\n }\n },\n haveSelected: function haveSelected(data) {\n if (data.index == 0) {\n // 分享到好友\n uni.share({\n provider: \"weixin\",\n scene: \"WXSceneSession\",\n type: 0,\n href: this.$apkUrl,\n title: \"吴门医述\",\n summary: \"我正在使用吴门医述提升自己,赶紧跟我一起来体验吧!\",\n imageUrl: \"static/icon/home_icon_logo.png\",\n success: function success(res) {\n __f__(\"log\", \"success:\" + JSON.stringify(res), \" at pages/mine/mine/index.vue:336\");\n },\n fail: function fail(err) {\n __f__(\"log\", \"fail:\" + JSON.stringify(err), \" at pages/mine/mine/index.vue:339\");\n }\n });\n } else if (data.index == 1) {\n // 分享到朋友圈\n uni.share({\n provider: \"weixin\",\n scene: \"WXSceneTimeline\",\n type: 0,\n href: this.$apkUrl,\n title: \"吴门医述\",\n summary: \"我正在使用吴门医述提升自己,赶紧跟我一起来体验吧!\",\n imageUrl: \"static/icon/home_icon_logo.png\",\n success: function success(res) {\n __f__(\"log\", \"success:\" + JSON.stringify(res), \" at pages/mine/mine/index.vue:353\");\n },\n fail: function fail(err) {\n __f__(\"log\", \"fail:\" + JSON.stringify(err), \" at pages/mine/mine/index.vue:356\");\n }\n });\n }\n },\n switchTab: function switchTab(url) {\n uni.switchTab({\n url: url\n });\n },\n //判断过期的vip\n isExpired: function isExpired(dateString) {\n var dataTime = new Date(dateString.replace(' ', 'T'));\n //获取当前时间的Date对象\n var currentTime = new Date();\n //比较两个时间\n return dataTime < currentTime;\n },\n // 获取用户的角色信息\n getUserRole: function getUserRole() {\n var _this3 = this;\n this.$http.post(\"common/class/getRoleType\").then(function (res) {\n _this3.roleObj = res.result;\n var zhurenIndex = _this3.pageList.findIndex(function (item) {\n return item.name == '主任教学';\n });\n if (zhurenIndex > -1) {\n _this3.pageList.splice(zhurenIndex, 1);\n }\n var banzhangIndex = _this3.pageList.findIndex(function (item) {\n return item.name == '班级管理';\n });\n if (banzhangIndex > -1) {\n _this3.pageList.splice(banzhangIndex, 1);\n }\n var yonghuIndex = _this3.pageList.findIndex(function (item) {\n return item.name == '我的班级';\n });\n if (yonghuIndex > -1) {\n _this3.pageList.splice(yonghuIndex, 1);\n }\n if (_this3.roleObj.isDirector) {\n var n = _this3.pageList.find(function (item) {\n return item.name == '主任教学';\n });\n if (!n) {\n var item = {\n name: \"主任教学\",\n url: \"/pages/miniClass/DirectorModalList?type=mine\",\n type: \"pageJump\"\n };\n _this3.pageList.splice(3, 0, item);\n }\n }\n // 是班长\n if (_this3.roleObj.isCommittee) {\n var n = _this3.pageList.find(function (item) {\n return item.name == '班级管理';\n });\n if (!n) {\n var item = {\n name: \"班级管理\",\n url: \"/pages/miniClass/MonitorClassList?type=mine\",\n type: \"pageJump\"\n };\n _this3.pageList.splice(3, 0, item);\n }\n }\n // 是学员\n if (_this3.roleObj.isStudent) {\n var n = _this3.pageList.find(function (item) {\n return item.name == '我的班级';\n });\n if (!n) {\n var item = {\n name: \"我的班级\",\n url: \"/pages/miniClass/myClassList?type=mine\",\n type: \"pageJump\"\n };\n _this3.pageList.splice(3, 0, item);\n }\n }\n }).catch(function (e) {});\n },\n //获取个人信息\n getData: function getData() {\n var _this4 = this;\n if (this.userInfo.id != undefined) {\n this.$http.post(\"common/user/getUserInfo\").then(function (res) {\n _this4.userMes = res.result;\n });\n }\n },\n // 新写分享\n newOnShare: function newOnShare() {\n this.$refs.share.open();\n },\n // 注销账户\n logout: function logout() {\n var that = this;\n uni.showModal({\n title: \"提示\",\n content: \"确定要注销当前账户吗?\",\n success: function success(res) {\n if (res.confirm) {\n uni.showModal({\n title: \"提示\",\n showCancel: false,\n content: \"\\u6CE8\\u9500\\u7533\\u8BF7\\u5DF2\\u63D0\\u4EA4\\u6210\\u529F,\\u8BF7\\u8054\\u7CFB\\u5BA2\\u670D\\u8FDB\\u884C\\u540E\\u7EED\\u64CD\\u4F5C\\uFF1A022-24142321\",\n success: function success(res1) {\n if (res1.confirm) {\n that.signOut();\n }\n }\n });\n } else if (res.cancel) {\n // 取消操作\n }\n }\n });\n },\n // 跳转\n onGoing: function onGoing() {\n uni.showToast({\n icon: \"none\",\n title: \"开发中,敬请期待...\"\n });\n },\n onPageJump: function onPageJump(url) {\n uni.navigateTo({\n url: url\n });\n },\n // 退出登录\n signOut: function signOut() {\n this.signShow = false;\n this.setUserInfo({\n token: null\n });\n uni.reLaunch({\n url: \"/pages/user/login/login\"\n });\n },\n //获取vip身份\n getUserVipType: function getUserVipType() {\n var _this5 = this;\n this.$http.request({\n url: \"common/userVip/getUserVipType\",\n method: \"POST\",\n data: {},\n header: {\n \"Content-Type\": \"application/json\"\n }\n }).then(function (res) {\n if (res.code == 0) {\n _this5.vipList = res.list;\n _this5.hasVipType1 = _this5.vipList.some(function (item) {\n return item.type === 1;\n });\n _this5.hasVipType2 = _this5.vipList.some(function (item) {\n return item.type === 2;\n });\n\n //筛选出来已过期的\n var listAll = _this5.vipList;\n var list = _this5.vipList.filter(function (item) {\n return !_this5.isExpired(item.endTime);\n });\n\n //全部的 vip模块展示\n if (listAll.length > 0) {\n listAll = _this5.showDataList(listAll);\n } else {\n _this5.textList = [];\n }\n __f__(\"log\", '-------listAll', listAll, \" at pages/mine/mine/index.vue:530\");\n //筛选过期以后的 昵称模块展示需要\n if (list.length > 0) {\n list = _this5.showDataList(list);\n } else {\n _this5.textList = [];\n }\n __f__(\"log\", '-------list', list, \" at pages/mine/mine/index.vue:537\");\n }\n });\n },\n //分情况展示逻辑\n showDataList: function showDataList(list) {\n var _this6 = this;\n this.textList = [];\n list.forEach(function (item, index) {\n if (item.type == '4') {\n item.text = '中医学';\n _this6.textList.push(item.text);\n } else if (item.type == '5') {\n item.text = '针灸学';\n _this6.textList.push(item.text);\n } else if (item.type == '6') {\n item.text = '肿瘤学';\n _this6.textList.push(item.text);\n } else if (item.type == '7') {\n item.text = '国学';\n _this6.textList.push(item.text);\n } else if (item.type == '8') {\n item.text = '心理学';\n _this6.textList.push(item.text);\n } else if (item.type == '9') {\n item.text = '中西汇通学';\n _this6.textList.push(item.text);\n } else if (item.type == '1') {\n item.text = '医学S';\n } else if (item.type == '2') {\n item.text = '国学心理学S';\n }\n });\n return this.textList;\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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9taW5lL2luZGV4LnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwicm9sZU9iaiIsImluZm9TaG93Iiwic2hvd0Vib29rIiwidXNlck1lcyIsInNpZ25TaG93Iiwic2lnbkNvbnRlbnQiLCJwbGF5RGF0YSIsInVzZXJDb3Vwb25OdW0iLCJkaXJlY3RvclNob3ciLCJtb25pdG9yU2hvdyIsInBhZ2VMaXN0IiwibmFtZSIsInVybCIsInR5cGUiLCJ2aXBMaXN0IiwidGV4dExpc3QiLCJoYXNWaXBUeXBlMSIsImhhc1ZpcFR5cGUyIiwib25Mb2FkIiwidW5pIiwiY29tcHV0ZWQiLCJvblNob3ciLCJjb21wb25lbnRzIiwibXVzaWNQbGF5IiwibWV0aG9kcyIsImdldFVzZXJDb3Vwb25MaXN0IiwicmVxdWVzdCIsIm1ldGhvZCIsImhlYWRlciIsInRoZW4iLCJyZXMiLCJvcGVuSW5mbyIsImdvU2V0dGluZyIsImdvVXNlckluZm8iLCJoYW5kbGVDbGlja1RhYiIsImhhdmVTZWxlY3RlZCIsInByb3ZpZGVyIiwic2NlbmUiLCJocmVmIiwidGl0bGUiLCJzdW1tYXJ5IiwiaW1hZ2VVcmwiLCJzdWNjZXNzIiwiZmFpbCIsInN3aXRjaFRhYiIsImlzRXhwaXJlZCIsImdldFVzZXJSb2xlIiwiZ2V0RGF0YSIsIm5ld09uU2hhcmUiLCJsb2dvdXQiLCJjb250ZW50Iiwic2hvd0NhbmNlbCIsInRoYXQiLCJvbkdvaW5nIiwiaWNvbiIsIm9uUGFnZUp1bXAiLCJzaWduT3V0IiwidG9rZW4iLCJnZXRVc2VyVmlwVHlwZSIsImxpc3RBbGwiLCJsaXN0Iiwic2hvd0RhdGFMaXN0IiwiaXRlbSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQWdMQTtBQUNBO0FBQ0E7QUFHQTtBQUFBO0FBQUEsZUFDQTtFQUNBQTtJQUNBO01BQ0FDO01BQ0FDO01BQUE7TUFDQUM7TUFBQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUFBO01BQ0FDO01B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RDtjQUNBUjtnQkFDQTtrQkFDQVU7Z0JBQ0E7Y0FDQTtZQUNBO1VBQ0E7WUFDQTtVQUFBO1FBRUE7TUFDQTtJQUNBO0lBQ0E7SUFDQUM7TUFDQWxDO1FBQ0FtQztRQUNBZjtNQUNBO0lBQ0E7SUFDQWdCO01BQ0FwQztRQUNBUDtNQUNBO0lBQ0E7SUFFQTtJQUNBNEM7TUFDQTtNQUNBO1FBQ0FDO01BQ0E7TUFDQXRDO1FBQ0FQO01BQ0E7SUFDQTtJQUNBO0lBQ0E4QztNQUFBO01BQ0E7UUFDQTlDO1FBQ0FlO1FBQ0E1QjtRQUNBNkI7VUFDQTtRQUNBO01BQ0EsR0FDQUM7UUFDQTtVQUNBO1VBQ0E7WUFBQTtVQUFBO1VBQ0E7WUFBQTtVQUFBOztVQUVBO1VBQ0E7VUFDQTtZQUFBO1VBQUE7O1VBRUE7VUFDQTtZQUNBOEI7VUFDQTtZQUNBO1VBQ0E7VUFFQTtVQUNBO1VBQ0E7WUFDQUM7VUFDQTtZQUNBO1VBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtNQUNBRDtRQUNBO1VBQ0FFO1VBQ0E7UUFDQTtVQUNBQTtVQUNBO1FBQ0E7VUFDQUE7VUFDQTtRQUNBO1VBQ0FBO1VBQ0E7UUFDQTtVQUNBQTtVQUNBO1FBQ0E7VUFDQUE7VUFDQTtRQUNBO1VBQ0FBO1FBQ0E7VUFDQUE7UUFDQTtNQUNBO01BRUE7SUFDQTtFQUFBO0FBRUE7QUFBQSwyQiIsImZpbGUiOiI4MTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgc3R5bGU9XCIgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBwYWRkaW5nOiAwIDA7XHJcbiAgICAgIGZvbnQtc2l6ZTogMjhycHg7XHJcbiAgICAgIDtcclxuICAgIFwiIGNsYXNzPVwiY29tbW9uUGFnZWVlZWUgY29tbW9uUGFnZUJveFwiPlxyXG5cdFx0PCEtLSDlhazlhbHnu4Tku7Yt5q+P5Liq6aG16Z2i5b+F6aG75byV5YWlIC0tPlxyXG5cdFx0PHB1YmxpYy1tb2R1bGU+PC9wdWJsaWMtbW9kdWxlPlxyXG5cdFx0PHZpZXcgY2xhc3M9XCJzZXRJY29uXCIgQGNsaWNrPVwiZ29TZXR0aW5nXCI+XHJcblx0XHRcdDx1LWljb24gY2xhc3M9XCJcIiBsYWJlbENvbG9yPVwiIzI1OGZlYlwiIGxhYmVsUG9zPVwiYm90dG9tXCIgbGFiZWw9XCLorr7nva5cIiBuYW1lPVwic2V0dGluZ1wiXHJcblx0XHRcdFx0OnN0eWxlPVwiYHRvcDokeygxMCArIHN0YXR1c0JhckhlaWdodCkgKiAyfXJweGBcIiBjb2xvcj1cIiMyNThmZWJcIiBzaXplPVwiMjhcIj48L3UtaWNvbj5cclxuXHRcdDwvdmlldz5cclxuXHJcblx0XHQ8dmlldyBjbGFzcz1cImJnX3RvcCBmbGV4X2JveCBmbGV4X2JldHdlZW5cIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJwZXJfbWVzXCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwZXJfbWVzX3VzZXJcIiA6c3R5bGU9XCJoYXNWaXBUeXBlMj8nd2lkdGg6IDE3MHJweDsnOicnXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIndpZHRoOiAxMjBycHg7IGhlaWdodDogMTIwcnB4OyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XCI+XHJcblx0XHRcdFx0XHRcdDxpbWFnZSBAY2xpY2s9XCJnb1VzZXJJbmZvXCIgOnNyYz1cInVzZXJNZXMuYXZhdGFyXCIgdi1pZj1cInVzZXJNZXMuYXZhdGFyXCJcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cInBlcl9tZXNfaW1nIGNvbG9yX3NoYW5kb3dcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiQC9zdGF0aWMvaWNvbi9ob21lX2ljb25fbG9nby5wbmdcIiB2LWVsc2VcclxuXHRcdFx0XHRcdFx0XHRjbGFzcz1cInBlcl9tZXNfaW1nIGNvbG9yX3NoYW5kb3dcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyX3ZpcF9ib3hcIiB2LWlmPVwiaGFzVmlwVHlwZTEgfHwgaGFzVmlwVHlwZTJcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VyX3ZpcCBzdXBlclwiIDpzdHlsZT1cImhhc1ZpcFR5cGUyPyd3aWR0aDogMTcwcnB4Oyc6JydcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInVzZXJfdmlwX2l0ZW1cIiB2LWlmPVwiaGFzVmlwVHlwZTFcIj48dGV4dD7ljLvlraY8L3RleHQ+PGltYWdlIHNyYz1cIkAvc3RhdGljL2ljb24vY2hhb19zdmlwLnBuZ1wiPjwvaW1hZ2U+PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidXNlcl92aXBfaXRlbVwiIHYtaWY9XCJoYXNWaXBUeXBlMlwiPjx0ZXh0PuWbveWtpuW/g+eQhuWtpjwvdGV4dD48aW1hZ2Ugc3JjPVwiQC9zdGF0aWMvaWNvbi9jaGFvX3N2aXAucG5nXCI+PC9pbWFnZT48L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ1c2VySW5mb0JveFwiIHN0eWxlPVwibWFyZ2luLWxlZnQ6IDIwcnB4O1wiPlxyXG5cdFx0XHRcdFx0PHRlbXBsYXRlPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5hbWVcIj57eyB1c2VyTWVzLm5pY2tuYW1lID8gdXNlck1lcy5uaWNrbmFtZSA6IFwi5pyq6K6+572uXCIgfX08L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxyXG5cdFx0XHRcdFx0PHRlbXBsYXRlIHYtaWY9XCJ1c2VyTWVzLnRlbFwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob25lXCI+5omL5py65Y+377yaKHt7IHVzZXJNZXMudGVsIH19KTwvdmlldz5cclxuXHRcdFx0XHRcdDwvdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1pZj1cInRleHRMaXN0Lmxlbmd0aD4wXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidmlwX3R5cGVcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInZpcF90eXBlX2l0ZW1cIiA6Y2xhc3M9XCJ0ZXh0TGlzdC5sZW5ndGg+ND8ndmlwX3R5cGVfaXRlbV9sZW4nOicnXCIgdi1mb3I9XCIoaXRlbSxpbmRleCkgaW4gdGV4dExpc3RcIiA6a2V5PVwiaW5kZXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdHt7aXRlbX19PGltYWdlIHNyYz1cIkAvc3RhdGljL2ljb24vY2hhb192aXAucG5nXCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDwvdGVtcGxhdGU+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDx2aWV3IGNsYXNzPVwibWluZV9ib3hcIiA6c3R5bGU9XCJgdG9wOiR7KDQ1ICsgc3RhdHVzQmFySGVpZ2h0KSAqIDJ9cnB4YFwiPlxyXG5cdFx0XHQ8dmlldyBzdHlsZT1cIlxyXG4gICAgICAgICAgcGFkZGluZzogMjBycHg7ICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNob25nX3poaSBib3hTaGFkb3cgYm94X2ZpbGxldCB2aXBfYm94XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm5vVmlwXCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjtcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInpoYW5naHUgUE1fZm9udFwiIHN0eWxlPVwidGV4dC1hbGlnbjogbGVmdFwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwidmlwX2ltYWdlXCIgc3R5bGU9XCJ3aWR0aDo4MHJweDtoZWlnaHQ6ODBycHg7bWFyZ2luLWxlZnQ6IDEwcnB4O1wiIHNyYz1cIkAvc3RhdGljL3ZpcC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwiY29sb3I6ICNmZmY7IGZvbnQtc2l6ZTogNjBycHg7XCIgdi1pZj1cInZpcExpc3QubGVuZ3RoPT0wXCI+VklQPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInZpcF9pbmZvclwiIHYtaWY9XCJ2aXBMaXN0JiZ2aXBMaXN0Lmxlbmd0aD4wXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInZpcF9pbmZvcl9pdGVtXCIgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIHZpcExpc3RcIiA6a2V5PVwiaW5kZXhcIiA6Y2xhc3M9XCJ7ZXhwaXJlZDogaXNFeHBpcmVkKGl0ZW0uZW5kVGltZSl9XCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0Pnt7aXRlbS50ZXh0fX1WSVA8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJpc0V4cGlyZWQoaXRlbS5lbmRUaW1lKVwiPu+8iHt7aXRlbS5lbmRUaW1lLnNwbGl0KCcgJylbMF19fSDlt7LliLDmnJ/vvIk8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHYtZWxzZT7vvIjmnInmlYjmnJ/liLAge3tpdGVtLmVuZFRpbWUuc3BsaXQoJyAnKVswXX19KTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgdi1lbHNlIGNsYXNzPVwidmlwX251bGxcIiBzdHlsZT1cIiBwYWRkaW5nLWxlZnQ6IDMwcnB4O1wiPuWKnueQhlZJUO+8jOeVheS6q+abtOWkmuS4k+Wxnuadg+ebijwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInZpcF9idG5cIiBAY2xpY2s9XCJvblBhZ2VKdW1wKCcvcGFnZXMvbWluZS92aXAvaW5kZXgnKVwiPjxidXR0b24gdi1pZj1cInZpcExpc3QubGVuZ3RoPT0wXCI+5Yqe55CGPC9idXR0b24+PGJ1dHRvbiB2LWVsc2U+57ut6LS5PC9idXR0b24+PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8IS0tIGVuZCAtLT5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNob25nX3poaSBib3hTaGFkb3cgYm94X2ZpbGxldCBjaG9uZ3poaV9ib3hcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hvbmdfbGlzdFwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImxlZnRcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImNob25nX2xpc3RfaXRlbVwiIHN0eWxlPVwiXHJcblx0XHRcdFx0XHRcdFx0ICBkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdFx0XHRcdCAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0XHRcdFx0XHQgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcblx0XHRcdFx0XHRcdFx0ICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdFx0XHRcdFx0XCIgQGNsaWNrPVwib25QYWdlSnVtcCgnL3BhZ2VzL21pbmUvd2FsbGV0L2luZGV4L2luZGV4JylcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGF5X2l0ZW1faW1nXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOWkqeWMu+W4gTx1LWljb24gQGNsaWNrLm5hdGl2ZS5zdG9wPVwib3BlbkluZm8oKVwiIG5hbWU9XCJxdWVzdGlvbi1jaXJjbGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHN0eWxlPVwiZmxvYXQ6IHJpZ2h0OyBtYXJnaW46IDAgNnJweFwiPjwvdS1pY29uPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ0ZXh0XCIgc3R5bGU9XCJsaW5lLWhlaWdodDogNDBycHg7IGRpc3BsYXk6IGZsZXhcIj57e3VzZXJNZXMucGVhbnV0Q29pbiA/IHVzZXJNZXMucGVhbnV0Q29pbiA6IDB9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hvbmdfbGlzdF9pdGVtXCIgc3R5bGU9XCJcclxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgXCIgQGNsaWNrPVwib25QYWdlSnVtcCgnL3BhZ2VzL21pbmUvd2FsbGV0L2pmL2luZGV4JylcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGF5X2l0ZW1faW1nXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOenr+WIhlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGV4dFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDQwcnB4XCI+e3t1c2VyTWVzLmpmID8gdXNlck1lcy5qZiA6IDB9fTwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJjaG9uZ19saXN0X2l0ZW1cIiBzdHlsZT1cIlxyXG5cdFx0XHRcdFx0XHRcdCAgZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdFx0XHQgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdFx0ICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHRcdFx0XHRcdCAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0XHRcdFx0XHRcdFwiIEBjbGljaz1cIm9uUGFnZUp1bXAoJy9wYWdlcy9taW5lL3dhbGxldC9jb3Vwb25MaXN0JylcIj5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGF5X2l0ZW1faW1nXCI+XHJcblx0XHRcdFx0XHRcdFx0XHRcdOS8mOaDoOWIuFxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwidGV4dFwiIHN0eWxlPVwibGluZS1oZWlnaHQ6IDQwcnB4XCI+e3t1c2VyQ291cG9uTnVtfX08L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hvbmdfbGlzdF9pdGVtXCIgc3R5bGU9XCJcclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRcdFx0XHQgIFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2hvbmdfYnRuXCIgdi1pZj1cImlvc0hpZGVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwib25QYWdlSnVtcCgnL3BhZ2VzL21pbmUvd2FsbGV0L3JlY2hhcmdlL2luZGV4JylcIj7lhYUg5YC8PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImxpc3RfYm94XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJ4aXVnYWkgYm94U2hhZG93IGJveF9maWxsZXRcIj5cclxuXHRcdFx0XHRcdDxjb21tb24tbGlzdCA6ZGF0YUxpc3Q9XCJwYWdlTGlzdFwiIEBoYW5jbGVDbGljaz1cImhhbmRsZUNsaWNrVGFiXCIgbGFiZWw9XCJuYW1lXCI+XHJcblx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSBzbG90PVwicmlnaHRTbG90XCIgc2xvdC1zY29wZT1cInNsb3RQcm9wc1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZmRCdXR0b25Cb3ggYXVpLXRleHQtc3VjY2Vzc1wiXHJcblx0XHRcdFx0XHRcdFx0XHRzdHlsZT1cImxpbmUtaGVpZ2h0OiA0MHJweDsgZm9udC1zaXplOiA1MHJweDtcIj57eyBzbG90UHJvcHMucm93LmNvbnRlbnQgfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdDwvdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8L2NvbW1vbi1saXN0PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDx1LW1vZGFsIDpzaG93PVwic2lnblNob3dcIiA6Y29udGVudD1cInNpZ25Db250ZW50XCIgOnNob3dDYW5jZWxCdXR0b249XCJ0cnVlXCIgQGNhbmNlbD1cInNpZ25TaG93ID0gZmFsc2VcIlxyXG5cdFx0XHRAY29uZmlybT1cInNpZ25PdXRcIj5cclxuXHRcdDwvdS1tb2RhbD5cclxuXHRcdDwhLS0g5YiG5Lqr5by556qXIC0tPlxyXG5cdFx0PHVuaS1wb3B1cCByZWY9XCJzaGFyZVwiIHR5cGU9XCJzaGFyZVwiIHNhZmVBcmVhIGJhY2tncm91bmRDb2xvcj1cIiNmZmZcIj5cclxuXHRcdFx0PHVuaS1wb3B1cC1zaGFyZSBAc2VsZWN0PVwiaGF2ZVNlbGVjdGVkXCI+PC91bmktcG9wdXAtc2hhcmU+XHJcblx0XHQ8L3VuaS1wb3B1cD5cclxuXHJcblx0XHQ8dS1wb3B1cCA6c2hvdz1cImluZm9TaG93XCIgbW9kZT1cImNlbnRlclwiIHJvdW5kPVwiNlwiIGJhY2tncm91bmRDb2xvcj1cIiNmZmZcIj5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJwb3B1cF9ib3hcIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInRpdGxlXCI+5rip6aao5o+Q56S6PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImNvbnRlbnRcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdCZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO+OAkOWkqeWMu+W4geOAkeS7heS4uuaIkeW5s+WPsOaUr+S7mOS9v+eUqOW4geenjSDjgIJcclxuXHRcdFx0XHRcdFx05LiA5Lq65rCR5biBPeS4gOWkqeWMu+W4ge+8jOS7heS4uuS6huaWueS+v+eUqOaIt+aUr+S7mOS9v+eUqOOAgjxiciAvPuOAkOWkqeWMu+W4geOAkeWPr+S7peeUqOS6juWcqOaIkeW5s+WPsOaUr+S7mOS5puexjeaIluivvueoi+S9v+eUqOOAglxyXG5cdFx0XHRcdFx0XHQ8YnIgLz7jgJDlpKnljLvluIHjgJHov5nkuKrlkI3np7DmmK/kuLrpgILlupTmiJHku6zlubPlj7DnmoTlrprkvY3lsZ7mgKfvvIzmiYDotbflkI3np7DjgILkuI7ljLrlnZfpk77omZrmi5/otKfluIHml6Dku7vkvZXlhbPns7vjgIJcclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJvdHRvbVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImJ1dHRvbl9ib3hcIiBzdHlsZT1cIlxyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgIFwiPlxyXG5cdFx0XHRcdFx0XHRcdDx1LWJ1dHRvbiBzdHlsZT1cIndpZHRoOiAyMDBycHg7IGZsb2F0OiBjZW50ZXJcIiA6cGxhaW49XCJ0cnVlXCIgdGV4dD1cIuefpemBk+WVplwiIGNvbG9yPVwiIzliOWI5YlwiXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21hbGxcIiBAY2xpY2s9XCJpbmZvU2hvdyA9IGZhbHNlXCI+PC91LWJ1dHRvbj5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC91LXBvcHVwPlxyXG5cdFx0PG11c2ljLXBsYXkgOnBsYXlEYXRhPVwicGxheURhdGFcIj48L211c2ljLXBsYXk+XHJcblx0XHQ8ei1uYXZpZ2F0aW9uPjwvei1uYXZpZ2F0aW9uPlxyXG5cclxuXHQ8L3ZpZXc+XHJcbjwvdGVtcGxhdGU+XHJcblxyXG48c2NyaXB0PlxyXG5cdGltcG9ydCBtdXNpY1BsYXkgZnJvbSBcIkAvY29tcG9uZW50cy9tdXNpYy52dWVcIjtcclxuXHRpbXBvcnQgJGh0dHAgZnJvbSBcIkAvY29uZmlnL3JlcXVlc3RDb25maWcuanNcIjtcclxuXHRpbXBvcnQge1xyXG5cdFx0bWFwU3RhdGUsXHJcblx0XHRtYXBNdXRhdGlvbnNcclxuXHR9IGZyb20gXCJ2dWV4XCI7XHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRyb2xlT2JqOiB7fSxcclxuXHRcdFx0XHRpbmZvU2hvdzogZmFsc2UsIC8vIOaYvuekuueUteWtkOS5puebuOWFs1xyXG5cdFx0XHRcdHNob3dFYm9vazogZmFsc2UsIC8vIOaYvuekuueUteWtkOS5puebuOWFs1xyXG5cdFx0XHRcdHVzZXJNZXM6IHt9LFxyXG5cdFx0XHRcdHNpZ25TaG93OiBmYWxzZSxcclxuXHRcdFx0XHRzaWduQ29udGVudDogXCLmmK/lkKbopoHpgIDlh7rnmbvlvZXvvJ9cIixcclxuXHRcdFx0XHRwbGF5RGF0YToge30sXHJcblx0XHRcdFx0dXNlckNvdXBvbk51bTowLCAvLyDkvJjmg6DliLjmlbDph49cclxuXHRcdFx0XHRkaXJlY3RvclNob3c6IGZhbHNlLCAvLyDkuLvku7vmmK/lkKbmmL7npLrnj63nuqflhaXlj6NcclxuXHRcdFx0XHRtb25pdG9yU2hvdzogZmFsc2UsIC8vIOWFtuS7lueuoeeQhuaYr+WQpuaYvuekuuePree6p+WFpeWPo1xyXG5cdFx0XHRcdHBhZ2VMaXN0OiBbe1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuaIkeeahOiuouWNlVwiLFxyXG5cdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL2Jvb2tTaG9wL29yZGVyTGlzdD90eXBlPW1pbmVcIixcclxuXHRcdFx0XHRcdFx0dHlwZTogXCJzd2l0Y2hUYWJcIlxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdHtcclxuXHRcdFx0XHRcdFx0bmFtZTogXCLmiJHnmoTor4HkuaZcIixcclxuXHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9jZXJ0aWZpY2F0ZS9jZXJ0aWZpY2F0ZVwiLFxyXG5cdFx0XHRcdFx0XHR0eXBlOiBcInBhZ2VKdW1wXCIsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0Ly8ge1xyXG5cdFx0XHRcdFx0Ly8gXHRuYW1lOiBcIuaIkeeahOa5luWIhlwiLFxyXG5cdFx0XHRcdFx0Ly8gXHR1cmw6IFwiL3BhZ2VzL2h1ZmVuL2h1ZmVuXCIsXHJcblx0XHRcdFx0XHQvLyBcdHR5cGU6IFwicGFnZUp1bXBcIixcclxuXHRcdFx0XHRcdC8vIH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5Liq5Lq66LWE5paZXCIsXHJcblx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvbWluZS91c2VySW5mby9wZXJzRGF0YVwiLFxyXG5cdFx0XHRcdFx0XHR0eXBlOiBcInBhZ2VKdW1wXCIsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0e1xyXG5cdFx0XHRcdFx0XHRuYW1lOiBcIuWcsOWdgOeuoeeQhlwiLFxyXG5cdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL2NvbXBvbmVudC9jb21tb25Db21wb25lbnRzL2FkZHJlc3MvaW5kZXg/dHlwZT1taW5lXCIsXHJcblx0XHRcdFx0XHRcdHR5cGU6IFwicGFnZUp1bXBcIixcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi5YWz5LqO5oiR5LusXCIsXHJcblx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvbWluZS9hYm91dFVzL2luZGV4XCIsXHJcblx0XHRcdFx0XHRcdHR5cGU6IFwicGFnZUp1bXBcIixcclxuXHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR7XHJcblx0XHRcdFx0XHRcdG5hbWU6IFwi6Zeu6aKY5Y+N6aaIL+eUs+iviVwiLFxyXG5cdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL3VzZXIvd29ya09yZGVyXCIsXHJcblx0XHRcdFx0XHRcdHR5cGU6IFwid29ya09yZGVyXCJcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdC8vdmlwXHJcblx0XHRcdFx0dmlwTGlzdDogW10sXHJcblx0XHRcdFx0dGV4dExpc3Q6IFtdLCAgLy/mma7pgJp2aXDmloflrZdcclxuXHRcdFx0XHRoYXNWaXBUeXBlMTogZmFsc2UsXHJcblx0XHRcdFx0aGFzVmlwVHlwZTI6IGZhbHNlXHJcblx0XHRcdH07XHJcblx0XHR9LFxyXG5cdFx0Ly/nrKzkuIDmrKHliqDovb1cclxuXHRcdG9uTG9hZChlKSB7XHJcblx0XHRcdC8vIOmakOiXj+WOn+eUn+eahHRhYmJhclxyXG5cdFx0XHR1bmkuaGlkZVRhYkJhcigpO1xyXG5cdFx0fSxcclxuXHRcdGNvbXB1dGVkOiB7XHJcblx0XHRcdC4uLm1hcFN0YXRlKFtcInVzZXJJbmZvXCJdKSxcclxuXHRcdH0sXHJcblx0XHQvL+mhtemdouaYvuekulxyXG5cdFx0YXN5bmMgb25TaG93KCkge1xyXG5cdFx0XHR0aGlzLmdldERhdGEoKTtcclxuXHRcdFx0dGhpcy5nZXRVc2VyUm9sZSgpXHJcblx0XHRcdGF3YWl0IHRoaXMuZ2V0VXNlckNvdXBvbkxpc3QoKVxyXG5cdFx0XHQvL+iOt+WPlnZpcOi6q+S7vVxyXG5cdFx0XHR0aGlzLnRleHRMaXN0ID0gW107XHJcblx0XHRcdHRoaXMuZ2V0VXNlclZpcFR5cGUoKTtcclxuXHRcdH0sXHJcblx0XHRjb21wb25lbnRzOiB7XHJcblx0XHRcdG11c2ljUGxheSxcclxuXHRcdH0sXHJcblx0XHQvL+aWueazlVxyXG5cdFx0bWV0aG9kczoge1xyXG5cdFx0XHQuLi5tYXBNdXRhdGlvbnMoW1wic2V0VXNlckluZm9cIl0pLFxyXG5cdFx0XHQvLyDojrflj5bnlKjmiLfkvJjmg6DliLjliJfooahcclxuXHRcdFx0YXN5bmMgZ2V0VXNlckNvdXBvbkxpc3QoKXtcclxuXHRcdFx0XHRhd2FpdCB0aGlzLiRodHRwXHJcblx0XHRcdFx0ICAucmVxdWVzdCh7XHJcblx0XHRcdFx0ICAgIHVybDogXCJjb21tb24vY291cG9uL2dldENvdXBvbkhpc3RvcnlMaXN0XCIsXHJcblx0XHRcdFx0ICAgIG1ldGhvZDogXCJQT1NUXCIsXHJcblx0XHRcdFx0ICAgIGRhdGE6IHtcclxuXHRcdFx0XHQgICAgICBcInBhZ2VcIjoxLFxyXG5cdFx0XHRcdCAgICAgICAgICBcImxpbWl0XCI6MTAsXHJcblx0XHRcdFx0ICAgICAgICAgIFwiZ2V0VHlwZVwiOlwiXCIsLy/ojrflj5bnsbvlnosgMCDlkI7lj7DotaDpgIEgMSDkuLvliqjojrflj5ZcclxuXHRcdFx0XHQgICAgICAgICAgXCJzdGF0dXNcIjpcIjBcIiwvL+S9v+eUqOeKtuaAgSAwIOacquS9v+eUqCAxIOW3suS9v+eUqCAyIOW3sui/h+acn1xyXG5cdFx0XHRcdCAgICAgICAgICBcInVzZXJJbmZvXCI6XCJcIiwvL+eUqOaIt+S/oeaBr1xyXG5cdFx0XHRcdCAgICAgICAgICBcInVzZXJJZFwiOnRoaXMudXNlckluZm8uaWRcclxuXHRcdFx0XHQgICAgfSxcclxuXHRcdFx0XHQgICAgaGVhZGVyOiB7XHJcblx0XHRcdFx0ICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcblx0XHRcdFx0ICAgIH0sXHJcblx0XHRcdFx0ICB9KVxyXG5cdFx0XHRcdCAgLnRoZW4oYXN5bmMgKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0ICBpZihyZXMuY29kZSAhPSAwKSByZXR1cm4gdGhpcy4kY29tbW9uSlMuc2hvd1RvYXN0KHJlcy5lcnJNc2cpO1xyXG5cdFx0XHRcdFx0ICB0aGlzLnVzZXJDb3Vwb25OdW0gPSByZXMuY291cG9uTGlzdC50b3RhbFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcclxuXHRcdFx0XHQgIH0pLmNhdGNoKGUgPT4ge1xyXG5cdFx0XHRcdFx0ICB0aGlzLiRjb21tb25KUy5zaG93VG9hc3QoZS5lcnJNc2cpO1xyXG5cdFx0XHRcdCAgfSlcclxuXHRcdFx0fSxcclxuXHRcdFx0b3BlbkluZm8oKSB7XHJcblx0XHRcdFx0dGhpcy5pbmZvU2hvdyA9IHRydWU7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvU2V0dGluZygpIHtcclxuXHRcdFx0XHR0aGlzLm9uUGFnZUp1bXAoXCIvcGFnZXMvbWluZS9zZXQvaW5kZXhcIik7XHJcblx0XHRcdH0sXHJcblx0XHRcdGdvVXNlckluZm8oKSB7XHJcblx0XHRcdFx0dGhpcy5vblBhZ2VKdW1wKFwiL3BhZ2VzL21pbmUvdXNlckluZm8vcGVyc0RhdGFcIik7XHJcblx0XHRcdH0sXHJcblx0XHRcdGhhbmRsZUNsaWNrVGFiKHYpIHtcclxuXHRcdFx0XHRzd2l0Y2ggKHYudHlwZSkge1xyXG5cdFx0XHRcdFx0Y2FzZSBcInBhZ2VKdW1wXCI6XHJcblx0XHRcdFx0XHRcdHRoaXMub25QYWdlSnVtcCh2LnVybCk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBcInN3aXRjaFRhYlwiOlxyXG5cdFx0XHRcdFx0XHR0aGlzLnN3aXRjaFRhYih2LnVybCk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBcInNoYXJlXCI6XHJcblx0XHRcdFx0XHRcdC8v5YiG5LqrXHJcblx0XHRcdFx0XHRcdHRoaXMubmV3T25TaGFyZSgpO1xyXG5cdFx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0XHRcdGNhc2UgXCJxdWl0TG9naW5cIjpcclxuXHRcdFx0XHRcdFx0Ly/pgIDlh7rnmbvlvZVcclxuXHRcdFx0XHRcdFx0dGhpcy5zaWduU2hvdyA9IHRydWU7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBcImxvZ2luT3V0XCI6XHJcblx0XHRcdFx0XHRcdC8v5rOo6ZSA6LSm5Y+3XHJcblx0XHRcdFx0XHRcdHRoaXMubG9nb3V0KCk7XHJcblx0XHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdFx0Y2FzZSBcIndvcmtPcmRlclwiOlxyXG5cdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XHJcblx0XHRcdFx0XHRcdFx0dXJsOiBgJHt2LnVybH0/bmFtZT11c2VyUGFnZWBcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRoYXZlU2VsZWN0ZWQoZGF0YSkge1xyXG5cdFx0XHRcdGlmIChkYXRhLmluZGV4ID09IDApIHtcclxuXHRcdFx0XHRcdC8vIOWIhuS6q+WIsOWlveWPi1xyXG5cdFx0XHRcdFx0dW5pLnNoYXJlKHtcclxuXHRcdFx0XHRcdFx0cHJvdmlkZXI6IFwid2VpeGluXCIsXHJcblx0XHRcdFx0XHRcdHNjZW5lOiBcIldYU2NlbmVTZXNzaW9uXCIsXHJcblx0XHRcdFx0XHRcdHR5cGU6IDAsXHJcblx0XHRcdFx0XHRcdGhyZWY6IHRoaXMuJGFwa1VybCxcclxuXHRcdFx0XHRcdFx0dGl0bGU6IFwi5ZC06Zeo5Yy76L+wXCIsXHJcblx0XHRcdFx0XHRcdHN1bW1hcnk6IFwi5oiR5q2j5Zyo5L2/55So5ZC06Zeo5Yy76L+w5o+Q5Y2H6Ieq5bex77yM6LW257Sn6Lef5oiR5LiA6LW35p2l5L2T6aqM5ZCn77yBXCIsXHJcblx0XHRcdFx0XHRcdGltYWdlVXJsOiBcInN0YXRpYy9pY29uL2hvbWVfaWNvbl9sb2dvLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInN1Y2Nlc3M6XCIgKyBKU09OLnN0cmluZ2lmeShyZXMpKTtcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0ZmFpbDogZnVuY3Rpb24oZXJyKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJmYWlsOlwiICsgSlNPTi5zdHJpbmdpZnkoZXJyKSk7XHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9IGVsc2UgaWYgKGRhdGEuaW5kZXggPT0gMSkge1xyXG5cdFx0XHRcdFx0Ly8g5YiG5Lqr5Yiw5pyL5Y+L5ZyIXHJcblx0XHRcdFx0XHR1bmkuc2hhcmUoe1xyXG5cdFx0XHRcdFx0XHRwcm92aWRlcjogXCJ3ZWl4aW5cIixcclxuXHRcdFx0XHRcdFx0c2NlbmU6IFwiV1hTY2VuZVRpbWVsaW5lXCIsXHJcblx0XHRcdFx0XHRcdHR5cGU6IDAsXHJcblx0XHRcdFx0XHRcdGhyZWY6IHRoaXMuJGFwa1VybCxcclxuXHRcdFx0XHRcdFx0dGl0bGU6IFwi5ZC06Zeo5Yy76L+wXCIsXHJcblx0XHRcdFx0XHRcdHN1bW1hcnk6IFwi5oiR5q2j5Zyo5L2/55So5ZC06Zeo5Yy76L+w5o+Q5Y2H6Ieq5bex77yM6LW257Sn6Lef5oiR5LiA6LW35p2l5L2T6aqM5ZCn77yBXCIsXHJcblx0XHRcdFx0XHRcdGltYWdlVXJsOiBcInN0YXRpYy9pY29uL2hvbWVfaWNvbl9sb2dvLnBuZ1wiLFxyXG5cdFx0XHRcdFx0XHRzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHtcclxuXHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZyhcInN1Y2Nlc3M6XCIgKyBKU09OLnN0cmluZ2lmeShyZXMpKTtcclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0ZmFpbDogZnVuY3Rpb24oZXJyKSB7XHJcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coXCJmYWlsOlwiICsgSlNPTi5zdHJpbmdpZnkoZXJyKSk7XHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdHN3aXRjaFRhYih1cmwpIHtcclxuXHRcdFx0XHR1bmkuc3dpdGNoVGFiKHtcclxuXHRcdFx0XHRcdHVybDogdXJsLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+WIpOaWrei/h+acn+eahHZpcFxyXG5cdFx0XHRpc0V4cGlyZWQoZGF0ZVN0cmluZyl7XHJcblx0XHRcdFx0Y29uc3QgZGF0YVRpbWUgPSBuZXcgRGF0ZShkYXRlU3RyaW5nLnJlcGxhY2UoJyAnLCAnVCcpKTtcclxuXHRcdFx0XHQvL+iOt+WPluW9k+WJjeaXtumXtOeahERhdGXlr7nosaFcclxuXHRcdFx0XHRjb25zdCBjdXJyZW50VGltZSA9IG5ldyBEYXRlKCk7XHJcblx0XHRcdFx0Ly/mr5TovoPkuKTkuKrml7bpl7RcclxuXHRcdFx0XHRyZXR1cm4gZGF0YVRpbWUgPCBjdXJyZW50VGltZTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6I635Y+W55So5oi355qE6KeS6Imy5L+h5oGvXHJcblx0XHRcdGdldFVzZXJSb2xlKCkge1xyXG5cdFx0XHRcdHRoaXMuJGh0dHAucG9zdChcImNvbW1vbi9jbGFzcy9nZXRSb2xlVHlwZVwiKS50aGVuKChyZXMpID0+IHtcclxuXHRcdFx0XHRcdHRoaXMucm9sZU9iaiA9IHJlcy5yZXN1bHRcclxuXHRcdFx0XHRcdHZhciB6aHVyZW5JbmRleCA9IHRoaXMucGFnZUxpc3QuZmluZEluZGV4KGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gaXRlbS5uYW1lID09ICfkuLvku7vmlZnlraYnXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0aWYgKHpodXJlbkluZGV4ID4gLTEpIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5wYWdlTGlzdC5zcGxpY2Uoemh1cmVuSW5kZXgsIDEpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR2YXIgYmFuemhhbmdJbmRleCA9IHRoaXMucGFnZUxpc3QuZmluZEluZGV4KGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4gaXRlbS5uYW1lID09ICfnj63nuqfnrqHnkIYnXHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0aWYgKGJhbnpoYW5nSW5kZXggPiAtMSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnBhZ2VMaXN0LnNwbGljZShiYW56aGFuZ0luZGV4LCAxKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dmFyIHlvbmdodUluZGV4ID0gdGhpcy5wYWdlTGlzdC5maW5kSW5kZXgoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdHJldHVybiBpdGVtLm5hbWUgPT0gJ+aIkeeahOePree6pydcclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRpZiAoeW9uZ2h1SW5kZXggPiAtMSkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLnBhZ2VMaXN0LnNwbGljZSh5b25naHVJbmRleCwgMSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGlmICh0aGlzLnJvbGVPYmouaXNEaXJlY3Rvcikge1xyXG5cdFx0XHRcdFx0XHR2YXIgbiA9IHRoaXMucGFnZUxpc3QuZmluZChpdGVtID0+IHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4gaXRlbS5uYW1lID09ICfkuLvku7vmlZnlraYnXHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdGlmICghbikge1xyXG5cdFx0XHRcdFx0XHRcdHZhciBpdGVtID0ge1xyXG5cdFx0XHRcdFx0XHRcdFx0bmFtZTogXCLkuLvku7vmlZnlraZcIixcclxuXHRcdFx0XHRcdFx0XHRcdHVybDogXCIvcGFnZXMvbWluaUNsYXNzL0RpcmVjdG9yTW9kYWxMaXN0P3R5cGU9bWluZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJwYWdlSnVtcFwiXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucGFnZUxpc3Quc3BsaWNlKDMsIDAsIGl0ZW0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvLyDmmK/nj63plb9cclxuXHRcdFx0XHRcdGlmICh0aGlzLnJvbGVPYmouaXNDb21taXR0ZWUpIHtcclxuXHRcdFx0XHRcdFx0dmFyIG4gPSB0aGlzLnBhZ2VMaXN0LmZpbmQoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIGl0ZW0ubmFtZSA9PSAn54+t57qn566h55CGJ1xyXG5cdFx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0XHRpZiAoIW4pIHtcclxuXHRcdFx0XHRcdFx0XHR2YXIgaXRlbSA9IHtcclxuXHRcdFx0XHRcdFx0XHRcdG5hbWU6IFwi54+t57qn566h55CGXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR1cmw6IFwiL3BhZ2VzL21pbmlDbGFzcy9Nb25pdG9yQ2xhc3NMaXN0P3R5cGU9bWluZVwiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dHlwZTogXCJwYWdlSnVtcFwiXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucGFnZUxpc3Quc3BsaWNlKDMsIDAsIGl0ZW0pO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHQvLyDmmK/lrablkZhcclxuXHRcdFx0XHRcdGlmICh0aGlzLnJvbGVPYmouaXNTdHVkZW50KSB7XHJcblx0XHRcdFx0XHRcdHZhciBuID0gdGhpcy5wYWdlTGlzdC5maW5kKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiBpdGVtLm5hbWUgPT0gJ+aIkeeahOePree6pydcclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0aWYgKCFuKSB7XHJcblx0XHRcdFx0XHRcdFx0dmFyIGl0ZW0gPSB7XHJcblx0XHRcdFx0XHRcdFx0XHRuYW1lOiBcIuaIkeeahOePree6p1wiLFxyXG5cdFx0XHRcdFx0XHRcdFx0dXJsOiBcIi9wYWdlcy9taW5pQ2xhc3MvbXlDbGFzc0xpc3Q/dHlwZT1taW5lXCIsXHJcblx0XHRcdFx0XHRcdFx0XHR0eXBlOiBcInBhZ2VKdW1wXCJcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5wYWdlTGlzdC5zcGxpY2UoMywgMCwgaXRlbSk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0fSkuY2F0Y2goZSA9PiB7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+iOt+WPluS4quS6uuS/oeaBr1xyXG5cdFx0XHRnZXREYXRhKCkge1xyXG5cdFx0XHRcdGlmICh0aGlzLnVzZXJJbmZvLmlkICE9IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdFx0dGhpcy4kaHR0cC5wb3N0KFwiY29tbW9uL3VzZXIvZ2V0VXNlckluZm9cIikudGhlbigocmVzKSA9PiB7XHJcblx0XHRcdFx0XHRcdHRoaXMudXNlck1lcyA9IHJlcy5yZXN1bHQ7XHJcblx0XHRcdFx0XHR9KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblxyXG5cdFx0XHQvLyDmlrDlhpnliIbkuqtcclxuXHRcdFx0bmV3T25TaGFyZSgpIHtcclxuXHRcdFx0XHR0aGlzLiRyZWZzLnNoYXJlLm9wZW4oKTtcclxuXHRcdFx0fSxcclxuXHJcblx0XHRcdC8vIOazqOmUgOi0puaIt1xyXG5cdFx0XHRsb2dvdXQoKSB7XHJcblx0XHRcdFx0bGV0IHRoYXQgPSB0aGlzO1xyXG5cdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0dGl0bGU6IFwi5o+Q56S6XCIsXHJcblx0XHRcdFx0XHRjb250ZW50OiBcIuehruWumuimgeazqOmUgOW9k+WJjei0puaIt+WQl++8n1wiLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogZnVuY3Rpb24ocmVzKSB7XHJcblx0XHRcdFx0XHRcdGlmIChyZXMuY29uZmlybSkge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93TW9kYWwoe1xyXG5cdFx0XHRcdFx0XHRcdFx0dGl0bGU6IFwi5o+Q56S6XCIsXHJcblx0XHRcdFx0XHRcdFx0XHRzaG93Q2FuY2VsOiBmYWxzZSxcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnRlbnQ6IGDms6jplIDnlLPor7flt7Lmj5DkuqTmiJDlip8s6K+36IGU57O75a6i5pyN6L+b6KGM5ZCO57ut5pON5L2c77yaMDIyLTI0MTQyMzIxYCxcclxuXHRcdFx0XHRcdFx0XHRcdHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlczEpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHJlczEuY29uZmlybSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoYXQuc2lnbk91dCgpO1xyXG5cdFx0XHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdFx0XHRcdH0pO1xyXG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHJlcy5jYW5jZWwpIHtcclxuXHRcdFx0XHRcdFx0XHQvLyDlj5bmtojmk43kvZxcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fSxcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8g6Lez6L2sXHJcblx0XHRcdG9uR29pbmcoKSB7XHJcblx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XHJcblx0XHRcdFx0XHRpY29uOiBcIm5vbmVcIixcclxuXHRcdFx0XHRcdHRpdGxlOiBcIuW8gOWPkeS4re+8jOaVrOivt+acn+W+hS4uLlwiLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRvblBhZ2VKdW1wKHVybCkge1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogdXJsLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cclxuXHRcdFx0Ly8g6YCA5Ye655m75b2VXHJcblx0XHRcdHNpZ25PdXQoKSB7XHJcblx0XHRcdFx0dGhpcy5zaWduU2hvdyA9IGZhbHNlO1xyXG5cdFx0XHRcdHRoaXMuc2V0VXNlckluZm8oe1xyXG5cdFx0XHRcdFx0dG9rZW46IG51bGwsXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdFx0dW5pLnJlTGF1bmNoKHtcclxuXHRcdFx0XHRcdHVybDogXCIvcGFnZXMvdXNlci9sb2dpbi9sb2dpblwiLFxyXG5cdFx0XHRcdH0pO1xyXG5cdFx0XHR9LFxyXG5cdFx0XHQvL+iOt+WPlnZpcOi6q+S7vVxyXG5cdFx0XHRnZXRVc2VyVmlwVHlwZSgpIHtcclxuXHRcdFx0XHR0aGlzLiRodHRwLnJlcXVlc3Qoe1xyXG5cdFx0XHRcdFx0dXJsOiBcImNvbW1vbi91c2VyVmlwL2dldFVzZXJWaXBUeXBlXCIsXHJcblx0XHRcdFx0XHRtZXRob2Q6IFwiUE9TVFwiLFxyXG5cdFx0XHRcdFx0ZGF0YToge30sXHJcblx0XHRcdFx0XHRoZWFkZXI6IHtcclxuXHRcdFx0XHRcdFx0XCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXHJcblx0XHRcdFx0XHR9LFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdFx0LnRoZW4oKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09IDApIHtcclxuXHRcdFx0XHRcdFx0dGhpcy52aXBMaXN0ID0gcmVzLmxpc3Q7XHJcblx0XHRcdFx0XHRcdHRoaXMuaGFzVmlwVHlwZTEgPSB0aGlzLnZpcExpc3Quc29tZShpdGVtID0+IGl0ZW0udHlwZSA9PT0gMSk7XHJcblx0XHRcdFx0XHRcdHRoaXMuaGFzVmlwVHlwZTIgPSB0aGlzLnZpcExpc3Quc29tZShpdGVtID0+IGl0ZW0udHlwZSA9PT0gMik7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHQvL+etm+mAieWHuuadpeW3sui/h+acn+eahFxyXG5cdFx0XHRcdFx0XHRsZXQgbGlzdEFsbCA9IHRoaXMudmlwTGlzdDtcclxuXHRcdFx0XHRcdFx0bGV0IGxpc3QgPSB0aGlzLnZpcExpc3QuZmlsdGVyKGl0ZW0gPT4gIXRoaXMuaXNFeHBpcmVkKGl0ZW0uZW5kVGltZSkpO1xyXG5cdFx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdFx0Ly/lhajpg6jnmoQgdmlw5qih5Z2X5bGV56S6XHJcblx0XHRcdFx0XHRcdGlmKGxpc3RBbGwubGVuZ3RoPjApe1xyXG5cdFx0XHRcdFx0XHRcdGxpc3RBbGwgPSB0aGlzLnNob3dEYXRhTGlzdChsaXN0QWxsKTtcclxuXHRcdFx0XHRcdFx0fWVsc2V7XHJcblx0XHRcdFx0XHRcdFx0dGhpcy50ZXh0TGlzdCA9IFtdO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnLS0tLS0tLWxpc3RBbGwnLGxpc3RBbGwpXHJcblx0XHRcdFx0XHRcdC8v562b6YCJ6L+H5pyf5Lul5ZCO55qEIOaYteensOaooeWdl+WxleekuumcgOimgVxyXG5cdFx0XHRcdFx0XHRpZihsaXN0Lmxlbmd0aD4wKXtcclxuXHRcdFx0XHRcdFx0XHRsaXN0ID0gdGhpcy5zaG93RGF0YUxpc3QobGlzdCk7XHJcblx0XHRcdFx0XHRcdH1lbHNle1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudGV4dExpc3QgPSBbXTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnLS0tLS0tLWxpc3QnLGxpc3QpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0sXHJcblx0XHRcdC8v5YiG5oOF5Ya15bGV56S66YC76L6RXHJcblx0XHRcdHNob3dEYXRhTGlzdChsaXN0KXtcclxuXHRcdFx0XHR0aGlzLnRleHRMaXN0ID0gW107XHJcblx0XHRcdFx0bGlzdC5mb3JFYWNoKChpdGVtLCBpbmRleCkgPT4ge1xyXG5cdFx0XHRcdFx0aWYoaXRlbS50eXBlPT0nNCcpe1xyXG5cdFx0XHRcdFx0XHRpdGVtLnRleHQgPSAn5Lit5Yy75a2mJztcclxuXHRcdFx0XHRcdFx0dGhpcy50ZXh0TGlzdC5wdXNoKGl0ZW0udGV4dCk7XHJcblx0XHRcdFx0XHR9ZWxzZSBpZihpdGVtLnR5cGU9PSc1Jyl7XHJcblx0XHRcdFx0XHRcdGl0ZW0udGV4dCA9ICfpkojngbjlraYnO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRleHRMaXN0LnB1c2goaXRlbS50ZXh0KTtcclxuXHRcdFx0XHRcdH1lbHNlIGlmKGl0ZW0udHlwZT09JzYnKXtcclxuXHRcdFx0XHRcdFx0aXRlbS50ZXh0ID0gJ+iCv+eYpOWtpic7XHJcblx0XHRcdFx0XHRcdHRoaXMudGV4dExpc3QucHVzaChpdGVtLnRleHQpO1xyXG5cdFx0XHRcdFx0fWVsc2UgaWYoaXRlbS50eXBlPT0nNycpe1xyXG5cdFx0XHRcdFx0XHRpdGVtLnRleHQgPSAn5Zu95a2mJztcclxuXHRcdFx0XHRcdFx0dGhpcy50ZXh0TGlzdC5wdXNoKGl0ZW0udGV4dCk7XHJcblx0XHRcdFx0XHR9ZWxzZSBpZihpdGVtLnR5cGU9PSc4Jyl7XHJcblx0XHRcdFx0XHRcdGl0ZW0udGV4dCA9ICflv4PnkIblraYnO1xyXG5cdFx0XHRcdFx0XHR0aGlzLnRleHRMaXN0LnB1c2goaXRlbS50ZXh0KTtcclxuXHRcdFx0XHRcdH1lbHNlIGlmKGl0ZW0udHlwZT09JzknKXtcclxuXHRcdFx0XHRcdFx0aXRlbS50ZXh0ID0gJ+S4reilv+axh+mAmuWtpic7XHJcblx0XHRcdFx0XHRcdHRoaXMudGV4dExpc3QucHVzaChpdGVtLnRleHQpO1xyXG5cdFx0XHRcdFx0fWVsc2UgaWYoaXRlbS50eXBlPT0nMScpe1xyXG5cdFx0XHRcdFx0XHRpdGVtLnRleHQgPSAn5Yy75a2mUyc7XHJcblx0XHRcdFx0XHR9ZWxzZSBpZihpdGVtLnR5cGU9PScyJyl7XHJcblx0XHRcdFx0XHRcdGl0ZW0udGV4dCA9ICflm73lrablv4PnkIblraZTJztcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0XHRcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy50ZXh0TGlzdDtcclxuXHRcdFx0fSxcclxuXHRcdH1cclxuXHR9O1xyXG48L3NjcmlwdD5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG5cdEBpbXBvcnQgXCJAL3N0eWxlL21peGluLnNjc3NcIjtcclxuXHJcblx0LnBlcl9tZXNfdXNlciB7XHJcblx0XHR3aWR0aDogMTI1cnB4O1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHRcclxuXHQucGVyX21lcyB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1hcmdpbi10b3A6IDUwcnB4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuXHRcdC5wZXJfbWVzX2ltZyB7XHJcblx0XHRcdHdpZHRoOiAxMjBycHg7XHJcblx0XHRcdGhlaWdodDogMTIwcnB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMDBycHg7XHJcblx0XHRcdG1hcmdpbjogMCAwIDAgMDtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0dmlldyB7XHJcblx0XHRcdC5uYW1lIHtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHRmb250LXNpemU6IDMycnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjNjk5MGM3ICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5waG9uZSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAyNnJweDtcclxuXHRcdFx0XHRjb2xvcjogIzY5OTBjNyAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucGVyX3VzZXJfaW1nIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0d2lkdGg6IDQwdXB4O1xyXG5cdFx0XHRcdGhlaWdodDogNDB1cHg7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDEwcnB4O1xyXG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lm5vd192aXAge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHRcdC8vIGJvcmRlci1yYWRpdXM6IDIwdXB4O1xyXG5cdFx0bWFyZ2luOiAwIDAgMzB1cHggMDtcclxuXHRcdHBhZGRpbmc6IDAgMzB1cHg7XHJcblx0XHRoZWlnaHQ6IDEyMHVweDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZlZWVkNiAwJSwgI2Y1Y2U5OSAxMDAlKTtcclxuXHJcblx0XHRpbWFnZSB7XHJcblx0XHRcdHdpZHRoOiA0NnJweDtcclxuXHRcdFx0aGVpZ2h0OiA1MHJweDtcclxuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XHJcblx0XHRcdG1hcmdpbjogMCAxMHJweCAwIDA7XHJcblx0XHR9XHJcblxyXG5cdFx0dGV4dCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzB1cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxMjB1cHg7XHJcblx0XHRcdGNvbG9yOiAjOTc3NzQ5O1xyXG5cdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdH1cclxuXHJcblx0XHQua3RfYnRuIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyNnVweDtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTBycHg7XHJcblx0XHRcdGNvbG9yOiAjZmZmYmY2O1xyXG5cdFx0XHRwYWRkaW5nOiAxMnJweCAyNnJweDtcclxuXHRcdFx0bWFyZ2luOiAzM3JweCAwIDAgMDtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjZGZhOTY0IDAlLCAjN2Y1MjE4IDEwMCUpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmNvbW1vblBhZ2VCb3gge1xyXG5cdFx0Ly8gYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQC9zdGF0aWMvaWNvbi9taW5lX2JnLnBuZ1wiKTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNjBkZWcsICNmZGYwZWQgMCUsICNiZmUzZjAgNDAlLCAjZTRlZWZhIDYwJSwgI2JmZTNmMCA4MCUsICNmZGYwZWQgMTAwJSk7XHJcblx0XHQvLyBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhmOGU0ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cclxuXHQuY2hvbmdfemhpIHtcclxuXHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRwYWRkaW5nOiAwIDMwdXB4O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cclxuXHRcdC56aGFuZ2h1IHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTBycHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdGNvbG9yOiAkdGhlbWVDb2xvcjtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdH1cclxuXHJcblx0XHQubm9WaXAge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdFxyXG5cdFx0XHQuemhhbmdodSB7XHJcblx0XHRcdFx0Zm9udC1zaXplOiA0MHJweDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwcnB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdFx0aW1hZ2Uge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMHJweDtcclxuXHRcdFx0XHRcdGhlaWdodDogMTAwcnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5oYXNWaXAge1xyXG5cdFx0XHQudGltZSB7XHJcblx0XHRcdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRcdFx0cGFkZGluZzogNHJweCAyMHJweDtcclxuXHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdFx0XHRcdC8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcclxuXHRcdFx0XHQvLyAgIHRvIHJpZ2h0LFxyXG5cdFx0XHRcdC8vICAgIzU2QjBDRSAwJSxcclxuXHRcdFx0XHQvLyAgICM2RERBRUEgMTAwJVxyXG5cdFx0XHRcdC8vICkgIWltcG9ydGFudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jaG9uZ19saXN0IHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDBycHg7XHJcblxyXG5cdFx0XHQubGVmdCB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY2hvbmdfbGlzdF9pdGVtIHtcclxuXHRcdFx0XHR3aWR0aDogYXV0bztcclxuXHRcdFx0XHRoZWlnaHQ6IDEwMHJweDtcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQ6IDYwcnB4O1xyXG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRcdFx0Y29sb3I6ICR0aGVtZUNvbG9yO1xyXG5cclxuXHRcdFx0XHQudGV4dCB7XHJcblx0XHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRcdFx0Ly8gbWFyZ2luOiAwIDAgMTBycHggMDtcclxuXHJcblx0XHRcdFx0XHRjb2xvcjogJHRoZW1lQ29sb3IgIWltcG9ydGFudDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jaG9uZ19idG4ge1xyXG5cdFx0XHRcdC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdC8vIHRvcDogMHB4O1xyXG5cdFx0XHRcdC8vIHJpZ2h0OiAwcHg7XHJcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwcnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjZmZmYmY2O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEwcnB4IDMycnB4O1xyXG5cdFx0XHRcdC8vIG1hcmdpbi10b3A6IC02MHJweDtcclxuXHRcdFx0XHQvLyBtYXJnaW46IDIwcnB4IDAgMCAwO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzI1OGZlYiAwJSwgI2Q1ZWNkZCAyMDAlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnhpdWdhaSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweCAhaW1wb3J0YW50O1xyXG5cdFx0bWFyZ2luOiAwIDIwcnB4O1xyXG5cdFx0Ly8gcGFkZGluZzowIDQwcnB4O1xyXG5cdFx0YmFja2dyb3VuZDogI2YwZjlmYjtcclxuXHJcblx0XHQubmF2X2xpc3Qge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYjdlMGUyO1xyXG5cdFx0XHRwYWRkaW5nOiAxNXJweCAwIDE1cnB4IDEwcnB4O1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRmb250LXNpemU6IDIycnB4O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcclxuXHJcblx0XHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHR0ZXh0IHtcclxuXHRcdFx0XHRjb2xvcjogIzMzMztcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMTBycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRyaWdodDogMjBycHg7XHJcblx0XHRcdFx0dG9wOiA1MCU7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG5cdFx0XHRcdHdpZHRoOiAzMHJweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDMwcnB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkAvc3RhdGljL2ljb24vaWNvbl9yaWdodC5wbmdcIik7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQubmF2X2xpc3Q6bnRoLWxhc3QtY2hpbGQoMSkge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmJveF9maWxsZXQge1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjBycHg7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdH1cclxuXHJcblx0LmNob25nemhpX2JveCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdHBhZGRpbmc6IDMwcnB4IDIwcnB4IDEwcnB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2YwZjlmYjtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xyXG5cdH1cclxuXHJcblx0LnZpcF9ib3gge1xyXG5cdFx0cGFkZGluZzogMjJycHggMCAhaW1wb3J0YW50O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMzJycHg7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg2MGRlZywgIzgyNjVmOSAzMCUsICMwMTZkZWEgMTAwJSk7XHJcblx0XHRcclxuXHRcdC56aGFuZ2h1IHtcclxuXHRcdFx0Zm9udC1zaXplOiA4MHJweDtcclxuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTAwJTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC9kZWVwLy5zY3JvbGwtdmlldy1pdGVtOm50aC1jaGlsZCgybi0xKSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQuYmdfdG9wIHtcclxuXHRcdHBhZGRpbmc6IDAgMTBycHggMCAyMHJweDtcclxuXHRcdHBhZGRpbmctdG9wOiA4MHJweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDYwcnB4O1xyXG5cdH1cclxuXHJcblx0LnNldEljb24ge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0cmlnaHQ6IDMwcnB4O1xyXG5cdFx0dG9wOiA2MHJweDtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0fVxyXG5cclxuXHQubWluZV9ib3gge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0cGFkZGluZzogMCAwcnB4O1xyXG5cdH1cclxuXHJcblx0Lmxpc3RfYm94IHtcclxuXHRcdHBhZGRpbmc6IDIwcnB4IDA7XHJcblx0XHRtYXJnaW4tdG9wOiAtMTBycHg7XHJcblx0fVxyXG5cclxuXHQucGF5X2l0ZW1faW1nIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRjb2xvcjogIzMzMztcclxuXHRcdC8vIGNvbG9yOiAjZGFjNGI3O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdC8vIHdpZHRoOiA4MHJweDtcclxuXHRcdC8vIGhlaWdodDogODBycHg7XHJcblx0XHRwYWRkaW5nOiA4cnB4O1xyXG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHJweDtcclxuXHRcdC8vbWFyZ2luLXRvcDotMTBycHg7XHJcblx0fVxyXG5cclxuXHQucG9wdXBfYm94IHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAyMHJweDtcclxuXHRcdHdpZHRoOiA4OHZ3O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHRmb250LWZhbWlseTogUGFuZ01lblpoZW5nRGFvQmlhb1RpVGlNaWFuRmVpQmFuO1xyXG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0XHRmb250LXNpemU6IDQ2cnB4O1xyXG5cdFx0XHRjb2xvcjogJHRoZW1lQ29sb3I7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcblx0XHRcdHBhZGRpbmc6IDIwcnB4O1xyXG5cdFx0XHQvLyAgIGJvcmRlci1sZXJhZGl1czogNnB4O1xyXG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7XHJcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XHJcblx0XHR9XHJcblxyXG5cdFx0LmNvbnRlbnQge1xyXG5cdFx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogMC4xNXJweDtcclxuXHRcdFx0cGFkZGluZzogMjBycHg7XHJcblx0XHRcdGNvbG9yOiAjM2YzZjNmO1xyXG5cclxuXHRcdFx0LnRvcCB7XHJcblx0XHRcdFx0bWFyZ2luOiAzMHJweCAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY2VudGVyIHtcclxuXHRcdFx0XHRsaW5lLWhlaWdodDogNDBycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5ib3R0b20ge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDYwcnB4O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI2cnB4O1xyXG5cdFx0XHRcdGNvbG9yOiAjYjBiMGIwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmJ1dHRvbl9ib3gge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xyXG5cclxuXHRcdFx0LnUtYnV0dG9uIHtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogNDBycHg7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC51LWJ1dHRvbjpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdC51c2VyX3ZpcF9ib3h7XHJcblx0XHR3aWR0aDogMTI1cnB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bWFyZ2luLXRvcDogLSA0MHJweDtcclxuXHRcdHotaW5kZXg6IDk5O1xyXG5cdH1cclxuXHQudXNlcl92aXBfaXRlbXtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHQudXNlcl92aXBfaXRlbSB7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgI2ZmMWYwMCAwJSwgI2ZhOWY5MyAxMDAlKTtcclxuXHRcdGNvbG9yOiAjZmZmO1xyXG5cdFx0Zm9udC1zaXplOiAyMHJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiA0MHJweDtcclxuXHRcdGhlaWdodDogNDBycHg7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDVycHg7XHJcblx0fVxyXG5cdC51c2VyX3ZpcF9pdGVtIGltYWdle1xyXG5cdFx0d2lkdGg6IDQ5cnB4O1xyXG5cdFx0aGVpZ2h0OiAxNnJweDtcclxuXHR9XHJcblx0LnZpcF90eXBle1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0fVxyXG5cdC52aXBfdHlwZV9pdGVte1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdHBhZGRpbmc6IDAgMTBycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMyNThmZWIgMCUsICMwMGUxZWMgMTAwJSk7XHJcblx0XHRib3JkZXItcmFkaXVzOiAyMHJweDtcclxuXHRcdGZvbnQtc2l6ZTogMThycHg7XHJcblx0XHRsaW5lLWhlaWdodDogNDBycHg7XHJcblx0XHRoZWlnaHQ6IDQwcnB4O1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0XHRjb2xvcjogI2ZmZjtcclxuXHRcdG1hcmdpbi1yaWdodDogOHJweDtcclxuXHR9XHJcblx0LnZpcF90eXBlX2l0ZW1fbGVue1xyXG5cdFx0cGFkZGluZzogMCA3cnB4O1xyXG5cdFx0Zm9udC1zaXplOiAxM3JweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAzNHJweDtcclxuXHRcdGhlaWdodDogMzRycHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDRycHg7XHJcblx0fVxyXG5cdC52aXBfdHlwZV9pdGVtOmxhc3QtY2hpbGR7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0fVxyXG5cdC52aXBfdHlwZV9pdGVtIGltYWdle1xyXG5cdFx0d2lkdGg6IDMwcnB4O1xyXG5cdFx0aGVpZ2h0OiAyMHJweDtcclxuXHR9XHJcblx0LnZpcF9pbmZvcntcclxuXHRcdHBhZGRpbmctbGVmdDogMjBycHg7XHJcblx0fVxyXG5cdC52aXBfaW5mb3JfaXRlbXtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDM2cnB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IFBhbmdNZW5aaGVuZ0Rhb0JpYW9UaVRpTWlhbkZlaUJhbjtcclxuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0fVxyXG5cdC52aXBfaW5mb3JfaXRlbSB0ZXh0e1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0fVxyXG5cdC52aXBfYnRue1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxNXJweDtcclxuXHR9XHJcblx0LnZpcF9idG4gYnV0dG9ue1xyXG5cdFx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRcdGJvcmRlcjogMnJweCBzb2xpZCAjZjlhZTNkO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNDBycHg7XHJcblx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0d2lkdGg6IDgycnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDQycnB4O1xyXG5cdFx0Y29sb3I6ICNmOWFlM2Q7XHJcblx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHR9XHJcblx0LnZpcF9udWxse1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRmb250LXNpemU6IDI2cnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDM0cnB4O1xyXG5cdH1cclxuXHQuZXhwaXJlZHtcclxuXHRcdG9wYWNpdHk6IDAuNTU7XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///811\n"); /***/ }), /* 812 */