From b806c4ad52a661a1e5f0695650ec1a7e42f01633 Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期三, 20 五月 2026 23:08:48 +0800
Subject: [PATCH] 提交

---
 app/unpackage/dist/dev/app-plus/app-service.js |  196 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 144 insertions(+), 52 deletions(-)

diff --git a/app/unpackage/dist/dev/app-plus/app-service.js b/app/unpackage/dist/dev/app-plus/app-service.js
index 8ce6a34..b904afd 100644
--- a/app/unpackage/dist/dev/app-plus/app-service.js
+++ b/app/unpackage/dist/dev/app-plus/app-service.js
@@ -2364,6 +2364,7 @@
           staticClass: _vm._$s(36, "sc", "hall-page__body"),
           style: _vm._$s(36, "s", _vm.bodyStyle),
           attrs: { _i: 36 },
+          on: { scrolltolower: _vm.handleScrollToLower },
         },
         [
           _vm._$s(37, "i", !_vm.hasApprovedOfficial)
@@ -3304,20 +3305,24 @@
                                       ),
                                     ]
                                   ),
-                                  _c("button", {
-                                    staticClass: _vm._$s(
-                                      "102-" + $34,
-                                      "sc",
-                                      "order-card__button order-card__button--code"
-                                    ),
-                                    attrs: { _i: "102-" + $34 },
-                                    on: {
-                                      click: function ($event) {
-                                        $event.stopPropagation()
-                                        return _vm.handleShowPickupCode(item)
-                                      },
-                                    },
-                                  }),
+                                  _vm._$s("102-" + $34, "i", item.takeShopId)
+                                    ? _c("button", {
+                                        staticClass: _vm._$s(
+                                          "102-" + $34,
+                                          "sc",
+                                          "order-card__button order-card__button--code"
+                                        ),
+                                        attrs: { _i: "102-" + $34 },
+                                        on: {
+                                          click: function ($event) {
+                                            $event.stopPropagation()
+                                            return _vm.handleShowPickupCode(
+                                              item
+                                            )
+                                          },
+                                        },
+                                      })
+                                    : _vm._e(),
                                 ]
                               : _c("button", {
                                   staticClass: _vm._$s(
@@ -8622,7 +8627,7 @@
 /***/ (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 _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 93));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _vuex = __webpack_require__(/*! vuex */ 12);\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      tts: null,\n      show: false,\n      show1: false,\n      showGrabModal: false,\n      selectedGrabOrder: null,\n      selectedCancelOrder: null,\n      cancelRemain: 0,\n      selectedPickupOrder: null,\n      showPhotoDeliverPopup: false,\n      routeInfo: null,\n      statusBarHeight: 0,\n      headerHeight: 0,\n      tabbarHeight: 0,\n      scrollHeight: 0,\n      showFilterPopup: false,\n      acceptingStatus: 0,\n      showStatusPicker: false,\n      hasApprovedOfficial: false,\n      statusOptions: [{\n        text: '涓婄嚎',\n        value: 1\n      }, {\n        text: '涓嬬嚎',\n        value: 0\n      }],\n      centerUserInfo: {},\n      activeTab: 'hall',\n      expandedGoodsIds: [],\n      categoryList: [],\n      filterSections: [{\n        key: 'sort',\n        title: '鎺掑簭',\n        options: ['缁煎悎鎺掑簭', '璺濈鏈�杩�']\n      }, {\n        key: 'level',\n        title: '鐗╁搧绛夌骇',\n        options: ['涓嶉檺']\n      }, {\n        key: 'distance',\n        title: '浣嶇疆鑼冨洿',\n        options: ['涓嶉檺', '500m', '1km', '2km', '3km', '4km', '5km', '6km', '7km']\n      }],\n      selectedFilters: {\n        sort: '缁煎悎鎺掑簭',\n        level: '涓嶉檺',\n        distance: '涓嶉檺'\n      },\n      stats: [{\n        value: '-',\n        label: '鏈嶅姟鍒�'\n      }, {\n        value: '-',\n        label: '浠婃棩棰勮浣i噾'\n      }, {\n        value: '-',\n        label: '浠婃棩鎺ュ崟'\n      }],\n      tabs: [{\n        label: '鎶㈠崟澶у巺',\n        value: 'hall'\n      }, {\n        label: '寰呭彇璐�',\n        value: 'pickup'\n      }, {\n        label: '閰嶉�佷腑',\n        value: 'delivering'\n      }],\n      orderList: [],\n      pickupOrderList: [],\n      deliveringOrderList: [],\n      hallPage: 1,\n      hallPageSize: 10,\n      hallLoading: false,\n      hallHasMore: true,\n      pickupLoading: false,\n      deliveringLoading: false,\n      activeOrderCount: null\n    };\n  },\n  watch: {\n    activeTab: function activeTab(newVal) {\n      this.loadOrdersByTab(newVal);\n    }\n  },\n  onLoad: function onLoad() {\n    var systemInfo = uni.getSystemInfoSync();\n    var safeBottom = systemInfo.safeAreaInsets ? systemInfo.safeAreaInsets.bottom || 0 : 0;\n    var windowHeight = systemInfo.windowHeight || 0;\n    this.statusBarHeight = systemInfo.statusBarHeight || 0;\n    this.headerHeight = this.statusBarHeight + uni.upx2px(308);\n    this.tabbarHeight = uni.upx2px(100) + safeBottom;\n    this.scrollHeight = Math.max(windowHeight - this.headerHeight, 0);\n    if (this.userInfo.auditStatus === 99) return;\n    this.acceptingStatus = this.userInfo.acceptingStatus || 0;\n    this.loadOrdersByTab(this.activeTab);\n  },\n  onShow: function onShow() {\n    this.getCenterInfo();\n    this.getCategoryListData();\n    this.getActiveOrderCount();\n    this.getUserInfoDetail();\n  },\n  onReachBottom: function onReachBottom() {\n    if (this.acceptingStatus === 0) return;\n    if (this.activeTab === 'hall') {\n      this.hallPage++;\n      this.getHallOrders();\n    }\n  },\n  computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)(['userInfo', 'token'])), {}, {\n    displayTabs: function displayTabs() {\n      var _this = this;\n      return this.tabs.map(function (tab) {\n        if (tab.value === 'pickup') {\n          var _this$activeOrderCoun;\n          return _objectSpread(_objectSpread({}, tab), {}, {\n            count: (_this$activeOrderCoun = _this.activeOrderCount) === null || _this$activeOrderCoun === void 0 ? void 0 : _this$activeOrderCoun.grabbedCount\n          });\n        } else if (tab.value === 'delivering') {\n          var _this$activeOrderCoun2;\n          return _objectSpread(_objectSpread({}, tab), {}, {\n            count: (_this$activeOrderCoun2 = _this.activeOrderCount) === null || _this$activeOrderCoun2 === void 0 ? void 0 : _this$activeOrderCoun2.deliveringCount\n          });\n        }\n        return tab;\n      });\n    },\n    currentOrderList: function currentOrderList() {\n      var orderMap = {\n        hall: this.orderList,\n        pickup: this.pickupOrderList,\n        delivering: this.deliveringOrderList\n      };\n      return orderMap[this.activeTab] || [];\n    },\n    bodyStyle: function bodyStyle() {\n      return {\n        marginTop: this.headerHeight + 'px',\n        height: this.scrollHeight + 'px'\n      };\n    }\n  }),\n  onReady: function onReady() {\n    this.initTTS(); // 椤甸潰娓叉煋瀹屾垚鍒濆鍖栬闊砛n  },\n\n  methods: {\n    getUserInfoDetail: function getUserInfoDetail() {\n      var _this2 = this;\n      this.$u.api.verifyDetail().then(function (res) {\n        if (res.code === 200) {\n          _this2.hasApprovedOfficial = res.data.hasApprovedOfficial === true;\n        }\n      });\n    },\n    formatRemainTime: function formatRemainTime(minutes) {\n      if (!minutes) return 0;\n      if (minutes === 0) {\n        return '閰嶉�佸凡瓒呮椂';\n      }\n      if (minutes >= 60) {\n        return (minutes / 60).toFixed(2) + '灏忔椂鍐�';\n      }\n      return minutes + '鍒嗛挓鍐�';\n    },\n    getGoodsText: function getGoodsText(items, itemId) {\n      if (!items || items.length === 0) return '鏃�';\n      var text = items.map(function (i) {\n        return \"\".concat(i.name, \"*\").concat(i.quantity);\n      }).join('銆�');\n      if (text.length > 20 && !this.expandedGoodsIds.includes(itemId)) {\n        return text.substring(0, 20) + '...';\n      }\n      return text;\n    },\n    toggleGoodsExpand: function toggleGoodsExpand(id) {\n      var index = this.expandedGoodsIds.indexOf(id);\n      if (index > -1) {\n        this.expandedGoodsIds.splice(index, 1);\n      } else {\n        this.expandedGoodsIds.push(id);\n      }\n    },\n    formatDistanceParts: function formatDistanceParts(distance) {\n      if (distance === null || distance === undefined || distance === '') {\n        return {\n          value: '--',\n          unit: ''\n        };\n      }\n      if (typeof distance === 'number') {\n        if (distance >= 1000) {\n          return {\n            value: (distance / 1000).toFixed(1),\n            unit: 'km'\n          };\n        }\n        return {\n          value: String(Math.round(distance)),\n          unit: 'm'\n        };\n      }\n      var text = String(distance).trim();\n      var match = text.match(/^([\\d.]+)\\s*([a-zA-Z\\u4e00-\\u9fa5]*)$/);\n      if (match) {\n        return {\n          value: match[1],\n          unit: match[2] || ''\n        };\n      }\n      return {\n        value: text,\n        unit: ''\n      };\n    },\n    navigateToAddress: function navigateToAddress(item, type) {\n      var latitude, longitude, name, address;\n      if (type === 'deposit') {\n        latitude = item.depositLat;\n        longitude = item.depositLng;\n        name = item.depositShopName;\n        address = item.depositShopAddress;\n      } else {\n        latitude = item.takeLat;\n        longitude = item.takeLng;\n        name = item.takeName;\n        address = item.takeAddress;\n      }\n      if (!latitude || !longitude) {\n        uni.showToast({\n          title: '鍦板潃鍧愭爣缂哄け',\n          icon: 'none'\n        });\n        return;\n      }\n      uni.openLocation({\n        latitude: latitude,\n        longitude: longitude,\n        name: name,\n        address: address,\n        success: function success() {},\n        fail: function fail(err) {\n          uni.showToast({\n            title: '鎵撳紑鍦板浘澶辫触',\n            icon: 'none'\n          });\n          __f__(\"error\", 'openLocation fail:', err, \" at pages/index/index.vue:482\");\n        }\n      });\n    },\n    handleUserClick: function handleUserClick() {\n      uni.navigateTo({\n        url: '/pages/test/test'\n      });\n    },\n    getActiveOrderCount: function getActiveOrderCount() {\n      var _this3 = this;\n      this.$u.api.activeOrderCount().then(function (res) {\n        if (res.code === 200) {\n          _this3.activeOrderCount = res.data;\n        }\n      }).catch(function (err) {\n        _this3.activeOrderCount = null;\n      });\n    },\n    handleGrabOrder: function handleGrabOrder(item) {\n      __f__(\"log\", item, \" at pages/index/index.vue:503\");\n      this.selectedGrabOrder = item;\n      this.showGrabModal = true;\n    },\n    confirmGrabOrder: function confirmGrabOrder() {\n      var _this4 = this;\n      if (!this.selectedGrabOrder) return;\n      this.$u.api.grabOrder({\n        orderId: this.selectedGrabOrder.id\n      }).then(function (res) {\n        _this4.showGrabModal = false;\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鎶㈠崟鎴愬姛',\n            icon: 'success'\n          });\n          _this4.hallPage = 1;\n          _this4.hallHasMore = true;\n          _this4.orderList = [];\n          _this4.getHallOrders();\n          _this4.getActiveOrderCount();\n          _this4.getCenterInfo();\n        } else {\n          uni.showToast({\n            title: res.message || '鎶㈠崟澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function () {\n        _this4.showGrabModal = false;\n      });\n    },\n    handleCancelOrder: function handleCancelOrder(item) {\n      var _this5 = this;\n      this.selectedCancelOrder = item;\n      this.$u.api.cancelLimit().then(function (res) {\n        if (res.code === 200) {\n          _this5.cancelRemain = res.data.remain;\n        }\n      }).finally(function () {\n        _this5.show = true;\n      });\n    },\n    confirmCancelOrder: function confirmCancelOrder() {\n      var _this6 = this;\n      if (!this.selectedCancelOrder) return;\n      this.$u.api.cancelOrder({\n        orderId: this.selectedCancelOrder.id\n      }).then(function (res) {\n        _this6.show = false;\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鍙栨秷鎴愬姛',\n            icon: 'success'\n          });\n          _this6.getPickupOrders();\n          _this6.getCenterInfo();\n          _this6.getActiveOrderCount();\n        } else {\n          uni.showToast({\n            title: res.message || '鍙栨秷澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function () {\n        _this6.show = false;\n      });\n    },\n    handleCall: function handleCall(item) {\n      if (item.contactPhone) {\n        uni.makePhoneCall({\n          phoneNumber: item.contactPhone\n        });\n      }\n    },\n    handleShowPickupCode: function handleShowPickupCode(item) {\n      this.selectedPickupOrder = item;\n      this.show1 = true;\n    },\n    goToOrderDetail: function goToOrderDetail(item, index) {\n      var url = \"/pages/order-detail/order-detail?id=\".concat(item.id);\n      if (this.activeTab === 'pickup' || this.activeTab === 'delivering') {\n        url += \"&index=\".concat(index + 1);\n      }\n      uni.navigateTo({\n        url: url\n      });\n    },\n    getCenterInfo: function getCenterInfo() {\n      var _this7 = this;\n      this.$u.api.centerInfo().then(function (res) {\n        if (res.code === 200) {\n          _this7.acceptingStatus = res.data.acceptingStatus;\n          _this7.centerUserInfo = {\n            fullImgUrl: res.data.fullImgUrl,\n            name: res.data.name\n          };\n          _this7.stats = [{\n            value: res.data.score,\n            label: '鏈嶅姟鍒�'\n          }, {\n            value: (res.data.todayCommission / 100 || 0).toFixed(2),\n            label: '浠婃棩棰勮浣i噾'\n          }, {\n            value: res.data.todayOrderCount,\n            label: '浠婃棩鎺ュ崟'\n          }];\n        }\n      });\n    },\n    getCategoryListData: function getCategoryListData() {\n      var _this8 = this;\n      this.$u.api.getCategoryList({\n        type: 3\n      }).then(function (res) {\n        if (res.code === 200) {\n          _this8.categoryList = res.data || [];\n          _this8.filterSections.forEach(function (section) {\n            if (section.key === 'level') {\n              section.options = ['涓嶉檺'].concat((0, _toConsumableArray2.default)(_this8.categoryList.map(function (item) {\n                return item.name;\n              })));\n            }\n          });\n        }\n      });\n    },\n    loadOrdersByTab: function loadOrdersByTab(tab) {\n      if (this.userInfo.auditStatus === 99) return;\n      if (this.acceptingStatus === 0) return;\n      if (tab === 'hall') {\n        this.hallPage = 1;\n        this.hallHasMore = true;\n        this.orderList = [];\n        this.getHallOrders();\n      } else if (tab === 'pickup') {\n        this.pickupOrderList = [];\n        this.getPickupOrders();\n      } else if (tab === 'delivering') {\n        this.deliveringOrderList = [];\n        this.getDeliveringOrders();\n      }\n    },\n    getHallOrders: function getHallOrders() {\n      var _this9 = this;\n      if (this.acceptingStatus === 0) return;\n      if (this.hallLoading || !this.hallHasMore) {\n        return;\n      }\n      this.hallLoading = true;\n      var distance = null;\n      if (this.selectedFilters.distance !== '涓嶉檺') {\n        var distanceText = this.selectedFilters.distance;\n        if (distanceText.includes('km')) {\n          distance = parseInt(distanceText) * 1000;\n        } else {\n          distance = parseInt(distanceText);\n        }\n      }\n      var sortTypeMap = {\n        '缁煎悎鎺掑簭': 1,\n        '璺濈鏈�杩�': 2\n      };\n      var sortType = this.selectedFilters.sort !== '涓嶉檺' ? sortTypeMap[this.selectedFilters.sort] || null : null;\n      var gradeId = null;\n      if (this.selectedFilters.level !== '涓嶉檺') {\n        var selectedCategory = this.categoryList.find(function (item) {\n          return item.name === _this9.selectedFilters.level;\n        });\n        if (selectedCategory) {\n          gradeId = selectedCategory.id;\n        }\n      }\n      __f__(\"log\", '鎺ュ崟澶у巺:', {\n        distance: distance,\n        gradeId: gradeId,\n        sortType: sortType\n      }, \" at pages/index/index.vue:655\");\n      this.$u.api.grabOrderHall({\n        capacity: this.hallPageSize,\n        page: this.hallPage,\n        model: {\n          distance: distance,\n          gradeId: gradeId,\n          sortType: sortType\n        }\n      }).then(function (res) {\n        __f__(\"log\", '鎺ュ崟澶у巺', res, \" at pages/index/index.vue:665\");\n        _this9.hallLoading = false;\n        if (res.code === 200) {\n          var list = res.data.records || [];\n          _this9.orderList = _this9.hallPage === 1 ? list : _this9.orderList.concat(list);\n          _this9.hallHasMore = list.length >= _this9.hallPageSize;\n        }\n      }).catch(function (err) {\n        _this9.hallLoading = false;\n      });\n    },\n    getPickupOrders: function getPickupOrders() {\n      var _this10 = this;\n      if (this.acceptingStatus === 0) return;\n      if (this.pickupLoading) return;\n      this.pickupLoading = true;\n      this.$u.api.activeOrders({\n        status: 3\n      }).then(function (res) {\n        __f__(\"log\", '寰呭彇璐�:', res, \" at pages/index/index.vue:682\");\n        _this10.pickupLoading = false;\n        if (res.code === 200) {\n          _this10.pickupOrderList = res.data.records || res.data || [];\n        }\n      }).catch(function (err) {\n        _this10.pickupLoading = false;\n      });\n    },\n    getDeliveringOrders: function getDeliveringOrders() {\n      var _this11 = this;\n      if (this.acceptingStatus === 0) return;\n      if (this.deliveringLoading) return;\n      this.deliveringLoading = true;\n      this.$u.api.activeOrders({\n        status: 4\n      }).then(function (res) {\n        __f__(\"log\", '閰嶉�佷腑:', res, \" at pages/index/index.vue:697\");\n        _this11.deliveringLoading = false;\n        if (res.code === 200) {\n          _this11.deliveringOrderList = res.data || [];\n        }\n      }).catch(function (err) {\n        _this11.deliveringLoading = false;\n      });\n    },\n    openStatusPicker: function openStatusPicker() {\n      this.showStatusPicker = true;\n    },\n    confirmStatus: function confirmStatus(e) {\n      var _this12 = this;\n      this.showStatusPicker = false;\n      var selectedValue = e.value[0];\n      this.$u.api.updateAcceptingStatus({\n        status: selectedValue.value\n      }).then(function (res) {\n        if (res.code === 200) {\n          _this12.acceptingStatus = selectedValue.value;\n          _this12.getCenterInfo();\n          if (_this12.acceptingStatus === 0) {\n            _this12.orderList = [];\n            _this12.pickupOrderList = [];\n            _this12.deliveringOrderList = [];\n          } else {\n            if (_this12.activeTab === 'pickup') {\n              _this12.getPickupOrders();\n            } else if (_this12.activeTab === 'delivering') {\n              _this12.getDeliveringOrders();\n            } else {\n              _this12.hallPage = 1;\n              _this12.hallHasMore = true;\n              _this12.orderList = [];\n              _this12.getHallOrders();\n            }\n          }\n        }\n      });\n    },\n    toDriverCertification: function toDriverCertification() {\n      uni.navigateTo({\n        url: '/pages/driver-certification/driver-certification'\n      });\n    },\n    toggleFilterPopup: function toggleFilterPopup(show) {\n      this.showFilterPopup = show;\n    },\n    selectFilter: function selectFilter(key, option) {\n      this.selectedFilters = _objectSpread(_objectSpread({}, this.selectedFilters), {}, (0, _defineProperty2.default)({}, key, option));\n    },\n    resetFilters: function resetFilters() {\n      this.showFilterPopup = false;\n      if (this.userInfo.auditStatus === 99) return;\n      this.selectedFilters = {\n        sort: '缁煎悎鎺掑簭',\n        level: '涓嶉檺',\n        distance: '涓嶉檺'\n      };\n      if (this.activeTab === 'hall') {\n        this.hallPage = 1;\n        this.hallHasMore = true;\n        this.orderList = [];\n        this.getHallOrders();\n      }\n    },\n    confirmFilters: function confirmFilters() {\n      this.showFilterPopup = false;\n      if (this.userInfo.auditStatus === 99) {\n        this.hallHasMore = true;\n        return;\n      }\n      if (this.activeTab === 'hall') {\n        this.hallPage = 1;\n        this.hallHasMore = true;\n        this.orderList = [];\n        this.getHallOrders();\n      }\n    },\n    initTTS: function initTTS() {\n      var _this13 = this;\n      if (uni.getSystemInfoSync().platform !== 'android') {\n        __f__(\"log\", '浠呮敮鎸佸畨鍗�', \" at pages/index/index.vue:787\");\n        return;\n      }\n      try {\n        // 瀵煎叆瀹夊崜鍘熺敓绫籠n        var TextToSpeech = plus.android.importClass('android.speech.tts.TextToSpeech');\n        var Locale = plus.android.importClass('java.util.Locale');\n\n        // 鍒涘缓TTS\n        this.tts = new TextToSpeech(plus.android.runtimeMainActivity(), {\n          onInit: function onInit(status) {\n            if (status == 0) {\n              // 璁剧疆涓枃\n              _this13.tts.setLanguage(Locale.CHINA);\n              __f__(\"log\", '璇煶鍒濆鍖栨垚鍔�', \" at pages/index/index.vue:802\");\n            }\n          }\n        });\n      } catch (e) {\n        __f__(\"log\", '鍒濆鍖栧け璐�', e, \" at pages/index/index.vue:807\");\n      }\n    },\n    speak: function speak(text) {\n      if (!this.tts) {\n        uni.showToast({\n          title: '璇煶鏈噯澶囧ソ',\n          icon: 'none'\n        });\n        return;\n      }\n      try {\n        // 瀹夊崜鍘熺敓鎾姤锛圦UEUE_FLUSH = 绔嬪嵆鎾姤锛屾墦鏂笂涓�鏉★級\n        this.tts.speak(text, 0, null);\n      } catch (err) {\n        __f__(\"log\", '鎾姤澶辫触', err, \" at pages/index/index.vue:824\");\n      }\n    },\n    stopSpeak: function stopSpeak() {\n      if (this.tts) this.tts.stop();\n    }\n  },\n  onUnload: function onUnload() {\n    if (this.tts) {\n      this.tts.stop();\n      this.tts.shutdown();\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJ0dHMiLCJzaG93Iiwic2hvdzEiLCJzaG93R3JhYk1vZGFsIiwic2VsZWN0ZWRHcmFiT3JkZXIiLCJzZWxlY3RlZENhbmNlbE9yZGVyIiwiY2FuY2VsUmVtYWluIiwic2VsZWN0ZWRQaWNrdXBPcmRlciIsInNob3dQaG90b0RlbGl2ZXJQb3B1cCIsInJvdXRlSW5mbyIsInN0YXR1c0JhckhlaWdodCIsImhlYWRlckhlaWdodCIsInRhYmJhckhlaWdodCIsInNjcm9sbEhlaWdodCIsInNob3dGaWx0ZXJQb3B1cCIsImFjY2VwdGluZ1N0YXR1cyIsInNob3dTdGF0dXNQaWNrZXIiLCJoYXNBcHByb3ZlZE9mZmljaWFsIiwic3RhdHVzT3B0aW9ucyIsInRleHQiLCJ2YWx1ZSIsImNlbnRlclVzZXJJbmZvIiwiYWN0aXZlVGFiIiwiZXhwYW5kZWRHb29kc0lkcyIsImNhdGVnb3J5TGlzdCIsImZpbHRlclNlY3Rpb25zIiwia2V5IiwidGl0bGUiLCJvcHRpb25zIiwic2VsZWN0ZWRGaWx0ZXJzIiwic29ydCIsImxldmVsIiwiZGlzdGFuY2UiLCJzdGF0cyIsImxhYmVsIiwidGFicyIsIm9yZGVyTGlzdCIsInBpY2t1cE9yZGVyTGlzdCIsImRlbGl2ZXJpbmdPcmRlckxpc3QiLCJoYWxsUGFnZSIsImhhbGxQYWdlU2l6ZSIsImhhbGxMb2FkaW5nIiwiaGFsbEhhc01vcmUiLCJwaWNrdXBMb2FkaW5nIiwiZGVsaXZlcmluZ0xvYWRpbmciLCJhY3RpdmVPcmRlckNvdW50Iiwid2F0Y2giLCJvbkxvYWQiLCJvblNob3ciLCJvblJlYWNoQm90dG9tIiwiY29tcHV0ZWQiLCJkaXNwbGF5VGFicyIsImNvdW50IiwiY3VycmVudE9yZGVyTGlzdCIsImhhbGwiLCJwaWNrdXAiLCJkZWxpdmVyaW5nIiwiYm9keVN0eWxlIiwibWFyZ2luVG9wIiwiaGVpZ2h0Iiwib25SZWFkeSIsIm1ldGhvZHMiLCJnZXRVc2VySW5mb0RldGFpbCIsImZvcm1hdFJlbWFpblRpbWUiLCJnZXRHb29kc1RleHQiLCJ0b2dnbGVHb29kc0V4cGFuZCIsImZvcm1hdERpc3RhbmNlUGFydHMiLCJ1bml0IiwibmF2aWdhdGVUb0FkZHJlc3MiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsIm5hbWUiLCJhZGRyZXNzIiwidW5pIiwiaWNvbiIsInN1Y2Nlc3MiLCJmYWlsIiwiaGFuZGxlVXNlckNsaWNrIiwidXJsIiwiZ2V0QWN0aXZlT3JkZXJDb3VudCIsImhhbmRsZUdyYWJPcmRlciIsImNvbmZpcm1HcmFiT3JkZXIiLCJvcmRlcklkIiwiaGFuZGxlQ2FuY2VsT3JkZXIiLCJjb25maXJtQ2FuY2VsT3JkZXIiLCJoYW5kbGVDYWxsIiwicGhvbmVOdW1iZXIiLCJoYW5kbGVTaG93UGlja3VwQ29kZSIsImdvVG9PcmRlckRldGFpbCIsImdldENlbnRlckluZm8iLCJmdWxsSW1nVXJsIiwiZ2V0Q2F0ZWdvcnlMaXN0RGF0YSIsInR5cGUiLCJzZWN0aW9uIiwibG9hZE9yZGVyc0J5VGFiIiwiZ2V0SGFsbE9yZGVycyIsImdyYWRlSWQiLCJzb3J0VHlwZSIsImNhcGFjaXR5IiwicGFnZSIsIm1vZGVsIiwiZ2V0UGlja3VwT3JkZXJzIiwic3RhdHVzIiwiZ2V0RGVsaXZlcmluZ09yZGVycyIsIm9wZW5TdGF0dXNQaWNrZXIiLCJjb25maXJtU3RhdHVzIiwidG9Ecml2ZXJDZXJ0aWZpY2F0aW9uIiwidG9nZ2xlRmlsdGVyUG9wdXAiLCJzZWxlY3RGaWx0ZXIiLCJyZXNldEZpbHRlcnMiLCJjb25maXJtRmlsdGVycyIsImluaXRUVFMiLCJvbkluaXQiLCJzcGVhayIsInN0b3BTcGVhayIsIm9uVW5sb2FkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFzUUE7QUFBQTtBQUFBO0FBQUEsZUFDQTtFQUNBQTtJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDLGdCQUNBO1FBQUFDO1FBQUFDO01BQUEsR0FDQTtRQUFBRDtRQUFBQztNQUFBLEVBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUMsaUJBQ0E7UUFBQUM7UUFBQUM7UUFBQUM7TUFBQSxHQUNBO1FBQUFGO1FBQUFDO1FBQUFDO01BQUEsR0FDQTtRQUFBRjtRQUFBQztRQUFBQztNQUFBLEVBQ0E7TUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQyxRQUNBO1FBQUFiO1FBQUFjO01BQUEsR0FDQTtRQUFBZDtRQUFBYztNQUFBLEdBQ0E7UUFBQWQ7UUFBQWM7TUFBQSxFQUNBO01BQ0FDLE9BQ0E7UUFBQUQ7UUFBQWQ7TUFBQSxHQUNBO1FBQUFjO1FBQUFkO01BQUEsR0FDQTtRQUFBYztRQUFBZDtNQUFBLEVBQ0E7TUFDQWdCO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUVBQztJQUNBeEI7TUFDQTtJQUNBO0VBQ0E7RUFFQXlCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFDQTtFQUVBQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7RUFFQUM7SUFDQTtJQUNBO01BQ0E7TUFDQTtJQUNBO0VBQ0E7RUFFQUMsMENBQ0E7SUFFQUM7TUFBQTtNQUNBO1FBQ0E7VUFBQTtVQUNBO1lBQUFDO1VBQUE7UUFDQTtVQUFBO1VBQ0E7WUFBQUE7VUFBQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUFDO01BQ0E7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUVBO0lBQ0E7SUFFQUM7TUFDQTtRQUNBQztRQUNBQztNQUNBO0lBQ0E7RUFBQSxFQUNBO0VBRUFDO0lBQ0E7RUFDQTs7RUFFQUM7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7UUFDQTtNQUNBO01BQ0E7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7UUFBQTtNQUFBO01BQ0E7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUFDO01BQ0E7UUFDQTtVQUFBOUM7VUFBQStDO1FBQUE7TUFDQTtNQUVBO1FBQ0E7VUFDQTtZQUFBL0M7WUFBQStDO1VBQUE7UUFDQTtRQUNBO1VBQUEvQztVQUFBK0M7UUFBQTtNQUNBO01BRUE7TUFDQTtNQUNBO1FBQ0E7VUFDQS9DO1VBQ0ErQztRQUNBO01BQ0E7TUFFQTtRQUFBL0M7UUFBQStDO01BQUE7SUFDQTtJQUVBQztNQUNBO01BQ0E7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtRQUNBSDtRQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0E7UUFDQUM7VUFBQTlDO1VBQUErQztRQUFBO1FBQ0E7TUFDQTtNQUNBRDtRQUNBSjtRQUNBQztRQUNBQztRQUNBQztRQUNBRztRQUNBQztVQUNBSDtZQUFBOUM7WUFBQStDO1VBQUE7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBRztNQUNBSjtRQUNBSztNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUVBQztNQUFBO01BQ0E7TUFDQTtRQUFBQztNQUFBO1FBQ0E7UUFDQTtVQUNBVDtZQUFBOUM7WUFBQStDO1VBQUE7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7UUFDQTtVQUNBRDtZQUFBOUM7WUFBQStDO1VBQUE7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUFTO01BQUE7TUFDQTtNQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFBQTtNQUNBO01BQ0E7UUFBQUY7TUFBQTtRQUNBO1FBQ0E7VUFDQVQ7WUFBQTlDO1lBQUErQztVQUFBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7VUFDQUQ7WUFBQTlDO1lBQUErQztVQUFBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBVztNQUNBO1FBQ0FaO1VBQ0FhO1FBQ0E7TUFDQTtJQUNBO0lBRUFDO01BQ0E7TUFDQTtJQUNBO0lBRUFDO01BQ0E7TUFDQTtRQUNBVjtNQUNBO01BQ0FMO1FBQUFLO01BQUE7SUFDQTtJQUVBVztNQUFBO01BQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQUM7WUFDQW5CO1VBQ0E7VUFDQSxnQkFDQTtZQUFBbkQ7WUFBQWM7VUFBQSxHQUNBO1lBQUFkO1lBQUFjO1VBQUEsR0FDQTtZQUFBZDtZQUFBYztVQUFBLEVBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQXlEO01BQUE7TUFDQTtRQUFBQztNQUFBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FDQUM7Z0JBQUE7Y0FBQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFDQTtNQUNBO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFBQTtNQUNBO01BQ0E7UUFDQTtNQUNBO01BQ0E7TUFFQTtNQUNBO1FBQ0E7UUFDQTtVQUNBL0Q7UUFDQTtVQUNBQTtRQUNBO01BQ0E7TUFFQTtRQUNBO1FBQ0E7TUFDQTtNQUNBO01BRUE7TUFDQTtRQUNBO1VBQUE7UUFBQTtRQUNBO1VBQ0FnRTtRQUNBO01BQ0E7TUFFQTtRQUFBaEU7UUFBQWdFO1FBQUFDO01BQUE7TUFDQTtRQUNBQztRQUNBQztRQUNBQztVQUNBcEU7VUFDQWdFO1VBQ0FDO1FBQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtVQUNBO1VBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUk7TUFBQTtNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQUFDO01BQUE7UUFDQTtRQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFBQTtNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQUFEO01BQUE7UUFDQTtRQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUU7TUFDQTtJQUNBO0lBRUFDO01BQUE7TUFDQTtNQUNBO01BQ0E7UUFBQUg7TUFBQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1lBQ0E7WUFDQTtZQUNBO1VBQ0E7WUFDQTtjQUNBO1lBQ0E7Y0FDQTtZQUNBO2NBQ0E7Y0FDQTtjQUNBO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUFJO01BQ0FqQztRQUNBSztNQUNBO0lBQ0E7SUFFQTZCO01BQ0E7SUFDQTtJQUVBQztNQUNBLHVEQUNBLDZEQUNBbEYsYUFDQTtJQUNBO0lBRUFtRjtNQUNBO01BQ0E7TUFDQTtRQUNBL0U7UUFDQUM7UUFDQUM7TUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE4RTtNQUNBO01BQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBQztNQUFBO01BQ0E7UUFDQTtRQUNBO01BQ0E7TUFFQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBO1VBQ0FDO1lBQ0E7Y0FDQTtjQUNBO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO1FBQ0F4QztVQUNBOUM7VUFDQStDO1FBQ0E7UUFDQTtNQUNBO01BRUE7UUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQXdDO01BQ0E7SUFDQTtFQUNBO0VBRUFDO0lBQ0E7TUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiOTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3IGNsYXNzPVwiaGFsbC1wYWdlXCI+XG5cdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX2hlYWRlclwiIDpzdHlsZT1cInsgcGFkZGluZ1RvcDogc3RhdHVzQmFySGVpZ2h0ICsgJ3B4JyB9XCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cImhhbGwtcGFnZV9fdXNlci1yb3dcIiBAY2xpY2s9XCJoYW5kbGVVc2VyQ2xpY2tcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX3VzZXJcIj5cblx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJoYWxsLXBhZ2VfX2F2YXRhclwiIDpzcmM9XCJjZW50ZXJVc2VySW5mby5mdWxsSW1nVXJsIHx8ICcvc3RhdGljL2ltYWdlL2ljX3BpY0AyeC5wbmcnXCIgbW9kZT1cImFzcGVjdEZpbGxcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiaGFsbC1wYWdlX19uYW1lXCI+e3sgY2VudGVyVXNlckluZm8ubmFtZSB9fTwvdGV4dD5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImhhbGwtcGFnZV9fc3RhdHVzXCIgdi1pZj1cImhhc0FwcHJvdmVkT2ZmaWNpYWxcIiBAY2xpY2s9XCJvcGVuU3RhdHVzUGlja2VyXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX3N0YXR1cy1kb3RcIiA6Y2xhc3M9XCJ7ICdoYWxsLXBhZ2VfX3N0YXR1cy1kb3QtLW9mZmxpbmUnOiBhY2NlcHRpbmdTdGF0dXMgPT09IDAgfVwiPjwvdmlldz5cblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImhhbGwtcGFnZV9fc3RhdHVzLXRleHRcIj57eyBhY2NlcHRpbmdTdGF0dXMgPT09IDEgPyAn5o6l5Y2V5LitJyA6ICflt7LkuIvnur8nIH19PC90ZXh0PlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiaGFsbC1wYWdlX19zdGF0dXMtYXJyb3dcIj7ilrw8L3RleHQ+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX3VzZXJcIiBzdHlsZT1cIm9wYWNpdHk6IDA7XCI+XHRcblx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJoYWxsLXBhZ2VfX2F2YXRhclwiIDpzcmM9XCJjZW50ZXJVc2VySW5mby5mdWxsSW1nVXJsIHx8ICcvc3RhdGljL2ltYWdlL2ljX3BpY0AyeC5wbmcnXCIgbW9kZT1cImFzcGVjdEZpbGxcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiaGFsbC1wYWdlX19uYW1lXCI+e3sgY2VudGVyVXNlckluZm8ubmFtZSB9fTwvdGV4dD5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXG5cdFx0XHQ8dmlldyBjbGFzcz1cImhhbGwtcGFnZV9fc3RhdHNcIj5cblx0XHRcdFx0PHZpZXcgdi1mb3I9XCJpdGVtIGluIHN0YXRzXCIgOmtleT1cIml0ZW0ubGFiZWxcIiBjbGFzcz1cImhhbGwtcGFnZV9fc3RhdC1pdGVtXCI+XG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJoYWxsLXBhZ2VfX3N0YXQtdmFsdWVcIj57eyBoYXNBcHByb3ZlZE9mZmljaWFsID8gaXRlbS52YWx1ZSA6ICctJyB9fTwvdGV4dD5cblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImhhbGwtcGFnZV9fc3RhdC1sYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3RleHQ+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblxuXHRcdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX3RhYnNcIj5cblx0XHRcdFx0PHZpZXcgdi1mb3I9XCJ0YWIgaW4gZGlzcGxheVRhYnNcIiA6a2V5PVwidGFiLnZhbHVlXCIgY2xhc3M9XCJoYWxsLXBhZ2VfX3RhYlwiIDpjbGFzcz1cInsgJ2hhbGwtcGFnZV9fdGFiLS1hY3RpdmUnOiBhY3RpdmVUYWIgPT09IHRhYi52YWx1ZSB9XCIgQGNsaWNrPVwiYWN0aXZlVGFiID0gdGFiLnZhbHVlXCI+XG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJoYWxsLXBhZ2VfX3RhYi10ZXh0XCI+e3sgdGFiLmxhYmVsIH19PC90ZXh0PlxuXHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJ0YWIuY291bnRcIiBjbGFzcz1cImhhbGwtcGFnZV9fdGFiLWNvdW50XCI+e3sgaGFzQXBwcm92ZWRPZmZpY2lhbCA/IHRhYi5jb3VudCA6ICcnIH19PC90ZXh0PlxuXHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJhY3RpdmVUYWIgPT09IHRhYi52YWx1ZVwiIGNsYXNzPVwiaGFsbC1wYWdlX190YWItbGluZVwiPjwvdmlldz5cblx0XHRcdFx0PC92aWV3Plx0XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaGFsbC1wYWdlX19maWx0ZXJcIiBAY2xpY2s9XCJ0b2dnbGVGaWx0ZXJQb3B1cCh0cnVlKVwiPlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiaGFsbC1wYWdlX19maWx0ZXItdGV4dFwiIDpjbGFzcz1cInsgJ2hhbGwtcGFnZV9fZmlsdGVyLXRleHQtLWFjdGl2ZSc6IHNob3dGaWx0ZXJQb3B1cCB9XCI+562b6YCJPC90ZXh0PlxuXHRcdFx0XHRcdDxpbWFnZSA6c3JjPVwic2hvd0ZpbHRlclBvcHVwID8gJy9zdGF0aWMvaW1hZ2UvaWNfc2hhaXh1YW5fc2VsQDJ4LnBuZycgOiAnL3N0YXRpYy9pbWFnZS9pY19zaGFpeHVhbkAyeC5wbmcnXCIgbW9kZT1cIndpZHRoRml4XCIgY2xhc3M9XCJoYWxsLXBhZ2VfX2ZpbHRlci1pY29uXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblxuXHRcdDx2aWV3IHYtaWY9XCJzaG93RmlsdGVyUG9wdXBcIiBjbGFzcz1cImZpbHRlci1wb3B1cFwiIDpzdHlsZT1cInsgdG9wOiBoZWFkZXJIZWlnaHQgKyAncHgnLCBib3R0b206IHRhYmJhckhlaWdodCArICdweCcgfVwiIEBjbGljaz1cInRvZ2dsZUZpbHRlclBvcHVwKGZhbHNlKVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmaWx0ZXItcG9wdXBfX3BhbmVsXCIgQGNsaWNrLnN0b3A+XG5cdFx0XHRcdDxzY3JvbGwtdmlldyBjbGFzcz1cImZpbHRlci1wb3B1cF9fY29udGVudFwiIHNjcm9sbC15PlxuXHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwic2VjdGlvbiBpbiBmaWx0ZXJTZWN0aW9uc1wiIDprZXk9XCJzZWN0aW9uLmtleVwiIGNsYXNzPVwiZmlsdGVyLXBvcHVwX19zZWN0aW9uXCI+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImZpbHRlci1wb3B1cF9fdGl0bGVcIj57eyBzZWN0aW9uLnRpdGxlIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaWx0ZXItcG9wdXBfX29wdGlvbnNcIj5cblx0XHRcdFx0XHRcdFx0PHZpZXdcblx0XHRcdFx0XHRcdFx0XHR2LWZvcj1cIm9wdGlvbiBpbiBzZWN0aW9uLm9wdGlvbnNcIlxuXHRcdFx0XHRcdFx0XHRcdDprZXk9XCJvcHRpb25cIlxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZmlsdGVyLXBvcHVwX19vcHRpb25cIlxuXHRcdFx0XHRcdFx0XHRcdDpjbGFzcz1cInsgJ2ZpbHRlci1wb3B1cF9fb3B0aW9uLS1hY3RpdmUnOiBzZWxlY3RlZEZpbHRlcnNbc2VjdGlvbi5rZXldID09PSBvcHRpb24gfVwiXG5cdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwic2VsZWN0RmlsdGVyKHNlY3Rpb24ua2V5LCBvcHRpb24pXCJcblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZmlsdGVyLXBvcHVwX19vcHRpb24tdGV4dFwiPnt7IG9wdGlvbiB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC9zY3JvbGwtdmlldz5cblxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZpbHRlci1wb3B1cF9fYWN0aW9uc1wiPlxuXHRcdFx0XHRcdDxidXR0b24gY2xhc3M9XCJmaWx0ZXItcG9wdXBfX2J1dHRvbiBmaWx0ZXItcG9wdXBfX2J1dHRvbi0tcmVzZXRcIiBob3Zlci1jbGFzcz1cImZpbHRlci1wb3B1cF9fYnV0dG9uLS1ob3ZlclwiIEBjbGljaz1cInJlc2V0RmlsdGVyc1wiPumHjee9rjwvYnV0dG9uPlxuXHRcdFx0XHRcdDxidXR0b24gY2xhc3M9XCJmaWx0ZXItcG9wdXBfX2J1dHRvbiBmaWx0ZXItcG9wdXBfX2J1dHRvbi0tY29uZmlybVwiIGhvdmVyLWNsYXNzPVwiZmlsdGVyLXBvcHVwX19idXR0b24tLWhvdmVyXCIgQGNsaWNrPVwiY29uZmlybUZpbHRlcnNcIj7noa7orqQ8L2J1dHRvbj5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblxuXHRcdDxzY3JvbGwtdmlldyBjbGFzcz1cImhhbGwtcGFnZV9fYm9keVwiIHNjcm9sbC15IDpzdHlsZT1cImJvZHlTdHlsZVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX3ZlcmlmaWVkXCIgdi1pZj1cIiFoYXNBcHByb3ZlZE9mZmljaWFsXCI+XG5cdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltYWdlL2RlZmF1bHRfdW52ZXJpZmllZEAyeC5wbmdcIiBtb2RlPVwid2lkdGhGaXhcIj48L2ltYWdlPlxuXHRcdFx0XHQ8YnV0dG9uIEBjbGljaz1cInRvRHJpdmVyQ2VydGlmaWNhdGlvblwiPuWOu+iupOivgTwvYnV0dG9uPlxuXHRcdFx0PC92aWV3PlxuXHRcdFx0PHZpZXcgdi1lbHNlLWlmPVwiaGFzQXBwcm92ZWRPZmZpY2lhbCAmJiBhY2NlcHRpbmdTdGF0dXMgPT09IDEgJiYgY3VycmVudE9yZGVyTGlzdC5sZW5ndGhcIiBjbGFzcz1cImhhbGwtcGFnZV9fbGlzdFwiPlxuXHRcdFx0XHQ8dmlldyB2LWZvcj1cIihpdGVtLCBpbmRleCkgaW4gY3VycmVudE9yZGVyTGlzdFwiIDprZXk9XCJpdGVtLmlkXCIgY2xhc3M9XCJvcmRlci1jYXJkXCIgQGNsaWNrPVwiZ29Ub09yZGVyRGV0YWlsKGl0ZW0sIGluZGV4KVwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9faGVhZFwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX190aW1lXCIgdi1pZj1cIml0ZW0ucmVtYWluTWludXRlcyA+IDBcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX190aW1lLW1haW5cIj57eyBmb3JtYXRSZW1haW5UaW1lKGl0ZW0ucmVtYWluTWludXRlcykgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fdGltZS1zdWJcIj7pgIHovr48L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3RpbWVcIiB2LWVsc2U+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fdGltZS1tYWluXCI+6YWN6YCB5bey6LaF5pe277yM6K+35bC95b+r6YCB6L6+PC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cImFjdGl2ZVRhYiA9PT0gJ2hhbGwnXCIgY2xhc3M9XCJvcmRlci1jYXJkX19wcmljZS13cmFwXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fcHJpY2VcIj7CpXt7IGl0ZW0ucGxhdGZvcm1SZXdhcmRBbW91bnQgPyAoaXRlbS5kcml2ZXJGZWUgKyBpdGVtLnBsYXRmb3JtUmV3YXJkQW1vdW50KSAvIDEwMCA6IChpdGVtLmRyaXZlckZlZSAvIDEwMCkudG9GaXhlZCgyKSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3IHYtZWxzZSBjbGFzcz1cIm9yZGVyLWNhcmRfX3ByaWNlLXdyYXAgb3JkZXItY2FyZF9fcHJpY2Utd3JhcC0tc2VyaWFsLW9ubHlcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cIml0ZW0uY29kZVwiIGNsYXNzPVwib3JkZXItY2FyZF9fc2VyaWFsXCI+I3t7IGluZGV4ICsgMSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX21ldGFcIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fdGFnc1wiPlxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugdi1pZj1cIml0ZW0uaXNVcmdlbnQgPT09IDFcIiBjbGFzcz1cIm9yZGVyLWNhcmRfX3RhZy1pbWdcIiBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2ppc3VkYUAyeC5wbmdcIiBtb2RlPVwid2lkdGhGaXhcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugdi1lbHNlIGNsYXNzPVwib3JkZXItY2FyZF9fdGFnLWltZ1wiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfYmlhb3N1ZGFAMngucG5nXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cIml0ZW0uaXNWYWx1YWJsZSA9PT0gdHJ1ZVwiIGNsYXNzPVwib3JkZXItY2FyZF9fdGFnIG9yZGVyLWNhcmRfX3RhZy0tb3JhbmdlXCI+6LS16YeN54mp5ZOBPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWVsc2UgY2xhc3M9XCJvcmRlci1jYXJkX190YWcgb3JkZXItY2FyZF9fdGFnLS1ibHVlXCI+e3sgaXRlbS5nb29kTGV2ZWxOYW1lIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cImFjdGl2ZVRhYiA9PT0gJ2hhbGwnICYmIGl0ZW0ucGxhdGZvcm1SZXdhcmRBbW91bnRcIiBjbGFzcz1cIm9yZGVyLWNhcmRfX2V4dHJhXCI+5ZCr5Yqg5oClwqV7eyAoaXRlbS5wbGF0Zm9ybVJld2FyZEFtb3VudCAvIDEwMCkudG9GaXhlZCgyKSB9fTwvdGV4dD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlXCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLXNpZGVcIj5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19kaXN0YW5jZS1ibG9jayBvcmRlci1jYXJkX19kaXN0YW5jZS1ibG9jay0tdG9wXCI+XG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19kaXN0YW5jZS12YWx1ZVwiPnt7IGZvcm1hdERpc3RhbmNlUGFydHMoaXRlbS5kZXBvc2l0RGlzdGFuY2UpLnZhbHVlIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fZGlzdGFuY2UtdW5pdFwiPnt7IGZvcm1hdERpc3RhbmNlUGFydHMoaXRlbS5kZXBvc2l0RGlzdGFuY2UpLnVuaXQgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19saW5lXCI+PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX2Rpc3RhbmNlLWJsb2NrIG9yZGVyLWNhcmRfX2Rpc3RhbmNlLWJsb2NrLS1ib3R0b21cIj5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX2Rpc3RhbmNlLXZhbHVlXCI+e3sgZm9ybWF0RGlzdGFuY2VQYXJ0cyhpdGVtLnRha2VEaXN0YW5jZSkudmFsdWUgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19kaXN0YW5jZS11bml0XCI+e3sgZm9ybWF0RGlzdGFuY2VQYXJ0cyhpdGVtLnRha2VEaXN0YW5jZSkudW5pdCB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS1tYWluXCI+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtaXRlbVwiPlxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtdGV4dHNcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtdGl0bGVcIj48dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLWJhZGdlLXRleHQgb3JkZXItY2FyZF9fcm91dGUtYmFkZ2UtdGV4dC0tdGFrZVwiPuWPljwvdGV4dD57eyBpdGVtLmRlcG9zaXRTaG9wTmFtZSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtZGVzY1wiPnt7IGl0ZW0uZGVwb3NpdFNob3BBZGRyZXNzIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWFnZS9pY19kYW9oYW5nQDJ4LnBuZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiIGNsYXNzPVwib3JkZXItY2FyZF9fbmF2XCIgQGNsaWNrLnN0b3A9XCJuYXZpZ2F0ZVRvQWRkcmVzcyhpdGVtLCAnZGVwb3NpdCcpXCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLWl0ZW0gb3JkZXItY2FyZF9fcm91dGUtaXRlbS0tZGVzdGluYXRpb25cIj5cblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLXRleHRzXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1pZj1cIml0ZW0udGFrZVNob3BJZFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLXRpdGxlXCI+PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS1iYWRnZS10ZXh0IG9yZGVyLWNhcmRfX3JvdXRlLWJhZGdlLXRleHQtLXNlbmRcIj7pgIE8L3RleHQ+e3sgaXRlbS50YWtlTmFtZSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS1kZXNjXCI+e3sgaXRlbS50YWtlQWRkcmVzcyB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHRcdDwvdGVtcGxhdGU+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWVsc2UgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS10aXRsZVwiPjx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtYmFkZ2UtdGV4dCBvcmRlci1jYXJkX19yb3V0ZS1iYWRnZS10ZXh0LS1zZW5kXCI+6YCBPC90ZXh0Pnt7IGl0ZW0udGFrZUFkZHJlc3MgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2Rhb2hhbmdAMngucG5nXCIgbW9kZT1cIndpZHRoRml4XCIgY2xhc3M9XCJvcmRlci1jYXJkX19uYXZcIiBAY2xpY2suc3RvcD1cIm5hdmlnYXRlVG9BZGRyZXNzKGl0ZW0sICd0YWtlJylcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19nb29kc1wiIHYtaWY9XCJpdGVtLml0ZW1zICYmIGl0ZW0uaXRlbXMubGVuZ3RoID4gMFwiIEBjbGljay5zdG9wPVwidG9nZ2xlR29vZHNFeHBhbmQoaXRlbS5pZClcIj5cblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fZ29vZHMtdGV4dFwiPnt7IGdldEdvb2RzVGV4dChpdGVtLml0ZW1zLCBpdGVtLmlkKSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDx1LWljb24gdi1pZj1cImdldEdvb2RzVGV4dChpdGVtLml0ZW1zLCBpdGVtLmlkKS5sZW5ndGggPiAyMFwiIG5hbWU9XCJhcnJvdy1kb3duXCIgOmNsYXNzPVwieyAnb3JkZXItY2FyZF9fZ29vZHMtYXJyb3ctLWV4cGFuZGVkJzogZXhwYW5kZWRHb29kc0lkcy5pbmNsdWRlcyhpdGVtLmlkKSB9XCIgc2l6ZT1cIjEyXCIgY29sb3I9XCIjYTRhOWIxXCI+PC91LWljb24+XG5cdFx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19hY3Rpb25zXCIgOmNsYXNzPVwiJ29yZGVyLWNhcmRfX2FjdGlvbnMtLScgKyBhY3RpdmVUYWJcIj5cblx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSB2LWlmPVwiYWN0aXZlVGFiID09PSAncGlja3VwJ1wiPlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX2ljb24tYWN0aW9uc1wiPlxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9faWNvbi1hY3Rpb25cIiBAY2xpY2suc3RvcD1cImhhbmRsZUNhbmNlbE9yZGVyKGl0ZW0pXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwib3JkZXItY2FyZF9fYWN0aW9uLWljb25cIiBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2NhbmNsZUAyeC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fYWN0aW9uLXRleHRcIj7lj5bmtog8L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9faWNvbi1hY3Rpb25cIiBAY2xpY2suc3RvcD1cImhhbmRsZUNhbGwoaXRlbSlcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cIm9yZGVyLWNhcmRfX2FjdGlvbi1pY29uXCIgc3JjPVwiL3N0YXRpYy9pbWFnZS9pY19jYWxsQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19hY3Rpb24tdGV4dFwiPuiBlOezuzwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cIm9yZGVyLWNhcmRfX2J1dHRvbiBvcmRlci1jYXJkX19idXR0b24tLWNvZGVcIiBob3Zlci1jbGFzcz1cIm9yZGVyLWNhcmRfX2J1dHRvbi0taG92ZXJcIiBAY2xpY2suc3RvcD1cImhhbmRsZVNob3dQaWNrdXBDb2RlKGl0ZW0pXCI+5Y+W6LSn56CBPC9idXR0b24+XG5cdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHRcdFx0PHRlbXBsYXRlIHYtZWxzZS1pZj1cImFjdGl2ZVRhYiA9PT0gJ2RlbGl2ZXJpbmcnXCI+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9faWNvbi1hY3Rpb25zIG9yZGVyLWNhcmRfX2ljb24tYWN0aW9ucy0tc2luZ2xlXCI+XG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19pY29uLWFjdGlvblwiIEBjbGljay5zdG9wPVwiaGFuZGxlQ2FsbChpdGVtKVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwib3JkZXItY2FyZF9fYWN0aW9uLWljb25cIiBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2NhbGxAMngucG5nXCIgbW9kZT1cImFzcGVjdEZpdFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX2FjdGlvbi10ZXh0XCI+6IGU57O7PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwib3JkZXItY2FyZF9fYnV0dG9uIG9yZGVyLWNhcmRfX2J1dHRvbi0tY29kZVwiIGhvdmVyLWNsYXNzPVwib3JkZXItY2FyZF9fYnV0dG9uLS1ob3ZlclwiIEBjbGljay5zdG9wPVwiaGFuZGxlU2hvd1BpY2t1cENvZGUoaXRlbSlcIj7lrZjku7bnoIE8L2J1dHRvbj5cblx0XHRcdFx0XHRcdDwvdGVtcGxhdGU+XG5cdFx0XHRcdFx0XHQ8YnV0dG9uIHYtZWxzZSBjbGFzcz1cIm9yZGVyLWNhcmRfX2J1dHRvblwiIGhvdmVyLWNsYXNzPVwib3JkZXItY2FyZF9fYnV0dG9uLS1ob3ZlclwiIEBjbGljay5zdG9wPVwiaGFuZGxlR3JhYk9yZGVyKGl0ZW0pXCI+56uL5Y2z5oqi5Y2VPC9idXR0b24+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdDx2aWV3IHYtZWxzZSBjbGFzcz1cImhhbGwtcGFnZV9fZW1wdHlcIj5cblx0XHRcdFx0PGltYWdlIGNsYXNzPVwiaGFsbC1wYWdlX19lbXB0eS1pY29uXCIgOnNyYz1cImFjY2VwdGluZ1N0YXR1cyA9PT0gMCA/ICcvc3RhdGljL2ltYWdlL2RlZmF1bHRfbm9kYXRhX2dyZXlAMngucG5nJyA6ICcvc3RhdGljL2ltYWdlL2RlZmF1bHRfbm9kYXRhQDJ4LnBuZydcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3Njcm9sbC12aWV3PlxuXHRcdFxuXHRcdDwhLS0g5Y+W5raI6K6i5Y2VIC0tPlxuXHRcdDx1LW1vZGFsXG5cdFx0XHQ6c2hvdz1cInNob3dcIlxuXHRcdFx0c2hvd0NhbmNlbEJ1dHRvblxuXHRcdFx0QGNhbmNlbD1cInNob3cgPSBmYWxzZVwiXG5cdFx0XHRjYW5jZWxDb2xvcj1cIiM2NjY2NjZcIlxuXHRcdFx0Y29uZmlybUNvbG9yPVwiIzAwNTVGRlwiXG5cdFx0XHR0aXRsZT1cIuWPlua2iOiuouWNleehruiupFwiXG5cdFx0XHRAY29uZmlybT1cImNvbmZpcm1DYW5jZWxPcmRlclwiPlxuXHRcdFx0PHZpZXcgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7Y29sb3I6ICMzMzMzMzM7Zm9udC1zaXplOiAyOHJweDtmb250LXdlaWdodDogNDAwO1wiPlxuXHRcdFx0XHTmgqjku4rml6Xov5jlj6/lj5bmtogge3sgY2FuY2VsUmVtYWluIH19IOasoeiuouWNle+8jOasoeaVsOeUqOWwveWQjuS7iuaXpeWwhuaXoOazleaOpeWNle+8jOaYr+WQpuehruiupOWPlua2iO+8n1xuXHRcdFx0PC92aWV3PlxuXHRcdDwvdS1tb2RhbD5cblxuXHRcdDwhLS0g56uL5Y2z5oqi5Y2VIC0tPlxuXHRcdDx1LW1vZGFsXG5cdFx0XHQ6c2hvdz1cInNob3dHcmFiTW9kYWxcIlxuXHRcdFx0c2hvd0NhbmNlbEJ1dHRvblxuXHRcdFx0QGNhbmNlbD1cInNob3dHcmFiTW9kYWwgPSBmYWxzZVwiXG5cdFx0XHRjYW5jZWxDb2xvcj1cIiM2NjY2NjZcIlxuXHRcdFx0Y29uZmlybUNvbG9yPVwiIzAwNTVGRlwiXG5cdFx0XHR0aXRsZT1cIua4qemmqOaPkOekulwiXG5cdFx0XHRAY29uZmlybT1cImNvbmZpcm1HcmFiT3JkZXJcIj5cblx0XHRcdDx2aWV3IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO2NvbG9yOiAjMzMzMzMzO2ZvbnQtc2l6ZTogMjhycHg7Zm9udC13ZWlnaHQ6IDQwMDtcIj5cblx0XHRcdFx0e3sgc2VsZWN0ZWRHcmFiT3JkZXIgJiYgc2VsZWN0ZWRHcmFiT3JkZXIuaGFzT3ZlcnNpemVkID09PSAxID8gJ+acrOiuouWNleacieeJueWkp+S7tuWwuuWvuOihjOadju+8jOivt+ehruiupOaYr+WQpue7p+e7reaKouWNle+8nycgOiAn5piv5ZCm56Gu6K6k5o6l5Y2V77yfJyB9fVxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdS1tb2RhbD5cblx0XHRcblx0XHQ8IS0tIOWPlui0p+eggS/lrZjku7bnoIEgLS0+XG5cdFx0PHUtcG9wdXAgOnNob3c9XCJzaG93MVwiIHJvdW5kPVwiMjBcIiBtb2RlPVwiYm90dG9tXCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cInFyY29kZVwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInFyY29kZS10aXRsZVwiPlxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2Nsb3NlQDJ4LnBuZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiIHN0eWxlPVwib3BhY2l0eTogMDtcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDx0ZXh0Pnt7IGFjdGl2ZVRhYiA9PT0gJ2RlbGl2ZXJpbmcnID8gJ+WtmOS7tueggScgOiAn5Y+W6LSn56CBJyB9fTwvdGV4dD5cblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWFnZS9pY19jbG9zZUAyeC5wbmdcIiBtb2RlPVwid2lkdGhGaXhcIiBAY2xpY2s9XCJzaG93MSA9IGZhbHNlXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInFyY29kZS1pbWFnZVwiPlxuXHRcdFx0XHRcdDxpbWFnZSB2LWlmPVwic2VsZWN0ZWRQaWNrdXBPcmRlciAmJiBzZWxlY3RlZFBpY2t1cE9yZGVyLmRyaXZlclZlcmlmeUNvZGVcIiA6c3JjPVwiJ2h0dHBzOi8vYXBpLnFyc2VydmVyLmNvbS92MS9jcmVhdGUtcXItY29kZS8/c2l6ZT0yMDB4MjAwJmRhdGE9JyArIHNlbGVjdGVkUGlja3VwT3JkZXIuZHJpdmVyVmVyaWZ5Q29kZVwiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJxcmNvZGUtYnRuXCIgaG92ZXItY2xhc3M9XCJxcmNvZGUtYnRuLS1ob3ZlclwiIEBjbGljaz1cInNob3cxID0gZmFsc2VcIj7lhbPpl608L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC91LXBvcHVwPlxuXG5cdFx0PHUtcG9wdXAgOnNob3c9XCJzaG93UGhvdG9EZWxpdmVyUG9wdXBcIiByb3VuZD1cIjIwXCIgbW9kZT1cImJvdHRvbVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJwaG90by1kZWxpdmVyXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tZGVsaXZlcl9faGVhZGVyXCI+XG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwicGhvdG8tZGVsaXZlcl9fY2xvc2UtcGxhY2Vob2xkZXJcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3RpdGxlXCI+5ouN54Wn6YCB6L6+PC90ZXh0PlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX2Nsb3NlXCIgbW9kZT1cImFzcGVjdEZpdFwiIEBjbGljaz1cInNob3dQaG90b0RlbGl2ZXJQb3B1cCA9IGZhbHNlXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tZGVsaXZlcl9fc2VjdGlvblwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tZGVsaXZlcl9fbGFiZWwtcm93XCI+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX2xhYmVsXCI+5ouN5pGE6YCB6L6+54Wn54mHPC90ZXh0PlxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJwaG90by1kZWxpdmVyX19yZXF1aXJlZFwiPio8L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX2hpbnRcIj7mnIDlpJoz5byg54Wn54mHPC90ZXh0PlxuXHRcdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tZGVsaXZlcl9fcGhvdG9zXCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3VwbG9hZC1jYXJkXCI+XG5cdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3VwbG9hZC1pY29uXCIgbW9kZT1cImFzcGVjdEZpdFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGhvdG8tZGVsaXZlcl9fdXBsb2FkLXRleHRcIj7ngrnlh7vmi43nhac8L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tZGVsaXZlcl9fcHJldmlldy1jYXJkXCI+XG5cdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3ByZXZpZXctaW1hZ2VcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tZGVsaXZlcl9fcHJldmlldy1tYXNrXCI+XG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJwaG90by1kZWxpdmVyX19wcmV2aWV3LWRlbGV0ZVwiPuWIoOmZpDwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tZGVsaXZlcl9fc2VjdGlvbiBwaG90by1kZWxpdmVyX19zZWN0aW9uLS1yZW1hcmtcIj5cblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3JlbWFyay10aXRsZVwiPuWkh+azqOS/oeaBrzwvdGV4dD5cblx0XHRcdFx0XHQ8dGV4dGFyZWEgY2xhc3M9XCJwaG90by1kZWxpdmVyX190ZXh0YXJlYVwiIG1heGxlbmd0aD1cIjIwMFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWlXCIgcGxhY2Vob2xkZXItc3R5bGU9XCJjb2xvcjogI2M3Y2JkMztcIiAvPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3N1Ym1pdFwiIGhvdmVyLWNsYXNzPVwicGhvdG8tZGVsaXZlcl9fc3VibWl0LS1ob3ZlclwiIEBjbGljaz1cInNob3dQaG90b0RlbGl2ZXJQb3B1cCA9IGZhbHNlXCI+56Gu6K6k6YCB6L6+PC9idXR0b24+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC91LXBvcHVwPlxuXG5cdFx0PHUtcGlja2VyXG5cdFx0XHQ6c2hvdz1cInNob3dTdGF0dXNQaWNrZXJcIlxuXHRcdFx0Y29uZmlybUNvbG9yPVwiIzEwQjJGQVwiXG5cdFx0XHRrZXlOYW1lPVwidGV4dFwiXG5cdFx0XHQ6Y29sdW1ucz1cIltzdGF0dXNPcHRpb25zXVwiXG5cdFx0XHRAY29uZmlybT1cImNvbmZpcm1TdGF0dXNcIlxuXHRcdFx0QGNhbmNlbD1cInNob3dTdGF0dXNQaWNrZXIgPSBmYWxzZVwiIC8+XG5cdDwvdmlldz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cdGltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSAndnVleCdcblx0ZXhwb3J0IGRlZmF1bHQge1xuXHRcdGRhdGEoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHR0dHM6IG51bGwsXG5cdFx0XHRcdHNob3c6IGZhbHNlLFxuXHRcdFx0XHRzaG93MTogZmFsc2UsXG5cdFx0XHRcdHNob3dHcmFiTW9kYWw6IGZhbHNlLFxuXHRcdFx0XHRzZWxlY3RlZEdyYWJPcmRlcjogbnVsbCxcblx0XHRcdFx0c2VsZWN0ZWRDYW5jZWxPcmRlcjogbnVsbCxcblx0XHRcdFx0Y2FuY2VsUmVtYWluOiAwLFxuXHRcdFx0XHRzZWxlY3RlZFBpY2t1cE9yZGVyOiBudWxsLFxuXHRcdFx0XHRzaG93UGhvdG9EZWxpdmVyUG9wdXA6IGZhbHNlLFxuXHRcdFx0XHRyb3V0ZUluZm86IG51bGwsXG5cdFx0XHRcdHN0YXR1c0JhckhlaWdodDogMCxcblx0XHRcdFx0aGVhZGVySGVpZ2h0OiAwLFxuXHRcdFx0XHR0YWJiYXJIZWlnaHQ6IDAsXG5cdFx0XHRcdHNjcm9sbEhlaWdodDogMCxcblx0XHRcdFx0c2hvd0ZpbHRlclBvcHVwOiBmYWxzZSxcblx0XHRcdFx0YWNjZXB0aW5nU3RhdHVzOiAwLFxuXHRcdFx0XHRzaG93U3RhdHVzUGlja2VyOiBmYWxzZSxcblx0XHRcdFx0aGFzQXBwcm92ZWRPZmZpY2lhbDogZmFsc2UsXG5cdFx0XHRcdHN0YXR1c09wdGlvbnM6IFtcblx0XHRcdFx0XHR7IHRleHQ6ICfkuIrnur8nLCB2YWx1ZTogMSB9LFxuXHRcdFx0XHRcdHsgdGV4dDogJ+S4i+e6vycsIHZhbHVlOiAwIH1cblx0XHRcdFx0XSxcblx0XHRcdFx0Y2VudGVyVXNlckluZm86IHt9LFxuXHRcdFx0XHRhY3RpdmVUYWI6ICdoYWxsJyxcblx0XHRcdFx0ZXhwYW5kZWRHb29kc0lkczogW10sXG5cdFx0XHRcdGNhdGVnb3J5TGlzdDogW10sXG5cdFx0XHRcdGZpbHRlclNlY3Rpb25zOiBbXG5cdFx0XHRcdFx0eyBrZXk6ICdzb3J0JywgdGl0bGU6ICfmjpLluo8nLCBvcHRpb25zOiBbJ+e7vOWQiOaOkuW6jycsICfot53nprvmnIDov5EnXSB9LFxuXHRcdFx0XHRcdHsga2V5OiAnbGV2ZWwnLCB0aXRsZTogJ+eJqeWTgeetiee6pycsIG9wdGlvbnM6IFsn5LiN6ZmQJ10gfSxcblx0XHRcdFx0XHR7IGtleTogJ2Rpc3RhbmNlJywgdGl0bGU6ICfkvY3nva7ojIPlm7QnLCBvcHRpb25zOiBbJ+S4jemZkCcsICc1MDBtJywgJzFrbScsICcya20nLCAnM2ttJywgJzRrbScsICc1a20nLCAnNmttJywgJzdrbSddIH1cblx0XHRcdFx0XSxcblx0XHRcdFx0c2VsZWN0ZWRGaWx0ZXJzOiB7XG5cdFx0XHRcdFx0c29ydDogJ+e7vOWQiOaOkuW6jycsXG5cdFx0XHRcdFx0bGV2ZWw6ICfkuI3pmZAnLFxuXHRcdFx0XHRcdGRpc3RhbmNlOiAn5LiN6ZmQJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRzdGF0czogW1xuXHRcdFx0XHRcdHsgdmFsdWU6ICctJywgbGFiZWw6ICfmnI3liqHliIYnIH0sXG5cdFx0XHRcdFx0eyB2YWx1ZTogJy0nLCBsYWJlbDogJ+S7iuaXpemihOiuoeS9o+mHkScgfSxcblx0XHRcdFx0XHR7IHZhbHVlOiAnLScsIGxhYmVsOiAn5LuK5pel5o6l5Y2VJyB9XG5cdFx0XHRcdF0sXG5cdFx0XHRcdHRhYnM6IFtcblx0XHRcdFx0XHR7IGxhYmVsOiAn5oqi5Y2V5aSn5Y6FJywgdmFsdWU6ICdoYWxsJyB9LFxuXHRcdFx0XHRcdHsgbGFiZWw6ICflvoXlj5botKcnLCB2YWx1ZTogJ3BpY2t1cCcgfSxcblx0XHRcdFx0XHR7IGxhYmVsOiAn6YWN6YCB5LitJywgdmFsdWU6ICdkZWxpdmVyaW5nJyB9XG5cdFx0XHRcdF0sXG5cdFx0XHRcdG9yZGVyTGlzdDogW10sXG5cdFx0XHRcdHBpY2t1cE9yZGVyTGlzdDogW10sXG5cdFx0XHRcdGRlbGl2ZXJpbmdPcmRlckxpc3Q6IFtdLFxuXHRcdFx0XHRoYWxsUGFnZTogMSxcblx0XHRcdFx0aGFsbFBhZ2VTaXplOiAxMCxcblx0XHRcdFx0aGFsbExvYWRpbmc6IGZhbHNlLFxuXHRcdFx0XHRoYWxsSGFzTW9yZTogdHJ1ZSxcblx0XHRcdFx0cGlja3VwTG9hZGluZzogZmFsc2UsXG5cdFx0XHRcdGRlbGl2ZXJpbmdMb2FkaW5nOiBmYWxzZSxcblx0XHRcdFx0YWN0aXZlT3JkZXJDb3VudDogbnVsbFxuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHR3YXRjaDoge1xuXHRcdFx0YWN0aXZlVGFiKG5ld1ZhbCkge1xuXHRcdFx0XHR0aGlzLmxvYWRPcmRlcnNCeVRhYihuZXdWYWwpXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdG9uTG9hZCgpIHtcblx0XHRcdGNvbnN0IHN5c3RlbUluZm8gPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVxuXHRcdFx0Y29uc3Qgc2FmZUJvdHRvbSA9IHN5c3RlbUluZm8uc2FmZUFyZWFJbnNldHMgPyBzeXN0ZW1JbmZvLnNhZmVBcmVhSW5zZXRzLmJvdHRvbSB8fCAwIDogMFxuXHRcdFx0Y29uc3Qgd2luZG93SGVpZ2h0ID0gc3lzdGVtSW5mby53aW5kb3dIZWlnaHQgfHwgMFxuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSBzeXN0ZW1JbmZvLnN0YXR1c0JhckhlaWdodCB8fCAwXG5cdFx0XHR0aGlzLmhlYWRlckhlaWdodCA9IHRoaXMuc3RhdHVzQmFySGVpZ2h0ICsgdW5pLnVweDJweCgzMDgpXG5cdFx0XHR0aGlzLnRhYmJhckhlaWdodCA9IHVuaS51cHgycHgoMTAwKSArIHNhZmVCb3R0b21cblx0XHRcdHRoaXMuc2Nyb2xsSGVpZ2h0ID0gTWF0aC5tYXgod2luZG93SGVpZ2h0IC0gdGhpcy5oZWFkZXJIZWlnaHQsIDApXG5cdFx0XHRpZiAodGhpcy51c2VySW5mby5hdWRpdFN0YXR1cyA9PT0gOTkpIHJldHVybjtcblx0XHRcdHRoaXMuYWNjZXB0aW5nU3RhdHVzID0gdGhpcy51c2VySW5mby5hY2NlcHRpbmdTdGF0dXMgfHwgMFxuXHRcdFx0dGhpcy5sb2FkT3JkZXJzQnlUYWIodGhpcy5hY3RpdmVUYWIpXG5cdFx0fSxcblxuXHRcdG9uU2hvdygpIHtcblx0XHRcdHRoaXMuZ2V0Q2VudGVySW5mbygpXG5cdFx0XHR0aGlzLmdldENhdGVnb3J5TGlzdERhdGEoKVxuXHRcdFx0dGhpcy5nZXRBY3RpdmVPcmRlckNvdW50KClcblx0XHRcdHRoaXMuZ2V0VXNlckluZm9EZXRhaWwoKVxuXHRcdH0sXG5cblx0XHRvblJlYWNoQm90dG9tKCkge1xuXHRcdFx0aWYgKHRoaXMuYWNjZXB0aW5nU3RhdHVzID09PSAwKSByZXR1cm47XG5cdFx0XHRpZiAodGhpcy5hY3RpdmVUYWIgPT09ICdoYWxsJykge1xuXHRcdFx0XHR0aGlzLmhhbGxQYWdlKytcblx0XHRcdFx0dGhpcy5nZXRIYWxsT3JkZXJzKClcblx0XHRcdH1cblx0XHR9LFxuXG5cdFx0Y29tcHV0ZWQ6IHtcblx0XHRcdC4uLm1hcFN0YXRlKFsndXNlckluZm8nLCAndG9rZW4nXSksXG5cblx0XHRcdGRpc3BsYXlUYWJzKCkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy50YWJzLm1hcCh0YWIgPT4ge1xuXHRcdFx0XHRcdGlmICh0YWIudmFsdWUgPT09ICdwaWNrdXAnKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4geyAuLi50YWIsIGNvdW50OiB0aGlzLmFjdGl2ZU9yZGVyQ291bnQ/LmdyYWJiZWRDb3VudCB9XG5cdFx0XHRcdFx0fSBlbHNlIGlmICh0YWIudmFsdWUgPT09ICdkZWxpdmVyaW5nJykge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHsgLi4udGFiLCBjb3VudDogdGhpcy5hY3RpdmVPcmRlckNvdW50Py5kZWxpdmVyaW5nQ291bnQgfVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdGFiXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0XG5cdFx0XHRjdXJyZW50T3JkZXJMaXN0KCkge1xuXHRcdFx0XHRjb25zdCBvcmRlck1hcCA9IHtcblx0XHRcdFx0XHRoYWxsOiB0aGlzLm9yZGVyTGlzdCxcblx0XHRcdFx0XHRwaWNrdXA6IHRoaXMucGlja3VwT3JkZXJMaXN0LFxuXHRcdFx0XHRcdGRlbGl2ZXJpbmc6IHRoaXMuZGVsaXZlcmluZ09yZGVyTGlzdFxuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIG9yZGVyTWFwW3RoaXMuYWN0aXZlVGFiXSB8fCBbXVxuXHRcdFx0fSxcblxuXHRcdFx0Ym9keVN0eWxlKCkge1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdG1hcmdpblRvcDogdGhpcy5oZWFkZXJIZWlnaHQgKyAncHgnLFxuXHRcdFx0XHRcdGhlaWdodDogdGhpcy5zY3JvbGxIZWlnaHQgKyAncHgnXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXG5cdFx0b25SZWFkeSgpIHtcblx0XHRcdHRoaXMuaW5pdFRUUygpIC8vIOmhtemdoua4suafk+WujOaIkOWIneWni+WMluivremfs1xuXHRcdH0sXG5cblx0XHRtZXRob2RzOiB7XG5cdFx0XHRnZXRVc2VySW5mb0RldGFpbCgpIHtcblx0XHRcdFx0dGhpcy4kdS5hcGkudmVyaWZ5RGV0YWlsKCkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmhhc0FwcHJvdmVkT2ZmaWNpYWwgPSByZXMuZGF0YS5oYXNBcHByb3ZlZE9mZmljaWFsID09PSB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGZvcm1hdFJlbWFpblRpbWUobWludXRlcykge1xuXHRcdFx0XHRpZiAoIW1pbnV0ZXMpIHJldHVybiAwXG5cdFx0XHRcdGlmIChtaW51dGVzID09PSAwKSB7XG5cdFx0XHRcdFx0cmV0dXJuICfphY3pgIHlt7LotoXml7YnXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG1pbnV0ZXMgPj0gNjApIHtcblx0XHRcdFx0XHRyZXR1cm4gKG1pbnV0ZXMgLyA2MCkudG9GaXhlZCgyKSArICflsI/ml7blhoUnXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG1pbnV0ZXMgKyAn5YiG6ZKf5YaFJ1xuXHRcdFx0fSxcblxuXHRcdFx0Z2V0R29vZHNUZXh0KGl0ZW1zLCBpdGVtSWQpIHtcblx0XHRcdFx0aWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHJldHVybiAn5pegJ1xuXHRcdFx0XHRjb25zdCB0ZXh0ID0gaXRlbXMubWFwKGkgPT4gYCR7aS5uYW1lfSoke2kucXVhbnRpdHl9YCkuam9pbign44CBJylcblx0XHRcdFx0aWYgKHRleHQubGVuZ3RoID4gMjAgJiYgIXRoaXMuZXhwYW5kZWRHb29kc0lkcy5pbmNsdWRlcyhpdGVtSWQpKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRleHQuc3Vic3RyaW5nKDAsIDIwKSArICcuLi4nXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHRleHRcblx0XHRcdH0sXG5cblx0XHRcdHRvZ2dsZUdvb2RzRXhwYW5kKGlkKSB7XG5cdFx0XHRcdGNvbnN0IGluZGV4ID0gdGhpcy5leHBhbmRlZEdvb2RzSWRzLmluZGV4T2YoaWQpXG5cdFx0XHRcdGlmIChpbmRleCA+IC0xKSB7XG5cdFx0XHRcdFx0dGhpcy5leHBhbmRlZEdvb2RzSWRzLnNwbGljZShpbmRleCwgMSlcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLmV4cGFuZGVkR29vZHNJZHMucHVzaChpZClcblx0XHRcdFx0fVxuXHRcdFx0fSxcblxuXHRcdFx0Zm9ybWF0RGlzdGFuY2VQYXJ0cyhkaXN0YW5jZSkge1xuXHRcdFx0XHRpZiAoZGlzdGFuY2UgPT09IG51bGwgfHwgZGlzdGFuY2UgPT09IHVuZGVmaW5lZCB8fCBkaXN0YW5jZSA9PT0gJycpIHtcblx0XHRcdFx0XHRyZXR1cm4geyB2YWx1ZTogJy0tJywgdW5pdDogJycgfVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKHR5cGVvZiBkaXN0YW5jZSA9PT0gJ251bWJlcicpIHtcblx0XHRcdFx0XHRpZiAoZGlzdGFuY2UgPj0gMTAwMCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHsgdmFsdWU6IChkaXN0YW5jZSAvIDEwMDApLnRvRml4ZWQoMSksIHVuaXQ6ICdrbScgfVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4geyB2YWx1ZTogU3RyaW5nKE1hdGgucm91bmQoZGlzdGFuY2UpKSwgdW5pdDogJ20nIH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IHRleHQgPSBTdHJpbmcoZGlzdGFuY2UpLnRyaW0oKVxuXHRcdFx0XHRjb25zdCBtYXRjaCA9IHRleHQubWF0Y2goL14oW1xcZC5dKylcXHMqKFthLXpBLVpcXHU0ZTAwLVxcdTlmYTVdKikkLylcblx0XHRcdFx0aWYgKG1hdGNoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdHZhbHVlOiBtYXRjaFsxXSxcblx0XHRcdFx0XHRcdHVuaXQ6IG1hdGNoWzJdIHx8ICcnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIHsgdmFsdWU6IHRleHQsIHVuaXQ6ICcnIH1cblx0XHRcdH0sXG5cblx0XHRcdG5hdmlnYXRlVG9BZGRyZXNzKGl0ZW0sIHR5cGUpIHtcblx0XHRcdFx0bGV0IGxhdGl0dWRlLCBsb25naXR1ZGUsIG5hbWUsIGFkZHJlc3Ncblx0XHRcdFx0aWYgKHR5cGUgPT09ICdkZXBvc2l0Jykge1xuXHRcdFx0XHRcdGxhdGl0dWRlID0gaXRlbS5kZXBvc2l0TGF0XG5cdFx0XHRcdFx0bG9uZ2l0dWRlID0gaXRlbS5kZXBvc2l0TG5nXG5cdFx0XHRcdFx0bmFtZSA9IGl0ZW0uZGVwb3NpdFNob3BOYW1lXG5cdFx0XHRcdFx0YWRkcmVzcyA9IGl0ZW0uZGVwb3NpdFNob3BBZGRyZXNzXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0bGF0aXR1ZGUgPSBpdGVtLnRha2VMYXRcblx0XHRcdFx0XHRsb25naXR1ZGUgPSBpdGVtLnRha2VMbmdcblx0XHRcdFx0XHRuYW1lID0gaXRlbS50YWtlTmFtZVxuXHRcdFx0XHRcdGFkZHJlc3MgPSBpdGVtLnRha2VBZGRyZXNzXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKCFsYXRpdHVkZSB8fCAhbG9uZ2l0dWRlKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5Zyw5Z2A5Z2Q5qCH57y65aSxJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0cmV0dXJuXG5cdFx0XHRcdH1cblx0XHRcdFx0dW5pLm9wZW5Mb2NhdGlvbih7XG5cdFx0XHRcdFx0bGF0aXR1ZGUsXG5cdFx0XHRcdFx0bG9uZ2l0dWRlLFxuXHRcdFx0XHRcdG5hbWUsXG5cdFx0XHRcdFx0YWRkcmVzcyxcblx0XHRcdFx0XHRzdWNjZXNzOiAoKSA9PiB7fSxcblx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfmiZPlvIDlnLDlm77lpLHotKUnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ29wZW5Mb2NhdGlvbiBmYWlsOicsIGVycilcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXG5cdFx0XHRoYW5kbGVVc2VyQ2xpY2soKSB7XG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvdGVzdC90ZXN0J1xuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGdldEFjdGl2ZU9yZGVyQ291bnQoKSB7XG5cdFx0XHRcdHRoaXMuJHUuYXBpLmFjdGl2ZU9yZGVyQ291bnQoKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHRoaXMuYWN0aXZlT3JkZXJDb3VudCA9IHJlcy5kYXRhXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaCgoZXJyKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5hY3RpdmVPcmRlckNvdW50ID0gbnVsbFxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0aGFuZGxlR3JhYk9yZGVyKGl0ZW0pIHtcblx0XHRcdFx0Y29uc29sZS5sb2coaXRlbSlcblx0XHRcdFx0dGhpcy5zZWxlY3RlZEdyYWJPcmRlciA9IGl0ZW1cblx0XHRcdFx0dGhpcy5zaG93R3JhYk1vZGFsID0gdHJ1ZVxuXHRcdFx0fSxcblxuXHRcdFx0Y29uZmlybUdyYWJPcmRlcigpIHtcblx0XHRcdFx0aWYgKCF0aGlzLnNlbGVjdGVkR3JhYk9yZGVyKSByZXR1cm5cblx0XHRcdFx0dGhpcy4kdS5hcGkuZ3JhYk9yZGVyKHsgb3JkZXJJZDogdGhpcy5zZWxlY3RlZEdyYWJPcmRlci5pZCB9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93R3JhYk1vZGFsID0gZmFsc2Vcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5oqi5Y2V5oiQ5YqfJywgaWNvbjogJ3N1Y2Nlc3MnIH0pXG5cdFx0XHRcdFx0XHR0aGlzLmhhbGxQYWdlID0gMVxuXHRcdFx0XHRcdFx0dGhpcy5oYWxsSGFzTW9yZSA9IHRydWVcblx0XHRcdFx0XHRcdHRoaXMub3JkZXJMaXN0ID0gW11cblx0XHRcdFx0XHRcdHRoaXMuZ2V0SGFsbE9yZGVycygpXG5cdFx0XHRcdFx0XHR0aGlzLmdldEFjdGl2ZU9yZGVyQ291bnQoKVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRDZW50ZXJJbmZvKClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiByZXMubWVzc2FnZSB8fCAn5oqi5Y2V5aSx6LSlJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93R3JhYk1vZGFsID0gZmFsc2Vcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdGhhbmRsZUNhbmNlbE9yZGVyKGl0ZW0pIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZENhbmNlbE9yZGVyID0gaXRlbVxuXHRcdFx0XHR0aGlzLiR1LmFwaS5jYW5jZWxMaW1pdCgpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dGhpcy5jYW5jZWxSZW1haW4gPSByZXMuZGF0YS5yZW1haW5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuc2hvdyA9IHRydWVcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdGNvbmZpcm1DYW5jZWxPcmRlcigpIHtcblx0XHRcdFx0aWYgKCF0aGlzLnNlbGVjdGVkQ2FuY2VsT3JkZXIpIHJldHVyblxuXHRcdFx0XHR0aGlzLiR1LmFwaS5jYW5jZWxPcmRlcih7IG9yZGVySWQ6IHRoaXMuc2VsZWN0ZWRDYW5jZWxPcmRlci5pZCB9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93ID0gZmFsc2Vcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5Y+W5raI5oiQ5YqfJywgaWNvbjogJ3N1Y2Nlc3MnIH0pXG5cdFx0XHRcdFx0XHR0aGlzLmdldFBpY2t1cE9yZGVycygpXG5cdFx0XHRcdFx0XHR0aGlzLmdldENlbnRlckluZm8oKVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVPcmRlckNvdW50KClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiByZXMubWVzc2FnZSB8fCAn5Y+W5raI5aSx6LSlJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93ID0gZmFsc2Vcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdGhhbmRsZUNhbGwoaXRlbSkge1xuXHRcdFx0XHRpZiAoaXRlbS5jb250YWN0UGhvbmUpIHtcblx0XHRcdFx0XHR1bmkubWFrZVBob25lQ2FsbCh7XG5cdFx0XHRcdFx0XHRwaG9uZU51bWJlcjogaXRlbS5jb250YWN0UGhvbmVcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXG5cdFx0XHRoYW5kbGVTaG93UGlja3VwQ29kZShpdGVtKSB7XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRQaWNrdXBPcmRlciA9IGl0ZW1cblx0XHRcdFx0dGhpcy5zaG93MSA9IHRydWVcblx0XHRcdH0sXG5cblx0XHRcdGdvVG9PcmRlckRldGFpbChpdGVtLCBpbmRleCkge1xuXHRcdFx0XHRsZXQgdXJsID0gYC9wYWdlcy9vcmRlci1kZXRhaWwvb3JkZXItZGV0YWlsP2lkPSR7aXRlbS5pZH1gXG5cdFx0XHRcdGlmICh0aGlzLmFjdGl2ZVRhYiA9PT0gJ3BpY2t1cCcgfHwgdGhpcy5hY3RpdmVUYWIgPT09ICdkZWxpdmVyaW5nJykge1xuXHRcdFx0XHRcdHVybCArPSBgJmluZGV4PSR7aW5kZXggKyAxfWBcblx0XHRcdFx0fVxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7IHVybCB9KVxuXHRcdFx0fSxcblxuXHRcdFx0Z2V0Q2VudGVySW5mbygpIHtcblx0XHRcdFx0dGhpcy4kdS5hcGkuY2VudGVySW5mbygpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dGhpcy5hY2NlcHRpbmdTdGF0dXMgPSByZXMuZGF0YS5hY2NlcHRpbmdTdGF0dXNcblx0XHRcdFx0XHRcdHRoaXMuY2VudGVyVXNlckluZm8gPSB7XG5cdFx0XHRcdFx0XHRcdGZ1bGxJbWdVcmw6IHJlcy5kYXRhLmZ1bGxJbWdVcmwsXG5cdFx0XHRcdFx0XHRcdG5hbWU6IHJlcy5kYXRhLm5hbWVcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHRoaXMuc3RhdHMgPSBbXG5cdFx0XHRcdFx0XHRcdHsgdmFsdWU6IHJlcy5kYXRhLnNjb3JlLCBsYWJlbDogJ+acjeWKoeWIhicgfSxcblx0XHRcdFx0XHRcdFx0eyB2YWx1ZTogKChyZXMuZGF0YS50b2RheUNvbW1pc3Npb24gLyAxMDApIHx8IDApLnRvRml4ZWQoMiksIGxhYmVsOiAn5LuK5pel6aKE6K6h5L2j6YeRJyB9LFxuXHRcdFx0XHRcdFx0XHR7IHZhbHVlOiByZXMuZGF0YS50b2RheU9yZGVyQ291bnQsIGxhYmVsOiAn5LuK5pel5o6l5Y2VJyB9XG5cdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0Z2V0Q2F0ZWdvcnlMaXN0RGF0YSgpIHtcblx0XHRcdFx0dGhpcy4kdS5hcGkuZ2V0Q2F0ZWdvcnlMaXN0KHsgdHlwZTogMyB9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHRoaXMuY2F0ZWdvcnlMaXN0ID0gcmVzLmRhdGEgfHwgW11cblx0XHRcdFx0XHRcdHRoaXMuZmlsdGVyU2VjdGlvbnMuZm9yRWFjaChzZWN0aW9uID0+IHtcblx0XHRcdFx0XHRcdFx0aWYgKHNlY3Rpb24ua2V5ID09PSAnbGV2ZWwnKSB7XG5cdFx0XHRcdFx0XHRcdFx0c2VjdGlvbi5vcHRpb25zID0gWyfkuI3pmZAnLCAuLi50aGlzLmNhdGVnb3J5TGlzdC5tYXAoaXRlbSA9PiBpdGVtLm5hbWUpXVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdGxvYWRPcmRlcnNCeVRhYih0YWIpIHtcblx0XHRcdFx0aWYgKHRoaXMudXNlckluZm8uYXVkaXRTdGF0dXMgPT09IDk5KSByZXR1cm47XG5cdFx0XHRcdGlmICh0aGlzLmFjY2VwdGluZ1N0YXR1cyA9PT0gMCkgcmV0dXJuO1xuXHRcdFx0XHRpZiAodGFiID09PSAnaGFsbCcpIHtcblx0XHRcdFx0XHR0aGlzLmhhbGxQYWdlID0gMVxuXHRcdFx0XHRcdHRoaXMuaGFsbEhhc01vcmUgPSB0cnVlXG5cdFx0XHRcdFx0dGhpcy5vcmRlckxpc3QgPSBbXVxuXHRcdFx0XHRcdHRoaXMuZ2V0SGFsbE9yZGVycygpXG5cdFx0XHRcdH0gZWxzZSBpZiAodGFiID09PSAncGlja3VwJykge1xuXHRcdFx0XHRcdHRoaXMucGlja3VwT3JkZXJMaXN0ID0gW11cblx0XHRcdFx0XHR0aGlzLmdldFBpY2t1cE9yZGVycygpXG5cdFx0XHRcdH0gZWxzZSBpZiAodGFiID09PSAnZGVsaXZlcmluZycpIHtcblx0XHRcdFx0XHR0aGlzLmRlbGl2ZXJpbmdPcmRlckxpc3QgPSBbXVxuXHRcdFx0XHRcdHRoaXMuZ2V0RGVsaXZlcmluZ09yZGVycygpXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cblx0XHRcdGdldEhhbGxPcmRlcnMoKSB7XG5cdFx0XHRcdGlmICh0aGlzLmFjY2VwdGluZ1N0YXR1cyA9PT0gMCkgcmV0dXJuO1xuXHRcdFx0XHRpZiAodGhpcy5oYWxsTG9hZGluZyB8fCAhdGhpcy5oYWxsSGFzTW9yZSkge1xuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuaGFsbExvYWRpbmcgPSB0cnVlXG5cblx0XHRcdFx0bGV0IGRpc3RhbmNlID0gbnVsbFxuXHRcdFx0XHRpZiAodGhpcy5zZWxlY3RlZEZpbHRlcnMuZGlzdGFuY2UgIT09ICfkuI3pmZAnKSB7XG5cdFx0XHRcdFx0Y29uc3QgZGlzdGFuY2VUZXh0ID0gdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGlzdGFuY2Vcblx0XHRcdFx0XHRpZiAoZGlzdGFuY2VUZXh0LmluY2x1ZGVzKCdrbScpKSB7XG5cdFx0XHRcdFx0XHRkaXN0YW5jZSA9IHBhcnNlSW50KGRpc3RhbmNlVGV4dCkgKiAxMDAwXG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdGRpc3RhbmNlID0gcGFyc2VJbnQoZGlzdGFuY2VUZXh0KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IHNvcnRUeXBlTWFwID0ge1xuXHRcdFx0XHRcdCfnu7zlkIjmjpLluo8nOiAxLFxuXHRcdFx0XHRcdCfot53nprvmnIDov5EnOiAyXG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3Qgc29ydFR5cGUgPSB0aGlzLnNlbGVjdGVkRmlsdGVycy5zb3J0ICE9PSAn5LiN6ZmQJyA/IChzb3J0VHlwZU1hcFt0aGlzLnNlbGVjdGVkRmlsdGVycy5zb3J0XSB8fCBudWxsKSA6IG51bGxcblxuXHRcdFx0XHRsZXQgZ3JhZGVJZCA9IG51bGxcblx0XHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmxldmVsICE9PSAn5LiN6ZmQJykge1xuXHRcdFx0XHRcdGNvbnN0IHNlbGVjdGVkQ2F0ZWdvcnkgPSB0aGlzLmNhdGVnb3J5TGlzdC5maW5kKGl0ZW0gPT4gaXRlbS5uYW1lID09PSB0aGlzLnNlbGVjdGVkRmlsdGVycy5sZXZlbClcblx0XHRcdFx0XHRpZiAoc2VsZWN0ZWRDYXRlZ29yeSkge1xuXHRcdFx0XHRcdFx0Z3JhZGVJZCA9IHNlbGVjdGVkQ2F0ZWdvcnkuaWRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zb2xlLmxvZygn5o6l5Y2V5aSn5Y6FOicsIHsgZGlzdGFuY2UsIGdyYWRlSWQsIHNvcnRUeXBlIH0pXG5cdFx0XHRcdHRoaXMuJHUuYXBpLmdyYWJPcmRlckhhbGwoe1xuXHRcdFx0XHRcdGNhcGFjaXR5OiB0aGlzLmhhbGxQYWdlU2l6ZSxcblx0XHRcdFx0XHRwYWdlOiB0aGlzLmhhbGxQYWdlLFxuXHRcdFx0XHRcdG1vZGVsOiB7XG5cdFx0XHRcdFx0XHRkaXN0YW5jZTogZGlzdGFuY2UsXG5cdFx0XHRcdFx0XHRncmFkZUlkOiBncmFkZUlkLFxuXHRcdFx0XHRcdFx0c29ydFR5cGU6IHNvcnRUeXBlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+aOpeWNleWkp+WOhScsIHJlcylcblx0XHRcdFx0XHR0aGlzLmhhbGxMb2FkaW5nID0gZmFsc2Vcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0Y29uc3QgbGlzdCA9IHJlcy5kYXRhLnJlY29yZHMgfHwgW11cblx0XHRcdFx0XHRcdHRoaXMub3JkZXJMaXN0ID0gdGhpcy5oYWxsUGFnZSA9PT0gMSA/IGxpc3QgOiB0aGlzLm9yZGVyTGlzdC5jb25jYXQobGlzdClcblx0XHRcdFx0XHRcdHRoaXMuaGFsbEhhc01vcmUgPSBsaXN0Lmxlbmd0aCA+PSB0aGlzLmhhbGxQYWdlU2l6ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkuY2F0Y2goKGVycikgPT4ge1xuXHRcdFx0XHRcdHRoaXMuaGFsbExvYWRpbmcgPSBmYWxzZVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0Z2V0UGlja3VwT3JkZXJzKCkge1xuXHRcdFx0XHRpZiAodGhpcy5hY2NlcHRpbmdTdGF0dXMgPT09IDApIHJldHVybjtcblx0XHRcdFx0aWYgKHRoaXMucGlja3VwTG9hZGluZykgcmV0dXJuXG5cdFx0XHRcdHRoaXMucGlja3VwTG9hZGluZyA9IHRydWVcblx0XHRcdFx0dGhpcy4kdS5hcGkuYWN0aXZlT3JkZXJzKHsgc3RhdHVzOiAzIH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZygn5b6F5Y+W6LSnOicsIHJlcylcblx0XHRcdFx0XHR0aGlzLnBpY2t1cExvYWRpbmcgPSBmYWxzZVxuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR0aGlzLnBpY2t1cE9yZGVyTGlzdCA9IHJlcy5kYXRhLnJlY29yZHMgfHwgcmVzLmRhdGEgfHwgW11cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKChlcnIpID0+IHtcblx0XHRcdFx0XHR0aGlzLnBpY2t1cExvYWRpbmcgPSBmYWxzZVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0Z2V0RGVsaXZlcmluZ09yZGVycygpIHtcblx0XHRcdFx0aWYgKHRoaXMuYWNjZXB0aW5nU3RhdHVzID09PSAwKSByZXR1cm47XG5cdFx0XHRcdGlmICh0aGlzLmRlbGl2ZXJpbmdMb2FkaW5nKSByZXR1cm5cblx0XHRcdFx0dGhpcy5kZWxpdmVyaW5nTG9hZGluZyA9IHRydWVcblx0XHRcdFx0dGhpcy4kdS5hcGkuYWN0aXZlT3JkZXJzKHsgc3RhdHVzOiA0IH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZygn6YWN6YCB5LitOicsIHJlcylcblx0XHRcdFx0XHR0aGlzLmRlbGl2ZXJpbmdMb2FkaW5nID0gZmFsc2Vcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dGhpcy5kZWxpdmVyaW5nT3JkZXJMaXN0ID0gcmVzLmRhdGEgfHwgW11cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKChlcnIpID0+IHtcblx0XHRcdFx0XHR0aGlzLmRlbGl2ZXJpbmdMb2FkaW5nID0gZmFsc2Vcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdG9wZW5TdGF0dXNQaWNrZXIoKSB7XG5cdFx0XHRcdHRoaXMuc2hvd1N0YXR1c1BpY2tlciA9IHRydWVcblx0XHRcdH0sXG5cblx0XHRcdGNvbmZpcm1TdGF0dXMoZSkge1xuXHRcdFx0XHR0aGlzLnNob3dTdGF0dXNQaWNrZXIgPSBmYWxzZVxuXHRcdFx0XHRjb25zdCBzZWxlY3RlZFZhbHVlID0gZS52YWx1ZVswXVxuXHRcdFx0XHR0aGlzLiR1LmFwaS51cGRhdGVBY2NlcHRpbmdTdGF0dXMoeyBzdGF0dXM6IHNlbGVjdGVkVmFsdWUudmFsdWUgfSkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmFjY2VwdGluZ1N0YXR1cyA9IHNlbGVjdGVkVmFsdWUudmFsdWVcblx0XHRcdFx0XHRcdHRoaXMuZ2V0Q2VudGVySW5mbygpXG5cdFx0XHRcdFx0XHRpZiAodGhpcy5hY2NlcHRpbmdTdGF0dXMgPT09IDApIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5vcmRlckxpc3QgPSBbXVxuXHRcdFx0XHRcdFx0XHR0aGlzLnBpY2t1cE9yZGVyTGlzdCA9IFtdXG5cdFx0XHRcdFx0XHRcdHRoaXMuZGVsaXZlcmluZ09yZGVyTGlzdCA9IFtdXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy5hY3RpdmVUYWIgPT09ICdwaWNrdXAnKSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5nZXRQaWNrdXBPcmRlcnMoKVxuXHRcdFx0XHRcdFx0XHR9IGVsc2UgaWYgKHRoaXMuYWN0aXZlVGFiID09PSAnZGVsaXZlcmluZycpIHtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmdldERlbGl2ZXJpbmdPcmRlcnMoKVxuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuaGFsbFBhZ2UgPSAxXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5oYWxsSGFzTW9yZSA9IHRydWVcblx0XHRcdFx0XHRcdFx0XHR0aGlzLm9yZGVyTGlzdCA9IFtdXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5nZXRIYWxsT3JkZXJzKClcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdHRvRHJpdmVyQ2VydGlmaWNhdGlvbigpIHtcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdHVybDogJy9wYWdlcy9kcml2ZXItY2VydGlmaWNhdGlvbi9kcml2ZXItY2VydGlmaWNhdGlvbidcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdHRvZ2dsZUZpbHRlclBvcHVwKHNob3cpIHtcblx0XHRcdFx0dGhpcy5zaG93RmlsdGVyUG9wdXAgPSBzaG93XG5cdFx0XHR9LFxuXG5cdFx0XHRzZWxlY3RGaWx0ZXIoa2V5LCBvcHRpb24pIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZEZpbHRlcnMgPSB7XG5cdFx0XHRcdFx0Li4udGhpcy5zZWxlY3RlZEZpbHRlcnMsXG5cdFx0XHRcdFx0W2tleV06IG9wdGlvblxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXG5cdFx0XHRyZXNldEZpbHRlcnMoKSB7XG5cdFx0XHRcdHRoaXMuc2hvd0ZpbHRlclBvcHVwID0gZmFsc2Vcblx0XHRcdFx0aWYgKHRoaXMudXNlckluZm8uYXVkaXRTdGF0dXMgPT09IDk5KSByZXR1cm47XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRGaWx0ZXJzID0ge1xuXHRcdFx0XHRcdHNvcnQ6ICfnu7zlkIjmjpLluo8nLFxuXHRcdFx0XHRcdGxldmVsOiAn5LiN6ZmQJyxcblx0XHRcdFx0XHRkaXN0YW5jZTogJ+S4jemZkCdcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAodGhpcy5hY3RpdmVUYWIgPT09ICdoYWxsJykge1xuXHRcdFx0XHRcdHRoaXMuaGFsbFBhZ2UgPSAxXG5cdFx0XHRcdFx0dGhpcy5oYWxsSGFzTW9yZSA9IHRydWVcblx0XHRcdFx0XHR0aGlzLm9yZGVyTGlzdCA9IFtdXG5cdFx0XHRcdFx0dGhpcy5nZXRIYWxsT3JkZXJzKClcblx0XHRcdFx0fVxuXHRcdFx0fSxcblxuXHRcdFx0Y29uZmlybUZpbHRlcnMoKSB7XG5cdFx0XHRcdHRoaXMuc2hvd0ZpbHRlclBvcHVwID0gZmFsc2Vcblx0XHRcdFx0aWYgKHRoaXMudXNlckluZm8uYXVkaXRTdGF0dXMgPT09IDk5KSB7XG5cdFx0XHRcdFx0dGhpcy5oYWxsSGFzTW9yZSA9IHRydWVcblx0XHRcdFx0XHRyZXR1cm5cblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAodGhpcy5hY3RpdmVUYWIgPT09ICdoYWxsJykge1xuXHRcdFx0XHRcdHRoaXMuaGFsbFBhZ2UgPSAxXG5cdFx0XHRcdFx0dGhpcy5oYWxsSGFzTW9yZSA9IHRydWVcblx0XHRcdFx0XHR0aGlzLm9yZGVyTGlzdCA9IFtdXG5cdFx0XHRcdFx0dGhpcy5nZXRIYWxsT3JkZXJzKClcblx0XHRcdFx0fVxuXHRcdFx0fSxcblxuXHRcdFx0aW5pdFRUUygpIHtcblx0XHRcdFx0aWYgKHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpLnBsYXRmb3JtICE9PSAnYW5kcm9pZCcpIHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZygn5LuF5pSv5oyB5a6J5Y2TJylcblx0XHRcdFx0XHRyZXR1cm5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Ly8g5a+85YWl5a6J5Y2T5Y6f55Sf57G7XG5cdFx0XHRcdFx0Y29uc3QgVGV4dFRvU3BlZWNoID0gcGx1cy5hbmRyb2lkLmltcG9ydENsYXNzKCdhbmRyb2lkLnNwZWVjaC50dHMuVGV4dFRvU3BlZWNoJylcblx0XHRcdFx0XHRjb25zdCBMb2NhbGUgPSBwbHVzLmFuZHJvaWQuaW1wb3J0Q2xhc3MoJ2phdmEudXRpbC5Mb2NhbGUnKVxuXG5cdFx0XHRcdFx0Ly8g5Yib5bu6VFRTXG5cdFx0XHRcdFx0dGhpcy50dHMgPSBuZXcgVGV4dFRvU3BlZWNoKHBsdXMuYW5kcm9pZC5ydW50aW1lTWFpbkFjdGl2aXR5KCksIHtcblx0XHRcdFx0XHRcdG9uSW5pdDogKHN0YXR1cykgPT4ge1xuXHRcdFx0XHRcdFx0XHRpZiAoc3RhdHVzID09IDApIHtcblx0XHRcdFx0XHRcdFx0XHQvLyDorr7nva7kuK3mlodcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnR0cy5zZXRMYW5ndWFnZShMb2NhbGUuQ0hJTkEpXG5cdFx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ+ivremfs+WIneWni+WMluaIkOWKnycpXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+WIneWni+WMluWksei0pScsIGUpXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cblx0XHRcdHNwZWFrKHRleHQpIHtcblx0XHRcdFx0aWYgKCF0aGlzLnR0cykge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0dGl0bGU6ICfor63pn7PmnKrlh4blpIflpb0nLFxuXHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRyZXR1cm5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0Ly8g5a6J5Y2T5Y6f55Sf5pKt5oql77yIUVVFVUVfRkxVU0ggPSDnq4vljbPmkq3miqXvvIzmiZPmlq3kuIrkuIDmnaHvvIlcblx0XHRcdFx0XHR0aGlzLnR0cy5zcGVhayh0ZXh0LCAwLCBudWxsKVxuXHRcdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZygn5pKt5oql5aSx6LSlJywgZXJyKVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXG5cdFx0XHRzdG9wU3BlYWsoKSB7XG5cdFx0XHRcdGlmICh0aGlzLnR0cykgdGhpcy50dHMuc3RvcCgpXG5cdFx0XHR9XG5cdFx0fSxcblxuXHRcdG9uVW5sb2FkKCkge1xuXHRcdFx0aWYgKHRoaXMudHRzKSB7XG5cdFx0XHRcdHRoaXMudHRzLnN0b3AoKVxuXHRcdFx0XHR0aGlzLnR0cy5zaHV0ZG93bigpXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuXHQuaGFsbC1wYWdlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0aGVpZ2h0OiAxMDB2aDtcblx0XHRiYWNrZ3JvdW5kOiAjZjVmNmY4O1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHQucXJjb2RlIHtcblx0XHRcdHBhZGRpbmc6IDM2cnB4IDMwcnB4O1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdC5xcmNvZGUtdGl0bGUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRpbWFnZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDI4cnB4O1xuXHRcdFx0XHRcdGhlaWdodDogMjhycHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGV4dCB7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDMycnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjMTExMTExO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQucXJjb2RlLWltYWdlIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA2MHJweDtcblx0XHRcdFx0aW1hZ2Uge1xuXHRcdFx0XHRcdHdpZHRoOiA0MDBycHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA0MDBycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5xcmNvZGUtYnRuIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogODhycHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA4OHJweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMTA2RUZBO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MHJweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA2OHJweDtcblxuXHRcdFx0XHQmLS1ob3ZlciB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC45Mjtcblx0XHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnJweCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHQucGhvdG8tZGVsaXZlciB7XG5cdFx0XHRwYWRkaW5nOiAzMnJweCAyOHJweCBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDI4cnB4KTtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMjBycHg7XG5cdFx0XHRib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMjBycHg7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHQmX19oZWFkZXIge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHR9XG5cblx0XHRcdCZfX3RpdGxlIHtcblx0XHRcdFx0Zm9udC1zaXplOiAzNHJweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0Y29sb3I6ICMxMTExMTE7XG5cdFx0XHR9XG5cblx0XHRcdCZfX2Nsb3NlLFxuXHRcdFx0Jl9fY2xvc2UtcGxhY2Vob2xkZXIge1xuXHRcdFx0XHR3aWR0aDogMzZycHg7XG5cdFx0XHRcdGhlaWdodDogMzZycHg7XG5cdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19jbG9zZS1wbGFjZWhvbGRlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCZfX3NlY3Rpb24ge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA1NnJweDtcblxuXHRcdFx0XHQmLS1yZW1hcmsge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDQ2cnB4O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdCZfX2xhYmVsLXJvdyB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdH1cblxuXHRcdFx0Jl9fbGFiZWwsXG5cdFx0XHQmX19yZW1hcmstdGl0bGUge1xuXHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRjb2xvcjogIzIzMjYyZDtcblx0XHRcdH1cblxuXHRcdFx0Jl9fcmVxdWlyZWQge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogNHJweDtcblx0XHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0Y29sb3I6ICNmZjNiMzA7XG5cdFx0XHR9XG5cblx0XHRcdCZfX2hpbnQge1xuXHRcdFx0XHRtYXJnaW4tbGVmdDogMTJycHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRcdGNvbG9yOiAjYThhZGI3O1xuXHRcdFx0fVxuXG5cdFx0XHQmX19waG90b3Mge1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRnYXA6IDE4cnB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAzMHJweDtcblx0XHRcdH1cblxuXHRcdFx0Jl9fdXBsb2FkLWNhcmQsXG5cdFx0XHQmX19wcmV2aWV3LWNhcmQge1xuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRcdHdpZHRoOiAxNjBycHg7XG5cdFx0XHRcdGhlaWdodDogMTYwcnB4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA4cnB4O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0fVxuXG5cdFx0XHQmX191cGxvYWQtY2FyZCB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRib3JkZXI6IDJycHggZGFzaGVkICNjOWNlZDY7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHR9XG5cblx0XHRcdCZfX3VwbG9hZC1pY29uIHtcblx0XHRcdFx0d2lkdGg6IDUycnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDUycnB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmX191cGxvYWQtdGV4dCB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDE0cnB4O1xuXHRcdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0XHRjb2xvcjogIzlkYTNhZTtcblx0XHRcdH1cblxuXHRcdFx0Jl9fcHJldmlldy1jYXJkIHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2VlZjFmNTtcblx0XHRcdH1cblxuXHRcdFx0Jl9fcHJldmlldy1pbWFnZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR9XG5cblx0XHRcdCZfX3ByZXZpZXctbWFzayB7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRcdGJvdHRvbTogMDtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGhlaWdodDogNDhycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40Nik7XG5cdFx0XHR9XG5cblx0XHRcdCZfX3ByZXZpZXctZGVsZXRlIHtcblx0XHRcdFx0Zm9udC1zaXplOiAyNnJweDtcblx0XHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHR9XG5cblx0XHRcdCZfX3RleHRhcmVhIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTEwcnB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAyNHJweDtcblx0XHRcdFx0cGFkZGluZzogMjhycHggMjRycHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEycnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjdmOGZhO1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHRmb250LXNpemU6IDMwcnB4O1xuXHRcdFx0XHRjb2xvcjogIzJjMzEzOTtcblx0XHRcdH1cblxuXHRcdFx0Jl9fc3VibWl0IHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogODhycHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA4OHJweDtcblx0XHRcdFx0bWFyZ2luLXRvcDogODZycHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwcnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMTA2ZWZhO1xuXHRcdFx0XHRmb250LXNpemU6IDMycnB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLS1ob3ZlciB7XG5cdFx0XHRcdFx0b3BhY2l0eTogMC45Mjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2hlYWRlciB7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMyNDczZjUgMCUsICMxZTZmZWYgMTAwJSk7XG5cdFx0XHRib3gtc2hhZG93OiAwIDEycnB4IDI0cnB4IHJnYmEoMzYsIDExNSwgMjQ1LCAwLjA4KTtcblx0XHR9XG5cblx0XHQmX191c2VyLXJvdyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IDIwcnB4IDI0cnB4IDA7XG5cdFx0fVxuXG5cdFx0Jl9fdXNlciB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogMTRycHg7XG5cdFx0fVxuXG5cdFx0Jl9fYXZhdGFyIHtcblx0XHRcdHdpZHRoOiA0MnJweDtcblx0XHRcdGhlaWdodDogNDJycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRib3JkZXI6IDJycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuXHRcdH1cblxuXHRcdCZfX25hbWUge1xuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHR9XG5cblx0XHQmX19zdGF0dXMge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nOiAxMHJweCAxNnJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDk5OXJweDtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNik7XG5cdFx0XHRiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBycHgpO1xuXHRcdH1cblxuXHRcdCZfX3N0YXR1cy1kb3Qge1xuXHRcdFx0d2lkdGg6IDE0cnB4O1xuXHRcdFx0aGVpZ2h0OiAxNHJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGJhY2tncm91bmQ6ICMzMmQ3NGI7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcnB4O1xuXG5cdFx0XHQmLS1vZmZsaW5lIHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmM2IzMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19zdGF0dXMtdGV4dCxcblx0XHQmX19zdGF0dXMtYXJyb3cge1xuXHRcdFx0Zm9udC1zaXplOiAyNHJweDtcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdH1cblxuXHRcdCZfX3N0YXR1cy1hcnJvdyB7XG5cdFx0XHRmb250LXNpemU6IDE4cnB4O1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDhycHg7XG5cdFx0fVxuXG5cdFx0Jl9fc3RhdHMge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdHBhZGRpbmc6IDM0cnB4IDM2cnB4IDI4cnB4O1xuXHRcdH1cblxuXHRcdCZfX3N0YXQtaXRlbSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRtaW4td2lkdGg6IDE2MHJweDtcblx0XHR9XG5cblx0XHQmX19zdGF0LXZhbHVlIHtcblx0XHRcdGZvbnQtc2l6ZTogNTJycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHR9XG5cblx0XHQmX19zdGF0LWxhYmVsIHtcblx0XHRcdG1hcmdpbi10b3A6IDEycnB4O1xuXHRcdFx0Zm9udC1zaXplOiAyNnJweDtcblx0XHRcdGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpO1xuXHRcdH1cblxuXHRcdCZfX3RhYnMge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRoZWlnaHQ6IDg4cnB4O1xuXHRcdFx0cGFkZGluZzogMCAxOHJweDtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0fVxuXG5cdFx0Jl9fdGFiIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRwYWRkaW5nOiAwIDE4cnB4O1xuXHRcdFx0Zm9udC1zaXplOiAzMnJweDtcblx0XHRcdGNvbG9yOiAjOGI5MDk5O1xuXHRcdH1cblxuXHRcdCZfX3RhYi0tYWN0aXZlIHtcblx0XHRcdGNvbG9yOiAjMjQyOTMzO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHR9XG5cblx0XHQmX190YWItdGV4dCB7XG5cdFx0XHRmb250LXNpemU6IGluaGVyaXQ7XG5cdFx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHR9XG5cblx0XHQmX190YWItY291bnQge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDZycHg7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Y29sb3I6ICM4YjkwOTk7XG5cdFx0fVxuXG5cdFx0Jl9fdGFiLWxpbmUge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0bGVmdDogMThycHg7XG5cdFx0XHRyaWdodDogMThycHg7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRoZWlnaHQ6IDVycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA5OTlycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjMjQ3M2Y1O1xuXHRcdH1cblxuXHRcdCZfX2ZpbHRlciB7XG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiA2cnB4O1xuXHRcdFx0cGFkZGluZy1yaWdodDogMTBycHg7XG5cdFx0fVxuXG5cdFx0Jl9fZmlsdGVyLXRleHQge1xuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdGNvbG9yOiAjOWFhMWFiO1xuXG5cdFx0XHQmLS1hY3RpdmUge1xuXHRcdFx0XHRjb2xvcjogIzEwNmVmYTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Jl9fZmlsdGVyLWljb24ge1xuXHRcdFx0d2lkdGg6IDI4cnB4O1xuXHRcdFx0aGVpZ2h0OiAyOHJweDtcblx0XHR9XG5cblx0XHQmX19ib2R5IHtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRjZGOUZGO1xuXHRcdH1cblxuXHRcdCZfX2xpc3Qge1xuXHRcdFx0cGFkZGluZzogMzBycHg7XG5cdFx0fVxuXG5cdFx0Jl9fdmVyaWZpZWQge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGltYWdlIHtcblx0XHRcdFx0d2lkdGg6IDMyMHJweDtcblx0XHRcdFx0aGVpZ2h0OiAzMjBycHg7XG5cdFx0XHR9XG5cdFx0XHRidXR0b24ge1xuXHRcdFx0XHR3aWR0aDogMTYwcnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDY0cnB4O1xuXHRcdFx0XHRsaW5lLWhlaWdodDogNjRycHg7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0cGFkZGluZzogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRib3JkZXI6IDAgIWltcG9ydGFudDtcblx0XHRcdFx0YmFja2dyb3VuZDogIzEwNkVGQTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTBycHg7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDQwcnB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19lbXB0eSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0cGFkZGluZy1ib3R0b206IGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKTtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXG5cdFx0Jl9fZW1wdHktaWNvbiB7XG5cdFx0XHR3aWR0aDogMzIwcnB4O1xuXHRcdFx0aGVpZ2h0OiAzMjBycHg7XG5cdFx0fVxuXHR9XG5cblx0LmZpbHRlci1wb3B1cCB7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdGxlZnQ6IDA7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0ei1pbmRleDogMjA7XG5cblx0XHQmX19wYW5lbCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0XHRib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAyOHJweDtcblx0XHRcdGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAyOHJweDtcblx0XHR9XG5cblx0XHQmX19jb250ZW50IHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRvdmVyZmxvdy15OiBhdXRvO1xuXHRcdFx0cGFkZGluZzogMjJycHggMThycHggMDtcblx0XHR9XG5cblx0XHQmX19zZWN0aW9uIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDI4cnB4O1xuXHRcdH1cblxuXHRcdCZfX3RpdGxlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBycHg7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjMjUyYjMzO1xuXHRcdH1cblxuXHRcdCZfX29wdGlvbnMge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGdhcDogMThycHggMjBycHg7XG5cdFx0fVxuXG5cdFx0Jl9fb3B0aW9uIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogMjI2cnB4O1xuXHRcdFx0aGVpZ2h0OiA3NHJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xuXHRcdFx0YmFja2dyb3VuZDogI2Y1ZjVmNTtcblx0XHRcdGJvcmRlcjogMnJweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cblx0XHRcdCYtLWFjdGl2ZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNlZGY1ZmY7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogIzNkOGNmZjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19vcHRpb24tdGV4dCB7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Y29sb3I6ICM0YjUxNWE7XG5cblx0XHRcdC5maWx0ZXItcG9wdXBfX29wdGlvbi0tYWN0aXZlICYge1xuXHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRjb2xvcjogIzI2NzhmZjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19hY3Rpb25zIHtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGdhcDogMjRycHg7XG5cdFx0XHRwYWRkaW5nOiA4cnB4IDE4cnB4IDI2cnB4O1xuXHRcdH1cblxuXHRcdCZfX2J1dHRvbiB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0aGVpZ2h0OiA5MnJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA5MnJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDk5OXJweDtcblx0XHRcdGZvbnQtc2l6ZTogMzRycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCYtLXJlc2V0IHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ViZWJlYjtcblx0XHRcdFx0Y29sb3I6ICM3NzdkODY7XG5cdFx0XHR9XG5cblx0XHRcdCYtLWNvbmZpcm0ge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMmQ4MmZmIDAlLCAjMjA2ZWY2IDEwMCUpO1xuXHRcdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRcdH1cblxuXHRcdFx0Ji0taG92ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjkyO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5vcmRlci1jYXJkIHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHJweDtcblx0XHRwYWRkaW5nOiAyMHJweDtcblx0XHRib3JkZXItcmFkaXVzOiAyNHJweDtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdGJveC1zaGFkb3c6IDAgMTBycHggMjRycHggcmdiYSgyNiwgNDQsIDgxLCAwLjA0KTtcblxuXHRcdCZfX2hlYWQge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdH1cblxuXHRcdCZfX3RpbWUtbWFpbiB7XG5cdFx0XHRmb250LXNpemU6IDQycnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjZmY4ZDI3O1xuXHRcdH1cblxuXHRcdCZfX3RpbWUtc3ViIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA4cnB4O1xuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdGNvbG9yOiAjYTNhOGIyO1xuXHRcdH1cblxuXHRcdCZfX3ByaWNlLXdyYXAge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiA4cnB4O1xuXG5cdFx0XHQmLS1zZXJpYWwtb25seSB7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblx0XHRcdFx0bWluLXdpZHRoOiA1NHJweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19zZXJpYWwge1xuXHRcdFx0Zm9udC1zaXplOiAzOHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdGNvbG9yOiAjMmMzMTM5O1xuXHRcdH1cblxuXHRcdCZfX3ByaWNlIHtcblx0XHRcdGZvbnQtc2l6ZTogNDRycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICNmZjNiMzA7XG5cdFx0fVxuXG5cdFx0Jl9fbWV0YSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogMTZycHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMnJweDtcblx0XHR9XG5cblx0XHQmX19leHRyYSB7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRjb2xvcjogI2EwYTVhZjtcblx0XHR9XG5cblx0XHQmX190YWdzIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0Z2FwOiAxMHJweDtcblx0XHR9XG5cblx0XHQmX190YWctd3JhcCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cblx0XHQmX190YWctaWNvbiB7XG5cdFx0XHR3aWR0aDogMTA4cnB4O1xuXHRcdFx0aGVpZ2h0OiA0MHJweDtcblx0XHR9XG5cblx0XHQmX190YWctaW1nIHtcblx0XHRcdHdpZHRoOiAxMDhycHg7XG5cdFx0XHRoZWlnaHQ6IDQwcnB4O1xuXHRcdH1cblxuXHRcdCZfX3RhZyB7XG5cdFx0XHRwYWRkaW5nOiA0cnB4IDEwcnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOHJweDtcblx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGJvcmRlcjogMXJweCBzb2xpZCAjMjQ3M2Y1O1xuXHRcdFx0Y29sb3I6ICMyNDczZjU7XG5cblx0XHRcdCYtLW9yYW5nZSB7XG5cdFx0XHRcdGJvcmRlcjogbm9uZTtcblx0XHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDMxOWRlZywgI0VFOUQwRSAwJSwgI0ZGNEU0RSAxMDAlKTtcblx0XHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHR9XG5cblx0XHRcdCYtLXJlZCB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogI2ZmNmM1Nztcblx0XHRcdFx0Y29sb3I6ICNmZjZjNTc7XG5cdFx0XHR9XG5cblx0XHRcdCYtLWJsdWUtbGlnaHQge1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICM3NGE5ZmY7XG5cdFx0XHRcdGNvbG9yOiAjNzRhOWZmO1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1ibHVlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgxNiwxNzgsMjUwLDAuMDgpO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxNXJweDtcblx0XHRcdFx0Ym9yZGVyOiAycnB4IHNvbGlkICMxMDZFRkE7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XG5cdFx0XHRcdGNvbG9yOiAjMTA2RUZBO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3JvdXRlIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMHJweDtcblx0XHR9XG5cblx0XHQmX19yb3V0ZS1zaWRlIHtcblx0XHRcdHdpZHRoOiA3MHJweDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0cGFkZGluZzogMTRycHggMCA4cnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMjZycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjZmN2Y5O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHJweDtcblx0XHR9XG5cblx0XHQmX19kaXN0YW5jZS1ibG9jayB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblxuXHRcdFx0Ji0tdG9wIHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogNnJweDtcblx0XHRcdH1cblxuXHRcdFx0Ji0tYm90dG9tIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogNnJweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19kaXN0YW5jZS12YWx1ZSB7XG5cdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjMzMzMzMzO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblxuXHRcdCZfX2Rpc3RhbmNlLXVuaXQge1xuXHRcdFx0bWFyZ2luLXRvcDogNnJweDtcblx0XHRcdGZvbnQtc2l6ZTogMThycHg7XG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0Y29sb3I6ICM4YzkzOWY7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuXHRcdH1cblxuXHRcdCZfX2xpbmUge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0bWluLWhlaWdodDogNjJycHg7XG5cdFx0XHRtYXJnaW46IDhycHggMDtcblx0XHRcdGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMjAnIGhlaWdodD0nMjYnIHZpZXdCb3g9JzAgMCAyMCAyNiclM0UlM0NwYXRoIGZpbGw9JyUyMzhDOTM5RicgZD0nTTEwIDBDNS4wMyAwIDEgMy45OSAxIDguOTJjMCA2LjMxIDcuMjggMTIuODcgOC4wNyAxMy41N2ExLjQgMS40IDAgMCAwIDEuODYgMEMxMS43MiAyMS43OSAxOSAxNS4yMyAxOSA4LjkyIDE5IDMuOTkgMTQuOTcgMCAxMCAwWm0wIDEyLjI0YTMuMzIgMy4zMiAwIDEgMSAwLTYuNjQgMy4zMiAzLjMyIDAgMCAxIDAgNi42NFonLyUzRSUzQy9zdmclM0VcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwcnB4IDI2cnB4O1xuXG5cdFx0XHQmOjpiZWZvcmUsXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXHRcdFx0XHR3aWR0aDogMnJweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogOTk5cnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjY2ZkNGRjO1xuXHRcdFx0fVxuXG5cdFx0XHQmOjpiZWZvcmUge1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdGhlaWdodDogMThycHg7XG5cdFx0XHR9XG5cblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRoZWlnaHQ6IDI0cnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3JvdXRlLW1haW4ge1xuXHRcdFx0ZmxleDogMTtcblx0XHR9XG5cblx0XHQmX19yb3V0ZS1pdGVtIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGdhcDogMTZycHg7XG5cblx0XHRcdCYtLWRlc3RpbmF0aW9uIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtYmFkZ2Uge1xuXHRcdFx0d2lkdGg6IDQ0cnB4O1xuXHRcdFx0aGVpZ2h0OiA0NHJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxNnJweDtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXG5cdFx0XHQmLS10YWtlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogIzEwQjJGQTtcblx0XHRcdH1cblxuXHRcdFx0Ji0tc2VuZCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNGRjhBMDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtYmFkZ2UtdGV4dCB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAzNnJweDtcblx0XHRcdGhlaWdodDogMzZycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRmb250LXNpemU6IDIycnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiA4cnB4O1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuXHRcdFx0Ji0tdGFrZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMxMEIyRkE7XG5cdFx0XHR9XG5cblx0XHRcdCYtLXNlbmQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjRkY4QTAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3JvdXRlLXRleHRzIHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtdGl0bGUge1xuXHRcdFx0d2lkdGg6IDUwMHJweDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiA0MHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogIzJkMzEzOTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdH1cblxuXHRcdCZfX3JvdXRlLWRlc2Mge1xuXHRcdFx0d2lkdGg6IDUwMHJweDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLXRvcDogOHJweDtcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0XHRjb2xvcjogIzllYTRhZTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdH1cblxuXHRcdCZfX25hdiB7XG5cdFx0XHR3aWR0aDogNDhycHg7XG5cdFx0XHRoZWlnaHQ6IDQ4cnB4O1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0fVxuXG5cdFx0Jl9fZ29vZHMge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRoZWlnaHQ6IDcwcnB4O1xuXHRcdFx0cGFkZGluZzogMCAyMHJweDtcblx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTZycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjRmNWY3O1xuXHRcdH1cblxuXHRcdCZfX2dvb2RzLXRleHQge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0XHRjb2xvcjogIzdhODE4ZDtcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0dGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cdFx0fVxuXG5cdFx0Jl9fZ29vZHMtYXJyb3cge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDEycnB4O1xuXHRcdFx0Zm9udC1zaXplOiAyNHJweDtcblx0XHRcdGNvbG9yOiAjYTRhOWIxO1xuXHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7XG5cblx0XHRcdCYtLWV4cGFuZGVkIHtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19idXR0b24ge1xuXHRcdFx0bWFyZ2luLXRvcDogMjRycHg7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogODhycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogODhycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA5OTlycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjMmI3ZmZmIDAlLCAjMWY2ZmYzIDEwMCUpO1xuXHRcdFx0Zm9udC1zaXplOiAzNHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRcdGJvcmRlcjogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1ob3ZlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fYWN0aW9ucyB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyNHJweDtcblxuXHRcdFx0Ji0tcGlja3VwLFxuXHRcdFx0Ji0tZGVsaXZlcmluZyB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGdhcDogMjJycHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9faWNvbi1hY3Rpb25zIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAyMHJweDtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXG5cdFx0XHQmLS1zaW5nbGUge1xuXHRcdFx0XHRnYXA6IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9faWNvbi1hY3Rpb24ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHR3aWR0aDogNzRycHg7XG5cdFx0fVxuXG5cdFx0Jl9fYWN0aW9uLWljb24ge1xuXHRcdFx0d2lkdGg6IDQwcnB4O1xuXHRcdFx0aGVpZ2h0OiA0MHJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDhycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjdmOGZhO1xuXHRcdH1cblxuXHRcdCZfX2FjdGlvbi10ZXh0IHtcblx0XHRcdG1hcmdpbi10b3A6IDhycHg7XG5cdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRjb2xvcjogIzViNjE2Yjtcblx0XHR9XG5cblx0XHQmX19idXR0b24tLWNvZGUge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdG1hcmdpbi10b3A6IDA7XG5cdFx0fVxuXHR9XG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///91\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 _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 93));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _vuex = __webpack_require__(/*! vuex */ 12);\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      tts: null,\n      show: false,\n      show1: false,\n      showGrabModal: false,\n      selectedGrabOrder: null,\n      selectedCancelOrder: null,\n      cancelRemain: 0,\n      selectedPickupOrder: null,\n      showPhotoDeliverPopup: false,\n      routeInfo: null,\n      statusBarHeight: 0,\n      headerHeight: 0,\n      tabbarHeight: 0,\n      scrollHeight: 0,\n      showFilterPopup: false,\n      acceptingStatus: 0,\n      showStatusPicker: false,\n      hasApprovedOfficial: false,\n      statusOptions: [{\n        text: '涓婄嚎',\n        value: 1\n      }, {\n        text: '涓嬬嚎',\n        value: 0\n      }],\n      centerUserInfo: {},\n      activeTab: 'hall',\n      expandedGoodsIds: [],\n      categoryList: [],\n      filterSections: [{\n        key: 'sort',\n        title: '鎺掑簭',\n        options: ['缁煎悎鎺掑簭', '璺濈鏈�杩�']\n      }, {\n        key: 'level',\n        title: '鐗╁搧绛夌骇',\n        options: ['涓嶉檺']\n      }, {\n        key: 'distance',\n        title: '浣嶇疆鑼冨洿',\n        options: ['涓嶉檺', '500m', '1km', '2km', '3km', '4km', '5km', '6km', '7km']\n      }],\n      selectedFilters: {\n        sort: '缁煎悎鎺掑簭',\n        level: '涓嶉檺',\n        distance: '涓嶉檺'\n      },\n      stats: [{\n        value: '-',\n        label: '鏈嶅姟鍒�'\n      }, {\n        value: '-',\n        label: '浠婃棩棰勮浣i噾'\n      }, {\n        value: '-',\n        label: '浠婃棩鎺ュ崟'\n      }],\n      tabs: [{\n        label: '鎶㈠崟澶у巺',\n        value: 'hall'\n      }, {\n        label: '寰呭彇璐�',\n        value: 'pickup'\n      }, {\n        label: '閰嶉�佷腑',\n        value: 'delivering'\n      }],\n      orderList: [],\n      pickupOrderList: [],\n      deliveringOrderList: [],\n      hallPage: 1,\n      hallPageSize: 10,\n      hallLoading: false,\n      hallHasMore: true,\n      pickupLoading: false,\n      deliveringLoading: false,\n      activeOrderCount: null\n    };\n  },\n  watch: {\n    activeTab: function activeTab(newVal) {\n      this.loadOrdersByTab(newVal);\n    }\n  },\n  onLoad: function onLoad() {\n    var _this = this;\n    var systemInfo = uni.getSystemInfoSync();\n    var safeBottom = systemInfo.safeAreaInsets ? systemInfo.safeAreaInsets.bottom || 0 : 0;\n    var windowHeight = systemInfo.windowHeight || 0;\n    this.statusBarHeight = systemInfo.statusBarHeight || 0;\n    this.headerHeight = this.statusBarHeight + uni.upx2px(308);\n    this.tabbarHeight = uni.upx2px(100) + safeBottom;\n    this.scrollHeight = Math.max(windowHeight - this.headerHeight, 0);\n    if (this.userInfo.auditStatus === 99) return;\n    this.acceptingStatus = this.userInfo.acceptingStatus || 0;\n    this.$u.api.centerInfo().then(function (res) {\n      if (res.code === 200) {\n        _this.acceptingStatus = res.data.acceptingStatus;\n        if (res.data.acceptingStatus === 1) {\n          _this.loadOrdersByTab(_this.activeTab);\n        }\n      }\n    });\n    uni.$on('jiedanSuccess', function () {\n      _this.loadOrdersByTab(_this.activeTab);\n    });\n  },\n  onShow: function onShow() {\n    this.getCenterInfo();\n    this.getCategoryListData();\n    this.getActiveOrderCount();\n    this.getUserInfoDetail();\n  },\n  computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)(['userInfo', 'token'])), {}, {\n    displayTabs: function displayTabs() {\n      var _this2 = this;\n      return this.tabs.map(function (tab) {\n        if (tab.value === 'pickup') {\n          var _this2$activeOrderCou;\n          return _objectSpread(_objectSpread({}, tab), {}, {\n            count: (_this2$activeOrderCou = _this2.activeOrderCount) === null || _this2$activeOrderCou === void 0 ? void 0 : _this2$activeOrderCou.grabbedCount\n          });\n        } else if (tab.value === 'delivering') {\n          var _this2$activeOrderCou2;\n          return _objectSpread(_objectSpread({}, tab), {}, {\n            count: (_this2$activeOrderCou2 = _this2.activeOrderCount) === null || _this2$activeOrderCou2 === void 0 ? void 0 : _this2$activeOrderCou2.deliveringCount\n          });\n        }\n        return tab;\n      });\n    },\n    currentOrderList: function currentOrderList() {\n      var orderMap = {\n        hall: this.orderList,\n        pickup: this.pickupOrderList,\n        delivering: this.deliveringOrderList\n      };\n      return orderMap[this.activeTab] || [];\n    },\n    bodyStyle: function bodyStyle() {\n      return {\n        marginTop: this.headerHeight + 'px',\n        height: this.scrollHeight + 'px'\n      };\n    }\n  }),\n  onReady: function onReady() {\n    this.initTTS(); // 椤甸潰娓叉煋瀹屾垚鍒濆鍖栬闊砛n  },\n\n  methods: {\n    handleScrollToLower: function handleScrollToLower() {\n      if (this.acceptingStatus === 0) return;\n      this.hallPage++;\n      if (this.activeTab === 'hall') {\n        __f__(\"log\", 'hall', \" at pages/index/index.vue:403\");\n        this.getHallOrders();\n      } else if (this.activeTab === 'pickup') {\n        this.getPickupOrders();\n      } else if (this.activeTab === 'delivering') {\n        this.getDeliveringOrders();\n      }\n    },\n    getUserInfoDetail: function getUserInfoDetail() {\n      var _this3 = this;\n      this.$u.api.verifyDetail().then(function (res) {\n        if (res.code === 200) {\n          _this3.hasApprovedOfficial = res.data.hasApprovedOfficial === true;\n        }\n      });\n    },\n    formatRemainTime: function formatRemainTime(minutes) {\n      if (!minutes) return 0;\n      if (minutes === 0) {\n        return '閰嶉�佸凡瓒呮椂';\n      }\n      if (minutes >= 60) {\n        return (minutes / 60).toFixed(2) + '灏忔椂鍐�';\n      }\n      return minutes + '鍒嗛挓鍐�';\n    },\n    getGoodsText: function getGoodsText(items, itemId) {\n      if (!items || items.length === 0) return '鏃�';\n      var text = items.map(function (i) {\n        return \"\".concat(i.name, \"*\").concat(i.quantity);\n      }).join('銆�');\n      if (text.length > 20 && !this.expandedGoodsIds.includes(itemId)) {\n        return text.substring(0, 20) + '...';\n      }\n      return text;\n    },\n    toggleGoodsExpand: function toggleGoodsExpand(id) {\n      var index = this.expandedGoodsIds.indexOf(id);\n      if (index > -1) {\n        this.expandedGoodsIds.splice(index, 1);\n      } else {\n        this.expandedGoodsIds.push(id);\n      }\n    },\n    formatDistanceParts: function formatDistanceParts(distance) {\n      if (distance === null || distance === undefined || distance === '') {\n        return {\n          value: '--',\n          unit: ''\n        };\n      }\n      if (typeof distance === 'number') {\n        if (distance >= 1000) {\n          return {\n            value: (distance / 1000).toFixed(1),\n            unit: 'km'\n          };\n        }\n        return {\n          value: String(Math.round(distance)),\n          unit: 'm'\n        };\n      }\n      var text = String(distance).trim();\n      var match = text.match(/^([\\d.]+)\\s*([a-zA-Z\\u4e00-\\u9fa5]*)$/);\n      if (match) {\n        return {\n          value: match[1],\n          unit: match[2] || ''\n        };\n      }\n      return {\n        value: text,\n        unit: ''\n      };\n    },\n    navigateToAddress: function navigateToAddress(item, type) {\n      var latitude, longitude, name, address;\n      if (type === 'deposit') {\n        latitude = item.depositLat;\n        longitude = item.depositLng;\n        name = item.depositShopName;\n        address = item.depositShopAddress;\n      } else {\n        latitude = item.takeLat;\n        longitude = item.takeLng;\n        name = item.takeName;\n        address = item.takeAddress;\n      }\n      if (!latitude || !longitude) {\n        uni.showToast({\n          title: '鍦板潃鍧愭爣缂哄け',\n          icon: 'none'\n        });\n        return;\n      }\n      uni.openLocation({\n        latitude: latitude,\n        longitude: longitude,\n        name: name,\n        address: address,\n        success: function success() {},\n        fail: function fail(err) {\n          uni.showToast({\n            title: '鎵撳紑鍦板浘澶辫触',\n            icon: 'none'\n          });\n          __f__(\"error\", 'openLocation fail:', err, \" at pages/index/index.vue:496\");\n        }\n      });\n    },\n    handleUserClick: function handleUserClick() {\n      uni.navigateTo({\n        url: '/pages/test/test'\n      });\n    },\n    getActiveOrderCount: function getActiveOrderCount() {\n      var _this4 = this;\n      this.$u.api.activeOrderCount().then(function (res) {\n        if (res.code === 200) {\n          _this4.activeOrderCount = res.data;\n        }\n      }).catch(function (err) {\n        _this4.activeOrderCount = null;\n      });\n    },\n    handleGrabOrder: function handleGrabOrder(item) {\n      __f__(\"log\", item, \" at pages/index/index.vue:517\");\n      this.selectedGrabOrder = item;\n      this.showGrabModal = true;\n    },\n    confirmGrabOrder: function confirmGrabOrder() {\n      var _this5 = this;\n      if (!this.selectedGrabOrder) return;\n      this.$u.api.grabOrder({\n        orderId: this.selectedGrabOrder.id\n      }).then(function (res) {\n        _this5.showGrabModal = false;\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鎶㈠崟鎴愬姛',\n            icon: 'success'\n          });\n          _this5.hallPage = 1;\n          _this5.hallHasMore = true;\n          _this5.orderList = [];\n          _this5.getHallOrders();\n          _this5.getActiveOrderCount();\n          _this5.getCenterInfo();\n        } else {\n          uni.showToast({\n            title: res.message || '鎶㈠崟澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function () {\n        _this5.showGrabModal = false;\n      });\n    },\n    handleCancelOrder: function handleCancelOrder(item) {\n      var _this6 = this;\n      this.selectedCancelOrder = item;\n      this.$u.api.cancelLimit().then(function (res) {\n        if (res.code === 200) {\n          _this6.cancelRemain = res.data.remain;\n        }\n      }).finally(function () {\n        _this6.show = true;\n      });\n    },\n    confirmCancelOrder: function confirmCancelOrder() {\n      var _this7 = this;\n      if (!this.selectedCancelOrder) return;\n      this.$u.api.cancelOrder({\n        orderId: this.selectedCancelOrder.id\n      }).then(function (res) {\n        _this7.show = false;\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鍙栨秷鎴愬姛',\n            icon: 'success'\n          });\n          _this7.getPickupOrders();\n          _this7.getCenterInfo();\n          _this7.getActiveOrderCount();\n        } else {\n          uni.showToast({\n            title: res.message || '鍙栨秷澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function () {\n        _this7.show = false;\n      });\n    },\n    handleCall: function handleCall(item) {\n      if (item.contactPhone) {\n        uni.makePhoneCall({\n          phoneNumber: item.contactPhone\n        });\n      }\n    },\n    handleShowPickupCode: function handleShowPickupCode(item) {\n      this.selectedPickupOrder = item;\n      this.show1 = true;\n    },\n    goToOrderDetail: function goToOrderDetail(item, index) {\n      var url = \"/pages/order-detail/order-detail?id=\".concat(item.id);\n      if (this.activeTab === 'pickup' || this.activeTab === 'delivering') {\n        url += \"&index=\".concat(index + 1);\n      }\n      uni.navigateTo({\n        url: url\n      });\n    },\n    getCenterInfo: function getCenterInfo() {\n      var _this8 = this;\n      this.$u.api.centerInfo().then(function (res) {\n        if (res.code === 200) {\n          _this8.acceptingStatus = res.data.acceptingStatus;\n          _this8.centerUserInfo = {\n            fullImgUrl: res.data.fullImgUrl,\n            name: res.data.name\n          };\n          _this8.stats = [{\n            value: res.data.score,\n            label: '鏈嶅姟鍒�'\n          }, {\n            value: (res.data.todayCommission / 100 || 0).toFixed(2),\n            label: '浠婃棩棰勮浣i噾'\n          }, {\n            value: res.data.todayOrderCount,\n            label: '浠婃棩鎺ュ崟'\n          }];\n        }\n      });\n    },\n    getCategoryListData: function getCategoryListData() {\n      var _this9 = this;\n      this.$u.api.getCategoryList({\n        type: 3\n      }).then(function (res) {\n        if (res.code === 200) {\n          _this9.categoryList = res.data || [];\n          _this9.filterSections.forEach(function (section) {\n            if (section.key === 'level') {\n              section.options = ['涓嶉檺'].concat((0, _toConsumableArray2.default)(_this9.categoryList.map(function (item) {\n                return item.name;\n              })));\n            }\n          });\n        }\n      });\n    },\n    loadOrdersByTab: function loadOrdersByTab(tab) {\n      if (this.userInfo.auditStatus === 99) return;\n      if (this.acceptingStatus === 0) return;\n      if (tab === 'hall') {\n        this.hallPage = 1;\n        this.hallHasMore = true;\n        this.orderList = [];\n        this.getHallOrders();\n      } else if (tab === 'pickup') {\n        this.pickupOrderList = [];\n        this.getPickupOrders();\n      } else if (tab === 'delivering') {\n        this.deliveringOrderList = [];\n        this.getDeliveringOrders();\n      }\n    },\n    getHallOrders: function getHallOrders() {\n      var _this10 = this;\n      if (this.acceptingStatus === 0) return;\n      if (this.hallLoading || !this.hallHasMore) {\n        return;\n      }\n      this.hallLoading = true;\n      var distance = null;\n      if (this.selectedFilters.distance !== '涓嶉檺') {\n        var distanceText = this.selectedFilters.distance;\n        if (distanceText.includes('km')) {\n          distance = parseInt(distanceText) * 1000;\n        } else {\n          distance = parseInt(distanceText);\n        }\n      }\n      var sortTypeMap = {\n        '缁煎悎鎺掑簭': 1,\n        '璺濈鏈�杩�': 2\n      };\n      var sortType = this.selectedFilters.sort !== '涓嶉檺' ? sortTypeMap[this.selectedFilters.sort] || null : null;\n      var gradeId = null;\n      if (this.selectedFilters.level !== '涓嶉檺') {\n        var selectedCategory = this.categoryList.find(function (item) {\n          return item.name === _this10.selectedFilters.level;\n        });\n        if (selectedCategory) {\n          gradeId = selectedCategory.id;\n        }\n      }\n      __f__(\"log\", '鎺ュ崟澶у巺:', {\n        distance: distance,\n        gradeId: gradeId,\n        sortType: sortType\n      }, \" at pages/index/index.vue:669\");\n      this.$u.api.grabOrderHall({\n        capacity: this.hallPageSize,\n        page: this.hallPage,\n        model: {\n          distance: distance,\n          gradeId: gradeId,\n          sortType: sortType\n        }\n      }).then(function (res) {\n        __f__(\"log\", '鎺ュ崟澶у巺', res, \" at pages/index/index.vue:679\");\n        _this10.hallLoading = false;\n        if (res.code === 200) {\n          var list = res.data.records || [];\n          _this10.orderList = _this10.hallPage === 1 ? list : _this10.orderList.concat(list);\n          _this10.hallHasMore = list.length >= _this10.hallPageSize;\n        }\n      }).finally(function () {\n        _this10.hallLoading = false;\n      });\n    },\n    getPickupOrders: function getPickupOrders() {\n      var _this11 = this;\n      if (this.acceptingStatus === 0) return;\n      if (this.pickupLoading) return;\n      this.pickupLoading = true;\n      this.$u.api.activeOrders({\n        status: 3\n      }).then(function (res) {\n        __f__(\"log\", '寰呭彇璐�:', res, \" at pages/index/index.vue:696\");\n        _this11.pickupLoading = false;\n        if (res.code === 200) {\n          _this11.pickupOrderList = res.data.records || res.data || [];\n        }\n      }).catch(function (err) {\n        _this11.pickupLoading = false;\n      });\n    },\n    getDeliveringOrders: function getDeliveringOrders() {\n      var _this12 = this;\n      if (this.acceptingStatus === 0) return;\n      if (this.deliveringLoading) return;\n      this.deliveringLoading = true;\n      this.$u.api.activeOrders({\n        status: 4\n      }).then(function (res) {\n        __f__(\"log\", '閰嶉�佷腑:', res, \" at pages/index/index.vue:711\");\n        _this12.deliveringLoading = false;\n        if (res.code === 200) {\n          _this12.deliveringOrderList = res.data || [];\n        }\n      }).catch(function (err) {\n        _this12.deliveringLoading = false;\n      });\n    },\n    openStatusPicker: function openStatusPicker() {\n      this.showStatusPicker = true;\n    },\n    confirmStatus: function confirmStatus(e) {\n      var _this13 = this;\n      this.showStatusPicker = false;\n      var selectedValue = e.value[0];\n      this.$u.api.updateAcceptingStatus({\n        status: selectedValue.value\n      }).then(function (res) {\n        if (res.code === 200) {\n          _this13.acceptingStatus = selectedValue.value;\n          _this13.getCenterInfo();\n          if (_this13.acceptingStatus === 0) {\n            _this13.orderList = [];\n            _this13.pickupOrderList = [];\n            _this13.deliveringOrderList = [];\n          } else {\n            if (_this13.activeTab === 'pickup') {\n              _this13.getPickupOrders();\n            } else if (_this13.activeTab === 'delivering') {\n              _this13.getDeliveringOrders();\n            } else {\n              _this13.hallPage = 1;\n              _this13.hallHasMore = true;\n              _this13.orderList = [];\n              _this13.getHallOrders();\n            }\n          }\n        }\n      });\n    },\n    toDriverCertification: function toDriverCertification() {\n      uni.navigateTo({\n        url: '/pages/driver-certification/driver-certification'\n      });\n    },\n    toggleFilterPopup: function toggleFilterPopup(show) {\n      this.showFilterPopup = show;\n    },\n    selectFilter: function selectFilter(key, option) {\n      this.selectedFilters = _objectSpread(_objectSpread({}, this.selectedFilters), {}, (0, _defineProperty2.default)({}, key, option));\n    },\n    resetFilters: function resetFilters() {\n      this.showFilterPopup = false;\n      if (this.userInfo.auditStatus === 99) return;\n      this.selectedFilters = {\n        sort: '缁煎悎鎺掑簭',\n        level: '涓嶉檺',\n        distance: '涓嶉檺'\n      };\n      if (this.activeTab === 'hall') {\n        this.hallPage = 1;\n        this.hallHasMore = true;\n        this.orderList = [];\n        this.getHallOrders();\n      }\n    },\n    confirmFilters: function confirmFilters() {\n      this.showFilterPopup = false;\n      if (this.userInfo.auditStatus === 99) {\n        this.hallHasMore = true;\n        return;\n      }\n      if (this.activeTab === 'hall') {\n        this.hallPage = 1;\n        this.hallHasMore = true;\n        this.orderList = [];\n        this.getHallOrders();\n      }\n    },\n    initTTS: function initTTS() {\n      var _this14 = this;\n      if (uni.getSystemInfoSync().platform !== 'android') {\n        __f__(\"log\", '浠呮敮鎸佸畨鍗�', \" at pages/index/index.vue:801\");\n        return;\n      }\n      try {\n        // 瀵煎叆瀹夊崜鍘熺敓绫籠n        var TextToSpeech = plus.android.importClass('android.speech.tts.TextToSpeech');\n        var Locale = plus.android.importClass('java.util.Locale');\n\n        // 鍒涘缓TTS\n        this.tts = new TextToSpeech(plus.android.runtimeMainActivity(), {\n          onInit: function onInit(status) {\n            if (status == 0) {\n              // 璁剧疆涓枃\n              _this14.tts.setLanguage(Locale.CHINA);\n              __f__(\"log\", '璇煶鍒濆鍖栨垚鍔�', \" at pages/index/index.vue:816\");\n            }\n          }\n        });\n      } catch (e) {\n        __f__(\"log\", '鍒濆鍖栧け璐�', e, \" at pages/index/index.vue:821\");\n      }\n    },\n    speak: function speak(text) {\n      if (!this.tts) {\n        uni.showToast({\n          title: '璇煶鏈噯澶囧ソ',\n          icon: 'none'\n        });\n        return;\n      }\n      try {\n        // 瀹夊崜鍘熺敓鎾姤锛圦UEUE_FLUSH = 绔嬪嵆鎾姤锛屾墦鏂笂涓�鏉★級\n        this.tts.speak(text, 0, null);\n      } catch (err) {\n        __f__(\"log\", '鎾姤澶辫触', err, \" at pages/index/index.vue:838\");\n      }\n    },\n    stopSpeak: function stopSpeak() {\n      if (this.tts) this.tts.stop();\n    }\n  },\n  onUnload: function onUnload() {\n    if (this.tts) {\n      this.tts.stop();\n      this.tts.shutdown();\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvaW5kZXgvaW5kZXgudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJ0dHMiLCJzaG93Iiwic2hvdzEiLCJzaG93R3JhYk1vZGFsIiwic2VsZWN0ZWRHcmFiT3JkZXIiLCJzZWxlY3RlZENhbmNlbE9yZGVyIiwiY2FuY2VsUmVtYWluIiwic2VsZWN0ZWRQaWNrdXBPcmRlciIsInNob3dQaG90b0RlbGl2ZXJQb3B1cCIsInJvdXRlSW5mbyIsInN0YXR1c0JhckhlaWdodCIsImhlYWRlckhlaWdodCIsInRhYmJhckhlaWdodCIsInNjcm9sbEhlaWdodCIsInNob3dGaWx0ZXJQb3B1cCIsImFjY2VwdGluZ1N0YXR1cyIsInNob3dTdGF0dXNQaWNrZXIiLCJoYXNBcHByb3ZlZE9mZmljaWFsIiwic3RhdHVzT3B0aW9ucyIsInRleHQiLCJ2YWx1ZSIsImNlbnRlclVzZXJJbmZvIiwiYWN0aXZlVGFiIiwiZXhwYW5kZWRHb29kc0lkcyIsImNhdGVnb3J5TGlzdCIsImZpbHRlclNlY3Rpb25zIiwia2V5IiwidGl0bGUiLCJvcHRpb25zIiwic2VsZWN0ZWRGaWx0ZXJzIiwic29ydCIsImxldmVsIiwiZGlzdGFuY2UiLCJzdGF0cyIsImxhYmVsIiwidGFicyIsIm9yZGVyTGlzdCIsInBpY2t1cE9yZGVyTGlzdCIsImRlbGl2ZXJpbmdPcmRlckxpc3QiLCJoYWxsUGFnZSIsImhhbGxQYWdlU2l6ZSIsImhhbGxMb2FkaW5nIiwiaGFsbEhhc01vcmUiLCJwaWNrdXBMb2FkaW5nIiwiZGVsaXZlcmluZ0xvYWRpbmciLCJhY3RpdmVPcmRlckNvdW50Iiwid2F0Y2giLCJvbkxvYWQiLCJ1bmkiLCJvblNob3ciLCJjb21wdXRlZCIsImRpc3BsYXlUYWJzIiwiY291bnQiLCJjdXJyZW50T3JkZXJMaXN0IiwiaGFsbCIsInBpY2t1cCIsImRlbGl2ZXJpbmciLCJib2R5U3R5bGUiLCJtYXJnaW5Ub3AiLCJoZWlnaHQiLCJvblJlYWR5IiwibWV0aG9kcyIsImhhbmRsZVNjcm9sbFRvTG93ZXIiLCJnZXRVc2VySW5mb0RldGFpbCIsImZvcm1hdFJlbWFpblRpbWUiLCJnZXRHb29kc1RleHQiLCJ0b2dnbGVHb29kc0V4cGFuZCIsImZvcm1hdERpc3RhbmNlUGFydHMiLCJ1bml0IiwibmF2aWdhdGVUb0FkZHJlc3MiLCJsYXRpdHVkZSIsImxvbmdpdHVkZSIsIm5hbWUiLCJhZGRyZXNzIiwiaWNvbiIsInN1Y2Nlc3MiLCJmYWlsIiwiaGFuZGxlVXNlckNsaWNrIiwidXJsIiwiZ2V0QWN0aXZlT3JkZXJDb3VudCIsImhhbmRsZUdyYWJPcmRlciIsImNvbmZpcm1HcmFiT3JkZXIiLCJvcmRlcklkIiwiaGFuZGxlQ2FuY2VsT3JkZXIiLCJjb25maXJtQ2FuY2VsT3JkZXIiLCJoYW5kbGVDYWxsIiwicGhvbmVOdW1iZXIiLCJoYW5kbGVTaG93UGlja3VwQ29kZSIsImdvVG9PcmRlckRldGFpbCIsImdldENlbnRlckluZm8iLCJmdWxsSW1nVXJsIiwiZ2V0Q2F0ZWdvcnlMaXN0RGF0YSIsInR5cGUiLCJzZWN0aW9uIiwibG9hZE9yZGVyc0J5VGFiIiwiZ2V0SGFsbE9yZGVycyIsImdyYWRlSWQiLCJzb3J0VHlwZSIsImNhcGFjaXR5IiwicGFnZSIsIm1vZGVsIiwiZ2V0UGlja3VwT3JkZXJzIiwic3RhdHVzIiwiZ2V0RGVsaXZlcmluZ09yZGVycyIsIm9wZW5TdGF0dXNQaWNrZXIiLCJjb25maXJtU3RhdHVzIiwidG9Ecml2ZXJDZXJ0aWZpY2F0aW9uIiwidG9nZ2xlRmlsdGVyUG9wdXAiLCJzZWxlY3RGaWx0ZXIiLCJyZXNldEZpbHRlcnMiLCJjb25maXJtRmlsdGVycyIsImluaXRUVFMiLCJvbkluaXQiLCJzcGVhayIsInN0b3BTcGVhayIsIm9uVW5sb2FkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFzUUE7QUFBQTtBQUFBO0FBQUEsZUFDQTtFQUNBQTtJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDLGdCQUNBO1FBQUFDO1FBQUFDO01BQUEsR0FDQTtRQUFBRDtRQUFBQztNQUFBLEVBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUMsaUJBQ0E7UUFBQUM7UUFBQUM7UUFBQUM7TUFBQSxHQUNBO1FBQUFGO1FBQUFDO1FBQUFDO01BQUEsR0FDQTtRQUFBRjtRQUFBQztRQUFBQztNQUFBLEVBQ0E7TUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQyxRQUNBO1FBQUFiO1FBQUFjO01BQUEsR0FDQTtRQUFBZDtRQUFBYztNQUFBLEdBQ0E7UUFBQWQ7UUFBQWM7TUFBQSxFQUNBO01BQ0FDLE9BQ0E7UUFBQUQ7UUFBQWQ7TUFBQSxHQUNBO1FBQUFjO1FBQUFkO01BQUEsR0FDQTtRQUFBYztRQUFBZDtNQUFBLEVBQ0E7TUFDQWdCO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUVBQztJQUNBeEI7TUFDQTtJQUNBO0VBQ0E7RUFFQXlCO0lBQUE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtNQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtFQUNBO0VBRUFDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFDQTtFQUVBQywwQ0FDQTtJQUVBQztNQUFBO01BQ0E7UUFDQTtVQUFBO1VBQ0E7WUFBQUM7VUFBQTtRQUNBO1VBQUE7VUFDQTtZQUFBQTtVQUFBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFDQTtRQUNBQztRQUNBQztRQUNBQztNQUNBO01BRUE7SUFDQTtJQUVBQztNQUNBO1FBQ0FDO1FBQ0FDO01BQ0E7SUFDQTtFQUFBLEVBQ0E7RUFFQUM7SUFDQTtFQUNBOztFQUVBQztJQUNBQztNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7UUFDQTtNQUNBO01BQ0E7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7UUFBQTtNQUFBO01BQ0E7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUFDO01BQ0E7UUFDQTtVQUFBL0M7VUFBQWdEO1FBQUE7TUFDQTtNQUVBO1FBQ0E7VUFDQTtZQUFBaEQ7WUFBQWdEO1VBQUE7UUFDQTtRQUNBO1VBQUFoRDtVQUFBZ0Q7UUFBQTtNQUNBO01BRUE7TUFDQTtNQUNBO1FBQ0E7VUFDQWhEO1VBQ0FnRDtRQUNBO01BQ0E7TUFFQTtRQUFBaEQ7UUFBQWdEO01BQUE7SUFDQTtJQUVBQztNQUNBO01BQ0E7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtRQUNBSDtRQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0E7UUFDQXpCO1VBQUFyQjtVQUFBK0M7UUFBQTtRQUNBO01BQ0E7TUFDQTFCO1FBQ0FzQjtRQUNBQztRQUNBQztRQUNBQztRQUNBRTtRQUNBQztVQUNBNUI7WUFBQXJCO1lBQUErQztVQUFBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUc7TUFDQTdCO1FBQ0E4QjtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUVBQztNQUFBO01BQ0E7TUFDQTtRQUFBQztNQUFBO1FBQ0E7UUFDQTtVQUNBbEM7WUFBQXJCO1lBQUErQztVQUFBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7VUFDQTFCO1lBQUFyQjtZQUFBK0M7VUFBQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQVM7TUFBQTtNQUNBO01BQ0E7UUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBQztNQUFBO01BQ0E7TUFDQTtRQUFBRjtNQUFBO1FBQ0E7UUFDQTtVQUNBbEM7WUFBQXJCO1lBQUErQztVQUFBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7VUFDQTFCO1lBQUFyQjtZQUFBK0M7VUFBQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQVc7TUFDQTtRQUNBckM7VUFDQXNDO1FBQ0E7TUFDQTtJQUNBO0lBRUFDO01BQ0E7TUFDQTtJQUNBO0lBRUFDO01BQ0E7TUFDQTtRQUNBVjtNQUNBO01BQ0E5QjtRQUFBOEI7TUFBQTtJQUNBO0lBRUFXO01BQUE7TUFDQTtRQUNBO1VBQ0E7VUFDQTtZQUNBQztZQUNBbEI7VUFDQTtVQUNBLGdCQUNBO1lBQUFwRDtZQUFBYztVQUFBLEdBQ0E7WUFBQWQ7WUFBQWM7VUFBQSxHQUNBO1lBQUFkO1lBQUFjO1VBQUEsRUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBeUQ7TUFBQTtNQUNBO1FBQUFDO01BQUE7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUNBQztnQkFBQTtjQUFBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBQztNQUFBO01BQ0E7TUFDQTtRQUNBO01BQ0E7TUFDQTtNQUVBO01BQ0E7UUFDQTtRQUNBO1VBQ0EvRDtRQUNBO1VBQ0FBO1FBQ0E7TUFDQTtNQUVBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7TUFFQTtNQUNBO1FBQ0E7VUFBQTtRQUFBO1FBQ0E7VUFDQWdFO1FBQ0E7TUFDQTtNQUVBO1FBQUFoRTtRQUFBZ0U7UUFBQUM7TUFBQTtNQUNBO1FBQ0FDO1FBQ0FDO1FBQ0FDO1VBQ0FwRTtVQUNBZ0U7VUFDQUM7UUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBSTtNQUFBO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFBQUM7TUFBQTtRQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBQztNQUFBO01BQ0E7TUFDQTtNQUNBO01BQ0E7UUFBQUQ7TUFBQTtRQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBRTtNQUNBO0lBQ0E7SUFFQUM7TUFBQTtNQUNBO01BQ0E7TUFDQTtRQUFBSDtNQUFBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtZQUNBO1lBQ0E7VUFDQTtZQUNBO2NBQ0E7WUFDQTtjQUNBO1lBQ0E7Y0FDQTtjQUNBO2NBQ0E7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUk7TUFDQTFEO1FBQ0E4QjtNQUNBO0lBQ0E7SUFFQTZCO01BQ0E7SUFDQTtJQUVBQztNQUNBLHVEQUNBLDZEQUNBbEYsYUFDQTtJQUNBO0lBRUFtRjtNQUNBO01BQ0E7TUFDQTtRQUNBL0U7UUFDQUM7UUFDQUM7TUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE4RTtNQUNBO01BQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBQztNQUFBO01BQ0E7UUFDQTtRQUNBO01BQ0E7TUFFQTtRQUNBO1FBQ0E7UUFDQTs7UUFFQTtRQUNBO1VBQ0FDO1lBQ0E7Y0FDQTtjQUNBO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUVBQztNQUNBO1FBQ0FqRTtVQUNBckI7VUFDQStDO1FBQ0E7UUFDQTtNQUNBO01BRUE7UUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQXdDO01BQ0E7SUFDQTtFQUNBO0VBRUFDO0lBQ0E7TUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiOTEuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3IGNsYXNzPVwiaGFsbC1wYWdlXCI+XG5cdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX2hlYWRlclwiIDpzdHlsZT1cInsgcGFkZGluZ1RvcDogc3RhdHVzQmFySGVpZ2h0ICsgJ3B4JyB9XCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cImhhbGwtcGFnZV9fdXNlci1yb3dcIiBAY2xpY2s9XCJoYW5kbGVVc2VyQ2xpY2tcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX3VzZXJcIj5cblx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJoYWxsLXBhZ2VfX2F2YXRhclwiIDpzcmM9XCJjZW50ZXJVc2VySW5mby5mdWxsSW1nVXJsIHx8ICcvc3RhdGljL2ltYWdlL2ljX3BpY0AyeC5wbmcnXCIgbW9kZT1cImFzcGVjdEZpbGxcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiaGFsbC1wYWdlX19uYW1lXCI+e3sgY2VudGVyVXNlckluZm8ubmFtZSB9fTwvdGV4dD5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImhhbGwtcGFnZV9fc3RhdHVzXCIgdi1pZj1cImhhc0FwcHJvdmVkT2ZmaWNpYWxcIiBAY2xpY2s9XCJvcGVuU3RhdHVzUGlja2VyXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX3N0YXR1cy1kb3RcIiA6Y2xhc3M9XCJ7ICdoYWxsLXBhZ2VfX3N0YXR1cy1kb3QtLW9mZmxpbmUnOiBhY2NlcHRpbmdTdGF0dXMgPT09IDAgfVwiPjwvdmlldz5cblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImhhbGwtcGFnZV9fc3RhdHVzLXRleHRcIj57eyBhY2NlcHRpbmdTdGF0dXMgPT09IDEgPyAn5o6l5Y2V5LitJyA6ICflt7LkuIvnur8nIH19PC90ZXh0PlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiaGFsbC1wYWdlX19zdGF0dXMtYXJyb3dcIj7ilrw8L3RleHQ+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX3VzZXJcIiBzdHlsZT1cIm9wYWNpdHk6IDA7XCI+XHRcblx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJoYWxsLXBhZ2VfX2F2YXRhclwiIDpzcmM9XCJjZW50ZXJVc2VySW5mby5mdWxsSW1nVXJsIHx8ICcvc3RhdGljL2ltYWdlL2ljX3BpY0AyeC5wbmcnXCIgbW9kZT1cImFzcGVjdEZpbGxcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiaGFsbC1wYWdlX19uYW1lXCI+e3sgY2VudGVyVXNlckluZm8ubmFtZSB9fTwvdGV4dD5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXG5cdFx0XHQ8dmlldyBjbGFzcz1cImhhbGwtcGFnZV9fc3RhdHNcIj5cblx0XHRcdFx0PHZpZXcgdi1mb3I9XCJpdGVtIGluIHN0YXRzXCIgOmtleT1cIml0ZW0ubGFiZWxcIiBjbGFzcz1cImhhbGwtcGFnZV9fc3RhdC1pdGVtXCI+XG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJoYWxsLXBhZ2VfX3N0YXQtdmFsdWVcIj57eyBoYXNBcHByb3ZlZE9mZmljaWFsID8gaXRlbS52YWx1ZSA6ICctJyB9fTwvdGV4dD5cblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImhhbGwtcGFnZV9fc3RhdC1sYWJlbFwiPnt7IGl0ZW0ubGFiZWwgfX08L3RleHQ+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblxuXHRcdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX3RhYnNcIj5cblx0XHRcdFx0PHZpZXcgdi1mb3I9XCJ0YWIgaW4gZGlzcGxheVRhYnNcIiA6a2V5PVwidGFiLnZhbHVlXCIgY2xhc3M9XCJoYWxsLXBhZ2VfX3RhYlwiIDpjbGFzcz1cInsgJ2hhbGwtcGFnZV9fdGFiLS1hY3RpdmUnOiBhY3RpdmVUYWIgPT09IHRhYi52YWx1ZSB9XCIgQGNsaWNrPVwiYWN0aXZlVGFiID0gdGFiLnZhbHVlXCI+XG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJoYWxsLXBhZ2VfX3RhYi10ZXh0XCI+e3sgdGFiLmxhYmVsIH19PC90ZXh0PlxuXHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJ0YWIuY291bnRcIiBjbGFzcz1cImhhbGwtcGFnZV9fdGFiLWNvdW50XCI+e3sgaGFzQXBwcm92ZWRPZmZpY2lhbCA/IHRhYi5jb3VudCA6ICcnIH19PC90ZXh0PlxuXHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJhY3RpdmVUYWIgPT09IHRhYi52YWx1ZVwiIGNsYXNzPVwiaGFsbC1wYWdlX190YWItbGluZVwiPjwvdmlldz5cblx0XHRcdFx0PC92aWV3Plx0XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaGFsbC1wYWdlX19maWx0ZXJcIiBAY2xpY2s9XCJ0b2dnbGVGaWx0ZXJQb3B1cCh0cnVlKVwiPlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiaGFsbC1wYWdlX19maWx0ZXItdGV4dFwiIDpjbGFzcz1cInsgJ2hhbGwtcGFnZV9fZmlsdGVyLXRleHQtLWFjdGl2ZSc6IHNob3dGaWx0ZXJQb3B1cCB9XCI+562b6YCJPC90ZXh0PlxuXHRcdFx0XHRcdDxpbWFnZSA6c3JjPVwic2hvd0ZpbHRlclBvcHVwID8gJy9zdGF0aWMvaW1hZ2UvaWNfc2hhaXh1YW5fc2VsQDJ4LnBuZycgOiAnL3N0YXRpYy9pbWFnZS9pY19zaGFpeHVhbkAyeC5wbmcnXCIgbW9kZT1cIndpZHRoRml4XCIgY2xhc3M9XCJoYWxsLXBhZ2VfX2ZpbHRlci1pY29uXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblxuXHRcdDx2aWV3IHYtaWY9XCJzaG93RmlsdGVyUG9wdXBcIiBjbGFzcz1cImZpbHRlci1wb3B1cFwiIDpzdHlsZT1cInsgdG9wOiBoZWFkZXJIZWlnaHQgKyAncHgnLCBib3R0b206IHRhYmJhckhlaWdodCArICdweCcgfVwiIEBjbGljaz1cInRvZ2dsZUZpbHRlclBvcHVwKGZhbHNlKVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJmaWx0ZXItcG9wdXBfX3BhbmVsXCIgQGNsaWNrLnN0b3A+XG5cdFx0XHRcdDxzY3JvbGwtdmlldyBjbGFzcz1cImZpbHRlci1wb3B1cF9fY29udGVudFwiIHNjcm9sbC15PlxuXHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwic2VjdGlvbiBpbiBmaWx0ZXJTZWN0aW9uc1wiIDprZXk9XCJzZWN0aW9uLmtleVwiIGNsYXNzPVwiZmlsdGVyLXBvcHVwX19zZWN0aW9uXCI+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImZpbHRlci1wb3B1cF9fdGl0bGVcIj57eyBzZWN0aW9uLnRpdGxlIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJmaWx0ZXItcG9wdXBfX29wdGlvbnNcIj5cblx0XHRcdFx0XHRcdFx0PHZpZXdcblx0XHRcdFx0XHRcdFx0XHR2LWZvcj1cIm9wdGlvbiBpbiBzZWN0aW9uLm9wdGlvbnNcIlxuXHRcdFx0XHRcdFx0XHRcdDprZXk9XCJvcHRpb25cIlxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwiZmlsdGVyLXBvcHVwX19vcHRpb25cIlxuXHRcdFx0XHRcdFx0XHRcdDpjbGFzcz1cInsgJ2ZpbHRlci1wb3B1cF9fb3B0aW9uLS1hY3RpdmUnOiBzZWxlY3RlZEZpbHRlcnNbc2VjdGlvbi5rZXldID09PSBvcHRpb24gfVwiXG5cdFx0XHRcdFx0XHRcdFx0QGNsaWNrPVwic2VsZWN0RmlsdGVyKHNlY3Rpb24ua2V5LCBvcHRpb24pXCJcblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZmlsdGVyLXBvcHVwX19vcHRpb24tdGV4dFwiPnt7IG9wdGlvbiB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC9zY3JvbGwtdmlldz5cblxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImZpbHRlci1wb3B1cF9fYWN0aW9uc1wiPlxuXHRcdFx0XHRcdDxidXR0b24gY2xhc3M9XCJmaWx0ZXItcG9wdXBfX2J1dHRvbiBmaWx0ZXItcG9wdXBfX2J1dHRvbi0tcmVzZXRcIiBob3Zlci1jbGFzcz1cImZpbHRlci1wb3B1cF9fYnV0dG9uLS1ob3ZlclwiIEBjbGljaz1cInJlc2V0RmlsdGVyc1wiPumHjee9rjwvYnV0dG9uPlxuXHRcdFx0XHRcdDxidXR0b24gY2xhc3M9XCJmaWx0ZXItcG9wdXBfX2J1dHRvbiBmaWx0ZXItcG9wdXBfX2J1dHRvbi0tY29uZmlybVwiIGhvdmVyLWNsYXNzPVwiZmlsdGVyLXBvcHVwX19idXR0b24tLWhvdmVyXCIgQGNsaWNrPVwiY29uZmlybUZpbHRlcnNcIj7noa7orqQ8L2J1dHRvbj5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblxuXHRcdDxzY3JvbGwtdmlldyBjbGFzcz1cImhhbGwtcGFnZV9fYm9keVwiIHNjcm9sbC15IDpzdHlsZT1cImJvZHlTdHlsZVwiIEBzY3JvbGx0b2xvd2VyPVwiaGFuZGxlU2Nyb2xsVG9Mb3dlclwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJoYWxsLXBhZ2VfX3ZlcmlmaWVkXCIgdi1pZj1cIiFoYXNBcHByb3ZlZE9mZmljaWFsXCI+XG5cdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltYWdlL2RlZmF1bHRfdW52ZXJpZmllZEAyeC5wbmdcIiBtb2RlPVwid2lkdGhGaXhcIj48L2ltYWdlPlxuXHRcdFx0XHQ8YnV0dG9uIEBjbGljaz1cInRvRHJpdmVyQ2VydGlmaWNhdGlvblwiPuWOu+iupOivgTwvYnV0dG9uPlxuXHRcdFx0PC92aWV3PlxuXHRcdFx0PHZpZXcgdi1lbHNlLWlmPVwiaGFzQXBwcm92ZWRPZmZpY2lhbCAmJiBhY2NlcHRpbmdTdGF0dXMgPT09IDEgJiYgY3VycmVudE9yZGVyTGlzdC5sZW5ndGhcIiBjbGFzcz1cImhhbGwtcGFnZV9fbGlzdFwiPlxuXHRcdFx0XHQ8dmlldyB2LWZvcj1cIihpdGVtLCBpbmRleCkgaW4gY3VycmVudE9yZGVyTGlzdFwiIDprZXk9XCJpdGVtLmlkXCIgY2xhc3M9XCJvcmRlci1jYXJkXCIgQGNsaWNrPVwiZ29Ub09yZGVyRGV0YWlsKGl0ZW0sIGluZGV4KVwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9faGVhZFwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX190aW1lXCIgdi1pZj1cIml0ZW0ucmVtYWluTWludXRlcyA+IDBcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX190aW1lLW1haW5cIj57eyBmb3JtYXRSZW1haW5UaW1lKGl0ZW0ucmVtYWluTWludXRlcykgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fdGltZS1zdWJcIj7pgIHovr48L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3RpbWVcIiB2LWVsc2U+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fdGltZS1tYWluXCI+6YWN6YCB5bey6LaF5pe277yM6K+35bC95b+r6YCB6L6+PC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cImFjdGl2ZVRhYiA9PT0gJ2hhbGwnXCIgY2xhc3M9XCJvcmRlci1jYXJkX19wcmljZS13cmFwXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fcHJpY2VcIj7CpXt7IGl0ZW0ucGxhdGZvcm1SZXdhcmRBbW91bnQgPyAoaXRlbS5kcml2ZXJGZWUgKyBpdGVtLnBsYXRmb3JtUmV3YXJkQW1vdW50KSAvIDEwMCA6IChpdGVtLmRyaXZlckZlZSAvIDEwMCkudG9GaXhlZCgyKSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3IHYtZWxzZSBjbGFzcz1cIm9yZGVyLWNhcmRfX3ByaWNlLXdyYXAgb3JkZXItY2FyZF9fcHJpY2Utd3JhcC0tc2VyaWFsLW9ubHlcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cIml0ZW0uY29kZVwiIGNsYXNzPVwib3JkZXItY2FyZF9fc2VyaWFsXCI+I3t7IGluZGV4ICsgMSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX21ldGFcIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fdGFnc1wiPlxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugdi1pZj1cIml0ZW0uaXNVcmdlbnQgPT09IDFcIiBjbGFzcz1cIm9yZGVyLWNhcmRfX3RhZy1pbWdcIiBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2ppc3VkYUAyeC5wbmdcIiBtb2RlPVwid2lkdGhGaXhcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugdi1lbHNlIGNsYXNzPVwib3JkZXItY2FyZF9fdGFnLWltZ1wiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfYmlhb3N1ZGFAMngucG5nXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cIml0ZW0uaXNWYWx1YWJsZSA9PT0gdHJ1ZVwiIGNsYXNzPVwib3JkZXItY2FyZF9fdGFnIG9yZGVyLWNhcmRfX3RhZy0tb3JhbmdlXCI+6LS16YeN54mp5ZOBPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWVsc2UgY2xhc3M9XCJvcmRlci1jYXJkX190YWcgb3JkZXItY2FyZF9fdGFnLS1ibHVlXCI+e3sgaXRlbS5nb29kTGV2ZWxOYW1lIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cImFjdGl2ZVRhYiA9PT0gJ2hhbGwnICYmIGl0ZW0ucGxhdGZvcm1SZXdhcmRBbW91bnRcIiBjbGFzcz1cIm9yZGVyLWNhcmRfX2V4dHJhXCI+5ZCr5Yqg5oClwqV7eyAoaXRlbS5wbGF0Zm9ybVJld2FyZEFtb3VudCAvIDEwMCkudG9GaXhlZCgyKSB9fTwvdGV4dD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlXCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLXNpZGVcIj5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19kaXN0YW5jZS1ibG9jayBvcmRlci1jYXJkX19kaXN0YW5jZS1ibG9jay0tdG9wXCI+XG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19kaXN0YW5jZS12YWx1ZVwiPnt7IGZvcm1hdERpc3RhbmNlUGFydHMoaXRlbS5kZXBvc2l0RGlzdGFuY2UpLnZhbHVlIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fZGlzdGFuY2UtdW5pdFwiPnt7IGZvcm1hdERpc3RhbmNlUGFydHMoaXRlbS5kZXBvc2l0RGlzdGFuY2UpLnVuaXQgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19saW5lXCI+PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX2Rpc3RhbmNlLWJsb2NrIG9yZGVyLWNhcmRfX2Rpc3RhbmNlLWJsb2NrLS1ib3R0b21cIj5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX2Rpc3RhbmNlLXZhbHVlXCI+e3sgZm9ybWF0RGlzdGFuY2VQYXJ0cyhpdGVtLnRha2VEaXN0YW5jZSkudmFsdWUgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19kaXN0YW5jZS11bml0XCI+e3sgZm9ybWF0RGlzdGFuY2VQYXJ0cyhpdGVtLnRha2VEaXN0YW5jZSkudW5pdCB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS1tYWluXCI+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtaXRlbVwiPlxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtdGV4dHNcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtdGl0bGVcIj48dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLWJhZGdlLXRleHQgb3JkZXItY2FyZF9fcm91dGUtYmFkZ2UtdGV4dC0tdGFrZVwiPuWPljwvdGV4dD57eyBpdGVtLmRlcG9zaXRTaG9wTmFtZSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtZGVzY1wiPnt7IGl0ZW0uZGVwb3NpdFNob3BBZGRyZXNzIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWFnZS9pY19kYW9oYW5nQDJ4LnBuZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiIGNsYXNzPVwib3JkZXItY2FyZF9fbmF2XCIgQGNsaWNrLnN0b3A9XCJuYXZpZ2F0ZVRvQWRkcmVzcyhpdGVtLCAnZGVwb3NpdCcpXCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLWl0ZW0gb3JkZXItY2FyZF9fcm91dGUtaXRlbS0tZGVzdGluYXRpb25cIj5cblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLXRleHRzXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1pZj1cIml0ZW0udGFrZVNob3BJZFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLXRpdGxlXCI+PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS1iYWRnZS10ZXh0IG9yZGVyLWNhcmRfX3JvdXRlLWJhZGdlLXRleHQtLXNlbmRcIj7pgIE8L3RleHQ+e3sgaXRlbS50YWtlTmFtZSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS1kZXNjXCI+e3sgaXRlbS50YWtlQWRkcmVzcyB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHRcdDwvdGVtcGxhdGU+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWVsc2UgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS10aXRsZVwiPjx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtYmFkZ2UtdGV4dCBvcmRlci1jYXJkX19yb3V0ZS1iYWRnZS10ZXh0LS1zZW5kXCI+6YCBPC90ZXh0Pnt7IGl0ZW0udGFrZUFkZHJlc3MgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2Rhb2hhbmdAMngucG5nXCIgbW9kZT1cIndpZHRoRml4XCIgY2xhc3M9XCJvcmRlci1jYXJkX19uYXZcIiBAY2xpY2suc3RvcD1cIm5hdmlnYXRlVG9BZGRyZXNzKGl0ZW0sICd0YWtlJylcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19nb29kc1wiIHYtaWY9XCJpdGVtLml0ZW1zICYmIGl0ZW0uaXRlbXMubGVuZ3RoID4gMFwiIEBjbGljay5zdG9wPVwidG9nZ2xlR29vZHNFeHBhbmQoaXRlbS5pZClcIj5cblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fZ29vZHMtdGV4dFwiPnt7IGdldEdvb2RzVGV4dChpdGVtLml0ZW1zLCBpdGVtLmlkKSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDx1LWljb24gdi1pZj1cImdldEdvb2RzVGV4dChpdGVtLml0ZW1zLCBpdGVtLmlkKS5sZW5ndGggPiAyMFwiIG5hbWU9XCJhcnJvdy1kb3duXCIgOmNsYXNzPVwieyAnb3JkZXItY2FyZF9fZ29vZHMtYXJyb3ctLWV4cGFuZGVkJzogZXhwYW5kZWRHb29kc0lkcy5pbmNsdWRlcyhpdGVtLmlkKSB9XCIgc2l6ZT1cIjEyXCIgY29sb3I9XCIjYTRhOWIxXCI+PC91LWljb24+XG5cdFx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19hY3Rpb25zXCIgOmNsYXNzPVwiJ29yZGVyLWNhcmRfX2FjdGlvbnMtLScgKyBhY3RpdmVUYWJcIj5cblx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSB2LWlmPVwiYWN0aXZlVGFiID09PSAncGlja3VwJ1wiPlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX2ljb24tYWN0aW9uc1wiPlxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9faWNvbi1hY3Rpb25cIiBAY2xpY2suc3RvcD1cImhhbmRsZUNhbmNlbE9yZGVyKGl0ZW0pXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwib3JkZXItY2FyZF9fYWN0aW9uLWljb25cIiBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2NhbmNsZUAyeC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fYWN0aW9uLXRleHRcIj7lj5bmtog8L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9faWNvbi1hY3Rpb25cIiBAY2xpY2suc3RvcD1cImhhbmRsZUNhbGwoaXRlbSlcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cIm9yZGVyLWNhcmRfX2FjdGlvbi1pY29uXCIgc3JjPVwiL3N0YXRpYy9pbWFnZS9pY19jYWxsQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19hY3Rpb24tdGV4dFwiPuiBlOezuzwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PGJ1dHRvbiBjbGFzcz1cIm9yZGVyLWNhcmRfX2J1dHRvbiBvcmRlci1jYXJkX19idXR0b24tLWNvZGVcIiBob3Zlci1jbGFzcz1cIm9yZGVyLWNhcmRfX2J1dHRvbi0taG92ZXJcIiBAY2xpY2suc3RvcD1cImhhbmRsZVNob3dQaWNrdXBDb2RlKGl0ZW0pXCI+5Y+W6LSn56CBPC9idXR0b24+XG5cdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHRcdFx0PHRlbXBsYXRlIHYtZWxzZS1pZj1cImFjdGl2ZVRhYiA9PT0gJ2RlbGl2ZXJpbmcnXCI+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9faWNvbi1hY3Rpb25zIG9yZGVyLWNhcmRfX2ljb24tYWN0aW9ucy0tc2luZ2xlXCI+XG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19pY29uLWFjdGlvblwiIEBjbGljay5zdG9wPVwiaGFuZGxlQ2FsbChpdGVtKVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwib3JkZXItY2FyZF9fYWN0aW9uLWljb25cIiBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2NhbGxAMngucG5nXCIgbW9kZT1cImFzcGVjdEZpdFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX2FjdGlvbi10ZXh0XCI+6IGU57O7PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwib3JkZXItY2FyZF9fYnV0dG9uIG9yZGVyLWNhcmRfX2J1dHRvbi0tY29kZVwiIGhvdmVyLWNsYXNzPVwib3JkZXItY2FyZF9fYnV0dG9uLS1ob3ZlclwiIEBjbGljay5zdG9wPVwiaGFuZGxlU2hvd1BpY2t1cENvZGUoaXRlbSlcIiB2LWlmPVwiaXRlbS50YWtlU2hvcElkXCI+5a2Y5Lu256CBPC9idXR0b24+XG5cdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHRcdFx0PGJ1dHRvbiB2LWVsc2UgY2xhc3M9XCJvcmRlci1jYXJkX19idXR0b25cIiBob3Zlci1jbGFzcz1cIm9yZGVyLWNhcmRfX2J1dHRvbi0taG92ZXJcIiBAY2xpY2suc3RvcD1cImhhbmRsZUdyYWJPcmRlcihpdGVtKVwiPueri+WNs+aKouWNlTwvYnV0dG9uPlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXG5cdFx0XHQ8dmlldyB2LWVsc2UgY2xhc3M9XCJoYWxsLXBhZ2VfX2VtcHR5XCI+XG5cdFx0XHRcdDxpbWFnZSBjbGFzcz1cImhhbGwtcGFnZV9fZW1wdHktaWNvblwiIDpzcmM9XCJhY2NlcHRpbmdTdGF0dXMgPT09IDAgPyAnL3N0YXRpYy9pbWFnZS9kZWZhdWx0X25vZGF0YV9ncmV5QDJ4LnBuZycgOiAnL3N0YXRpYy9pbWFnZS9kZWZhdWx0X25vZGF0YUAyeC5wbmcnXCIgbW9kZT1cImFzcGVjdEZpdFwiPjwvaW1hZ2U+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC9zY3JvbGwtdmlldz5cblx0XHRcblx0XHQ8IS0tIOWPlua2iOiuouWNlSAtLT5cblx0XHQ8dS1tb2RhbFxuXHRcdFx0OnNob3c9XCJzaG93XCJcblx0XHRcdHNob3dDYW5jZWxCdXR0b25cblx0XHRcdEBjYW5jZWw9XCJzaG93ID0gZmFsc2VcIlxuXHRcdFx0Y2FuY2VsQ29sb3I9XCIjNjY2NjY2XCJcblx0XHRcdGNvbmZpcm1Db2xvcj1cIiMwMDU1RkZcIlxuXHRcdFx0dGl0bGU9XCLlj5bmtojorqLljZXnoa7orqRcIlxuXHRcdFx0QGNvbmZpcm09XCJjb25maXJtQ2FuY2VsT3JkZXJcIj5cblx0XHRcdDx2aWV3IHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO2NvbG9yOiAjMzMzMzMzO2ZvbnQtc2l6ZTogMjhycHg7Zm9udC13ZWlnaHQ6IDQwMDtcIj5cblx0XHRcdFx05oKo5LuK5pel6L+Y5Y+v5Y+W5raIIHt7IGNhbmNlbFJlbWFpbiB9fSDmrKHorqLljZXvvIzmrKHmlbDnlKjlsL3lkI7ku4rml6XlsIbml6Dms5XmjqXljZXvvIzmmK/lkKbnoa7orqTlj5bmtojvvJ9cblx0XHRcdDwvdmlldz5cblx0XHQ8L3UtbW9kYWw+XG5cblx0XHQ8IS0tIOeri+WNs+aKouWNlSAtLT5cblx0XHQ8dS1tb2RhbFxuXHRcdFx0OnNob3c9XCJzaG93R3JhYk1vZGFsXCJcblx0XHRcdHNob3dDYW5jZWxCdXR0b25cblx0XHRcdEBjYW5jZWw9XCJzaG93R3JhYk1vZGFsID0gZmFsc2VcIlxuXHRcdFx0Y2FuY2VsQ29sb3I9XCIjNjY2NjY2XCJcblx0XHRcdGNvbmZpcm1Db2xvcj1cIiMwMDU1RkZcIlxuXHRcdFx0dGl0bGU9XCLmuKnppqjmj5DnpLpcIlxuXHRcdFx0QGNvbmZpcm09XCJjb25maXJtR3JhYk9yZGVyXCI+XG5cdFx0XHQ8dmlldyBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtjb2xvcjogIzMzMzMzMztmb250LXNpemU6IDI4cnB4O2ZvbnQtd2VpZ2h0OiA0MDA7XCI+XG5cdFx0XHRcdHt7IHNlbGVjdGVkR3JhYk9yZGVyICYmIHNlbGVjdGVkR3JhYk9yZGVyLmhhc092ZXJzaXplZCA9PT0gMSA/ICfmnKzorqLljZXmnInnibnlpKfku7blsLrlr7jooYzmnY7vvIzor7fnoa7orqTmmK/lkKbnu6fnu63miqLljZXvvJ8nIDogJ+aYr+WQpuehruiupOaOpeWNle+8nycgfX1cblx0XHRcdDwvdmlldz5cblx0XHQ8L3UtbW9kYWw+XG5cdFx0XG5cdFx0PCEtLSDlj5botKfnoIEv5a2Y5Lu256CBIC0tPlxuXHRcdDx1LXBvcHVwIDpzaG93PVwic2hvdzFcIiByb3VuZD1cIjIwXCIgbW9kZT1cImJvdHRvbVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJxcmNvZGVcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJxcmNvZGUtdGl0bGVcIj5cblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWFnZS9pY19jbG9zZUAyeC5wbmdcIiBtb2RlPVwid2lkdGhGaXhcIiBzdHlsZT1cIm9wYWNpdHk6IDA7XCI+PC9pbWFnZT5cblx0XHRcdFx0XHQ8dGV4dD57eyBhY3RpdmVUYWIgPT09ICdkZWxpdmVyaW5nJyA/ICflrZjku7bnoIEnIDogJ+WPlui0p+eggScgfX08L3RleHQ+XG5cdFx0XHRcdFx0PGltYWdlIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfY2xvc2VAMngucG5nXCIgbW9kZT1cIndpZHRoRml4XCIgQGNsaWNrPVwic2hvdzEgPSBmYWxzZVwiPjwvaW1hZ2U+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJxcmNvZGUtaW1hZ2VcIj5cblx0XHRcdFx0XHQ8aW1hZ2Ugdi1pZj1cInNlbGVjdGVkUGlja3VwT3JkZXIgJiYgc2VsZWN0ZWRQaWNrdXBPcmRlci5kcml2ZXJWZXJpZnlDb2RlXCIgOnNyYz1cIidodHRwczovL2FwaS5xcnNlcnZlci5jb20vdjEvY3JlYXRlLXFyLWNvZGUvP3NpemU9MjAweDIwMCZkYXRhPScgKyBzZWxlY3RlZFBpY2t1cE9yZGVyLmRyaXZlclZlcmlmeUNvZGVcIiBtb2RlPVwid2lkdGhGaXhcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicXJjb2RlLWJ0blwiIGhvdmVyLWNsYXNzPVwicXJjb2RlLWJ0bi0taG92ZXJcIiBAY2xpY2s9XCJzaG93MSA9IGZhbHNlXCI+5YWz6ZetPC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdS1wb3B1cD5cblxuXHRcdDx1LXBvcHVwIDpzaG93PVwic2hvd1Bob3RvRGVsaXZlclBvcHVwXCIgcm91bmQ9XCIyMFwiIG1vZGU9XCJib3R0b21cIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tZGVsaXZlclwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX2hlYWRlclwiPlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX2Nsb3NlLXBsYWNlaG9sZGVyXCIgbW9kZT1cImFzcGVjdEZpdFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJwaG90by1kZWxpdmVyX190aXRsZVwiPuaLjeeFp+mAgei+vjwvdGV4dD5cblx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJwaG90by1kZWxpdmVyX19jbG9zZVwiIG1vZGU9XCJhc3BlY3RGaXRcIiBAY2xpY2s9XCJzaG93UGhvdG9EZWxpdmVyUG9wdXAgPSBmYWxzZVwiPjwvaW1hZ2U+XG5cdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3NlY3Rpb25cIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX2xhYmVsLXJvd1wiPlxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJwaG90by1kZWxpdmVyX19sYWJlbFwiPuaLjeaRhOmAgei+vueFp+eJhzwvdGV4dD5cblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGhvdG8tZGVsaXZlcl9fcmVxdWlyZWRcIj4qPC90ZXh0PlxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJwaG90by1kZWxpdmVyX19oaW50XCI+5pyA5aSaM+W8oOeFp+eJhzwvdGV4dD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3Bob3Rvc1wiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaG90by1kZWxpdmVyX191cGxvYWQtY2FyZFwiPlxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJwaG90by1kZWxpdmVyX191cGxvYWQtaWNvblwiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3VwbG9hZC10ZXh0XCI+54K55Ye75ouN54WnPC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3ByZXZpZXctY2FyZFwiPlxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJwaG90by1kZWxpdmVyX19wcmV2aWV3LWltYWdlXCIgbW9kZT1cImFzcGVjdEZpbGxcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3ByZXZpZXctbWFza1wiPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGhvdG8tZGVsaXZlcl9fcHJldmlldy1kZWxldGVcIj7liKDpmaQ8L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLWRlbGl2ZXJfX3NlY3Rpb24gcGhvdG8tZGVsaXZlcl9fc2VjdGlvbi0tcmVtYXJrXCI+XG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJwaG90by1kZWxpdmVyX19yZW1hcmstdGl0bGVcIj7lpIfms6jkv6Hmga88L3RleHQ+XG5cdFx0XHRcdFx0PHRleHRhcmVhIGNsYXNzPVwicGhvdG8tZGVsaXZlcl9fdGV4dGFyZWFcIiBtYXhsZW5ndGg9XCIyMDBcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiIHBsYWNlaG9sZGVyLXN0eWxlPVwiY29sb3I6ICNjN2NiZDM7XCIgLz5cblx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdDxidXR0b24gY2xhc3M9XCJwaG90by1kZWxpdmVyX19zdWJtaXRcIiBob3Zlci1jbGFzcz1cInBob3RvLWRlbGl2ZXJfX3N1Ym1pdC0taG92ZXJcIiBAY2xpY2s9XCJzaG93UGhvdG9EZWxpdmVyUG9wdXAgPSBmYWxzZVwiPuehruiupOmAgei+vjwvYnV0dG9uPlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdS1wb3B1cD5cblxuXHRcdDx1LXBpY2tlclxuXHRcdFx0OnNob3c9XCJzaG93U3RhdHVzUGlja2VyXCJcblx0XHRcdGNvbmZpcm1Db2xvcj1cIiMxMEIyRkFcIlxuXHRcdFx0a2V5TmFtZT1cInRleHRcIlxuXHRcdFx0OmNvbHVtbnM9XCJbc3RhdHVzT3B0aW9uc11cIlxuXHRcdFx0QGNvbmZpcm09XCJjb25maXJtU3RhdHVzXCJcblx0XHRcdEBjYW5jZWw9XCJzaG93U3RhdHVzUGlja2VyID0gZmFsc2VcIiAvPlxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHRpbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnXG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dHRzOiBudWxsLFxuXHRcdFx0XHRzaG93OiBmYWxzZSxcblx0XHRcdFx0c2hvdzE6IGZhbHNlLFxuXHRcdFx0XHRzaG93R3JhYk1vZGFsOiBmYWxzZSxcblx0XHRcdFx0c2VsZWN0ZWRHcmFiT3JkZXI6IG51bGwsXG5cdFx0XHRcdHNlbGVjdGVkQ2FuY2VsT3JkZXI6IG51bGwsXG5cdFx0XHRcdGNhbmNlbFJlbWFpbjogMCxcblx0XHRcdFx0c2VsZWN0ZWRQaWNrdXBPcmRlcjogbnVsbCxcblx0XHRcdFx0c2hvd1Bob3RvRGVsaXZlclBvcHVwOiBmYWxzZSxcblx0XHRcdFx0cm91dGVJbmZvOiBudWxsLFxuXHRcdFx0XHRzdGF0dXNCYXJIZWlnaHQ6IDAsXG5cdFx0XHRcdGhlYWRlckhlaWdodDogMCxcblx0XHRcdFx0dGFiYmFySGVpZ2h0OiAwLFxuXHRcdFx0XHRzY3JvbGxIZWlnaHQ6IDAsXG5cdFx0XHRcdHNob3dGaWx0ZXJQb3B1cDogZmFsc2UsXG5cdFx0XHRcdGFjY2VwdGluZ1N0YXR1czogMCxcblx0XHRcdFx0c2hvd1N0YXR1c1BpY2tlcjogZmFsc2UsXG5cdFx0XHRcdGhhc0FwcHJvdmVkT2ZmaWNpYWw6IGZhbHNlLFxuXHRcdFx0XHRzdGF0dXNPcHRpb25zOiBbXG5cdFx0XHRcdFx0eyB0ZXh0OiAn5LiK57q/JywgdmFsdWU6IDEgfSxcblx0XHRcdFx0XHR7IHRleHQ6ICfkuIvnur8nLCB2YWx1ZTogMCB9XG5cdFx0XHRcdF0sXG5cdFx0XHRcdGNlbnRlclVzZXJJbmZvOiB7fSxcblx0XHRcdFx0YWN0aXZlVGFiOiAnaGFsbCcsXG5cdFx0XHRcdGV4cGFuZGVkR29vZHNJZHM6IFtdLFxuXHRcdFx0XHRjYXRlZ29yeUxpc3Q6IFtdLFxuXHRcdFx0XHRmaWx0ZXJTZWN0aW9uczogW1xuXHRcdFx0XHRcdHsga2V5OiAnc29ydCcsIHRpdGxlOiAn5o6S5bqPJywgb3B0aW9uczogWyfnu7zlkIjmjpLluo8nLCAn6Led56a75pyA6L+RJ10gfSxcblx0XHRcdFx0XHR7IGtleTogJ2xldmVsJywgdGl0bGU6ICfnianlk4HnrYnnuqcnLCBvcHRpb25zOiBbJ+S4jemZkCddIH0sXG5cdFx0XHRcdFx0eyBrZXk6ICdkaXN0YW5jZScsIHRpdGxlOiAn5L2N572u6IyD5Zu0Jywgb3B0aW9uczogWyfkuI3pmZAnLCAnNTAwbScsICcxa20nLCAnMmttJywgJzNrbScsICc0a20nLCAnNWttJywgJzZrbScsICc3a20nXSB9XG5cdFx0XHRcdF0sXG5cdFx0XHRcdHNlbGVjdGVkRmlsdGVyczoge1xuXHRcdFx0XHRcdHNvcnQ6ICfnu7zlkIjmjpLluo8nLFxuXHRcdFx0XHRcdGxldmVsOiAn5LiN6ZmQJyxcblx0XHRcdFx0XHRkaXN0YW5jZTogJ+S4jemZkCdcblx0XHRcdFx0fSxcblx0XHRcdFx0c3RhdHM6IFtcblx0XHRcdFx0XHR7IHZhbHVlOiAnLScsIGxhYmVsOiAn5pyN5Yqh5YiGJyB9LFxuXHRcdFx0XHRcdHsgdmFsdWU6ICctJywgbGFiZWw6ICfku4rml6XpooTorqHkvaPph5EnIH0sXG5cdFx0XHRcdFx0eyB2YWx1ZTogJy0nLCBsYWJlbDogJ+S7iuaXpeaOpeWNlScgfVxuXHRcdFx0XHRdLFxuXHRcdFx0XHR0YWJzOiBbXG5cdFx0XHRcdFx0eyBsYWJlbDogJ+aKouWNleWkp+WOhScsIHZhbHVlOiAnaGFsbCcgfSxcblx0XHRcdFx0XHR7IGxhYmVsOiAn5b6F5Y+W6LSnJywgdmFsdWU6ICdwaWNrdXAnIH0sXG5cdFx0XHRcdFx0eyBsYWJlbDogJ+mFjemAgeS4rScsIHZhbHVlOiAnZGVsaXZlcmluZycgfVxuXHRcdFx0XHRdLFxuXHRcdFx0XHRvcmRlckxpc3Q6IFtdLFxuXHRcdFx0XHRwaWNrdXBPcmRlckxpc3Q6IFtdLFxuXHRcdFx0XHRkZWxpdmVyaW5nT3JkZXJMaXN0OiBbXSxcblx0XHRcdFx0aGFsbFBhZ2U6IDEsXG5cdFx0XHRcdGhhbGxQYWdlU2l6ZTogMTAsXG5cdFx0XHRcdGhhbGxMb2FkaW5nOiBmYWxzZSxcblx0XHRcdFx0aGFsbEhhc01vcmU6IHRydWUsXG5cdFx0XHRcdHBpY2t1cExvYWRpbmc6IGZhbHNlLFxuXHRcdFx0XHRkZWxpdmVyaW5nTG9hZGluZzogZmFsc2UsXG5cdFx0XHRcdGFjdGl2ZU9yZGVyQ291bnQ6IG51bGxcblx0XHRcdH1cblx0XHR9LFxuXG5cdFx0d2F0Y2g6IHtcblx0XHRcdGFjdGl2ZVRhYihuZXdWYWwpIHtcblx0XHRcdFx0dGhpcy5sb2FkT3JkZXJzQnlUYWIobmV3VmFsKVxuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHRvbkxvYWQoKSB7XG5cdFx0XHRjb25zdCBzeXN0ZW1JbmZvID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKClcblx0XHRcdGNvbnN0IHNhZmVCb3R0b20gPSBzeXN0ZW1JbmZvLnNhZmVBcmVhSW5zZXRzID8gc3lzdGVtSW5mby5zYWZlQXJlYUluc2V0cy5ib3R0b20gfHwgMCA6IDBcblx0XHRcdGNvbnN0IHdpbmRvd0hlaWdodCA9IHN5c3RlbUluZm8ud2luZG93SGVpZ2h0IHx8IDBcblx0XHRcdHRoaXMuc3RhdHVzQmFySGVpZ2h0ID0gc3lzdGVtSW5mby5zdGF0dXNCYXJIZWlnaHQgfHwgMFxuXHRcdFx0dGhpcy5oZWFkZXJIZWlnaHQgPSB0aGlzLnN0YXR1c0JhckhlaWdodCArIHVuaS51cHgycHgoMzA4KVxuXHRcdFx0dGhpcy50YWJiYXJIZWlnaHQgPSB1bmkudXB4MnB4KDEwMCkgKyBzYWZlQm90dG9tXG5cdFx0XHR0aGlzLnNjcm9sbEhlaWdodCA9IE1hdGgubWF4KHdpbmRvd0hlaWdodCAtIHRoaXMuaGVhZGVySGVpZ2h0LCAwKVxuXHRcdFx0aWYgKHRoaXMudXNlckluZm8uYXVkaXRTdGF0dXMgPT09IDk5KSByZXR1cm47XG5cdFx0XHR0aGlzLmFjY2VwdGluZ1N0YXR1cyA9IHRoaXMudXNlckluZm8uYWNjZXB0aW5nU3RhdHVzIHx8IDBcblx0XHRcdHRoaXMuJHUuYXBpLmNlbnRlckluZm8oKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0dGhpcy5hY2NlcHRpbmdTdGF0dXMgPSByZXMuZGF0YS5hY2NlcHRpbmdTdGF0dXNcblx0XHRcdFx0XHRpZiAocmVzLmRhdGEuYWNjZXB0aW5nU3RhdHVzID09PSAxKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmxvYWRPcmRlcnNCeVRhYih0aGlzLmFjdGl2ZVRhYilcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0XHR1bmkuJG9uKCdqaWVkYW5TdWNjZXNzJywgKCkgPT4ge1xuXHRcdFx0XHR0aGlzLmxvYWRPcmRlcnNCeVRhYih0aGlzLmFjdGl2ZVRhYilcblx0XHRcdH0pXG5cdFx0fSxcblxuXHRcdG9uU2hvdygpIHtcblx0XHRcdHRoaXMuZ2V0Q2VudGVySW5mbygpXG5cdFx0XHR0aGlzLmdldENhdGVnb3J5TGlzdERhdGEoKVxuXHRcdFx0dGhpcy5nZXRBY3RpdmVPcmRlckNvdW50KClcblx0XHRcdHRoaXMuZ2V0VXNlckluZm9EZXRhaWwoKVxuXHRcdH0sXG5cblx0XHRjb21wdXRlZDoge1xuXHRcdFx0Li4ubWFwU3RhdGUoWyd1c2VySW5mbycsICd0b2tlbiddKSxcblxuXHRcdFx0ZGlzcGxheVRhYnMoKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnRhYnMubWFwKHRhYiA9PiB7XG5cdFx0XHRcdFx0aWYgKHRhYi52YWx1ZSA9PT0gJ3BpY2t1cCcpIHtcblx0XHRcdFx0XHRcdHJldHVybiB7IC4uLnRhYiwgY291bnQ6IHRoaXMuYWN0aXZlT3JkZXJDb3VudD8uZ3JhYmJlZENvdW50IH1cblx0XHRcdFx0XHR9IGVsc2UgaWYgKHRhYi52YWx1ZSA9PT0gJ2RlbGl2ZXJpbmcnKSB7XG5cdFx0XHRcdFx0XHRyZXR1cm4geyAuLi50YWIsIGNvdW50OiB0aGlzLmFjdGl2ZU9yZGVyQ291bnQ/LmRlbGl2ZXJpbmdDb3VudCB9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiB0YWJcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRcblx0XHRcdGN1cnJlbnRPcmRlckxpc3QoKSB7XG5cdFx0XHRcdGNvbnN0IG9yZGVyTWFwID0ge1xuXHRcdFx0XHRcdGhhbGw6IHRoaXMub3JkZXJMaXN0LFxuXHRcdFx0XHRcdHBpY2t1cDogdGhpcy5waWNrdXBPcmRlckxpc3QsXG5cdFx0XHRcdFx0ZGVsaXZlcmluZzogdGhpcy5kZWxpdmVyaW5nT3JkZXJMaXN0XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRyZXR1cm4gb3JkZXJNYXBbdGhpcy5hY3RpdmVUYWJdIHx8IFtdXG5cdFx0XHR9LFxuXG5cdFx0XHRib2R5U3R5bGUoKSB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0bWFyZ2luVG9wOiB0aGlzLmhlYWRlckhlaWdodCArICdweCcsXG5cdFx0XHRcdFx0aGVpZ2h0OiB0aGlzLnNjcm9sbEhlaWdodCArICdweCdcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHRvblJlYWR5KCkge1xuXHRcdFx0dGhpcy5pbml0VFRTKCkgLy8g6aG16Z2i5riy5p+T5a6M5oiQ5Yid5aeL5YyW6K+t6Z+zXG5cdFx0fSxcblxuXHRcdG1ldGhvZHM6IHtcblx0XHRcdGhhbmRsZVNjcm9sbFRvTG93ZXIoKSB7XG5cdFx0XHRcdGlmICh0aGlzLmFjY2VwdGluZ1N0YXR1cyA9PT0gMCkgcmV0dXJuO1xuXHRcdFx0XHR0aGlzLmhhbGxQYWdlKytcblx0XHRcdFx0aWYgKHRoaXMuYWN0aXZlVGFiID09PSAnaGFsbCcpIHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZygnaGFsbCcpXG5cdFx0XHRcdFx0dGhpcy5nZXRIYWxsT3JkZXJzKClcblx0XHRcdFx0fSBlbHNlIGlmICh0aGlzLmFjdGl2ZVRhYiA9PT0gJ3BpY2t1cCcpIHtcblx0XHRcdFx0XHR0aGlzLmdldFBpY2t1cE9yZGVycygpXG5cdFx0XHRcdH0gZWxzZSBpZiAodGhpcy5hY3RpdmVUYWIgPT09ICdkZWxpdmVyaW5nJykge1xuXHRcdFx0XHRcdHRoaXMuZ2V0RGVsaXZlcmluZ09yZGVycygpXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRnZXRVc2VySW5mb0RldGFpbCgpIHtcblx0XHRcdFx0dGhpcy4kdS5hcGkudmVyaWZ5RGV0YWlsKCkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmhhc0FwcHJvdmVkT2ZmaWNpYWwgPSByZXMuZGF0YS5oYXNBcHByb3ZlZE9mZmljaWFsID09PSB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGZvcm1hdFJlbWFpblRpbWUobWludXRlcykge1xuXHRcdFx0XHRpZiAoIW1pbnV0ZXMpIHJldHVybiAwXG5cdFx0XHRcdGlmIChtaW51dGVzID09PSAwKSB7XG5cdFx0XHRcdFx0cmV0dXJuICfphY3pgIHlt7LotoXml7YnXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG1pbnV0ZXMgPj0gNjApIHtcblx0XHRcdFx0XHRyZXR1cm4gKG1pbnV0ZXMgLyA2MCkudG9GaXhlZCgyKSArICflsI/ml7blhoUnXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG1pbnV0ZXMgKyAn5YiG6ZKf5YaFJ1xuXHRcdFx0fSxcblxuXHRcdFx0Z2V0R29vZHNUZXh0KGl0ZW1zLCBpdGVtSWQpIHtcblx0XHRcdFx0aWYgKCFpdGVtcyB8fCBpdGVtcy5sZW5ndGggPT09IDApIHJldHVybiAn5pegJ1xuXHRcdFx0XHRjb25zdCB0ZXh0ID0gaXRlbXMubWFwKGkgPT4gYCR7aS5uYW1lfSoke2kucXVhbnRpdHl9YCkuam9pbign44CBJylcblx0XHRcdFx0aWYgKHRleHQubGVuZ3RoID4gMjAgJiYgIXRoaXMuZXhwYW5kZWRHb29kc0lkcy5pbmNsdWRlcyhpdGVtSWQpKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHRleHQuc3Vic3RyaW5nKDAsIDIwKSArICcuLi4nXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHRleHRcblx0XHRcdH0sXG5cblx0XHRcdHRvZ2dsZUdvb2RzRXhwYW5kKGlkKSB7XG5cdFx0XHRcdGNvbnN0IGluZGV4ID0gdGhpcy5leHBhbmRlZEdvb2RzSWRzLmluZGV4T2YoaWQpXG5cdFx0XHRcdGlmIChpbmRleCA+IC0xKSB7XG5cdFx0XHRcdFx0dGhpcy5leHBhbmRlZEdvb2RzSWRzLnNwbGljZShpbmRleCwgMSlcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0aGlzLmV4cGFuZGVkR29vZHNJZHMucHVzaChpZClcblx0XHRcdFx0fVxuXHRcdFx0fSxcblxuXHRcdFx0Zm9ybWF0RGlzdGFuY2VQYXJ0cyhkaXN0YW5jZSkge1xuXHRcdFx0XHRpZiAoZGlzdGFuY2UgPT09IG51bGwgfHwgZGlzdGFuY2UgPT09IHVuZGVmaW5lZCB8fCBkaXN0YW5jZSA9PT0gJycpIHtcblx0XHRcdFx0XHRyZXR1cm4geyB2YWx1ZTogJy0tJywgdW5pdDogJycgfVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKHR5cGVvZiBkaXN0YW5jZSA9PT0gJ251bWJlcicpIHtcblx0XHRcdFx0XHRpZiAoZGlzdGFuY2UgPj0gMTAwMCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHsgdmFsdWU6IChkaXN0YW5jZSAvIDEwMDApLnRvRml4ZWQoMSksIHVuaXQ6ICdrbScgfVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4geyB2YWx1ZTogU3RyaW5nKE1hdGgucm91bmQoZGlzdGFuY2UpKSwgdW5pdDogJ20nIH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IHRleHQgPSBTdHJpbmcoZGlzdGFuY2UpLnRyaW0oKVxuXHRcdFx0XHRjb25zdCBtYXRjaCA9IHRleHQubWF0Y2goL14oW1xcZC5dKylcXHMqKFthLXpBLVpcXHU0ZTAwLVxcdTlmYTVdKikkLylcblx0XHRcdFx0aWYgKG1hdGNoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdHZhbHVlOiBtYXRjaFsxXSxcblx0XHRcdFx0XHRcdHVuaXQ6IG1hdGNoWzJdIHx8ICcnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIHsgdmFsdWU6IHRleHQsIHVuaXQ6ICcnIH1cblx0XHRcdH0sXG5cblx0XHRcdG5hdmlnYXRlVG9BZGRyZXNzKGl0ZW0sIHR5cGUpIHtcblx0XHRcdFx0bGV0IGxhdGl0dWRlLCBsb25naXR1ZGUsIG5hbWUsIGFkZHJlc3Ncblx0XHRcdFx0aWYgKHR5cGUgPT09ICdkZXBvc2l0Jykge1xuXHRcdFx0XHRcdGxhdGl0dWRlID0gaXRlbS5kZXBvc2l0TGF0XG5cdFx0XHRcdFx0bG9uZ2l0dWRlID0gaXRlbS5kZXBvc2l0TG5nXG5cdFx0XHRcdFx0bmFtZSA9IGl0ZW0uZGVwb3NpdFNob3BOYW1lXG5cdFx0XHRcdFx0YWRkcmVzcyA9IGl0ZW0uZGVwb3NpdFNob3BBZGRyZXNzXG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0bGF0aXR1ZGUgPSBpdGVtLnRha2VMYXRcblx0XHRcdFx0XHRsb25naXR1ZGUgPSBpdGVtLnRha2VMbmdcblx0XHRcdFx0XHRuYW1lID0gaXRlbS50YWtlTmFtZVxuXHRcdFx0XHRcdGFkZHJlc3MgPSBpdGVtLnRha2VBZGRyZXNzXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKCFsYXRpdHVkZSB8fCAhbG9uZ2l0dWRlKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5Zyw5Z2A5Z2Q5qCH57y65aSxJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0cmV0dXJuXG5cdFx0XHRcdH1cblx0XHRcdFx0dW5pLm9wZW5Mb2NhdGlvbih7XG5cdFx0XHRcdFx0bGF0aXR1ZGUsXG5cdFx0XHRcdFx0bG9uZ2l0dWRlLFxuXHRcdFx0XHRcdG5hbWUsXG5cdFx0XHRcdFx0YWRkcmVzcyxcblx0XHRcdFx0XHRzdWNjZXNzOiAoKSA9PiB7fSxcblx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfmiZPlvIDlnLDlm77lpLHotKUnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0XHRcdGNvbnNvbGUuZXJyb3IoJ29wZW5Mb2NhdGlvbiBmYWlsOicsIGVycilcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXG5cdFx0XHRoYW5kbGVVc2VyQ2xpY2soKSB7XG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvdGVzdC90ZXN0J1xuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGdldEFjdGl2ZU9yZGVyQ291bnQoKSB7XG5cdFx0XHRcdHRoaXMuJHUuYXBpLmFjdGl2ZU9yZGVyQ291bnQoKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHRoaXMuYWN0aXZlT3JkZXJDb3VudCA9IHJlcy5kYXRhXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaCgoZXJyKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5hY3RpdmVPcmRlckNvdW50ID0gbnVsbFxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0aGFuZGxlR3JhYk9yZGVyKGl0ZW0pIHtcblx0XHRcdFx0Y29uc29sZS5sb2coaXRlbSlcblx0XHRcdFx0dGhpcy5zZWxlY3RlZEdyYWJPcmRlciA9IGl0ZW1cblx0XHRcdFx0dGhpcy5zaG93R3JhYk1vZGFsID0gdHJ1ZVxuXHRcdFx0fSxcblxuXHRcdFx0Y29uZmlybUdyYWJPcmRlcigpIHtcblx0XHRcdFx0aWYgKCF0aGlzLnNlbGVjdGVkR3JhYk9yZGVyKSByZXR1cm5cblx0XHRcdFx0dGhpcy4kdS5hcGkuZ3JhYk9yZGVyKHsgb3JkZXJJZDogdGhpcy5zZWxlY3RlZEdyYWJPcmRlci5pZCB9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93R3JhYk1vZGFsID0gZmFsc2Vcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5oqi5Y2V5oiQ5YqfJywgaWNvbjogJ3N1Y2Nlc3MnIH0pXG5cdFx0XHRcdFx0XHR0aGlzLmhhbGxQYWdlID0gMVxuXHRcdFx0XHRcdFx0dGhpcy5oYWxsSGFzTW9yZSA9IHRydWVcblx0XHRcdFx0XHRcdHRoaXMub3JkZXJMaXN0ID0gW11cblx0XHRcdFx0XHRcdHRoaXMuZ2V0SGFsbE9yZGVycygpXG5cdFx0XHRcdFx0XHR0aGlzLmdldEFjdGl2ZU9yZGVyQ291bnQoKVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRDZW50ZXJJbmZvKClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiByZXMubWVzc2FnZSB8fCAn5oqi5Y2V5aSx6LSlJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93R3JhYk1vZGFsID0gZmFsc2Vcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdGhhbmRsZUNhbmNlbE9yZGVyKGl0ZW0pIHtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZENhbmNlbE9yZGVyID0gaXRlbVxuXHRcdFx0XHR0aGlzLiR1LmFwaS5jYW5jZWxMaW1pdCgpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dGhpcy5jYW5jZWxSZW1haW4gPSByZXMuZGF0YS5yZW1haW5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuc2hvdyA9IHRydWVcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdGNvbmZpcm1DYW5jZWxPcmRlcigpIHtcblx0XHRcdFx0aWYgKCF0aGlzLnNlbGVjdGVkQ2FuY2VsT3JkZXIpIHJldHVyblxuXHRcdFx0XHR0aGlzLiR1LmFwaS5jYW5jZWxPcmRlcih7IG9yZGVySWQ6IHRoaXMuc2VsZWN0ZWRDYW5jZWxPcmRlci5pZCB9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93ID0gZmFsc2Vcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5Y+W5raI5oiQ5YqfJywgaWNvbjogJ3N1Y2Nlc3MnIH0pXG5cdFx0XHRcdFx0XHR0aGlzLmdldFBpY2t1cE9yZGVycygpXG5cdFx0XHRcdFx0XHR0aGlzLmdldENlbnRlckluZm8oKVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVPcmRlckNvdW50KClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiByZXMubWVzc2FnZSB8fCAn5Y+W5raI5aSx6LSlJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93ID0gZmFsc2Vcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdGhhbmRsZUNhbGwoaXRlbSkge1xuXHRcdFx0XHRpZiAoaXRlbS5jb250YWN0UGhvbmUpIHtcblx0XHRcdFx0XHR1bmkubWFrZVBob25lQ2FsbCh7XG5cdFx0XHRcdFx0XHRwaG9uZU51bWJlcjogaXRlbS5jb250YWN0UGhvbmVcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXG5cdFx0XHRoYW5kbGVTaG93UGlja3VwQ29kZShpdGVtKSB7XG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRQaWNrdXBPcmRlciA9IGl0ZW1cblx0XHRcdFx0dGhpcy5zaG93MSA9IHRydWVcblx0XHRcdH0sXG5cblx0XHRcdGdvVG9PcmRlckRldGFpbChpdGVtLCBpbmRleCkge1xuXHRcdFx0XHRsZXQgdXJsID0gYC9wYWdlcy9vcmRlci1kZXRhaWwvb3JkZXItZGV0YWlsP2lkPSR7aXRlbS5pZH1gXG5cdFx0XHRcdGlmICh0aGlzLmFjdGl2ZVRhYiA9PT0gJ3BpY2t1cCcgfHwgdGhpcy5hY3RpdmVUYWIgPT09ICdkZWxpdmVyaW5nJykge1xuXHRcdFx0XHRcdHVybCArPSBgJmluZGV4PSR7aW5kZXggKyAxfWBcblx0XHRcdFx0fVxuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7IHVybCB9KVxuXHRcdFx0fSxcblxuXHRcdFx0Z2V0Q2VudGVySW5mbygpIHtcblx0XHRcdFx0dGhpcy4kdS5hcGkuY2VudGVySW5mbygpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dGhpcy5hY2NlcHRpbmdTdGF0dXMgPSByZXMuZGF0YS5hY2NlcHRpbmdTdGF0dXNcblx0XHRcdFx0XHRcdHRoaXMuY2VudGVyVXNlckluZm8gPSB7XG5cdFx0XHRcdFx0XHRcdGZ1bGxJbWdVcmw6IHJlcy5kYXRhLmZ1bGxJbWdVcmwsXG5cdFx0XHRcdFx0XHRcdG5hbWU6IHJlcy5kYXRhLm5hbWVcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHRoaXMuc3RhdHMgPSBbXG5cdFx0XHRcdFx0XHRcdHsgdmFsdWU6IHJlcy5kYXRhLnNjb3JlLCBsYWJlbDogJ+acjeWKoeWIhicgfSxcblx0XHRcdFx0XHRcdFx0eyB2YWx1ZTogKChyZXMuZGF0YS50b2RheUNvbW1pc3Npb24gLyAxMDApIHx8IDApLnRvRml4ZWQoMiksIGxhYmVsOiAn5LuK5pel6aKE6K6h5L2j6YeRJyB9LFxuXHRcdFx0XHRcdFx0XHR7IHZhbHVlOiByZXMuZGF0YS50b2RheU9yZGVyQ291bnQsIGxhYmVsOiAn5LuK5pel5o6l5Y2VJyB9XG5cdFx0XHRcdFx0XHRdXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0Z2V0Q2F0ZWdvcnlMaXN0RGF0YSgpIHtcblx0XHRcdFx0dGhpcy4kdS5hcGkuZ2V0Q2F0ZWdvcnlMaXN0KHsgdHlwZTogMyB9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHRoaXMuY2F0ZWdvcnlMaXN0ID0gcmVzLmRhdGEgfHwgW11cblx0XHRcdFx0XHRcdHRoaXMuZmlsdGVyU2VjdGlvbnMuZm9yRWFjaChzZWN0aW9uID0+IHtcblx0XHRcdFx0XHRcdFx0aWYgKHNlY3Rpb24ua2V5ID09PSAnbGV2ZWwnKSB7XG5cdFx0XHRcdFx0XHRcdFx0c2VjdGlvbi5vcHRpb25zID0gWyfkuI3pmZAnLCAuLi50aGlzLmNhdGVnb3J5TGlzdC5tYXAoaXRlbSA9PiBpdGVtLm5hbWUpXVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdGxvYWRPcmRlcnNCeVRhYih0YWIpIHtcblx0XHRcdFx0aWYgKHRoaXMudXNlckluZm8uYXVkaXRTdGF0dXMgPT09IDk5KSByZXR1cm47XG5cdFx0XHRcdGlmICh0aGlzLmFjY2VwdGluZ1N0YXR1cyA9PT0gMCkgcmV0dXJuO1xuXHRcdFx0XHRpZiAodGFiID09PSAnaGFsbCcpIHtcblx0XHRcdFx0XHR0aGlzLmhhbGxQYWdlID0gMVxuXHRcdFx0XHRcdHRoaXMuaGFsbEhhc01vcmUgPSB0cnVlXG5cdFx0XHRcdFx0dGhpcy5vcmRlckxpc3QgPSBbXVxuXHRcdFx0XHRcdHRoaXMuZ2V0SGFsbE9yZGVycygpXG5cdFx0XHRcdH0gZWxzZSBpZiAodGFiID09PSAncGlja3VwJykge1xuXHRcdFx0XHRcdHRoaXMucGlja3VwT3JkZXJMaXN0ID0gW11cblx0XHRcdFx0XHR0aGlzLmdldFBpY2t1cE9yZGVycygpXG5cdFx0XHRcdH0gZWxzZSBpZiAodGFiID09PSAnZGVsaXZlcmluZycpIHtcblx0XHRcdFx0XHR0aGlzLmRlbGl2ZXJpbmdPcmRlckxpc3QgPSBbXVxuXHRcdFx0XHRcdHRoaXMuZ2V0RGVsaXZlcmluZ09yZGVycygpXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cblx0XHRcdGdldEhhbGxPcmRlcnMoKSB7XG5cdFx0XHRcdGlmICh0aGlzLmFjY2VwdGluZ1N0YXR1cyA9PT0gMCkgcmV0dXJuO1xuXHRcdFx0XHRpZiAodGhpcy5oYWxsTG9hZGluZyB8fCAhdGhpcy5oYWxsSGFzTW9yZSkge1xuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuaGFsbExvYWRpbmcgPSB0cnVlXG5cblx0XHRcdFx0bGV0IGRpc3RhbmNlID0gbnVsbFxuXHRcdFx0XHRpZiAodGhpcy5zZWxlY3RlZEZpbHRlcnMuZGlzdGFuY2UgIT09ICfkuI3pmZAnKSB7XG5cdFx0XHRcdFx0Y29uc3QgZGlzdGFuY2VUZXh0ID0gdGhpcy5zZWxlY3RlZEZpbHRlcnMuZGlzdGFuY2Vcblx0XHRcdFx0XHRpZiAoZGlzdGFuY2VUZXh0LmluY2x1ZGVzKCdrbScpKSB7XG5cdFx0XHRcdFx0XHRkaXN0YW5jZSA9IHBhcnNlSW50KGRpc3RhbmNlVGV4dCkgKiAxMDAwXG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdGRpc3RhbmNlID0gcGFyc2VJbnQoZGlzdGFuY2VUZXh0KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGNvbnN0IHNvcnRUeXBlTWFwID0ge1xuXHRcdFx0XHRcdCfnu7zlkIjmjpLluo8nOiAxLFxuXHRcdFx0XHRcdCfot53nprvmnIDov5EnOiAyXG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3Qgc29ydFR5cGUgPSB0aGlzLnNlbGVjdGVkRmlsdGVycy5zb3J0ICE9PSAn5LiN6ZmQJyA/IChzb3J0VHlwZU1hcFt0aGlzLnNlbGVjdGVkRmlsdGVycy5zb3J0XSB8fCBudWxsKSA6IG51bGxcblxuXHRcdFx0XHRsZXQgZ3JhZGVJZCA9IG51bGxcblx0XHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWRGaWx0ZXJzLmxldmVsICE9PSAn5LiN6ZmQJykge1xuXHRcdFx0XHRcdGNvbnN0IHNlbGVjdGVkQ2F0ZWdvcnkgPSB0aGlzLmNhdGVnb3J5TGlzdC5maW5kKGl0ZW0gPT4gaXRlbS5uYW1lID09PSB0aGlzLnNlbGVjdGVkRmlsdGVycy5sZXZlbClcblx0XHRcdFx0XHRpZiAoc2VsZWN0ZWRDYXRlZ29yeSkge1xuXHRcdFx0XHRcdFx0Z3JhZGVJZCA9IHNlbGVjdGVkQ2F0ZWdvcnkuaWRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zb2xlLmxvZygn5o6l5Y2V5aSn5Y6FOicsIHsgZGlzdGFuY2UsIGdyYWRlSWQsIHNvcnRUeXBlIH0pXG5cdFx0XHRcdHRoaXMuJHUuYXBpLmdyYWJPcmRlckhhbGwoe1xuXHRcdFx0XHRcdGNhcGFjaXR5OiB0aGlzLmhhbGxQYWdlU2l6ZSxcblx0XHRcdFx0XHRwYWdlOiB0aGlzLmhhbGxQYWdlLFxuXHRcdFx0XHRcdG1vZGVsOiB7XG5cdFx0XHRcdFx0XHRkaXN0YW5jZTogZGlzdGFuY2UsXG5cdFx0XHRcdFx0XHRncmFkZUlkOiBncmFkZUlkLFxuXHRcdFx0XHRcdFx0c29ydFR5cGU6IHNvcnRUeXBlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ+aOpeWNleWkp+WOhScsIHJlcylcblx0XHRcdFx0XHR0aGlzLmhhbGxMb2FkaW5nID0gZmFsc2Vcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0Y29uc3QgbGlzdCA9IHJlcy5kYXRhLnJlY29yZHMgfHwgW11cblx0XHRcdFx0XHRcdHRoaXMub3JkZXJMaXN0ID0gdGhpcy5oYWxsUGFnZSA9PT0gMSA/IGxpc3QgOiB0aGlzLm9yZGVyTGlzdC5jb25jYXQobGlzdClcblx0XHRcdFx0XHRcdHRoaXMuaGFsbEhhc01vcmUgPSBsaXN0Lmxlbmd0aCA+PSB0aGlzLmhhbGxQYWdlU2l6ZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkuZmluYWxseSgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5oYWxsTG9hZGluZyA9IGZhbHNlXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXG5cdFx0XHRnZXRQaWNrdXBPcmRlcnMoKSB7XG5cdFx0XHRcdGlmICh0aGlzLmFjY2VwdGluZ1N0YXR1cyA9PT0gMCkgcmV0dXJuO1xuXHRcdFx0XHRpZiAodGhpcy5waWNrdXBMb2FkaW5nKSByZXR1cm5cblx0XHRcdFx0dGhpcy5waWNrdXBMb2FkaW5nID0gdHJ1ZVxuXHRcdFx0XHR0aGlzLiR1LmFwaS5hY3RpdmVPcmRlcnMoeyBzdGF0dXM6IDMgfSkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCflvoXlj5botKc6JywgcmVzKVxuXHRcdFx0XHRcdHRoaXMucGlja3VwTG9hZGluZyA9IGZhbHNlXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHRoaXMucGlja3VwT3JkZXJMaXN0ID0gcmVzLmRhdGEucmVjb3JkcyB8fCByZXMuZGF0YSB8fCBbXVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkuY2F0Y2goKGVycikgPT4ge1xuXHRcdFx0XHRcdHRoaXMucGlja3VwTG9hZGluZyA9IGZhbHNlXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXG5cdFx0XHRnZXREZWxpdmVyaW5nT3JkZXJzKCkge1xuXHRcdFx0XHRpZiAodGhpcy5hY2NlcHRpbmdTdGF0dXMgPT09IDApIHJldHVybjtcblx0XHRcdFx0aWYgKHRoaXMuZGVsaXZlcmluZ0xvYWRpbmcpIHJldHVyblxuXHRcdFx0XHR0aGlzLmRlbGl2ZXJpbmdMb2FkaW5nID0gdHJ1ZVxuXHRcdFx0XHR0aGlzLiR1LmFwaS5hY3RpdmVPcmRlcnMoeyBzdGF0dXM6IDQgfSkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCfphY3pgIHkuK06JywgcmVzKVxuXHRcdFx0XHRcdHRoaXMuZGVsaXZlcmluZ0xvYWRpbmcgPSBmYWxzZVxuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmRlbGl2ZXJpbmdPcmRlckxpc3QgPSByZXMuZGF0YSB8fCBbXVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkuY2F0Y2goKGVycikgPT4ge1xuXHRcdFx0XHRcdHRoaXMuZGVsaXZlcmluZ0xvYWRpbmcgPSBmYWxzZVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0b3BlblN0YXR1c1BpY2tlcigpIHtcblx0XHRcdFx0dGhpcy5zaG93U3RhdHVzUGlja2VyID0gdHJ1ZVxuXHRcdFx0fSxcblxuXHRcdFx0Y29uZmlybVN0YXR1cyhlKSB7XG5cdFx0XHRcdHRoaXMuc2hvd1N0YXR1c1BpY2tlciA9IGZhbHNlXG5cdFx0XHRcdGNvbnN0IHNlbGVjdGVkVmFsdWUgPSBlLnZhbHVlWzBdXG5cdFx0XHRcdHRoaXMuJHUuYXBpLnVwZGF0ZUFjY2VwdGluZ1N0YXR1cyh7IHN0YXR1czogc2VsZWN0ZWRWYWx1ZS52YWx1ZSB9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHRoaXMuYWNjZXB0aW5nU3RhdHVzID0gc2VsZWN0ZWRWYWx1ZS52YWx1ZVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRDZW50ZXJJbmZvKClcblx0XHRcdFx0XHRcdGlmICh0aGlzLmFjY2VwdGluZ1N0YXR1cyA9PT0gMCkge1xuXHRcdFx0XHRcdFx0XHR0aGlzLm9yZGVyTGlzdCA9IFtdXG5cdFx0XHRcdFx0XHRcdHRoaXMucGlja3VwT3JkZXJMaXN0ID0gW11cblx0XHRcdFx0XHRcdFx0dGhpcy5kZWxpdmVyaW5nT3JkZXJMaXN0ID0gW11cblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdGlmICh0aGlzLmFjdGl2ZVRhYiA9PT0gJ3BpY2t1cCcpIHtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmdldFBpY2t1cE9yZGVycygpXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSBpZiAodGhpcy5hY3RpdmVUYWIgPT09ICdkZWxpdmVyaW5nJykge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZ2V0RGVsaXZlcmluZ09yZGVycygpXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5oYWxsUGFnZSA9IDFcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmhhbGxIYXNNb3JlID0gdHJ1ZVxuXHRcdFx0XHRcdFx0XHRcdHRoaXMub3JkZXJMaXN0ID0gW11cblx0XHRcdFx0XHRcdFx0XHR0aGlzLmdldEhhbGxPcmRlcnMoKVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0dG9Ecml2ZXJDZXJ0aWZpY2F0aW9uKCkge1xuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL2RyaXZlci1jZXJ0aWZpY2F0aW9uL2RyaXZlci1jZXJ0aWZpY2F0aW9uJ1xuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0dG9nZ2xlRmlsdGVyUG9wdXAoc2hvdykge1xuXHRcdFx0XHR0aGlzLnNob3dGaWx0ZXJQb3B1cCA9IHNob3dcblx0XHRcdH0sXG5cblx0XHRcdHNlbGVjdEZpbHRlcihrZXksIG9wdGlvbikge1xuXHRcdFx0XHR0aGlzLnNlbGVjdGVkRmlsdGVycyA9IHtcblx0XHRcdFx0XHQuLi50aGlzLnNlbGVjdGVkRmlsdGVycyxcblx0XHRcdFx0XHRba2V5XTogb3B0aW9uXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cblx0XHRcdHJlc2V0RmlsdGVycygpIHtcblx0XHRcdFx0dGhpcy5zaG93RmlsdGVyUG9wdXAgPSBmYWxzZVxuXHRcdFx0XHRpZiAodGhpcy51c2VySW5mby5hdWRpdFN0YXR1cyA9PT0gOTkpIHJldHVybjtcblx0XHRcdFx0dGhpcy5zZWxlY3RlZEZpbHRlcnMgPSB7XG5cdFx0XHRcdFx0c29ydDogJ+e7vOWQiOaOkuW6jycsXG5cdFx0XHRcdFx0bGV2ZWw6ICfkuI3pmZAnLFxuXHRcdFx0XHRcdGRpc3RhbmNlOiAn5LiN6ZmQJ1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0aGlzLmFjdGl2ZVRhYiA9PT0gJ2hhbGwnKSB7XG5cdFx0XHRcdFx0dGhpcy5oYWxsUGFnZSA9IDFcblx0XHRcdFx0XHR0aGlzLmhhbGxIYXNNb3JlID0gdHJ1ZVxuXHRcdFx0XHRcdHRoaXMub3JkZXJMaXN0ID0gW11cblx0XHRcdFx0XHR0aGlzLmdldEhhbGxPcmRlcnMoKVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXG5cdFx0XHRjb25maXJtRmlsdGVycygpIHtcblx0XHRcdFx0dGhpcy5zaG93RmlsdGVyUG9wdXAgPSBmYWxzZVxuXHRcdFx0XHRpZiAodGhpcy51c2VySW5mby5hdWRpdFN0YXR1cyA9PT0gOTkpIHtcblx0XHRcdFx0XHR0aGlzLmhhbGxIYXNNb3JlID0gdHJ1ZVxuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICh0aGlzLmFjdGl2ZVRhYiA9PT0gJ2hhbGwnKSB7XG5cdFx0XHRcdFx0dGhpcy5oYWxsUGFnZSA9IDFcblx0XHRcdFx0XHR0aGlzLmhhbGxIYXNNb3JlID0gdHJ1ZVxuXHRcdFx0XHRcdHRoaXMub3JkZXJMaXN0ID0gW11cblx0XHRcdFx0XHR0aGlzLmdldEhhbGxPcmRlcnMoKVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXG5cdFx0XHRpbml0VFRTKCkge1xuXHRcdFx0XHRpZiAodW5pLmdldFN5c3RlbUluZm9TeW5jKCkucGxhdGZvcm0gIT09ICdhbmRyb2lkJykge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCfku4XmlK/mjIHlronljZMnKVxuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHQvLyDlr7zlhaXlronljZPljp/nlJ/nsbtcblx0XHRcdFx0XHRjb25zdCBUZXh0VG9TcGVlY2ggPSBwbHVzLmFuZHJvaWQuaW1wb3J0Q2xhc3MoJ2FuZHJvaWQuc3BlZWNoLnR0cy5UZXh0VG9TcGVlY2gnKVxuXHRcdFx0XHRcdGNvbnN0IExvY2FsZSA9IHBsdXMuYW5kcm9pZC5pbXBvcnRDbGFzcygnamF2YS51dGlsLkxvY2FsZScpXG5cblx0XHRcdFx0XHQvLyDliJvlu7pUVFNcblx0XHRcdFx0XHR0aGlzLnR0cyA9IG5ldyBUZXh0VG9TcGVlY2gocGx1cy5hbmRyb2lkLnJ1bnRpbWVNYWluQWN0aXZpdHkoKSwge1xuXHRcdFx0XHRcdFx0b25Jbml0OiAoc3RhdHVzKSA9PiB7XG5cdFx0XHRcdFx0XHRcdGlmIChzdGF0dXMgPT0gMCkge1xuXHRcdFx0XHRcdFx0XHRcdC8vIOiuvue9ruS4reaWh1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMudHRzLnNldExhbmd1YWdlKExvY2FsZS5DSElOQSlcblx0XHRcdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn6K+t6Z+z5Yid5aeL5YyW5oiQ5YqfJylcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0gY2F0Y2ggKGUpIHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZygn5Yid5aeL5YyW5aSx6LSlJywgZSlcblx0XHRcdFx0fVxuXHRcdFx0fSxcblxuXHRcdFx0c3BlYWsodGV4dCkge1xuXHRcdFx0XHRpZiAoIXRoaXMudHRzKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHR0aXRsZTogJ+ivremfs+acquWHhuWkh+WlvScsXG5cdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHQvLyDlronljZPljp/nlJ/mkq3miqXvvIhRVUVVRV9GTFVTSCA9IOeri+WNs+aSreaKpe+8jOaJk+aWreS4iuS4gOadoe+8iVxuXHRcdFx0XHRcdHRoaXMudHRzLnNwZWFrKHRleHQsIDAsIG51bGwpXG5cdFx0XHRcdH0gY2F0Y2ggKGVycikge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCfmkq3miqXlpLHotKUnLCBlcnIpXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cblx0XHRcdHN0b3BTcGVhaygpIHtcblx0XHRcdFx0aWYgKHRoaXMudHRzKSB0aGlzLnR0cy5zdG9wKClcblx0XHRcdH1cblx0XHR9LFxuXG5cdFx0b25VbmxvYWQoKSB7XG5cdFx0XHRpZiAodGhpcy50dHMpIHtcblx0XHRcdFx0dGhpcy50dHMuc3RvcCgpXG5cdFx0XHRcdHRoaXMudHRzLnNodXRkb3duKClcblx0XHRcdH1cblx0XHR9XG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG5cdC5oYWxsLXBhZ2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdGJhY2tncm91bmQ6ICNmNWY2Zjg7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdC5xcmNvZGUge1xuXHRcdFx0cGFkZGluZzogMzZycHggMzBycHg7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0LnFyY29kZS10aXRsZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdGltYWdlIHtcblx0XHRcdFx0XHR3aWR0aDogMjhycHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyOHJweDtcblx0XHRcdFx0fVxuXHRcdFx0XHR0ZXh0IHtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICMxMTExMTE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5xcmNvZGUtaW1hZ2Uge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDYwcnB4O1xuXHRcdFx0XHRpbWFnZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDQwMHJweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDQwMHJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0LnFyY29kZS1idG4ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiA4OHJweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDg4cnB4O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMxMDZFRkE7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwcnB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcblx0XHRcdFx0Zm9udC1zaXplOiAzMnJweDtcblx0XHRcdFx0Y29sb3I6ICNGRkZGRkY7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDY4cnB4O1xuXG5cdFx0XHRcdCYtLWhvdmVyIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjkyO1xuXHRcdFx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgycnB4KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC5waG90by1kZWxpdmVyIHtcblx0XHRcdHBhZGRpbmc6IDMycnB4IDI4cnB4IGNhbGMoZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pICsgMjhycHgpO1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyMHJweDtcblx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyMHJweDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHRcdCZfX2hlYWRlciB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdH1cblxuXHRcdFx0Jl9fdGl0bGUge1xuXHRcdFx0XHRmb250LXNpemU6IDM0cnB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRjb2xvcjogIzExMTExMTtcblx0XHRcdH1cblxuXHRcdFx0Jl9fY2xvc2UsXG5cdFx0XHQmX19jbG9zZS1wbGFjZWhvbGRlciB7XG5cdFx0XHRcdHdpZHRoOiAzNnJweDtcblx0XHRcdFx0aGVpZ2h0OiAzNnJweDtcblx0XHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCZfX2Nsb3NlLXBsYWNlaG9sZGVyIHtcblx0XHRcdFx0b3BhY2l0eTogMDtcblx0XHRcdH1cblxuXHRcdFx0Jl9fc2VjdGlvbiB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDU2cnB4O1xuXG5cdFx0XHRcdCYtLXJlbWFyayB7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogNDZycHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Jl9fbGFiZWwtcm93IHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19sYWJlbCxcblx0XHRcdCZfX3JlbWFyay10aXRsZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdGNvbG9yOiAjMjMyNjJkO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19yZXF1aXJlZCB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA0cnB4O1xuXHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0XHRjb2xvcjogI2ZmM2IzMDtcblx0XHRcdH1cblxuXHRcdFx0Jl9faGludCB7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAxMnJweDtcblx0XHRcdFx0Zm9udC1zaXplOiAyNHJweDtcblx0XHRcdFx0Y29sb3I6ICNhOGFkYjc7XG5cdFx0XHR9XG5cblx0XHRcdCZfX3Bob3RvcyB7XG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdGdhcDogMThycHg7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDMwcnB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmX191cGxvYWQtY2FyZCxcblx0XHRcdCZfX3ByZXZpZXctY2FyZCB7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0d2lkdGg6IDE2MHJweDtcblx0XHRcdFx0aGVpZ2h0OiAxNjBycHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDhycHg7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR9XG5cblx0XHRcdCZfX3VwbG9hZC1jYXJkIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRcdGJvcmRlcjogMnJweCBkYXNoZWQgI2M5Y2VkNjtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdH1cblxuXHRcdFx0Jl9fdXBsb2FkLWljb24ge1xuXHRcdFx0XHR3aWR0aDogNTJycHg7XG5cdFx0XHRcdGhlaWdodDogNTJycHg7XG5cdFx0XHR9XG5cblx0XHRcdCZfX3VwbG9hZC10ZXh0IHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMTRycHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRcdGNvbG9yOiAjOWRhM2FlO1xuXHRcdFx0fVxuXG5cdFx0XHQmX19wcmV2aWV3LWNhcmQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZWVmMWY1O1xuXHRcdFx0fVxuXG5cdFx0XHQmX19wcmV2aWV3LWltYWdlIHtcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdH1cblxuXHRcdFx0Jl9fcHJldmlldy1tYXNrIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0aGVpZ2h0OiA0OHJweDtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQ2KTtcblx0XHRcdH1cblxuXHRcdFx0Jl9fcHJldmlldy1kZWxldGUge1xuXHRcdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRcdH1cblxuXHRcdFx0Jl9fdGV4dGFyZWEge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAxMTBycHg7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDI0cnB4O1xuXHRcdFx0XHRwYWRkaW5nOiAyOHJweCAyNHJweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTJycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmN2Y4ZmE7XG5cdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XG5cdFx0XHRcdGNvbG9yOiAjMmMzMTM5O1xuXHRcdFx0fVxuXG5cdFx0XHQmX19zdWJtaXQge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiA4OHJweDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDg4cnB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA4NnJweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNTBycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMxMDZlZmE7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdCYtLWhvdmVyIHtcblx0XHRcdFx0XHRvcGFjaXR5OiAwLjkyO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9faGVhZGVyIHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzI0NzNmNSAwJSwgIzFlNmZlZiAxMDAlKTtcblx0XHRcdGJveC1zaGFkb3c6IDAgMTJycHggMjRycHggcmdiYSgzNiwgMTE1LCAyNDUsIDAuMDgpO1xuXHRcdH1cblxuXHRcdCZfX3VzZXItcm93IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogMjBycHggMjRycHggMDtcblx0XHR9XG5cblx0XHQmX191c2VyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAxNHJweDtcblx0XHR9XG5cblx0XHQmX19hdmF0YXIge1xuXHRcdFx0d2lkdGg6IDQycnB4O1xuXHRcdFx0aGVpZ2h0OiA0MnJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGJvcmRlcjogMnJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG5cdFx0fVxuXG5cdFx0Jl9fbmFtZSB7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdH1cblxuXHRcdCZfX3N0YXR1cyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IDEwcnB4IDE2cnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOTk5cnB4O1xuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcblx0XHRcdGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHJweCk7XG5cdFx0fVxuXG5cdFx0Jl9fc3RhdHVzLWRvdCB7XG5cdFx0XHR3aWR0aDogMTRycHg7XG5cdFx0XHRoZWlnaHQ6IDE0cnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0YmFja2dyb3VuZDogIzMyZDc0Yjtcblx0XHRcdG1hcmdpbi1yaWdodDogMTBycHg7XG5cblx0XHRcdCYtLW9mZmxpbmUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmYzYjMwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3N0YXR1cy10ZXh0LFxuXHRcdCZfX3N0YXR1cy1hcnJvdyB7XG5cdFx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0fVxuXG5cdFx0Jl9fc3RhdHVzLWFycm93IHtcblx0XHRcdGZvbnQtc2l6ZTogMThycHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogOHJweDtcblx0XHR9XG5cblx0XHQmX19zdGF0cyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0cGFkZGluZzogMzRycHggMzZycHggMjhycHg7XG5cdFx0fVxuXG5cdFx0Jl9fc3RhdC1pdGVtIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdG1pbi13aWR0aDogMTYwcnB4O1xuXHRcdH1cblxuXHRcdCZfX3N0YXQtdmFsdWUge1xuXHRcdFx0Zm9udC1zaXplOiA1MnJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdH1cblxuXHRcdCZfX3N0YXQtbGFiZWwge1xuXHRcdFx0bWFyZ2luLXRvcDogMTJycHg7XG5cdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44Nik7XG5cdFx0fVxuXG5cdFx0Jl9fdGFicyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGhlaWdodDogODhycHg7XG5cdFx0XHRwYWRkaW5nOiAwIDE4cnB4O1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHR9XG5cblx0XHQmX190YWIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdHBhZGRpbmc6IDAgMThycHg7XG5cdFx0XHRmb250LXNpemU6IDMycnB4O1xuXHRcdFx0Y29sb3I6ICM4YjkwOTk7XG5cdFx0fVxuXG5cdFx0Jl9fdGFiLS1hY3RpdmUge1xuXHRcdFx0Y29sb3I6ICMyNDI5MzM7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdH1cblxuXHRcdCZfX3RhYi10ZXh0IHtcblx0XHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0XHRcdGNvbG9yOiBpbmhlcml0O1xuXHRcdH1cblxuXHRcdCZfX3RhYi1jb3VudCB7XG5cdFx0XHRtYXJnaW4tbGVmdDogNnJweDtcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0XHRjb2xvcjogIzhiOTA5OTtcblx0XHR9XG5cblx0XHQmX190YWItbGluZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAxOHJweDtcblx0XHRcdHJpZ2h0OiAxOHJweDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGhlaWdodDogNXJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDk5OXJweDtcblx0XHRcdGJhY2tncm91bmQ6ICMyNDczZjU7XG5cdFx0fVxuXG5cdFx0Jl9fZmlsdGVyIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDZycHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxMHJweDtcblx0XHR9XG5cblx0XHQmX19maWx0ZXItdGV4dCB7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Y29sb3I6ICM5YWExYWI7XG5cblx0XHRcdCYtLWFjdGl2ZSB7XG5cdFx0XHRcdGNvbG9yOiAjMTA2ZWZhO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQmX19maWx0ZXItaWNvbiB7XG5cdFx0XHR3aWR0aDogMjhycHg7XG5cdFx0XHRoZWlnaHQ6IDI4cnB4O1xuXHRcdH1cblxuXHRcdCZfX2JvZHkge1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGNkY5RkY7XG5cdFx0fVxuXG5cdFx0Jl9fbGlzdCB7XG5cdFx0XHRwYWRkaW5nOiAzMHJweDtcblx0XHR9XG5cblx0XHQmX192ZXJpZmllZCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0aW1hZ2Uge1xuXHRcdFx0XHR3aWR0aDogMzIwcnB4O1xuXHRcdFx0XHRoZWlnaHQ6IDMyMHJweDtcblx0XHRcdH1cblx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdHdpZHRoOiAxNjBycHg7XG5cdFx0XHRcdGhlaWdodDogNjRycHg7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA2NHJweDtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdGJvcmRlcjogMCAhaW1wb3J0YW50O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMTA2RUZBO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA1MHJweDtcblx0XHRcdFx0bWFyZ2luLXRvcDogNDBycHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2VtcHR5IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pO1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHR9XG5cblx0XHQmX19lbXB0eS1pY29uIHtcblx0XHRcdHdpZHRoOiAzMjBycHg7XG5cdFx0XHRoZWlnaHQ6IDMyMHJweDtcblx0XHR9XG5cdH1cblxuXHQuZmlsdGVyLXBvcHVwIHtcblx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHR6LWluZGV4OiAyMDtcblxuXHRcdCZfX3BhbmVsIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHRcdGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDI4cnB4O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDI4cnB4O1xuXHRcdH1cblxuXHRcdCZfX2NvbnRlbnQge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdG92ZXJmbG93LXk6IGF1dG87XG5cdFx0XHRwYWRkaW5nOiAyMnJweCAxOHJweCAwO1xuXHRcdH1cblxuXHRcdCZfX3NlY3Rpb24ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjhycHg7XG5cdFx0fVxuXG5cdFx0Jl9fdGl0bGUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyMHJweDtcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICMyNTJiMzM7XG5cdFx0fVxuXG5cdFx0Jl9fb3B0aW9ucyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0Z2FwOiAxOHJweCAyMHJweDtcblx0XHR9XG5cblx0XHQmX19vcHRpb24ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHdpZHRoOiAyMjZycHg7XG5cdFx0XHRoZWlnaHQ6IDc0cnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTBycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuXHRcdFx0Ym9yZGVyOiAycnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRcdFx0Ji0tYWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2VkZjVmZjtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjM2Q4Y2ZmO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX29wdGlvbi10ZXh0IHtcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0XHRjb2xvcjogIzRiNTE1YTtcblxuXHRcdFx0LmZpbHRlci1wb3B1cF9fb3B0aW9uLS1hY3RpdmUgJiB7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdGNvbG9yOiAjMjY3OGZmO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2FjdGlvbnMge1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0Z2FwOiAyNHJweDtcblx0XHRcdHBhZGRpbmc6IDhycHggMThycHggMjZycHg7XG5cdFx0fVxuXG5cdFx0Jl9fYnV0dG9uIHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRoZWlnaHQ6IDkycnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDkycnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOTk5cnB4O1xuXHRcdFx0Zm9udC1zaXplOiAzNHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdH1cblxuXHRcdFx0Ji0tcmVzZXQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZWJlYmViO1xuXHRcdFx0XHRjb2xvcjogIzc3N2Q4Njtcblx0XHRcdH1cblxuXHRcdFx0Ji0tY29uZmlybSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMyZDgyZmYgMCUsICMyMDZlZjYgMTAwJSk7XG5cdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1ob3ZlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lm9yZGVyLWNhcmQge1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcnB4O1xuXHRcdHBhZGRpbmc6IDIwcnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDI0cnB4O1xuXHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0Ym94LXNoYWRvdzogMCAxMHJweCAyNHJweCByZ2JhKDI2LCA0NCwgODEsIDAuMDQpO1xuXG5cdFx0Jl9faGVhZCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0fVxuXG5cdFx0Jl9fdGltZS1tYWluIHtcblx0XHRcdGZvbnQtc2l6ZTogNDJycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICNmZjhkMjc7XG5cdFx0fVxuXG5cdFx0Jl9fdGltZS1zdWIge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDhycHg7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Y29sb3I6ICNhM2E4YjI7XG5cdFx0fVxuXG5cdFx0Jl9fcHJpY2Utd3JhcCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDhycHg7XG5cblx0XHRcdCYtLXNlcmlhbC1vbmx5IHtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXHRcdFx0XHRtaW4td2lkdGg6IDU0cnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3NlcmlhbCB7XG5cdFx0XHRmb250LXNpemU6IDM4cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXHRcdFx0Y29sb3I6ICMyYzMxMzk7XG5cdFx0fVxuXG5cdFx0Jl9fcHJpY2Uge1xuXHRcdFx0Zm9udC1zaXplOiA0NHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogI2ZmM2IzMDtcblx0XHR9XG5cblx0XHQmX19tZXRhIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAxNnJweDtcblx0XHRcdG1hcmdpbi10b3A6IDEycnB4O1xuXHRcdH1cblxuXHRcdCZfX2V4dHJhIHtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0Zm9udC1zaXplOiAyNHJweDtcblx0XHRcdGNvbG9yOiAjYTBhNWFmO1xuXHRcdH1cblxuXHRcdCZfX3RhZ3Mge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRnYXA6IDEwcnB4O1xuXHRcdH1cblxuXHRcdCZfX3RhZy13cmFwIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdH1cblxuXHRcdCZfX3RhZy1pY29uIHtcblx0XHRcdHdpZHRoOiAxMDhycHg7XG5cdFx0XHRoZWlnaHQ6IDQwcnB4O1xuXHRcdH1cblxuXHRcdCZfX3RhZy1pbWcge1xuXHRcdFx0d2lkdGg6IDEwOHJweDtcblx0XHRcdGhlaWdodDogNDBycHg7XG5cdFx0fVxuXG5cdFx0Jl9fdGFnIHtcblx0XHRcdHBhZGRpbmc6IDRycHggMTBycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA4cnB4O1xuXHRcdFx0Zm9udC1zaXplOiAyMnJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0Ym9yZGVyOiAxcnB4IHNvbGlkICMyNDczZjU7XG5cdFx0XHRjb2xvcjogIzI0NzNmNTtcblxuXHRcdFx0Ji0tb3JhbmdlIHtcblx0XHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzE5ZGVnLCAjRUU5RDBFIDAlLCAjRkY0RTRFIDEwMCUpO1xuXHRcdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRcdH1cblxuXHRcdFx0Ji0tcmVkIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjZmY2YzU3O1xuXHRcdFx0XHRjb2xvcjogI2ZmNmM1Nztcblx0XHRcdH1cblxuXHRcdFx0Ji0tYmx1ZS1saWdodCB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogIzc0YTlmZjtcblx0XHRcdFx0Y29sb3I6ICM3NGE5ZmY7XG5cdFx0XHR9XG5cblx0XHRcdCYtLWJsdWUge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDE2LDE3OCwyNTAsMC4wOCk7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDE1cnB4O1xuXHRcdFx0XHRib3JkZXI6IDJycHggc29saWQgIzEwNkVGQTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0Zm9udC1zaXplOiAyMnJweDtcblx0XHRcdFx0Y29sb3I6ICMxMDZFRkE7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdH1cblxuXHRcdCZfX3JvdXRlLXNpZGUge1xuXHRcdFx0d2lkdGg6IDcwcnB4O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHRwYWRkaW5nOiAxNHJweCAwIDhycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAyNnJweDtcblx0XHRcdGJhY2tncm91bmQ6ICNmNmY3Zjk7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcnB4O1xuXHRcdH1cblxuXHRcdCZfX2Rpc3RhbmNlLWJsb2NrIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xuXG5cdFx0XHQmLS10b3Age1xuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA2cnB4O1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1ib3R0b20ge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA2cnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2Rpc3RhbmNlLXZhbHVlIHtcblx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0Jl9fZGlzdGFuY2UtdW5pdCB7XG5cdFx0XHRtYXJnaW4tdG9wOiA2cnB4O1xuXHRcdFx0Zm9udC1zaXplOiAxOHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRjb2xvcjogIzhjOTM5Zjtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG5cdFx0fVxuXG5cdFx0Jl9fbGluZSB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRtaW4taGVpZ2h0OiA2MnJweDtcblx0XHRcdG1hcmdpbjogOHJweCAwO1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMCcgaGVpZ2h0PScyNicgdmlld0JveD0nMCAwIDIwIDI2JyUzRSUzQ3BhdGggZmlsbD0nJTIzOEM5MzlGJyBkPSdNMTAgMEM1LjAzIDAgMSAzLjk5IDEgOC45MmMwIDYuMzEgNy4yOCAxMi44NyA4LjA3IDEzLjU3YTEuNCAxLjQgMCAwIDAgMS44NiAwQzExLjcyIDIxLjc5IDE5IDE1LjIzIDE5IDguOTIgMTkgMy45OSAxNC45NyAwIDEwIDBabTAgMTIuMjRhMy4zMiAzLjMyIDAgMSAxIDAtNi42NCAzLjMyIDMuMzIgMCAwIDEgMCA2LjY0WicvJTNFJTNDL3N2ZyUzRVwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogMjBycHggMjZycHg7XG5cblx0XHRcdCY6OmJlZm9yZSxcblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDogJyc7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0bGVmdDogNTAlO1xuXHRcdFx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdFx0XHRcdHdpZHRoOiAycnB4O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiA5OTlycHg7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNjZmQ0ZGM7XG5cdFx0XHR9XG5cblx0XHRcdCY6OmJlZm9yZSB7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0aGVpZ2h0OiAxOHJweDtcblx0XHRcdH1cblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRib3R0b206IDA7XG5cdFx0XHRcdGhlaWdodDogMjRycHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtbWFpbiB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdH1cblxuXHRcdCZfX3JvdXRlLWl0ZW0ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0Z2FwOiAxNnJweDtcblxuXHRcdFx0Ji0tZGVzdGluYXRpb24ge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAyMHJweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19yb3V0ZS1iYWRnZSB7XG5cdFx0XHR3aWR0aDogNDRycHg7XG5cdFx0XHRoZWlnaHQ6IDQ0cnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDE2cnB4O1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cblx0XHRcdCYtLXRha2Uge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMTBCMkZBO1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1zZW5kIHtcblx0XHRcdFx0YmFja2dyb3VuZDogI0ZGOEEwMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19yb3V0ZS1iYWRnZS10ZXh0IHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0d2lkdGg6IDM2cnB4O1xuXHRcdFx0aGVpZ2h0OiAzNnJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDhycHg7XG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdFx0XHQmLS10YWtlIHtcblx0XHRcdFx0YmFja2dyb3VuZDogIzEwQjJGQTtcblx0XHRcdH1cblxuXHRcdFx0Ji0tc2VuZCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICNGRjhBMDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtdGV4dHMge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdG1pbi13aWR0aDogMDtcblx0XHR9XG5cblx0XHQmX19yb3V0ZS10aXRsZSB7XG5cdFx0XHR3aWR0aDogNTAwcnB4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRmb250LXNpemU6IDQwcnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjMmQzMTM5O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuMztcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtZGVzYyB7XG5cdFx0XHR3aWR0aDogNTAwcnB4O1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tdG9wOiA4cnB4O1xuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdGNvbG9yOiAjOWVhNGFlO1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cdFx0fVxuXG5cdFx0Jl9fbmF2IHtcblx0XHRcdHdpZHRoOiA0OHJweDtcblx0XHRcdGhlaWdodDogNDhycHg7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cblx0XHQmX19nb29kcyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGhlaWdodDogNzBycHg7XG5cdFx0XHRwYWRkaW5nOiAwIDIwcnB4O1xuXHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcblx0XHRcdGJhY2tncm91bmQ6ICNmNGY1Zjc7XG5cdFx0fVxuXG5cdFx0Jl9fZ29vZHMtdGV4dCB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdGNvbG9yOiAjN2E4MThkO1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHR9XG5cblx0XHQmX19nb29kcy1hcnJvdyB7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTJycHg7XG5cdFx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdFx0Y29sb3I6ICNhNGE5YjE7XG5cdFx0XHR0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuXHRcdFx0Ji0tZXhwYW5kZWQge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2J1dHRvbiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyNHJweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiA4OHJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA4OHJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDk5OXJweDtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMyYjdmZmYgMCUsICMxZjZmZjMgMTAwJSk7XG5cdFx0XHRmb250LXNpemU6IDM0cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCYtLWhvdmVyIHtcblx0XHRcdFx0b3BhY2l0eTogMC45Mjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19hY3Rpb25zIHtcblx0XHRcdG1hcmdpbi10b3A6IDI0cnB4O1xuXG5cdFx0XHQmLS1waWNrdXAsXG5cdFx0XHQmLS1kZWxpdmVyaW5nIHtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0Z2FwOiAyMnJweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19pY29uLWFjdGlvbnMge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDIwcnB4O1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cblx0XHRcdCYtLXNpbmdsZSB7XG5cdFx0XHRcdGdhcDogMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19pY29uLWFjdGlvbiB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdHdpZHRoOiA3NHJweDtcblx0XHR9XG5cblx0XHQmX19hY3Rpb24taWNvbiB7XG5cdFx0XHR3aWR0aDogNDBycHg7XG5cdFx0XHRoZWlnaHQ6IDQwcnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOHJweDtcblx0XHRcdGJhY2tncm91bmQ6ICNmN2Y4ZmE7XG5cdFx0fVxuXG5cdFx0Jl9fYWN0aW9uLXRleHQge1xuXHRcdFx0bWFyZ2luLXRvcDogOHJweDtcblx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdGNvbG9yOiAjNWI2MTZiO1xuXHRcdH1cblxuXHRcdCZfX2J1dHRvbi0tY29kZSB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0bWFyZ2luLXRvcDogMDtcblx0XHR9XG5cdH1cbjwvc3R5bGU+XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///91\n");
 
 /***/ }),
 /* 92 */
@@ -9319,14 +9324,26 @@
                                   item.key === "setting"
                                 )
                               ? [
-                                  _c("text", {
-                                    staticClass: _vm._$s(
-                                      "40-" + $30,
-                                      "sc",
-                                      "menu-panel__sub menu-panel__sub--muted"
-                                    ),
-                                    attrs: { _i: "40-" + $30 },
-                                  }),
+                                  _c(
+                                    "text",
+                                    {
+                                      staticClass: _vm._$s(
+                                        "40-" + $30,
+                                        "sc",
+                                        "menu-panel__sub menu-panel__sub--muted"
+                                      ),
+                                      attrs: { _i: "40-" + $30 },
+                                    },
+                                    [
+                                      _vm._v(
+                                        _vm._$s(
+                                          "40-" + $30,
+                                          "t0-0",
+                                          _vm._s(_vm.appVersion)
+                                        )
+                                      ),
+                                    ]
+                                  ),
                                 ]
                               : _vm._e(),
                             _c(
@@ -9403,7 +9420,7 @@
 /***/ (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 _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _vuex = __webpack_require__(/*! vuex */ 12);\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      statusBarHeight: 0,\n      navHeight: 0,\n      useVerifiedState: true,\n      serverPhone: '',\n      menuList: [{\n        key: 'wallet',\n        title: '鎴戠殑閽卞寘'\n      }, {\n        key: 'driver',\n        title: '鍙告満璁よ瘉'\n      }, {\n        key: 'reward',\n        title: '濂栧姳澶у巺'\n      }, {\n        key: 'revenue',\n        title: '钀ユ敹鍒嗘瀽'\n      }, {\n        key: 'agreementPrivacy',\n        title: '鍙告満闅愮鏀跨瓥',\n        type: 'driverPrivacyPolicy'\n      }, {\n        key: 'agreementErrandLuggage',\n        title: '璺戣吙杞︿富琛屾潕瀵勫瓨椤荤煡',\n        type: 'errandLuggageStorageNotice'\n      }, {\n        key: 'agreementErrandService',\n        title: '璺戣吙杈句汉鏈嶅姟鍗忚',\n        type: 'errandServiceAgreement'\n      }, {\n        key: 'agreementErrandRisk',\n        title: '璺戣吙杈句汉椋庨櫓鎵胯',\n        type: 'errandRiskCommitment'\n      }, {\n        key: 'agreementOwnerLuggage',\n        title: '骞冲彴杞︿富琛屾潕瀵勫瓨椤荤煡',\n        type: 'ownerLuggageStorageNotice'\n      }, {\n        key: 'agreementOwnerService',\n        title: '骞冲彴杞︿富鏈嶅姟鍗忚',\n        type: 'ownerServiceAgreement'\n      }, {\n        key: 'agreementOwnerRisk',\n        title: '骞冲彴杞︿富椋庨櫓鎵胯',\n        type: 'ownerRiskCommitment'\n      }, {\n        key: 'help',\n        title: '鑱旂郴瀹㈡湇'\n      }, {\n        key: 'setting',\n        title: '璁剧疆'\n      }],\n      profileStates: {\n        guest: {\n          name: '姹ゅ瓙鏂�',\n          phone: '18166565677',\n          levelTag: '',\n          totalIncome: '-',\n          pendingIncome: '-',\n          orderCount: '-',\n          walletBalance: '楼0',\n          verified: false\n        },\n        verified: {\n          name: '姹ゅ瓙鏂�',\n          phone: '18166565677锛堢殩BD23189锛�',\n          levelTag: 'S绾�',\n          totalIncome: '-',\n          pendingIncome: '-',\n          orderCount: '-',\n          walletBalance: '楼0',\n          verified: true\n        }\n      }\n    };\n  },\n  computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)(['userInfo'])), {}, {\n    currentProfile: function currentProfile() {\n      return this.useVerifiedState ? this.profileStates.verified : this.profileStates.guest;\n    },\n    bodyStyle: function bodyStyle() {\n      return {\n        marginTop: this.navHeight + 'px'\n      };\n    }\n  }),\n  onLoad: function onLoad() {\n    var systemInfo = uni.getSystemInfoSync();\n    this.statusBarHeight = systemInfo.statusBarHeight || 0;\n    this.navHeight = this.statusBarHeight + uni.upx2px(88);\n  },\n  onShow: function onShow() {\n    this.getStats();\n    this.getUserInfo();\n    this.getServerPhone();\n  },\n  methods: {\n    getServerPhone: function getServerPhone() {\n      var _this = this;\n      this.$u.api.getPlatformAboutUs().then(function (res) {\n        if (res.code === 200 && res.data) {\n          _this.serverPhone = res.data.serverPhone || '';\n        }\n      });\n    },\n    getUserInfo: function getUserInfo() {\n      var _this2 = this;\n      this.$u.api.verifyDetail().then(function (user) {\n        if (user.code === 200) {\n          _this2.$store.commit('setUserInfo', user.data);\n        }\n      });\n    },\n    getStats: function getStats() {\n      var _this3 = this;\n      this.$u.api.stats().then(function (res) {\n        if (res.code === 200 && res.data) {\n          _this3.profileStates.verified.totalIncome = (res.data.totalCommission / 100).toFixed(2);\n          _this3.profileStates.verified.pendingIncome = (res.data.pendingCommission / 100).toFixed(2);\n          _this3.profileStates.verified.orderCount = res.data.totalOrderCount || 0;\n          _this3.profileStates.verified.walletBalance = '楼' + (res.data.balance / 100).toFixed(2);\n        }\n      });\n    },\n    getDriverLevelText: function getDriverLevelText(level) {\n      var map = {\n        5: 'S',\n        4: 'A',\n        3: 'B',\n        2: 'C',\n        1: 'D'\n      };\n      return map[level] ? map[level] + '绾�' : '';\n    },\n    jump: function jump(item) {\n      __f__(\"log\", item, \" at pages/mine/mine.vue:175\");\n      if (item.key === 'setting') {\n        uni.navigateTo({\n          url: '/pages/settings/settings'\n        });\n      } else if (item.key === 'reward') {\n        uni.navigateTo({\n          url: '/pages/reward-hall/reward-hall'\n        });\n      } else if (item.key === 'revenue') {\n        uni.navigateTo({\n          url: '/pages/revenue-analysis/revenue-analysis'\n        });\n      } else if (item.key === 'driver') {\n        if (this.userInfo.auditStatus === 99) {\n          uni.navigateTo({\n            url: '/pages/driver-certification/driver-certification'\n          });\n        } else {\n          uni.navigateTo({\n            url: '/pages/certification-details/certification-details'\n          });\n        }\n      } else if (item.key === 'wallet') {\n        uni.navigateTo({\n          url: '/pages/wallet/wallet'\n        });\n      } else if (item.key && item.key.startsWith('agreement')) {\n        uni.navigateTo({\n          url: \"/pages/agreement/agreement?type=\".concat(item.type, \"&title=\").concat(encodeURIComponent(item.title))\n        });\n      } else if (item.key === 'help') {\n        if (this.serverPhone) {\n          uni.makePhoneCall({\n            phoneNumber: this.serverPhone\n          });\n        } else {\n          uni.showToast({\n            title: '瀹㈡湇鐢佃瘽鑾峰彇澶辫触',\n            icon: 'none'\n          });\n        }\n      }\n    },\n    handleLogout: function handleLogout() {\n      var _this4 = this;\n      uni.showToast({\n        title: '閫�鍑轰腑...',\n        icon: 'loading'\n      });\n      this.$u.api.logOutDriver().then(function (res) {\n        __f__(\"log\", 'logout res', res, \" at pages/mine/mine.vue:219\");\n        if (res.code === 200) {\n          _this4.$store.commit('clearAll');\n          uni.reLaunch({\n            url: '/pages/login/login'\n          });\n        }\n      }).catch(function (err) {\n        __f__(\"log\", 'logout err', err, \" at pages/mine/mine.vue:227\");\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9taW5lLnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwic3RhdHVzQmFySGVpZ2h0IiwibmF2SGVpZ2h0IiwidXNlVmVyaWZpZWRTdGF0ZSIsInNlcnZlclBob25lIiwibWVudUxpc3QiLCJrZXkiLCJ0aXRsZSIsInR5cGUiLCJwcm9maWxlU3RhdGVzIiwiZ3Vlc3QiLCJuYW1lIiwicGhvbmUiLCJsZXZlbFRhZyIsInRvdGFsSW5jb21lIiwicGVuZGluZ0luY29tZSIsIm9yZGVyQ291bnQiLCJ3YWxsZXRCYWxhbmNlIiwidmVyaWZpZWQiLCJjb21wdXRlZCIsImN1cnJlbnRQcm9maWxlIiwiYm9keVN0eWxlIiwibWFyZ2luVG9wIiwib25Mb2FkIiwib25TaG93IiwibWV0aG9kcyIsImdldFNlcnZlclBob25lIiwiZ2V0VXNlckluZm8iLCJnZXRTdGF0cyIsImdldERyaXZlckxldmVsVGV4dCIsImp1bXAiLCJ1bmkiLCJ1cmwiLCJwaG9uZU51bWJlciIsImljb24iLCJoYW5kbGVMb2dvdXQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBNEVBO0FBQUE7QUFBQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztNQUNBQyxXQUNBO1FBQUFDO1FBQUFDO01BQUEsR0FDQTtRQUFBRDtRQUFBQztNQUFBLEdBQ0E7UUFBQUQ7UUFBQUM7TUFBQSxHQUNBO1FBQUFEO1FBQUFDO01BQUEsR0FDQTtRQUFBRDtRQUFBQztRQUFBQztNQUFBLEdBQ0E7UUFBQUY7UUFBQUM7UUFBQUM7TUFBQSxHQUNBO1FBQUFGO1FBQUFDO1FBQUFDO01BQUEsR0FDQTtRQUFBRjtRQUFBQztRQUFBQztNQUFBLEdBQ0E7UUFBQUY7UUFBQUM7UUFBQUM7TUFBQSxHQUNBO1FBQUFGO1FBQUFDO1FBQUFDO01BQUEsR0FDQTtRQUFBRjtRQUFBQztRQUFBQztNQUFBLEdBQ0E7UUFBQUY7UUFBQUM7TUFBQSxHQUNBO1FBQUFEO1FBQUFDO01BQUEsRUFDQTtNQUNBRTtRQUNBQztVQUNBQztVQUNBQztVQUNBQztVQUNBQztVQUNBQztVQUNBQztVQUNBQztVQUNBQztRQUNBO1FBQ0FBO1VBQ0FQO1VBQ0FDO1VBQ0FDO1VBQ0FDO1VBQ0FDO1VBQ0FDO1VBQ0FDO1VBQ0FDO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQUMsMENBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQUM7TUFDQTtJQUNBO0VBQUEsRUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUFBO1FBQUE7UUFBQTtRQUFBO1FBQUE7TUFBQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO1FBQ0FDO1VBQ0FDO1FBQ0E7TUFDQTtRQUNBRDtVQUNBQztRQUNBO01BQ0E7UUFDQUQ7VUFDQUM7UUFDQTtNQUNBO1FBQ0E7VUFDQUQ7WUFDQUM7VUFDQTtRQUNBO1VBQ0FEO1lBQ0FDO1VBQ0E7UUFDQTtNQUNBO1FBQ0FEO1VBQ0FDO1FBQ0E7TUFDQTtRQUNBRDtVQUNBQztRQUNBO01BQ0E7UUFDQTtVQUNBRDtZQUNBRTtVQUNBO1FBQ0E7VUFDQUY7WUFBQXhCO1lBQUEyQjtVQUFBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQUo7UUFBQXhCO1FBQUEyQjtNQUFBO01BQ0E7UUFDQTtRQUNBO1VBQ0E7VUFDQUg7WUFDQUM7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMTAzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuXHQ8dmlldyBjbGFzcz1cIm1pbmUtcGFnZVwiPlxuXHRcdDx2aWV3IGNsYXNzPVwibWluZS1wYWdlX19uYXZcIiA6c3R5bGU9XCJ7IHBhZGRpbmdUb3A6IHN0YXR1c0JhckhlaWdodCArICdweCcgfVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJtaW5lLXBhZ2VfX25hdi1pbm5lclwiPlxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm1pbmUtcGFnZV9fbmF2LXRpdGxlXCI+5oiR55qEPC90ZXh0PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblxuXHRcdDx2aWV3IGNsYXNzPVwibWluZS1wYWdlX19ib2R5XCIgOnN0eWxlPVwiYm9keVN0eWxlXCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIm1pbmUtcGFnZV9fY29udGVudFwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1pbmUtcGFnZV9fcHJvZmlsZVwiPlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cIm1pbmUtcGFnZV9fYXZhdGFyXCIgOnNyYz1cInVzZXJJbmZvLmltZ3VybCB8fCAnL3N0YXRpYy9pbWFnZS9pY19waWNAMngucG5nJ1wiIG1vZGU9XCJhc3BlY3RGaWxsXCI+PC9pbWFnZT5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1pbmUtcGFnZV9fcHJvZmlsZS1pbmZvXCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1pbmUtcGFnZV9fbmFtZS1yb3dcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJtaW5lLXBhZ2VfX25hbWVcIj57eyB1c2VySW5mby5uYW1lIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwidXNlckluZm8uZHJpdmVyTGV2ZWxcIiBjbGFzcz1cIm1pbmUtcGFnZV9fbGV2ZWwtdGFnXCI+XG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfamlhbmdwYWlAMngucG5nXCIgbW9kZT1cIndpZHRoRml4XCIgY2xhc3M9XCJtaW5lLXBhZ2VfX2xldmVsLWRvdFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJtaW5lLXBhZ2VfX2xldmVsLXRleHRcIj57eyBnZXREcml2ZXJMZXZlbFRleHQodXNlckluZm8uZHJpdmVyTGV2ZWwpIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm1pbmUtcGFnZV9fcGhvbmVcIj57eyB1c2VySW5mby50ZWxlcGhvbmUgfHwgJycgfX0g77yIe3sgdXNlckluZm8uY2FyQ29kZSB8fCAnJyB9fSDvvIk8L3RleHQ+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmNvbWUtY2FyZFwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5jb21lLWNhcmRfX2xlZnRcIj5cblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiaW5jb21lLWNhcmRfX2xhYmVsXCI+57Sv6K6h5L2j6YeRKOWFgyk8L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImluY29tZS1jYXJkX192YWx1ZVwiPnt7IGN1cnJlbnRQcm9maWxlLnRvdGFsSW5jb21lIH19PC90ZXh0PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImluY29tZS1jYXJkX19yaWdodFwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmNvbWUtY2FyZF9fc3RhdFwiPlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImluY29tZS1jYXJkX19zdGF0LWxhYmVsXCI+5b6F57uT566XKOWFgynvvJo8L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiaW5jb21lLWNhcmRfX3N0YXQtdmFsdWVcIj57eyBjdXJyZW50UHJvZmlsZS5wZW5kaW5nSW5jb21lIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmNvbWUtY2FyZF9fc3RhdFwiPlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImluY29tZS1jYXJkX19zdGF0LWxhYmVsXCI+6K6i5Y2V5oC75pWw77yaPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImluY29tZS1jYXJkX19zdGF0LXZhbHVlXCI+e3sgY3VycmVudFByb2ZpbGUub3JkZXJDb3VudCB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIm1lbnUtcGFuZWxcIj5cblx0XHRcdFx0XHQ8dmlldyB2LWZvcj1cIml0ZW0gaW4gbWVudUxpc3RcIiA6a2V5PVwiaXRlbS50aXRsZVwiIGNsYXNzPVwibWVudS1wYW5lbF9faXRlbVwiIEBjbGljaz1cImp1bXAoaXRlbSlcIj5cblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwibWVudS1wYW5lbF9fdGl0bGVcIj57eyBpdGVtLnRpdGxlIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtZW51LXBhbmVsX19yaWdodFwiPlxuXHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1pZj1cIml0ZW0ua2V5ID09PSAnd2FsbGV0J1wiPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwibWVudS1wYW5lbF9fc3ViIG1lbnUtcGFuZWxfX3N1Yi0tbXV0ZWRcIj7kvZnpop3vvJp7eyBjdXJyZW50UHJvZmlsZS53YWxsZXRCYWxhbmNlIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1pZj1cIml0ZW0ua2V5ID09PSAnZHJpdmVyJ1wiPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJ1c2VySW5mby5hdWRpdFN0YXR1cyA9PT0gOTlcIiBjbGFzcz1cIm1lbnUtcGFuZWxfX3N1YiBtZW51LXBhbmVsX19zdWItLWRhbmdlclwiPuWujOaIkOiupOivgeWQjuWNs+WPr+aOpeWNlTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWVsc2UtaWY9XCIhdXNlckluZm8uaGFzQXBwcm92ZWRPZmZpY2lhbCAmJiB1c2VySW5mby5hdWRpdFN0YXR1cyA9PT0gMFwiIGNsYXNzPVwibWVudS1wYW5lbF9fc3ViIG1lbnUtcGFuZWxfX3N1Yi0tZGFuZ2VyXCI+5a6h5qC45LitPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHYtZWxzZS1pZj1cInVzZXJJbmZvLmhhc0FwcHJvdmVkT2ZmaWNpYWwgJiYgdXNlckluZm8uYXVkaXRTdGF0dXMgPT09IDBcIiBjbGFzcz1cIm1lbnUtcGFuZWxfX3N1YiBtZW51LXBhbmVsX19zdWItLWRhbmdlclwiPuWPmOabtOS4rTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwiIXVzZXJJbmZvLmhhc0FwcHJvdmVkT2ZmaWNpYWwgJiYgdXNlckluZm8uYXVkaXRTdGF0dXMgPT09IDJcIiBjbGFzcz1cIm1lbnUtcGFuZWxfX3N1YiBtZW51LXBhbmVsX19zdWItLWRhbmdlclwiPuW3sumps+WbnjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwidXNlckluZm8uaGFzQXBwcm92ZWRPZmZpY2lhbCAmJiB1c2VySW5mby5hdWRpdFN0YXR1cyA9PT0gMlwiIGNsYXNzPVwibWVudS1wYW5lbF9fc3ViIG1lbnUtcGFuZWxfX3N1Yi0tZGFuZ2VyXCI+5Y+Y5pu05bey6amz5ZuePC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IHYtZWxzZS1pZj1cInVzZXJJbmZvLmF1ZGl0U3RhdHVzID09PSAzXCIgY2xhc3M9XCJtZW51LXBhbmVsX19zdWIgbWVudS1wYW5lbF9fc3ViLS1wcmltYXJ5XCI+5bey6K6k6K+BPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1lbHNlLWlmPVwiaXRlbS5rZXkgPT09ICdzZXR0aW5nJ1wiPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwibWVudS1wYW5lbF9fc3ViIG1lbnUtcGFuZWxfX3N1Yi0tbXV0ZWRcIj7lvZPliY3niYjmnKxWMS4wLjA8L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDwvdGVtcGxhdGU+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibWVudS1wYW5lbF9fYXJyb3dcIj5cblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWFnZS9taW5lX2FyMkAyeC5wbmdcIiBtb2RlPVwid2lkdGhGaXhcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogNXJweDtcIj48L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXG5cdFx0PHZpZXcgY2xhc3M9XCJtaW5lLXBhZ2VfX2Zvb3RlclwiPlxuXHRcdFx0PGJ1dHRvbiBjbGFzcz1cIm1pbmUtcGFnZV9fbG9nb3V0XCIgaG92ZXItY2xhc3M9XCJtaW5lLXBhZ2VfX2xvZ291dC0taG92ZXJcIiBAY2xpY2suc3RvcD1cImhhbmRsZUxvZ291dFwiPumAgOWHuueZu+W9lTwvYnV0dG9uPlxuXHRcdDwvdmlldz5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblx0aW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4J1xuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0ZGF0YSgpIHtcblx0XHRcdHJldHVybiB7XG5cdFx0XHRcdHN0YXR1c0JhckhlaWdodDogMCxcblx0XHRcdFx0bmF2SGVpZ2h0OiAwLFxuXHRcdFx0XHR1c2VWZXJpZmllZFN0YXRlOiB0cnVlLFxuXHRcdFx0XHRzZXJ2ZXJQaG9uZTogJycsXG5cdFx0XHRcdG1lbnVMaXN0OiBbXG5cdFx0XHRcdFx0eyBrZXk6ICd3YWxsZXQnLCB0aXRsZTogJ+aIkeeahOmSseWMhScgfSxcblx0XHRcdFx0XHR7IGtleTogJ2RyaXZlcicsIHRpdGxlOiAn5Y+45py66K6k6K+BJyB9LFxyXG5cdFx0XHRcdFx0eyBrZXk6ICdyZXdhcmQnLCB0aXRsZTogJ+WlluWKseWkp+WOhScgfSxcclxuXHRcdFx0XHRcdHsga2V5OiAncmV2ZW51ZScsIHRpdGxlOiAn6JCl5pS25YiG5p6QJyB9LFxuXHRcdFx0XHRcdHsga2V5OiAnYWdyZWVtZW50UHJpdmFjeScsIHRpdGxlOiAn5Y+45py66ZqQ56eB5pS/562WJywgdHlwZTogJ2RyaXZlclByaXZhY3lQb2xpY3knIH0sXG5cdFx0XHRcdFx0eyBrZXk6ICdhZ3JlZW1lbnRFcnJhbmRMdWdnYWdlJywgdGl0bGU6ICfot5Hohb/ovabkuLvooYzmnY7lr4TlrZjpobvnn6UnLCB0eXBlOiAnZXJyYW5kTHVnZ2FnZVN0b3JhZ2VOb3RpY2UnIH0sXG5cdFx0XHRcdFx0eyBrZXk6ICdhZ3JlZW1lbnRFcnJhbmRTZXJ2aWNlJywgdGl0bGU6ICfot5Hohb/ovr7kurrmnI3liqHljY/orq4nLCB0eXBlOiAnZXJyYW5kU2VydmljZUFncmVlbWVudCcgfSxcblx0XHRcdFx0XHR7IGtleTogJ2FncmVlbWVudEVycmFuZFJpc2snLCB0aXRsZTogJ+i3keiFv+i+vuS6uumjjumZqeaJv+ivuicsIHR5cGU6ICdlcnJhbmRSaXNrQ29tbWl0bWVudCcgfSxcblx0XHRcdFx0XHR7IGtleTogJ2FncmVlbWVudE93bmVyTHVnZ2FnZScsIHRpdGxlOiAn5bmz5Y+w6L2m5Li76KGM5p2O5a+E5a2Y6aG755+lJywgdHlwZTogJ293bmVyTHVnZ2FnZVN0b3JhZ2VOb3RpY2UnIH0sXG5cdFx0XHRcdFx0eyBrZXk6ICdhZ3JlZW1lbnRPd25lclNlcnZpY2UnLCB0aXRsZTogJ+W5s+WPsOi9puS4u+acjeWKoeWNj+iuricsIHR5cGU6ICdvd25lclNlcnZpY2VBZ3JlZW1lbnQnIH0sXG5cdFx0XHRcdFx0eyBrZXk6ICdhZ3JlZW1lbnRPd25lclJpc2snLCB0aXRsZTogJ+W5s+WPsOi9puS4u+mjjumZqeaJv+ivuicsIHR5cGU6ICdvd25lclJpc2tDb21taXRtZW50JyB9LFxuXHRcdFx0XHRcdHsga2V5OiAnaGVscCcsIHRpdGxlOiAn6IGU57O75a6i5pyNJyB9LFxuXHRcdFx0XHRcdHsga2V5OiAnc2V0dGluZycsIHRpdGxlOiAn6K6+572uJyB9XG5cdFx0XHRcdF0sXG5cdFx0XHRcdHByb2ZpbGVTdGF0ZXM6IHtcblx0XHRcdFx0XHRndWVzdDoge1xuXHRcdFx0XHRcdFx0bmFtZTogJ+axpOWtkOaWsCcsXG5cdFx0XHRcdFx0XHRwaG9uZTogJzE4MTY2NTY1Njc3Jyxcblx0XHRcdFx0XHRcdGxldmVsVGFnOiAnJyxcblx0XHRcdFx0XHRcdHRvdGFsSW5jb21lOiAnLScsXG5cdFx0XHRcdFx0XHRwZW5kaW5nSW5jb21lOiAnLScsXG5cdFx0XHRcdFx0XHRvcmRlckNvdW50OiAnLScsXG5cdFx0XHRcdFx0XHR3YWxsZXRCYWxhbmNlOiAnwqUwJyxcblx0XHRcdFx0XHRcdHZlcmlmaWVkOiBmYWxzZVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0dmVyaWZpZWQ6IHtcblx0XHRcdFx0XHRcdG5hbWU6ICfmsaTlrZDmlrAnLFxuXHRcdFx0XHRcdFx0cGhvbmU6ICcxODE2NjU2NTY3N++8iOealkJEMjMxODnvvIknLFxuXHRcdFx0XHRcdFx0bGV2ZWxUYWc6ICdT57qnJyxcblx0XHRcdFx0XHRcdHRvdGFsSW5jb21lOiAnLScsXG5cdFx0XHRcdFx0XHRwZW5kaW5nSW5jb21lOiAnLScsXG5cdFx0XHRcdFx0XHRvcmRlckNvdW50OiAnLScsXG5cdFx0XHRcdFx0XHR3YWxsZXRCYWxhbmNlOiAnwqUwJyxcblx0XHRcdFx0XHRcdHZlcmlmaWVkOiB0cnVlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSxcblx0XHRjb21wdXRlZDoge1xuXHRcdFx0Li4ubWFwU3RhdGUoWyd1c2VySW5mbyddKSxcblx0XHRcdGN1cnJlbnRQcm9maWxlKCkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy51c2VWZXJpZmllZFN0YXRlID8gdGhpcy5wcm9maWxlU3RhdGVzLnZlcmlmaWVkIDogdGhpcy5wcm9maWxlU3RhdGVzLmd1ZXN0XG5cdFx0XHR9LFxuXHRcdFx0Ym9keVN0eWxlKCkge1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdG1hcmdpblRvcDogdGhpcy5uYXZIZWlnaHQgKyAncHgnXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdG9uTG9hZCgpIHtcblx0XHRcdGNvbnN0IHN5c3RlbUluZm8gPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVxuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSBzeXN0ZW1JbmZvLnN0YXR1c0JhckhlaWdodCB8fCAwXG5cdFx0XHR0aGlzLm5hdkhlaWdodCA9IHRoaXMuc3RhdHVzQmFySGVpZ2h0ICsgdW5pLnVweDJweCg4OClcblx0XHR9LFxuXHRcdG9uU2hvdygpIHtcblx0XHRcdHRoaXMuZ2V0U3RhdHMoKVxuXHRcdFx0dGhpcy5nZXRVc2VySW5mbygpXG5cdFx0XHR0aGlzLmdldFNlcnZlclBob25lKClcblx0XHR9LFxuXHRcdG1ldGhvZHM6IHtcblx0XHRcdGdldFNlcnZlclBob25lKCkge1xuXHRcdFx0XHR0aGlzLiR1LmFwaS5nZXRQbGF0Zm9ybUFib3V0VXMoKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDAgJiYgcmVzLmRhdGEpIHtcblx0XHRcdFx0XHRcdHRoaXMuc2VydmVyUGhvbmUgPSByZXMuZGF0YS5zZXJ2ZXJQaG9uZSB8fCAnJ1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRnZXRVc2VySW5mbygpIHtcblx0XHRcdFx0dGhpcy4kdS5hcGkudmVyaWZ5RGV0YWlsKCkudGhlbih1c2VyID0+IHtcblx0XHRcdFx0XHRpZiAodXNlci5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdCgnc2V0VXNlckluZm8nLCB1c2VyLmRhdGEpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRnZXRTdGF0cygpIHtcblx0XHRcdFx0dGhpcy4kdS5hcGkuc3RhdHMoKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDAgJiYgcmVzLmRhdGEpIHtcblx0XHRcdFx0XHRcdHRoaXMucHJvZmlsZVN0YXRlcy52ZXJpZmllZC50b3RhbEluY29tZSA9IChyZXMuZGF0YS50b3RhbENvbW1pc3Npb24gLyAxMDApLnRvRml4ZWQoMilcblx0XHRcdFx0XHRcdHRoaXMucHJvZmlsZVN0YXRlcy52ZXJpZmllZC5wZW5kaW5nSW5jb21lID0gKHJlcy5kYXRhLnBlbmRpbmdDb21taXNzaW9uIC8gMTAwKS50b0ZpeGVkKDIpXG5cdFx0XHRcdFx0XHR0aGlzLnByb2ZpbGVTdGF0ZXMudmVyaWZpZWQub3JkZXJDb3VudCA9IHJlcy5kYXRhLnRvdGFsT3JkZXJDb3VudCB8fCAwXG5cdFx0XHRcdFx0XHR0aGlzLnByb2ZpbGVTdGF0ZXMudmVyaWZpZWQud2FsbGV0QmFsYW5jZSA9ICfCpScgKyAocmVzLmRhdGEuYmFsYW5jZSAvIDEwMCkudG9GaXhlZCgyKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRnZXREcml2ZXJMZXZlbFRleHQobGV2ZWwpIHtcblx0XHRcdFx0Y29uc3QgbWFwID0geyA1OiAnUycsIDQ6ICdBJywgMzogJ0InLCAyOiAnQycsIDE6ICdEJyB9XG5cdFx0XHRcdHJldHVybiBtYXBbbGV2ZWxdID8gbWFwW2xldmVsXSArICfnuqcnIDogJydcblx0XHRcdH0sXG5cdFx0XHRqdW1wKGl0ZW0pIHtcblx0XHRcdFx0Y29uc29sZS5sb2coaXRlbSlcblx0XHRcdFx0aWYgKGl0ZW0ua2V5ID09PSAnc2V0dGluZycpIHtcblx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvc2V0dGluZ3Mvc2V0dGluZ3MnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSBlbHNlIGlmIChpdGVtLmtleSA9PT0gJ3Jld2FyZCcpIHtcblx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvcmV3YXJkLWhhbGwvcmV3YXJkLWhhbGwnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSBlbHNlIGlmIChpdGVtLmtleSA9PT0gJ3JldmVudWUnKSB7XG5cdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL3JldmVudWUtYW5hbHlzaXMvcmV2ZW51ZS1hbmFseXNpcydcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9IGVsc2UgaWYgKGl0ZW0ua2V5ID09PSAnZHJpdmVyJykge1xuXHRcdFx0XHRcdGlmICh0aGlzLnVzZXJJbmZvLmF1ZGl0U3RhdHVzID09PSA5OSkge1xuXHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvZHJpdmVyLWNlcnRpZmljYXRpb24vZHJpdmVyLWNlcnRpZmljYXRpb24nXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9jZXJ0aWZpY2F0aW9uLWRldGFpbHMvY2VydGlmaWNhdGlvbi1kZXRhaWxzJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSBpZiAoaXRlbS5rZXkgPT09ICd3YWxsZXQnKSB7XG5cdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL3dhbGxldC93YWxsZXQnXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSBlbHNlIGlmIChpdGVtLmtleSAmJiBpdGVtLmtleS5zdGFydHNXaXRoKCdhZ3JlZW1lbnQnKSkge1xuXHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdHVybDogYC9wYWdlcy9hZ3JlZW1lbnQvYWdyZWVtZW50P3R5cGU9JHtpdGVtLnR5cGV9JnRpdGxlPSR7ZW5jb2RlVVJJQ29tcG9uZW50KGl0ZW0udGl0bGUpfWBcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9IGVsc2UgaWYgKGl0ZW0ua2V5ID09PSAnaGVscCcpIHtcblx0XHRcdFx0XHRpZiAodGhpcy5zZXJ2ZXJQaG9uZSkge1xuXHRcdFx0XHRcdFx0dW5pLm1ha2VQaG9uZUNhbGwoe1xuXHRcdFx0XHRcdFx0XHRwaG9uZU51bWJlcjogdGhpcy5zZXJ2ZXJQaG9uZVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5a6i5pyN55S16K+d6I635Y+W5aSx6LSlJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aGFuZGxlTG9nb3V0KCkge1xuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfpgIDlh7rkuK0uLi4nLCBpY29uOiAnbG9hZGluZycgfSlcblx0XHRcdFx0dGhpcy4kdS5hcGkubG9nT3V0RHJpdmVyKCkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCdsb2dvdXQgcmVzJywgcmVzKVxuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR0aGlzLiRzdG9yZS5jb21taXQoJ2NsZWFyQWxsJylcblx0XHRcdFx0XHRcdHVuaS5yZUxhdW5jaCh7XG5cdFx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9sb2dpbi9sb2dpbidcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaChlcnIgPT4ge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCdsb2dvdXQgZXJyJywgZXJyKVxuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zY3JpcHQ+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cblx0Lm1pbmUtcGFnZSB7XG5cdFx0YmFja2dyb3VuZDogI2Y2ZjhmYztcblxuXHRcdCZfX25hdiB7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0fVxuXG5cdFx0Jl9fbmF2LWlubmVyIHtcblx0XHRcdGhlaWdodDogODhycHg7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IDAgMjZycHg7XG5cdFx0fVxuXG5cdFx0Jl9fbmF2LXRpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogMzZycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICMyYjMxMzk7XG5cdFx0fVxuXG5cdFx0Jl9fYm9keSB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0Ly8gb3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR9XG5cblx0XHQmX19jb250ZW50IHtcblx0XHRcdHBhZGRpbmc6IDI4cnB4IDIwcnB4IDA7XG5cdFx0fVxuXG5cdFx0Jl9fcHJvZmlsZSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogMjBycHg7XG5cdFx0XHRwYWRkaW5nOiA4cnB4IDAgMjRycHg7XG5cdFx0fVxuXG5cdFx0Jl9fYXZhdGFyIHtcblx0XHRcdHdpZHRoOiA5MnJweDtcblx0XHRcdGhlaWdodDogOTJycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZThmMWZmO1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0fVxuXG5cdFx0Jl9fcHJvZmlsZS1pbmZvIHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0fVxuXG5cdFx0Jl9fbmFtZS1yb3cge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDEycnB4O1xuXHRcdH1cblxuXHRcdCZfX25hbWUge1xuXHRcdFx0Zm9udC1zaXplOiA0MHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogIzJiMzEzOTtcblx0XHR9XG5cblx0XHQmX19sZXZlbC10YWcge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDZycHg7XG5cdFx0XHRwYWRkaW5nOiA0cnB4IDEwcnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOTk5cnB4O1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2ZmOWU2OCAwJSwgI2ZmN2QzNCAxMDAlKTtcblx0XHR9XG5cblx0XHQmX19sZXZlbC1kb3Qge1xuXHRcdFx0d2lkdGg6IDIwcnB4O1xuXHRcdFx0aGVpZ2h0OiAyNHJweDtcblx0XHR9XG5cdFx0XG5cdFx0Jl9fbGV2ZWwtdGV4dCB7XG5cdFx0XHRmb250LXNpemU6IDIycnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdH1cblxuXHRcdCZfX3Bob25lIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLXRvcDogMTBycHg7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Y29sb3I6ICM4Zjk2YTM7XG5cdFx0fVxuXG5cdFx0Jl9fZm9vdGVyIHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdGJvdHRvbTogNjBycHg7XG5cdFx0XHQvLyBwYWRkaW5nOiAxNnJweCAwIGNhbGMoZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pICsgMjBycHgpO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdH1cblxuXHRcdCZfX2xvZ291dCB7XG5cdFx0XHR3aWR0aDogMjAwcnB4O1xuXHRcdFx0aGVpZ2h0OiA3MnJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA3MnJweDtcdFxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMzZycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdFx0Ym9yZGVyOiAxcnB4IHNvbGlkICM5OTk5OTk7XG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdGNvbG9yOiAjMzMzMzMzO1xuXHRcdFx0cGFkZGluZzogMDtcblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCYtLWhvdmVyIHtcblx0XHRcdFx0b3BhY2l0eTogMC45Mjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuaW5jb21lLWNhcmQge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRnYXA6IDIwcnB4O1xuXHRcdHBhZGRpbmc6IDEwcnB4IDMwcnB4IDQwcnB4IDMwcnB4O1xuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9zdGF0aWMvaW1hZ2UvbWluZ19iZ0AyeC5wbmcnKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHRcdGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuXHRcdG92ZXJmbG93OiBoaWRkZW47XG5cblx0XHQmX19sZWZ0LFxuXHRcdCZfX3JpZ2h0IHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdHotaW5kZXg6IDE7XG5cdFx0fVxuXG5cdFx0Jl9fbGVmdCB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdH1cblxuXHRcdCZfX2xhYmVsLFxuXHRcdCZfX3N0YXQtbGFiZWwsXG5cdFx0Jl9fc3RhdC12YWx1ZSB7XG5cdFx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdFx0Y29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43OCk7XG5cdFx0fVxuXG5cdFx0Jl9fdmFsdWUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMHJweDtcblx0XHRcdGZvbnQtc2l6ZTogNTJycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMTtcblx0XHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHR9XG5cblx0XHQmX19yaWdodCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblx0XHRcdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG5cdFx0XHRnYXA6IDE4cnB4O1xuXHRcdFx0cGFkZGluZy10b3A6IDEycnB4O1xuXHRcdH1cblxuXHRcdCZfX3N0YXQge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDEwcnB4O1xuXHRcdH1cblx0fVxuXG5cdC5tZW51LXBhbmVsIHtcblx0XHRtYXJnaW4tdG9wOiAyMHJweDtcblx0XHRtYXJnaW4tYm90dG9tOiAyMDBycHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMjJycHg7XG5cdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0Jl9faXRlbSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGhlaWdodDogMTAycnB4O1xuXHRcdFx0cGFkZGluZzogMCAyNHJweDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcnB4IHNvbGlkICNlZWYxZjU7XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAzNHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRjb2xvcjogIzJiMzEzOTtcblx0XHR9XG5cblx0XHQmX19yaWdodCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRnYXA6IDEwcnB4O1xuXHRcdH1cblxuXHRcdCZfX3N1YiB7XG5cdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRcdFx0Ji0tbXV0ZWQge1xuXHRcdFx0XHRjb2xvcjogI2IyYjhjMTtcblx0XHRcdH1cblxuXHRcdFx0Ji0tZGFuZ2VyIHtcblx0XHRcdFx0Y29sb3I6ICNGQTEwMTA7XG5cdFx0XHR9XG5cblx0XHRcdCYtLXdhcm5pbmcge1xuXHRcdFx0XHRjb2xvcjogI2ZmN2IzODtcblx0XHRcdH1cblxuXHRcdFx0Ji0tcHJpbWFyeSB7XG5cdFx0XHRcdGNvbG9yOiAjMTA2RUZBO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2Fycm93IHtcblx0XHRcdHdpZHRoOiAxNnJweDtcblx0XHRcdGhlaWdodDogMjhycHg7XG5cdFx0XHRpbWFnZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///103\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 _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _vuex = __webpack_require__(/*! vuex */ 12);\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      statusBarHeight: 0,\n      navHeight: 0,\n      useVerifiedState: true,\n      serverPhone: '',\n      appVersion: 'V1.0.0',\n      menuList: [{\n        key: 'wallet',\n        title: '鎴戠殑閽卞寘'\n      }, {\n        key: 'driver',\n        title: '鍙告満璁よ瘉'\n      }, {\n        key: 'reward',\n        title: '濂栧姳澶у巺'\n      }, {\n        key: 'revenue',\n        title: '钀ユ敹鍒嗘瀽'\n      }, {\n        key: 'agreementPrivacy',\n        title: '鍙告満闅愮鏀跨瓥',\n        type: 'driverPrivacyPolicy'\n      }, {\n        key: 'agreementErrandLuggage',\n        title: '璺戣吙杞︿富琛屾潕瀵勫瓨椤荤煡',\n        type: 'errandLuggageStorageNotice'\n      }, {\n        key: 'agreementErrandService',\n        title: '璺戣吙杈句汉鏈嶅姟鍗忚',\n        type: 'errandServiceAgreement'\n      }, {\n        key: 'agreementErrandRisk',\n        title: '璺戣吙杈句汉椋庨櫓鎵胯',\n        type: 'errandRiskCommitment'\n      }, {\n        key: 'agreementOwnerLuggage',\n        title: '骞冲彴杞︿富琛屾潕瀵勫瓨椤荤煡',\n        type: 'ownerLuggageStorageNotice'\n      }, {\n        key: 'agreementOwnerService',\n        title: '骞冲彴杞︿富鏈嶅姟鍗忚',\n        type: 'ownerServiceAgreement'\n      }, {\n        key: 'agreementOwnerRisk',\n        title: '骞冲彴杞︿富椋庨櫓鎵胯',\n        type: 'ownerRiskCommitment'\n      }, {\n        key: 'help',\n        title: '鑱旂郴瀹㈡湇'\n      }, {\n        key: 'setting',\n        title: '璁剧疆'\n      }],\n      profileStates: {\n        guest: {\n          name: '姹ゅ瓙鏂�',\n          phone: '18166565677',\n          levelTag: '',\n          totalIncome: '-',\n          pendingIncome: '-',\n          orderCount: '-',\n          walletBalance: '楼0',\n          verified: false\n        },\n        verified: {\n          name: '姹ゅ瓙鏂�',\n          phone: '18166565677锛堢殩BD23189锛�',\n          levelTag: 'S绾�',\n          totalIncome: '-',\n          pendingIncome: '-',\n          orderCount: '-',\n          walletBalance: '楼0',\n          verified: true\n        }\n      }\n    };\n  },\n  computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)(['userInfo'])), {}, {\n    currentProfile: function currentProfile() {\n      return this.useVerifiedState ? this.profileStates.verified : this.profileStates.guest;\n    },\n    bodyStyle: function bodyStyle() {\n      return {\n        marginTop: this.navHeight + 'px'\n      };\n    }\n  }),\n  onLoad: function onLoad() {\n    var systemInfo = uni.getSystemInfoSync();\n    this.statusBarHeight = systemInfo.statusBarHeight || 0;\n    this.navHeight = this.statusBarHeight + uni.upx2px(88);\n    if (plus.runtime && plus.runtime.version) {\n      this.appVersion = 'V' + plus.runtime.version;\n    }\n  },\n  onShow: function onShow() {\n    this.getStats();\n    this.getUserInfo();\n    this.getServerPhone();\n  },\n  methods: {\n    getServerPhone: function getServerPhone() {\n      var _this = this;\n      this.$u.api.getPlatformAboutUs().then(function (res) {\n        if (res.code === 200 && res.data) {\n          _this.serverPhone = res.data.serverPhone || '';\n        }\n      });\n    },\n    getUserInfo: function getUserInfo() {\n      var _this2 = this;\n      this.$u.api.verifyDetail().then(function (user) {\n        if (user.code === 200) {\n          _this2.$store.commit('setUserInfo', user.data);\n        }\n      });\n    },\n    getStats: function getStats() {\n      var _this3 = this;\n      this.$u.api.stats().then(function (res) {\n        if (res.code === 200 && res.data) {\n          _this3.profileStates.verified.totalIncome = (res.data.totalCommission / 100).toFixed(2);\n          _this3.profileStates.verified.pendingIncome = (res.data.pendingCommission / 100).toFixed(2);\n          _this3.profileStates.verified.orderCount = res.data.totalOrderCount || 0;\n          _this3.profileStates.verified.walletBalance = '楼' + (res.data.balance / 100).toFixed(2);\n        }\n      });\n    },\n    getDriverLevelText: function getDriverLevelText(level) {\n      var map = {\n        5: 'S',\n        4: 'A',\n        3: 'B',\n        2: 'C',\n        1: 'D'\n      };\n      return map[level] ? map[level] + '绾�' : '';\n    },\n    jump: function jump(item) {\n      __f__(\"log\", item, \" at pages/mine/mine.vue:179\");\n      if (item.key === 'setting') {\n        uni.navigateTo({\n          url: '/pages/settings/settings'\n        });\n      } else if (item.key === 'reward') {\n        uni.navigateTo({\n          url: '/pages/reward-hall/reward-hall'\n        });\n      } else if (item.key === 'revenue') {\n        uni.navigateTo({\n          url: '/pages/revenue-analysis/revenue-analysis'\n        });\n      } else if (item.key === 'driver') {\n        if (this.userInfo.auditStatus === 99) {\n          uni.navigateTo({\n            url: '/pages/driver-certification/driver-certification'\n          });\n        } else {\n          uni.navigateTo({\n            url: '/pages/certification-details/certification-details'\n          });\n        }\n      } else if (item.key === 'wallet') {\n        uni.navigateTo({\n          url: '/pages/wallet/wallet'\n        });\n      } else if (item.key && item.key.startsWith('agreement')) {\n        uni.navigateTo({\n          url: \"/pages/agreement/agreement?type=\".concat(item.type, \"&title=\").concat(encodeURIComponent(item.title))\n        });\n      } else if (item.key === 'help') {\n        if (this.serverPhone) {\n          uni.makePhoneCall({\n            phoneNumber: this.serverPhone\n          });\n        } else {\n          uni.showToast({\n            title: '瀹㈡湇鐢佃瘽鑾峰彇澶辫触',\n            icon: 'none'\n          });\n        }\n      }\n    },\n    handleLogout: function handleLogout() {\n      var _this4 = this;\n      uni.showToast({\n        title: '閫�鍑轰腑...',\n        icon: 'loading'\n      });\n      this.$u.api.logOutDriver().then(function (res) {\n        __f__(\"log\", 'logout res', res, \" at pages/mine/mine.vue:223\");\n        if (res.code === 200) {\n          _this4.$store.commit('clearAll');\n          uni.reLaunch({\n            url: '/pages/login/login'\n          });\n        }\n      }).catch(function (err) {\n        __f__(\"log\", 'logout err', err, \" at pages/mine/mine.vue:231\");\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvbWluZS9taW5lLnZ1ZSJdLCJuYW1lcyI6WyJkYXRhIiwic3RhdHVzQmFySGVpZ2h0IiwibmF2SGVpZ2h0IiwidXNlVmVyaWZpZWRTdGF0ZSIsInNlcnZlclBob25lIiwiYXBwVmVyc2lvbiIsIm1lbnVMaXN0Iiwia2V5IiwidGl0bGUiLCJ0eXBlIiwicHJvZmlsZVN0YXRlcyIsImd1ZXN0IiwibmFtZSIsInBob25lIiwibGV2ZWxUYWciLCJ0b3RhbEluY29tZSIsInBlbmRpbmdJbmNvbWUiLCJvcmRlckNvdW50Iiwid2FsbGV0QmFsYW5jZSIsInZlcmlmaWVkIiwiY29tcHV0ZWQiLCJjdXJyZW50UHJvZmlsZSIsImJvZHlTdHlsZSIsIm1hcmdpblRvcCIsIm9uTG9hZCIsIm9uU2hvdyIsIm1ldGhvZHMiLCJnZXRTZXJ2ZXJQaG9uZSIsImdldFVzZXJJbmZvIiwiZ2V0U3RhdHMiLCJnZXREcml2ZXJMZXZlbFRleHQiLCJqdW1wIiwidW5pIiwidXJsIiwicGhvbmVOdW1iZXIiLCJpY29uIiwiaGFuZGxlTG9nb3V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQTRFQTtBQUFBO0FBQUE7QUFBQSxlQUNBO0VBQ0FBO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUMsV0FDQTtRQUFBQztRQUFBQztNQUFBLEdBQ0E7UUFBQUQ7UUFBQUM7TUFBQSxHQUNBO1FBQUFEO1FBQUFDO01BQUEsR0FDQTtRQUFBRDtRQUFBQztNQUFBLEdBQ0E7UUFBQUQ7UUFBQUM7UUFBQUM7TUFBQSxHQUNBO1FBQUFGO1FBQUFDO1FBQUFDO01BQUEsR0FDQTtRQUFBRjtRQUFBQztRQUFBQztNQUFBLEdBQ0E7UUFBQUY7UUFBQUM7UUFBQUM7TUFBQSxHQUNBO1FBQUFGO1FBQUFDO1FBQUFDO01BQUEsR0FDQTtRQUFBRjtRQUFBQztRQUFBQztNQUFBLEdBQ0E7UUFBQUY7UUFBQUM7UUFBQUM7TUFBQSxHQUNBO1FBQUFGO1FBQUFDO01BQUEsR0FDQTtRQUFBRDtRQUFBQztNQUFBLEVBQ0E7TUFDQUU7UUFDQUM7VUFDQUM7VUFDQUM7VUFDQUM7VUFDQUM7VUFDQUM7VUFDQUM7VUFDQUM7VUFDQUM7UUFDQTtRQUNBQTtVQUNBUDtVQUNBQztVQUNBQztVQUNBQztVQUNBQztVQUNBQztVQUNBQztVQUNBQztRQUNBO01BQ0E7SUFDQTtFQUNBO0VBQ0FDLDBDQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0FDO01BQ0E7SUFDQTtFQUFBLEVBQ0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtNQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFBQTtRQUFBO1FBQUE7UUFBQTtRQUFBO01BQUE7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtRQUNBQztVQUNBQztRQUNBO01BQ0E7UUFDQUQ7VUFDQUM7UUFDQTtNQUNBO1FBQ0FEO1VBQ0FDO1FBQ0E7TUFDQTtRQUNBO1VBQ0FEO1lBQ0FDO1VBQ0E7UUFDQTtVQUNBRDtZQUNBQztVQUNBO1FBQ0E7TUFDQTtRQUNBRDtVQUNBQztRQUNBO01BQ0E7UUFDQUQ7VUFDQUM7UUFDQTtNQUNBO1FBQ0E7VUFDQUQ7WUFDQUU7VUFDQTtRQUNBO1VBQ0FGO1lBQUF4QjtZQUFBMkI7VUFBQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0FKO1FBQUF4QjtRQUFBMkI7TUFBQTtNQUNBO1FBQ0E7UUFDQTtVQUNBO1VBQ0FIO1lBQ0FDO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0VBQ0E7QUFDQTtBQUFBLDJCIiwiZmlsZSI6IjEwMy5qcyIsInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cblx0PHZpZXcgY2xhc3M9XCJtaW5lLXBhZ2VcIj5cblx0XHQ8dmlldyBjbGFzcz1cIm1pbmUtcGFnZV9fbmF2XCIgOnN0eWxlPVwieyBwYWRkaW5nVG9wOiBzdGF0dXNCYXJIZWlnaHQgKyAncHgnIH1cIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwibWluZS1wYWdlX19uYXYtaW5uZXJcIj5cblx0XHRcdFx0PHRleHQgY2xhc3M9XCJtaW5lLXBhZ2VfX25hdi10aXRsZVwiPuaIkeeahDwvdGV4dD5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cblx0XHQ8dmlldyBjbGFzcz1cIm1pbmUtcGFnZV9fYm9keVwiIDpzdHlsZT1cImJvZHlTdHlsZVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJtaW5lLXBhZ2VfX2NvbnRlbnRcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtaW5lLXBhZ2VfX3Byb2ZpbGVcIj5cblx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJtaW5lLXBhZ2VfX2F2YXRhclwiIDpzcmM9XCJ1c2VySW5mby5pbWd1cmwgfHwgJy9zdGF0aWMvaW1hZ2UvaWNfcGljQDJ4LnBuZydcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtaW5lLXBhZ2VfX3Byb2ZpbGUtaW5mb1wiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtaW5lLXBhZ2VfX25hbWUtcm93XCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwibWluZS1wYWdlX19uYW1lXCI+e3sgdXNlckluZm8ubmFtZSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInVzZXJJbmZvLmRyaXZlckxldmVsXCIgY2xhc3M9XCJtaW5lLXBhZ2VfX2xldmVsLXRhZ1wiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2ppYW5ncGFpQDJ4LnBuZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiIGNsYXNzPVwibWluZS1wYWdlX19sZXZlbC1kb3RcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwibWluZS1wYWdlX19sZXZlbC10ZXh0XCI+e3sgZ2V0RHJpdmVyTGV2ZWxUZXh0KHVzZXJJbmZvLmRyaXZlckxldmVsKSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJtaW5lLXBhZ2VfX3Bob25lXCI+e3sgdXNlckluZm8udGVsZXBob25lIHx8ICcnIH19IO+8iHt7IHVzZXJJbmZvLmNhckNvZGUgfHwgJycgfX0g77yJPC90ZXh0PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5jb21lLWNhcmRcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImluY29tZS1jYXJkX19sZWZ0XCI+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImluY29tZS1jYXJkX19sYWJlbFwiPue0r+iuoeS9o+mHkSjlhYMpPC90ZXh0PlxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJpbmNvbWUtY2FyZF9fdmFsdWVcIj57eyBjdXJyZW50UHJvZmlsZS50b3RhbEluY29tZSB9fTwvdGV4dD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmNvbWUtY2FyZF9fcmlnaHRcIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5jb21lLWNhcmRfX3N0YXRcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJpbmNvbWUtY2FyZF9fc3RhdC1sYWJlbFwiPuW+hee7k+eulyjlhYMp77yaPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImluY29tZS1jYXJkX19zdGF0LXZhbHVlXCI+e3sgY3VycmVudFByb2ZpbGUucGVuZGluZ0luY29tZSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5jb21lLWNhcmRfX3N0YXRcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJpbmNvbWUtY2FyZF9fc3RhdC1sYWJlbFwiPuiuouWNleaAu+aVsO+8mjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJpbmNvbWUtY2FyZF9fc3RhdC12YWx1ZVwiPnt7IGN1cnJlbnRQcm9maWxlLm9yZGVyQ291bnQgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtZW51LXBhbmVsXCI+XG5cdFx0XHRcdFx0PHZpZXcgdi1mb3I9XCJpdGVtIGluIG1lbnVMaXN0XCIgOmtleT1cIml0ZW0udGl0bGVcIiBjbGFzcz1cIm1lbnUtcGFuZWxfX2l0ZW1cIiBAY2xpY2s9XCJqdW1wKGl0ZW0pXCI+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm1lbnUtcGFuZWxfX3RpdGxlXCI+e3sgaXRlbS50aXRsZSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwibWVudS1wYW5lbF9fcmlnaHRcIj5cblx0XHRcdFx0XHRcdFx0PHRlbXBsYXRlIHYtaWY9XCJpdGVtLmtleSA9PT0gJ3dhbGxldCdcIj5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm1lbnUtcGFuZWxfX3N1YiBtZW51LXBhbmVsX19zdWItLW11dGVkXCI+5L2Z6aKd77yae3sgY3VycmVudFByb2ZpbGUud2FsbGV0QmFsYW5jZSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZT5cblx0XHRcdFx0XHRcdFx0PHRlbXBsYXRlIHYtaWY9XCJpdGVtLmtleSA9PT0gJ2RyaXZlcidcIj5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwidXNlckluZm8uYXVkaXRTdGF0dXMgPT09IDk5XCIgY2xhc3M9XCJtZW51LXBhbmVsX19zdWIgbWVudS1wYW5lbF9fc3ViLS1kYW5nZXJcIj7lrozmiJDorqTor4HlkI7ljbPlj6/mjqXljZU8L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgdi1lbHNlLWlmPVwiIXVzZXJJbmZvLmhhc0FwcHJvdmVkT2ZmaWNpYWwgJiYgdXNlckluZm8uYXVkaXRTdGF0dXMgPT09IDBcIiBjbGFzcz1cIm1lbnUtcGFuZWxfX3N1YiBtZW51LXBhbmVsX19zdWItLWRhbmdlclwiPuWuoeaguOS4rTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWVsc2UtaWY9XCJ1c2VySW5mby5oYXNBcHByb3ZlZE9mZmljaWFsICYmIHVzZXJJbmZvLmF1ZGl0U3RhdHVzID09PSAwXCIgY2xhc3M9XCJtZW51LXBhbmVsX19zdWIgbWVudS1wYW5lbF9fc3ViLS1kYW5nZXJcIj7lj5jmm7TkuK08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cIiF1c2VySW5mby5oYXNBcHByb3ZlZE9mZmljaWFsICYmIHVzZXJJbmZvLmF1ZGl0U3RhdHVzID09PSAyXCIgY2xhc3M9XCJtZW51LXBhbmVsX19zdWIgbWVudS1wYW5lbF9fc3ViLS1kYW5nZXJcIj7lt7LpqbPlm548L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cInVzZXJJbmZvLmhhc0FwcHJvdmVkT2ZmaWNpYWwgJiYgdXNlckluZm8uYXVkaXRTdGF0dXMgPT09IDJcIiBjbGFzcz1cIm1lbnUtcGFuZWxfX3N1YiBtZW51LXBhbmVsX19zdWItLWRhbmdlclwiPuWPmOabtOW3sumps+WbnjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWVsc2UtaWY9XCJ1c2VySW5mby5hdWRpdFN0YXR1cyA9PT0gM1wiIGNsYXNzPVwibWVudS1wYW5lbF9fc3ViIG1lbnUtcGFuZWxfX3N1Yi0tcHJpbWFyeVwiPuW3suiupOivgTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZT5cblx0XHRcdFx0XHRcdFx0PHRlbXBsYXRlIHYtZWxzZS1pZj1cIml0ZW0ua2V5ID09PSAnc2V0dGluZydcIj5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm1lbnUtcGFuZWxfX3N1YiBtZW51LXBhbmVsX19zdWItLW11dGVkXCI+5b2T5YmN54mI5pyse3sgYXBwVmVyc2lvbiB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZT5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJtZW51LXBhbmVsX19hcnJvd1wiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltYWdlL21pbmVfYXIyQDJ4LnBuZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgc3R5bGU9XCJ3aWR0aDogMTAwJTsgaGVpZ2h0OiA1cnB4O1wiPjwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cblx0XHQ8dmlldyBjbGFzcz1cIm1pbmUtcGFnZV9fZm9vdGVyXCI+XG5cdFx0XHQ8YnV0dG9uIGNsYXNzPVwibWluZS1wYWdlX19sb2dvdXRcIiBob3Zlci1jbGFzcz1cIm1pbmUtcGFnZV9fbG9nb3V0LS1ob3ZlclwiIEBjbGljay5zdG9wPVwiaGFuZGxlTG9nb3V0XCI+6YCA5Ye655m75b2VPC9idXR0b24+XG5cdFx0PC92aWV3PlxuXHQ8L3ZpZXc+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXHRpbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnXG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0c3RhdHVzQmFySGVpZ2h0OiAwLFxuXHRcdFx0XHRuYXZIZWlnaHQ6IDAsXG5cdFx0XHRcdHVzZVZlcmlmaWVkU3RhdGU6IHRydWUsXG5cdFx0XHRcdHNlcnZlclBob25lOiAnJyxcblx0XHRcdFx0YXBwVmVyc2lvbjogJ1YxLjAuMCcsXG5cdFx0XHRcdG1lbnVMaXN0OiBbXG5cdFx0XHRcdFx0eyBrZXk6ICd3YWxsZXQnLCB0aXRsZTogJ+aIkeeahOmSseWMhScgfSxcblx0XHRcdFx0XHR7IGtleTogJ2RyaXZlcicsIHRpdGxlOiAn5Y+45py66K6k6K+BJyB9LFxuXHRcdFx0XHRcdHsga2V5OiAncmV3YXJkJywgdGl0bGU6ICflpZblirHlpKfljoUnIH0sXG5cdFx0XHRcdFx0eyBrZXk6ICdyZXZlbnVlJywgdGl0bGU6ICfokKXmlLbliIbmnpAnIH0sXG5cdFx0XHRcdFx0eyBrZXk6ICdhZ3JlZW1lbnRQcml2YWN5JywgdGl0bGU6ICflj7jmnLrpmpDnp4HmlL/nrZYnLCB0eXBlOiAnZHJpdmVyUHJpdmFjeVBvbGljeScgfSxcblx0XHRcdFx0XHR7IGtleTogJ2FncmVlbWVudEVycmFuZEx1Z2dhZ2UnLCB0aXRsZTogJ+i3keiFv+i9puS4u+ihjOadjuWvhOWtmOmhu+efpScsIHR5cGU6ICdlcnJhbmRMdWdnYWdlU3RvcmFnZU5vdGljZScgfSxcblx0XHRcdFx0XHR7IGtleTogJ2FncmVlbWVudEVycmFuZFNlcnZpY2UnLCB0aXRsZTogJ+i3keiFv+i+vuS6uuacjeWKoeWNj+iuricsIHR5cGU6ICdlcnJhbmRTZXJ2aWNlQWdyZWVtZW50JyB9LFxuXHRcdFx0XHRcdHsga2V5OiAnYWdyZWVtZW50RXJyYW5kUmlzaycsIHRpdGxlOiAn6LeR6IW/6L6+5Lq66aOO6Zmp5om/6K+6JywgdHlwZTogJ2VycmFuZFJpc2tDb21taXRtZW50JyB9LFxuXHRcdFx0XHRcdHsga2V5OiAnYWdyZWVtZW50T3duZXJMdWdnYWdlJywgdGl0bGU6ICflubPlj7DovabkuLvooYzmnY7lr4TlrZjpobvnn6UnLCB0eXBlOiAnb3duZXJMdWdnYWdlU3RvcmFnZU5vdGljZScgfSxcblx0XHRcdFx0XHR7IGtleTogJ2FncmVlbWVudE93bmVyU2VydmljZScsIHRpdGxlOiAn5bmz5Y+w6L2m5Li75pyN5Yqh5Y2P6K6uJywgdHlwZTogJ293bmVyU2VydmljZUFncmVlbWVudCcgfSxcblx0XHRcdFx0XHR7IGtleTogJ2FncmVlbWVudE93bmVyUmlzaycsIHRpdGxlOiAn5bmz5Y+w6L2m5Li76aOO6Zmp5om/6K+6JywgdHlwZTogJ293bmVyUmlza0NvbW1pdG1lbnQnIH0sXG5cdFx0XHRcdFx0eyBrZXk6ICdoZWxwJywgdGl0bGU6ICfogZTns7vlrqLmnI0nIH0sXG5cdFx0XHRcdFx0eyBrZXk6ICdzZXR0aW5nJywgdGl0bGU6ICforr7nva4nIH1cblx0XHRcdFx0XSxcblx0XHRcdFx0cHJvZmlsZVN0YXRlczoge1xuXHRcdFx0XHRcdGd1ZXN0OiB7XG5cdFx0XHRcdFx0XHRuYW1lOiAn5rGk5a2Q5pawJyxcblx0XHRcdFx0XHRcdHBob25lOiAnMTgxNjY1NjU2NzcnLFxuXHRcdFx0XHRcdFx0bGV2ZWxUYWc6ICcnLFxuXHRcdFx0XHRcdFx0dG90YWxJbmNvbWU6ICctJyxcblx0XHRcdFx0XHRcdHBlbmRpbmdJbmNvbWU6ICctJyxcblx0XHRcdFx0XHRcdG9yZGVyQ291bnQ6ICctJyxcblx0XHRcdFx0XHRcdHdhbGxldEJhbGFuY2U6ICfCpTAnLFxuXHRcdFx0XHRcdFx0dmVyaWZpZWQ6IGZhbHNlXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR2ZXJpZmllZDoge1xuXHRcdFx0XHRcdFx0bmFtZTogJ+axpOWtkOaWsCcsXG5cdFx0XHRcdFx0XHRwaG9uZTogJzE4MTY2NTY1Njc377yI55qWQkQyMzE4Oe+8iScsXG5cdFx0XHRcdFx0XHRsZXZlbFRhZzogJ1PnuqcnLFxuXHRcdFx0XHRcdFx0dG90YWxJbmNvbWU6ICctJyxcblx0XHRcdFx0XHRcdHBlbmRpbmdJbmNvbWU6ICctJyxcblx0XHRcdFx0XHRcdG9yZGVyQ291bnQ6ICctJyxcblx0XHRcdFx0XHRcdHdhbGxldEJhbGFuY2U6ICfCpTAnLFxuXHRcdFx0XHRcdFx0dmVyaWZpZWQ6IHRydWVcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9LFxuXHRcdGNvbXB1dGVkOiB7XG5cdFx0XHQuLi5tYXBTdGF0ZShbJ3VzZXJJbmZvJ10pLFxuXHRcdFx0Y3VycmVudFByb2ZpbGUoKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnVzZVZlcmlmaWVkU3RhdGUgPyB0aGlzLnByb2ZpbGVTdGF0ZXMudmVyaWZpZWQgOiB0aGlzLnByb2ZpbGVTdGF0ZXMuZ3Vlc3Rcblx0XHRcdH0sXG5cdFx0XHRib2R5U3R5bGUoKSB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0bWFyZ2luVG9wOiB0aGlzLm5hdkhlaWdodCArICdweCdcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0b25Mb2FkKCkge1xuXHRcdFx0Y29uc3Qgc3lzdGVtSW5mbyA9IHVuaS5nZXRTeXN0ZW1JbmZvU3luYygpXG5cdFx0XHR0aGlzLnN0YXR1c0JhckhlaWdodCA9IHN5c3RlbUluZm8uc3RhdHVzQmFySGVpZ2h0IHx8IDBcblx0XHRcdHRoaXMubmF2SGVpZ2h0ID0gdGhpcy5zdGF0dXNCYXJIZWlnaHQgKyB1bmkudXB4MnB4KDg4KVxuXHRcdFx0aWYgKHBsdXMucnVudGltZSAmJiBwbHVzLnJ1bnRpbWUudmVyc2lvbikge1xuXHRcdFx0XHR0aGlzLmFwcFZlcnNpb24gPSAnVicgKyBwbHVzLnJ1bnRpbWUudmVyc2lvblxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0b25TaG93KCkge1xuXHRcdFx0dGhpcy5nZXRTdGF0cygpXG5cdFx0XHR0aGlzLmdldFVzZXJJbmZvKClcblx0XHRcdHRoaXMuZ2V0U2VydmVyUGhvbmUoKVxuXHRcdH0sXG5cdFx0bWV0aG9kczoge1xuXHRcdFx0Z2V0U2VydmVyUGhvbmUoKSB7XG5cdFx0XHRcdHRoaXMuJHUuYXBpLmdldFBsYXRmb3JtQWJvdXRVcygpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCAmJiByZXMuZGF0YSkge1xuXHRcdFx0XHRcdFx0dGhpcy5zZXJ2ZXJQaG9uZSA9IHJlcy5kYXRhLnNlcnZlclBob25lIHx8ICcnXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGdldFVzZXJJbmZvKCkge1xuXHRcdFx0XHR0aGlzLiR1LmFwaS52ZXJpZnlEZXRhaWwoKS50aGVuKHVzZXIgPT4ge1xuXHRcdFx0XHRcdGlmICh1c2VyLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dGhpcy4kc3RvcmUuY29tbWl0KCdzZXRVc2VySW5mbycsIHVzZXIuZGF0YSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGdldFN0YXRzKCkge1xuXHRcdFx0XHR0aGlzLiR1LmFwaS5zdGF0cygpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCAmJiByZXMuZGF0YSkge1xuXHRcdFx0XHRcdFx0dGhpcy5wcm9maWxlU3RhdGVzLnZlcmlmaWVkLnRvdGFsSW5jb21lID0gKHJlcy5kYXRhLnRvdGFsQ29tbWlzc2lvbiAvIDEwMCkudG9GaXhlZCgyKVxuXHRcdFx0XHRcdFx0dGhpcy5wcm9maWxlU3RhdGVzLnZlcmlmaWVkLnBlbmRpbmdJbmNvbWUgPSAocmVzLmRhdGEucGVuZGluZ0NvbW1pc3Npb24gLyAxMDApLnRvRml4ZWQoMilcblx0XHRcdFx0XHRcdHRoaXMucHJvZmlsZVN0YXRlcy52ZXJpZmllZC5vcmRlckNvdW50ID0gcmVzLmRhdGEudG90YWxPcmRlckNvdW50IHx8IDBcblx0XHRcdFx0XHRcdHRoaXMucHJvZmlsZVN0YXRlcy52ZXJpZmllZC53YWxsZXRCYWxhbmNlID0gJ8KlJyArIChyZXMuZGF0YS5iYWxhbmNlIC8gMTAwKS50b0ZpeGVkKDIpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGdldERyaXZlckxldmVsVGV4dChsZXZlbCkge1xuXHRcdFx0XHRjb25zdCBtYXAgPSB7IDU6ICdTJywgNDogJ0EnLCAzOiAnQicsIDI6ICdDJywgMTogJ0QnIH1cblx0XHRcdFx0cmV0dXJuIG1hcFtsZXZlbF0gPyBtYXBbbGV2ZWxdICsgJ+e6pycgOiAnJ1xuXHRcdFx0fSxcblx0XHRcdGp1bXAoaXRlbSkge1xuXHRcdFx0XHRjb25zb2xlLmxvZyhpdGVtKVxuXHRcdFx0XHRpZiAoaXRlbS5rZXkgPT09ICdzZXR0aW5nJykge1xuXHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9zZXR0aW5ncy9zZXR0aW5ncydcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9IGVsc2UgaWYgKGl0ZW0ua2V5ID09PSAncmV3YXJkJykge1xuXHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9yZXdhcmQtaGFsbC9yZXdhcmQtaGFsbCdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9IGVsc2UgaWYgKGl0ZW0ua2V5ID09PSAncmV2ZW51ZScpIHtcblx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvcmV2ZW51ZS1hbmFseXNpcy9yZXZlbnVlLWFuYWx5c2lzJ1xuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0gZWxzZSBpZiAoaXRlbS5rZXkgPT09ICdkcml2ZXInKSB7XG5cdFx0XHRcdFx0aWYgKHRoaXMudXNlckluZm8uYXVkaXRTdGF0dXMgPT09IDk5KSB7XG5cdFx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy9kcml2ZXItY2VydGlmaWNhdGlvbi9kcml2ZXItY2VydGlmaWNhdGlvbidcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL2NlcnRpZmljYXRpb24tZGV0YWlscy9jZXJ0aWZpY2F0aW9uLWRldGFpbHMnXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIGlmIChpdGVtLmtleSA9PT0gJ3dhbGxldCcpIHtcblx0XHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0XHR1cmw6ICcvcGFnZXMvd2FsbGV0L3dhbGxldCdcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9IGVsc2UgaWYgKGl0ZW0ua2V5ICYmIGl0ZW0ua2V5LnN0YXJ0c1dpdGgoJ2FncmVlbWVudCcpKSB7XG5cdFx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdFx0dXJsOiBgL3BhZ2VzL2FncmVlbWVudC9hZ3JlZW1lbnQ/dHlwZT0ke2l0ZW0udHlwZX0mdGl0bGU9JHtlbmNvZGVVUklDb21wb25lbnQoaXRlbS50aXRsZSl9YFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH0gZWxzZSBpZiAoaXRlbS5rZXkgPT09ICdoZWxwJykge1xuXHRcdFx0XHRcdGlmICh0aGlzLnNlcnZlclBob25lKSB7XG5cdFx0XHRcdFx0XHR1bmkubWFrZVBob25lQ2FsbCh7XG5cdFx0XHRcdFx0XHRcdHBob25lTnVtYmVyOiB0aGlzLnNlcnZlclBob25lXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICflrqLmnI3nlLXor53ojrflj5blpLHotKUnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRoYW5kbGVMb2dvdXQoKSB7XG5cdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+mAgOWHuuS4rS4uLicsIGljb246ICdsb2FkaW5nJyB9KVxuXHRcdFx0XHR0aGlzLiR1LmFwaS5sb2dPdXREcml2ZXIoKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ2xvZ291dCByZXMnLCByZXMpXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHRoaXMuJHN0b3JlLmNvbW1pdCgnY2xlYXJBbGwnKVxuXHRcdFx0XHRcdFx0dW5pLnJlTGF1bmNoKHtcblx0XHRcdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL2xvZ2luL2xvZ2luJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ2xvZ291dCBlcnInLCBlcnIpXG5cdFx0XHRcdH0pXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG48L3NjcmlwdD5cblxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxuXHQubWluZS1wYWdlIHtcblx0XHRiYWNrZ3JvdW5kOiAjZjZmOGZjO1xuXG5cdFx0Jl9fbmF2IHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHR0b3A6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHR9XG5cblx0XHQmX19uYXYtaW5uZXIge1xuXHRcdFx0aGVpZ2h0OiA4OHJweDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogMCAyNnJweDtcblx0XHR9XG5cblx0XHQmX19uYXYtdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAzNnJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogIzJiMzEzOTtcblx0XHR9XG5cblx0XHQmX19ib2R5IHtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHQvLyBvdmVyZmxvdzogaGlkZGVuO1xuXHRcdH1cblxuXHRcdCZfX2NvbnRlbnQge1xuXHRcdFx0cGFkZGluZzogMjhycHggMjBycHggMDtcblx0XHR9XG5cblx0XHQmX19wcm9maWxlIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAyMHJweDtcblx0XHRcdHBhZGRpbmc6IDhycHggMCAyNHJweDtcblx0XHR9XG5cblx0XHQmX19hdmF0YXIge1xuXHRcdFx0d2lkdGg6IDkycnB4O1xuXHRcdFx0aGVpZ2h0OiA5MnJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGJhY2tncm91bmQ6ICNlOGYxZmY7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cblx0XHQmX19wcm9maWxlLWluZm8ge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdG1pbi13aWR0aDogMDtcblx0XHR9XG5cblx0XHQmX19uYW1lLXJvdyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogMTJycHg7XG5cdFx0fVxuXG5cdFx0Jl9fbmFtZSB7XG5cdFx0XHRmb250LXNpemU6IDQwcnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjMmIzMTM5O1xuXHRcdH1cblxuXHRcdCZfX2xldmVsLXRhZyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogNnJweDtcblx0XHRcdHBhZGRpbmc6IDRycHggMTBycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA5OTlycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZmY5ZTY4IDAlLCAjZmY3ZDM0IDEwMCUpO1xuXHRcdH1cblxuXHRcdCZfX2xldmVsLWRvdCB7XG5cdFx0XHR3aWR0aDogMjBycHg7XG5cdFx0XHRoZWlnaHQ6IDI0cnB4O1xuXHRcdH1cblx0XHRcblx0XHQmX19sZXZlbC10ZXh0IHtcblx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0fVxuXG5cdFx0Jl9fcGhvbmUge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMHJweDtcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0XHRjb2xvcjogIzhmOTZhMztcblx0XHR9XG5cblx0XHQmX19mb290ZXIge1xuXHRcdFx0Ly8gcGFkZGluZzogMTZycHggMCBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDIwcnB4KTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAzMHJweDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHR9XG5cblx0XHQmX19sb2dvdXQge1xuXHRcdFx0d2lkdGg6IDIwMHJweDtcblx0XHRcdGhlaWdodDogNzJycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogNzJycHg7XHRcblx0XHRcdGJvcmRlci1yYWRpdXM6IDM2cnB4O1xuXHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHRcdGJvcmRlcjogMXJweCBzb2xpZCAjOTk5OTk5O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0XHRjb2xvcjogIzMzMzMzMztcblx0XHRcdHBhZGRpbmc6IDA7XG5cblx0XHRcdCY6OmFmdGVyIHtcblx0XHRcdFx0Ym9yZGVyOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1ob3ZlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LmluY29tZS1jYXJkIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0Z2FwOiAyMHJweDtcblx0XHRwYWRkaW5nOiAxMHJweCAzMHJweCA0MHJweCAzMHJweDtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vc3RhdGljL2ltYWdlL21pbmdfYmdAMngucG5nJyk7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0Jl9fbGVmdCxcblx0XHQmX19yaWdodCB7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHR6LWluZGV4OiAxO1xuXHRcdH1cblxuXHRcdCZfX2xlZnQge1xuXHRcdFx0ZmxleDogMTtcblx0XHR9XG5cblx0XHQmX19sYWJlbCxcblx0XHQmX19zdGF0LWxhYmVsLFxuXHRcdCZfX3N0YXQtdmFsdWUge1xuXHRcdFx0Zm9udC1zaXplOiAyNHJweDtcblx0XHRcdGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzgpO1xuXHRcdH1cblxuXHRcdCZfX3ZhbHVlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XG5cdFx0XHRmb250LXNpemU6IDUycnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0fVxuXG5cdFx0Jl9fcmlnaHQge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuXHRcdFx0Z2FwOiAxOHJweDtcblx0XHRcdHBhZGRpbmctdG9wOiAxMnJweDtcblx0XHR9XG5cblx0XHQmX19zdGF0IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAxMHJweDtcblx0XHR9XG5cdH1cblxuXHQubWVudS1wYW5lbCB7XG5cdFx0bWFyZ2luLXRvcDogMjBycHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBycHg7XG5cdFx0Ym9yZGVyLXJhZGl1czogMjJycHg7XG5cdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0Jl9faXRlbSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGhlaWdodDogMTAycnB4O1xuXHRcdFx0cGFkZGluZzogMCAyNHJweDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcnB4IHNvbGlkICNlZWYxZjU7XG5cblx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fdGl0bGUge1xuXHRcdFx0Zm9udC1zaXplOiAzNHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRjb2xvcjogIzJiMzEzOTtcblx0XHR9XG5cblx0XHQmX19yaWdodCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRnYXA6IDEwcnB4O1xuXHRcdH1cblxuXHRcdCZfX3N1YiB7XG5cdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuXHRcdFx0Ji0tbXV0ZWQge1xuXHRcdFx0XHRjb2xvcjogI2IyYjhjMTtcblx0XHRcdH1cblxuXHRcdFx0Ji0tZGFuZ2VyIHtcblx0XHRcdFx0Y29sb3I6ICNGQTEwMTA7XG5cdFx0XHR9XG5cblx0XHRcdCYtLXdhcm5pbmcge1xuXHRcdFx0XHRjb2xvcjogI2ZmN2IzODtcblx0XHRcdH1cblxuXHRcdFx0Ji0tcHJpbWFyeSB7XG5cdFx0XHRcdGNvbG9yOiAjMTA2RUZBO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2Fycm93IHtcblx0XHRcdHdpZHRoOiAxNnJweDtcblx0XHRcdGhlaWdodDogMjhycHg7XG5cdFx0XHRpbWFnZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///103\n");
 
 /***/ }),
 /* 104 */
@@ -9611,6 +9628,7 @@
           staticClass: _vm._$s(12, "sc", "order-page__body"),
           style: _vm._$s(12, "s", _vm.bodyStyle),
           attrs: { _i: 12 },
+          on: { scrolltolower: _vm.handleScrollToLower },
         },
         [
           _c(
@@ -10415,7 +10433,7 @@
 /***/ (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 _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 93));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  data: function data() {\n    return {\n      statusBarHeight: 0,\n      navHeight: 0,\n      activeTab: null,\n      searchKeyword: '',\n      tabs: [{\n        label: '鍏ㄩ儴',\n        value: null\n      }, {\n        label: '寰呭彇璐�',\n        value: 3\n      }, {\n        label: '閰嶉�佷腑',\n        value: 4\n      }, {\n        label: '宸插畬鎴�',\n        value: 7\n      }],\n      orders: [],\n      page: 1,\n      hasMore: true,\n      loading: false,\n      showCancelModal: false,\n      showQRPopup: false,\n      showPhotoPopup: false,\n      selectedOrder: null,\n      cancelRemain: 0,\n      photoPopupMode: '',\n      photoRemark: '',\n      uploadedPhotos: [],\n      activeOrderCount: null\n    };\n  },\n  computed: {\n    displayTabs: function displayTabs() {\n      var _this = this;\n      return this.tabs.map(function (tab) {\n        var count = null;\n        if (tab.value === 3) {\n          var _this$activeOrderCoun;\n          count = (_this$activeOrderCoun = _this.activeOrderCount) === null || _this$activeOrderCoun === void 0 ? void 0 : _this$activeOrderCoun.grabbedCount;\n        } else if (tab.value === 4) {\n          var _this$activeOrderCoun2;\n          count = (_this$activeOrderCoun2 = _this.activeOrderCount) === null || _this$activeOrderCoun2 === void 0 ? void 0 : _this$activeOrderCoun2.deliveringCount;\n        }\n        if (count) {\n          return _objectSpread(_objectSpread({}, tab), {}, {\n            label: \"\".concat(tab.label, \" \").concat(count)\n          });\n        }\n        return tab;\n      });\n    },\n    bodyStyle: function bodyStyle() {\n      return {\n        marginTop: this.navHeight + uni.upx2px(88) + uni.upx2px(88) + 'px',\n        height: \"calc(100vh - \".concat(this.navHeight + uni.upx2px(88) + uni.upx2px(72), \"px)\")\n      };\n    },\n    photoPopupTitle: function photoPopupTitle() {\n      return this.photoPopupMode === 'deliver' ? '鎷嶇収閫佽揪' : '鎷嶇収鍙栬揣';\n    },\n    photoPopupLabel: function photoPopupLabel() {\n      return this.photoPopupMode === 'deliver' ? '鎷嶆憚閫佽揪鐓х墖' : '鎷嶆憚鍙栬揣鐓х墖';\n    },\n    photoPopupSubmitText: function photoPopupSubmitText() {\n      return this.photoPopupMode === 'deliver' ? '纭閫佽揪' : '纭鍙栬揣';\n    }\n  },\n  onLoad: function onLoad() {\n    var systemInfo = uni.getSystemInfoSync();\n    this.statusBarHeight = systemInfo.statusBarHeight || 0;\n    this.navHeight = this.statusBarHeight + uni.upx2px(88);\n    this.getOrderList();\n  },\n  onShow: function onShow() {\n    this.getActiveOrderCount();\n  },\n  onReachBottom: function onReachBottom() {\n    if (!this.hasMore || this.loading) return;\n    this.page++;\n    this.getOrderList();\n  },\n  watch: {\n    activeTab: function activeTab() {\n      this.page = 1;\n      this.hasMore = true;\n      this.orders = [];\n      this.getOrderList();\n    }\n  },\n  methods: {\n    searchOrder: function searchOrder() {\n      this.page = 1;\n      this.hasMore = true;\n      this.orders = [];\n      this.getOrderList();\n    },\n    getActiveOrderCount: function getActiveOrderCount() {\n      var _this2 = this;\n      this.$u.api.activeOrderCount().then(function (res) {\n        if (res.code === 200) {\n          _this2.activeOrderCount = res.data;\n        } else {\n          _this2.activeOrderCount = null;\n        }\n      }).catch(function () {\n        _this2.activeOrderCount = null;\n      });\n    },\n    getBadgeIcon: function getBadgeIcon(item) {\n      return item.isUrgent ? '/static/image/ic_jisuda@2x.png' : '/static/image/ic_biaosuda@2x.png';\n    },\n    getStatusText: function getStatusText(status) {\n      var map = {\n        2: '寰呮帴鍗�',\n        3: '寰呭彇璐�',\n        4: '閰嶉�佷腑',\n        5: '宸查�佽揪',\n        7: '宸插畬鎴�',\n        99: '宸插彇娑�'\n      };\n      return map[status] || '';\n    },\n    getActions: function getActions(item) {\n      if (item.status === 3) {\n        return [{\n          text: '鍙栨秷璁㈠崟',\n          type: 'light',\n          fill: false\n        }, {\n          text: '鍙栬揣鐮�',\n          type: 'primary',\n          fill: false\n        }, {\n          text: '鎷嶇収鍙栬揣',\n          type: 'primary',\n          fill: true\n        }];\n      }\n      if (item.status === 4 && item.takeShopId) {\n        return [{\n          text: '瀛樹欢鐮�',\n          type: 'primary',\n          fill: false\n        }];\n      }\n      if (item.status === 4 && !item.takeShopId) {\n        return [{\n          text: '鎷嶇収閫佽揪',\n          type: 'primary',\n          fill: true\n        }];\n      }\n      return [];\n    },\n    getOrderList: function getOrderList() {\n      var _this3 = this;\n      if (this.loading) return;\n      this.loading = true;\n      this.$u.api.orderPage({\n        capacity: 10,\n        page: this.page,\n        model: {\n          status: this.activeTab,\n          keyword: this.searchKeyword\n        }\n      }).then(function (res) {\n        if (res.code === 200) {\n          var list = res.data.records || [];\n          __f__(\"log\", list, \" at pages/order/order.vue:305\");\n          if (_this3.page === 1) {\n            _this3.orders = list;\n          } else {\n            _this3.orders = [].concat((0, _toConsumableArray2.default)(_this3.orders), (0, _toConsumableArray2.default)(list));\n          }\n          _this3.hasMore = list.length >= 10;\n        }\n      }).finally(function () {\n        _this3.loading = false;\n      });\n    },\n    goToOrderDetail: function goToOrderDetail(item, index) {\n      uni.navigateTo({\n        url: \"/pages/order-detail/order-detail?id=\".concat(item.id)\n      });\n    },\n    handleAction: function handleAction(item, action) {\n      var text = action.text;\n      if (text === '鍙栨秷璁㈠崟') {\n        this.handleCancelOrder(item);\n      } else if (text === '鍙栬揣鐮�' || text === '瀛樹欢鐮�') {\n        this.handleShowQRCode(item);\n      } else if (text === '鎷嶇収鍙栬揣') {\n        this.handlePhotoPickup(item);\n      } else if (text === '鎷嶇収閫佽揪') {\n        this.handlePhotoDeliver(item);\n      }\n    },\n    handleCancelOrder: function handleCancelOrder(item) {\n      var _this4 = this;\n      this.selectedOrder = item;\n      this.$u.api.cancelLimit().then(function (res) {\n        if (res.code === 200) {\n          _this4.cancelRemain = res.data.remain;\n        }\n      }).finally(function () {\n        _this4.showCancelModal = true;\n      });\n    },\n    confirmCancelOrder: function confirmCancelOrder() {\n      var _this5 = this;\n      if (!this.selectedOrder) return;\n      this.$u.api.cancelOrder({\n        orderId: this.selectedOrder.id\n      }).then(function (res) {\n        _this5.showCancelModal = false;\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鍙栨秷鎴愬姛',\n            icon: 'success'\n          });\n          _this5.getOrderList();\n          _this5.getActiveOrderCount();\n        } else {\n          uni.showToast({\n            title: res.message || '鍙栨秷澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function () {\n        _this5.showCancelModal = false;\n      });\n    },\n    handleShowQRCode: function handleShowQRCode(item) {\n      this.selectedOrder = item;\n      this.showQRPopup = true;\n    },\n    handlePhotoPickup: function handlePhotoPickup(item) {\n      this.checkOperationRadius(item.id, 'pickup');\n    },\n    handlePhotoDeliver: function handlePhotoDeliver(item) {\n      this.checkOperationRadius(item.id, 'deliver');\n    },\n    checkOperationRadius: function checkOperationRadius(orderId, mode) {\n      var _this6 = this;\n      uni.getLocation({\n        type: 'gcj02',\n        success: function success(res) {\n          _this6.$u.api.checkDriverOperationRadius({\n            lat: res.latitude,\n            lng: res.longitude,\n            orderId: orderId\n          }).then(function (apiRes) {\n            if (apiRes.code === 200) {\n              __f__(\"log\", apiRes.data, \" at pages/order/order.vue:379\");\n              if (apiRes.data === true) {\n                _this6.selectedOrder = {\n                  id: orderId\n                };\n                _this6.photoPopupMode = mode;\n                _this6.uploadedPhotos = [];\n                _this6.photoRemark = '';\n                _this6.showPhotoPopup = true;\n              } else {\n                uni.showToast({\n                  title: '鎮ㄥ綋鍓嶄綅缃笌鏀惰揣鍦板潃璺濈瓒呭嚭鑼冨洿锛岃鍦ㄥ湴鍧�闄勮繎閲嶆柊鎷嶇収',\n                  icon: 'none'\n                });\n              }\n            }\n          });\n        },\n        fail: function fail() {\n          uni.showToast({\n            title: '鏃犳硶鑾峰彇鎮ㄧ殑浣嶇疆淇℃伅',\n            icon: 'none'\n          });\n        }\n      });\n    },\n    closePhotoPopup: function closePhotoPopup() {\n      this.showPhotoPopup = false;\n    },\n    choosePhoto: function choosePhoto() {\n      var _this7 = this;\n      if (this.uploadedPhotos.length >= 3) {\n        uni.showToast({\n          title: '鏈�澶氫笂浼�3寮犵収鐗�',\n          icon: 'none'\n        });\n        return;\n      }\n      uni.chooseImage({\n        count: 3 - this.uploadedPhotos.length,\n        sourceType: ['camera', 'album'],\n        success: function success(res) {\n          _this7.uploadedPhotos = [].concat((0, _toConsumableArray2.default)(_this7.uploadedPhotos), (0, _toConsumableArray2.default)(res.tempFilePaths));\n        }\n      });\n    },\n    deletePhoto: function deletePhoto(index) {\n      this.uploadedPhotos.splice(index, 1);\n    },\n    submitPhotoPopup: function submitPhotoPopup() {\n      var _this8 = this;\n      if (this.uploadedPhotos.length === 0) {\n        uni.showToast({\n          title: '璇蜂笂浼犵収鐗�',\n          icon: 'none'\n        });\n        return;\n      }\n      uni.showLoading({\n        title: '涓婁紶涓�...'\n      });\n      uni.getLocation({\n        type: 'gcj02',\n        success: function success(locationRes) {\n          _this8.doUploadPhotos(locationRes.latitude, locationRes.longitude);\n        },\n        fail: function fail() {\n          _this8.doUploadPhotos(null, null);\n        }\n      });\n    },\n    doUploadPhotos: function doUploadPhotos(latitude, longitude) {\n      var _this9 = this;\n      var uploadTasks = this.uploadedPhotos.map(function (path) {\n        return new Promise(function (resolve, reject) {\n          var formData = {\n            folder: 'orders'\n          };\n          if (latitude && longitude) {\n            formData.latitude = latitude;\n            formData.longitude = longitude;\n          }\n          __f__(\"log\", 'formData:', formData, \" at pages/order/order.vue:447\");\n          uni.uploadFile({\n            url: _this9.$baseUrl + 'web/public/upload',\n            filePath: path,\n            name: 'file',\n            formData: formData,\n            success: function success(uploadRes) {\n              var data = JSON.parse(uploadRes.data);\n              if (data.code === 200) {\n                resolve(data.data);\n              } else {\n                reject(new Error(data.msg));\n              }\n            },\n            fail: function fail(err) {\n              reject(err);\n            }\n          });\n        });\n      });\n      Promise.all(uploadTasks).then(function (images) {\n        var api = _this9.photoPopupMode === 'deliver' ? 'confirmDeliver' : 'confirmPickup';\n        var params = {\n          images: images.map(function (img) {\n            return img.imgaddr;\n          }),\n          orderId: _this9.selectedOrder.id,\n          remark: _this9.photoRemark\n        };\n        if (latitude && longitude) {\n          params.latitude = latitude;\n          params.longitude = longitude;\n        }\n        return _this9.$u.api[api](params);\n      }).then(function (res) {\n        uni.hideLoading();\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鎻愪氦鎴愬姛',\n            icon: 'success'\n          });\n          _this9.showPhotoPopup = false;\n          _this9.getOrderList();\n          _this9.getActiveOrderCount();\n        } else {\n          uni.showToast({\n            title: res.msg || '鎻愪氦澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function (err) {\n        uni.hideLoading();\n        uni.showToast({\n          title: err.message || '涓婁紶澶辫触',\n          icon: 'none'\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvb3JkZXIvb3JkZXIudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJzdGF0dXNCYXJIZWlnaHQiLCJuYXZIZWlnaHQiLCJhY3RpdmVUYWIiLCJzZWFyY2hLZXl3b3JkIiwidGFicyIsImxhYmVsIiwidmFsdWUiLCJvcmRlcnMiLCJwYWdlIiwiaGFzTW9yZSIsImxvYWRpbmciLCJzaG93Q2FuY2VsTW9kYWwiLCJzaG93UVJQb3B1cCIsInNob3dQaG90b1BvcHVwIiwic2VsZWN0ZWRPcmRlciIsImNhbmNlbFJlbWFpbiIsInBob3RvUG9wdXBNb2RlIiwicGhvdG9SZW1hcmsiLCJ1cGxvYWRlZFBob3RvcyIsImFjdGl2ZU9yZGVyQ291bnQiLCJjb21wdXRlZCIsImRpc3BsYXlUYWJzIiwiY291bnQiLCJ0YWIiLCJib2R5U3R5bGUiLCJtYXJnaW5Ub3AiLCJoZWlnaHQiLCJwaG90b1BvcHVwVGl0bGUiLCJwaG90b1BvcHVwTGFiZWwiLCJwaG90b1BvcHVwU3VibWl0VGV4dCIsIm9uTG9hZCIsIm9uU2hvdyIsIm9uUmVhY2hCb3R0b20iLCJ3YXRjaCIsIm1ldGhvZHMiLCJzZWFyY2hPcmRlciIsImdldEFjdGl2ZU9yZGVyQ291bnQiLCJnZXRCYWRnZUljb24iLCJnZXRTdGF0dXNUZXh0IiwiZ2V0QWN0aW9ucyIsInRleHQiLCJ0eXBlIiwiZmlsbCIsImdldE9yZGVyTGlzdCIsImNhcGFjaXR5IiwibW9kZWwiLCJzdGF0dXMiLCJrZXl3b3JkIiwiZ29Ub09yZGVyRGV0YWlsIiwidW5pIiwidXJsIiwiaGFuZGxlQWN0aW9uIiwiaGFuZGxlQ2FuY2VsT3JkZXIiLCJjb25maXJtQ2FuY2VsT3JkZXIiLCJvcmRlcklkIiwidGl0bGUiLCJpY29uIiwiaGFuZGxlU2hvd1FSQ29kZSIsImhhbmRsZVBob3RvUGlja3VwIiwiaGFuZGxlUGhvdG9EZWxpdmVyIiwiY2hlY2tPcGVyYXRpb25SYWRpdXMiLCJzdWNjZXNzIiwibGF0IiwibG5nIiwiaWQiLCJmYWlsIiwiY2xvc2VQaG90b1BvcHVwIiwiY2hvb3NlUGhvdG8iLCJzb3VyY2VUeXBlIiwiZGVsZXRlUGhvdG8iLCJzdWJtaXRQaG90b1BvcHVwIiwiZG9VcGxvYWRQaG90b3MiLCJmb2xkZXIiLCJmb3JtRGF0YSIsImZpbGVQYXRoIiwibmFtZSIsInJlc29sdmUiLCJyZWplY3QiLCJQcm9taXNlIiwiaW1hZ2VzIiwicmVtYXJrIiwicGFyYW1zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQTBKQTtFQUNBQTtJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDLE9BQ0E7UUFBQUM7UUFBQUM7TUFBQSxHQUNBO1FBQUFEO1FBQUFDO01BQUEsR0FDQTtRQUFBRDtRQUFBQztNQUFBLEdBQ0E7UUFBQUQ7UUFBQUM7TUFBQSxFQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUFBO01BQ0E7UUFDQTtRQUNBO1VBQUE7VUFDQUM7UUFDQTtVQUFBO1VBQ0FBO1FBQ0E7UUFDQTtVQUNBLHVDQUNBQztZQUNBbEI7VUFBQTtRQUVBO1FBQ0E7TUFDQTtJQUNBO0lBRUFtQjtNQUNBO1FBQ0FDO1FBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQTtJQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBL0I7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0VBQ0E7RUFDQWdDO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQTtVQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBLFFBQ0E7VUFBQUM7VUFBQUM7VUFBQUM7UUFBQSxHQUNBO1VBQUFGO1VBQUFDO1VBQUFDO1FBQUEsR0FDQTtVQUFBRjtVQUFBQztVQUFBQztRQUFBLEVBQ0E7TUFDQTtNQUNBO1FBQ0EsUUFDQTtVQUFBRjtVQUFBQztVQUFBQztRQUFBLEVBQ0E7TUFDQTtNQUNBO1FBQ0EsUUFDQTtVQUFBRjtVQUFBQztVQUFBQztRQUFBLEVBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7TUFDQTtRQUNBQztRQUNBcEM7UUFDQXFDO1VBQ0FDO1VBQ0FDO1FBQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1lBQ0E7VUFDQTtZQUNBO1VBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQUM7UUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtNQUNBO1FBQUFDO01BQUE7UUFDQTtRQUNBO1VBQ0FMO1lBQUFNO1lBQUFDO1VBQUE7VUFDQTtVQUNBO1FBQ0E7VUFDQVA7WUFBQU07WUFBQUM7VUFBQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0FYO1FBQ0FSO1FBQ0FvQjtVQUNBO1lBQ0FDO1lBQ0FDO1lBQ0FUO1VBQ0E7WUFDQTtjQUNBO2NBQ0E7Z0JBQ0E7a0JBQUFVO2dCQUFBO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2NBQ0E7Z0JBQ0FmO2tCQUNBTTtrQkFDQUM7Z0JBQ0E7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtRQUNBUztVQUNBaEI7WUFDQU07WUFDQUM7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBVTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0FsQjtVQUFBTTtVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBUDtRQUNBM0I7UUFDQThDO1FBQ0FQO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQVE7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBckI7VUFBQU07VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQVA7UUFBQU07TUFBQTtNQUNBTjtRQUNBUjtRQUNBb0I7VUFDQTtRQUNBO1FBQ0FJO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQU07TUFBQTtNQUNBO1FBQ0E7VUFDQTtZQUFBQztVQUFBO1VBQ0E7WUFDQUM7WUFDQUE7VUFDQTtVQUNBO1VBQ0F4QjtZQUNBQztZQUNBd0I7WUFDQUM7WUFDQUY7WUFDQVo7Y0FDQTtjQUNBO2dCQUNBZTtjQUNBO2dCQUNBQztjQUNBO1lBQ0E7WUFDQVo7Y0FDQVk7WUFDQTtVQUNBO1FBQ0E7TUFDQTtNQUVBQztRQUNBO1FBQ0E7VUFDQUM7WUFBQTtVQUFBO1VBQ0F6QjtVQUNBMEI7UUFDQTtRQUNBO1VBQ0FDO1VBQ0FBO1FBQ0E7UUFDQTtNQUNBO1FBQ0FoQztRQUNBO1VBQ0FBO1lBQUFNO1lBQUFDO1VBQUE7VUFDQTtVQUNBO1VBQ0E7UUFDQTtVQUNBUDtZQUFBTTtZQUFBQztVQUFBO1FBQ0E7TUFDQTtRQUNBUDtRQUNBQTtVQUFBTTtVQUFBQztRQUFBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxMDguanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3IGNsYXNzPVwib3JkZXItcGFnZVwiPlxuXHRcdDx2aWV3IGNsYXNzPVwib3JkZXItcGFnZV9fbmF2XCIgOnN0eWxlPVwieyBwYWRkaW5nVG9wOiBzdGF0dXNCYXJIZWlnaHQgKyAncHgnIH1cIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItcGFnZV9fbmF2LWlubmVyXCI+XG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItcGFnZV9fbmF2LXRpdGxlXCI+5oiR55qE6K6i5Y2VPC90ZXh0PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblxuXHRcdDx2aWV3IGNsYXNzPVwib3JkZXItcGFnZV9fc2VhcmNoXCIgOnN0eWxlPVwieyB0b3A6IG5hdkhlaWdodCArICdweCcgfVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1wYWdlX19zZWFyY2gtYm94XCI+XG5cdFx0XHRcdDx1LWljb24gbmFtZT1cInNlYXJjaFwiIGNvbG9yPVwiIzk5OTk5OVwiIHNpemU9XCIyOFwiPjwvdS1pY29uPlxuXHRcdFx0XHQ8aW5wdXQgY2xhc3M9XCJvcmRlci1wYWdlX19zZWFyY2gtaW5wdXRcIiB2LW1vZGVsPVwic2VhcmNoS2V5d29yZFwiIHBsYWNlaG9sZGVyPVwi6L6T5YWl5aeT5ZCN44CB55S16K+d44CB6K6i5Y2V57yW5Y+35pCc57SiXCIgcGxhY2Vob2xkZXItY2xhc3M9XCJvcmRlci1wYWdlX19zZWFyY2gtcGxhY2Vob2xkZXJcIiBAY29uZmlybT1cInNlYXJjaE9yZGVyXCIgLz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cblx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLXBhZ2VfX3RhYnNcIiA6c3R5bGU9XCJ7IHRvcDogKG5hdkhlaWdodCArIDQ0KSArICdweCcgfVwiPlxuXHRcdFx0PHZpZXcgdi1mb3I9XCJ0YWIgaW4gZGlzcGxheVRhYnNcIiA6a2V5PVwidGFiLnZhbHVlXCIgY2xhc3M9XCJvcmRlci1wYWdlX190YWJcIiA6Y2xhc3M9XCJ7ICdvcmRlci1wYWdlX190YWItLWFjdGl2ZSc6IGFjdGl2ZVRhYiA9PT0gdGFiLnZhbHVlIH1cIiBAY2xpY2s9XCJhY3RpdmVUYWIgPSB0YWIudmFsdWVcIj5cblx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1wYWdlX190YWItdGV4dFwiPnt7IHRhYi5sYWJlbCB9fTwvdGV4dD5cblx0XHRcdFx0PHZpZXcgdi1pZj1cImFjdGl2ZVRhYiA9PT0gdGFiLnZhbHVlXCIgY2xhc3M9XCJvcmRlci1wYWdlX190YWItbGluZVwiPjwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cblx0XHQ8c2Nyb2xsLXZpZXcgY2xhc3M9XCJvcmRlci1wYWdlX19ib2R5XCIgc2Nyb2xsLXkgOnN0eWxlPVwiYm9keVN0eWxlXCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLXBhZ2VfX2xpc3RcIj5cblx0XHRcdFx0PHZpZXcgdi1mb3I9XCIoaXRlbSwgaW5kZXgpIGluIG9yZGVyc1wiIDprZXk9XCJpdGVtLmlkXCIgY2xhc3M9XCJvcmRlci1jYXJkXCIgQGNsaWNrPVwiZ29Ub09yZGVyRGV0YWlsKGl0ZW0sIGluZGV4KVwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9faGVhZFwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9faGVhZC1sZWZ0XCI+XG5cdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJvcmRlci1jYXJkX19iYWRnZS1pY29uXCIgOnNyYz1cImdldEJhZGdlSWNvbihpdGVtKVwiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX3RpbWUtdGV4dFwiPuS4i+WNleaXtumXtO+8mnt7IGl0ZW0uY3JlYXRlVGltZSB9fTwvdGV4dD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX3N0YXR1c1wiIDpjbGFzcz1cInsgJ29yZGVyLWNhcmRfX3N0YXR1cy0taGlnaGxpZ2h0JzogaXRlbS5zdGF0dXMgPT09IDMgfHwgaXRlbS5zdGF0dXMgPT09IDQgfVwiPnt7IGdldFN0YXR1c1RleHQoaXRlbS5zdGF0dXMpIH19PC90ZXh0PlxuXHRcdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtaXRlbVwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19wb2ludCBvcmRlci1jYXJkX19wb2ludC0tcGlja3VwXCI+5Y+WPC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS10ZXh0c1wiPlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLXRpdGxlXCI+e3sgaXRlbS5kZXBvc2l0U2hvcE5hbWUgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtZGVzY1wiPnt7IGl0ZW0uZGVwb3NpdFNob3BBZGRyZXNzIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtaXRlbSBvcmRlci1jYXJkX19yb3V0ZS1pdGVtLS1kZWxpdmVyeVwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19wb2ludCBvcmRlci1jYXJkX19wb2ludC0tZGVsaXZlcnlcIj7pgIE8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLXRleHRzXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtdGl0bGVcIj57eyBpdGVtLnRha2VOYW1lIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLWRlc2NcIj57eyBpdGVtLnRha2VBZGRyZXNzIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fZm9vdGVyXCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX2Fycml2YWxcIj5cblx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwib3JkZXItY2FyZF9fY2xvY2tcIiBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2Nsb2NrQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX2Fycml2YWwtdGV4dFwiPuWJqeS9mXt7IGl0ZW0ucmVtYWluTWludXRlcyB9feWIhumSnzwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fcHJpY2Utd3JhcFwiPlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX3ByaWNlXCI+wqV7eyAoaXRlbS5kcml2ZXJGZWUgLyAxMDApLnRvRml4ZWQoMikgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdFx0PHZpZXcgdi1pZj1cImdldEFjdGlvbnMoaXRlbSkubGVuZ3RoXCIgY2xhc3M9XCJvcmRlci1jYXJkX19hY3Rpb25zXCI+XG5cdFx0XHRcdFx0XHQ8dmlldz48L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7ZmxleC13cmFwOiB3cmFwO2dhcDogMjBycHg7XCI+XG5cdFx0XHRcdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHRcdFx0XHR2LWZvcj1cImFjdGlvbiBpbiBnZXRBY3Rpb25zKGl0ZW0pXCJcblx0XHRcdFx0XHRcdFx0XHQ6a2V5PVwiYWN0aW9uLnRleHRcIlxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwib3JkZXItY2FyZF9fYWN0aW9uLWJ0blwiXG5cdFx0XHRcdFx0XHRcdFx0OmNsYXNzPVwiWydvcmRlci1jYXJkX19hY3Rpb24tYnRuLS0nICsgYWN0aW9uLnR5cGUsIHsgJ29yZGVyLWNhcmRfX2FjdGlvbi1idG4tLXByaW1hcnktZmlsbCc6IGFjdGlvbi5maWxsIH1dXCJcblx0XHRcdFx0XHRcdFx0XHRob3Zlci1jbGFzcz1cIm9yZGVyLWNhcmRfX2FjdGlvbi1idG4tLWhvdmVyXCJcblx0XHRcdFx0XHRcdFx0XHRAY2xpY2suc3RvcD1cImhhbmRsZUFjdGlvbihpdGVtLCBhY3Rpb24pXCJcblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdHt7IGFjdGlvbi50ZXh0IH19XG5cdFx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0PHZpZXcgdi1pZj1cIm9yZGVycy5sZW5ndGggPT09IDAgJiYgIWxvYWRpbmdcIiBjbGFzcz1cIm9yZGVyLXBhZ2VfX2VtcHR5XCI+XG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwib3JkZXItcGFnZV9fZW1wdHktaWNvblwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvZGVmYXVsdF9ub2RhdGFAMngucG5nXCIgbW9kZT1cImFzcGVjdEZpdFwiPjwvaW1hZ2U+XG5cdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHQ8dmlldyB2LWlmPVwibG9hZGluZ1wiIGNsYXNzPVwib3JkZXItcGFnZV9fbG9hZGluZ1wiPlxuXHRcdFx0XHRcdDx0ZXh0PuWKoOi9veS4rS4uLjwvdGV4dD5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvc2Nyb2xsLXZpZXc+XG5cblx0XHQ8dS1tb2RhbFxuXHRcdFx0OnNob3c9XCJzaG93Q2FuY2VsTW9kYWxcIlxuXHRcdFx0c2hvd0NhbmNlbEJ1dHRvblxuXHRcdFx0QGNhbmNlbD1cInNob3dDYW5jZWxNb2RhbCA9IGZhbHNlXCJcblx0XHRcdGNhbmNlbENvbG9yPVwiIzY2NjY2NlwiXG5cdFx0XHRjb25maXJtQ29sb3I9XCIjMDA1NUZGXCJcblx0XHRcdHRpdGxlPVwi5Y+W5raI6K6i5Y2V56Gu6K6kXCJcblx0XHRcdEBjb25maXJtPVwiY29uZmlybUNhbmNlbE9yZGVyXCI+XG5cdFx0XHQ8dmlldyBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtjb2xvcjogIzMzMzMzMztmb250LXNpemU6IDI4cnB4O2ZvbnQtd2VpZ2h0OiA0MDA7XCI+XG5cdFx0XHRcdOaCqOS7iuaXpei/mOWPr+WPlua2iCB7eyBjYW5jZWxSZW1haW4gfX0g5qyh6K6i5Y2V77yM5qyh5pWw55So5bC95ZCO5LuK5pel5bCG5peg5rOV5o6l5Y2V77yM5piv5ZCm56Gu6K6k5Y+W5raI77yfXG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC91LW1vZGFsPlxuXG5cdFx0PHUtcG9wdXAgOnNob3c9XCJzaG93UVJQb3B1cFwiIHJvdW5kPVwiMjBcIiBtb2RlPVwiYm90dG9tXCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cInFyY29kZVwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInFyY29kZS10aXRsZVwiPlxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2Nsb3NlQDJ4LnBuZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiIHN0eWxlPVwib3BhY2l0eTogMDtcIj48L2ltYWdlPlxuXHRcdFx0XHRcdDx0ZXh0Pnt7IHNlbGVjdGVkT3JkZXIgJiYgc2VsZWN0ZWRPcmRlci5zdGF0dXMgPT09IDQgPyAn5a2Y5Lu256CBJyA6ICflj5botKfnoIEnIH19PC90ZXh0PlxuXHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2Nsb3NlQDJ4LnBuZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiIEBjbGljaz1cInNob3dRUlBvcHVwID0gZmFsc2VcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicXJjb2RlLWltYWdlXCI+XG5cdFx0XHRcdFx0PGltYWdlIHYtaWY9XCJzZWxlY3RlZE9yZGVyICYmIHNlbGVjdGVkT3JkZXIuZHJpdmVyVmVyaWZ5Q29kZVwiIDpzcmM9XCInaHR0cHM6Ly9hcGkucXJzZXJ2ZXIuY29tL3YxL2NyZWF0ZS1xci1jb2RlLz9zaXplPTIwMHgyMDAmZGF0YT0nICsgc2VsZWN0ZWRPcmRlci5kcml2ZXJWZXJpZnlDb2RlXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInFyY29kZS1idG5cIiBob3Zlci1jbGFzcz1cInFyY29kZS1idG4tLWhvdmVyXCIgQGNsaWNrPVwic2hvd1FSUG9wdXAgPSBmYWxzZVwiPuWFs+mXrTwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3UtcG9wdXA+XG5cblx0XHQ8dS1wb3B1cCA6c2hvdz1cInNob3dQaG90b1BvcHVwXCIgcm91bmQ9XCIyMFwiIG1vZGU9XCJib3R0b21cIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaG90by1wb3B1cF9faGVhZGVyXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaG90by1wb3B1cF9fcGxhY2Vob2xkZXJcIj48L3ZpZXc+XG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJwaG90by1wb3B1cF9fdGl0bGVcIj57eyBwaG90b1BvcHVwVGl0bGUgfX08L3RleHQ+XG5cdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwicGhvdG8tcG9wdXBfX2Nsb3NlXCIgc3JjPVwiL3N0YXRpYy9pbWFnZS9pY19jbG9zZTJAMngucG5nXCIgbW9kZT1cImFzcGVjdEZpdFwiIEBjbGljaz1cImNsb3NlUGhvdG9Qb3B1cFwiPjwvaW1hZ2U+XG5cdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLXBvcHVwX19zZWN0aW9uXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaG90by1wb3B1cF9fbGFiZWwtcm93XCI+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInBob3RvLXBvcHVwX19sYWJlbFwiPnt7IHBob3RvUG9wdXBMYWJlbCB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGhvdG8tcG9wdXBfX3JlcXVpcmVkXCI+KjwvdGV4dD5cblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGhvdG8tcG9wdXBfX2hpbnRcIj7mnIDlpJoz5byg54Wn54mHPC90ZXh0PlxuXHRcdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBfX3Bob3Rvc1wiPlxuXHRcdFx0XHRcdFx0PHZpZXcgdi1mb3I9XCIocGhvdG8sIGluZGV4KSBpbiB1cGxvYWRlZFBob3Rvc1wiIDprZXk9XCJpbmRleFwiIGNsYXNzPVwicGhvdG8tcG9wdXBfX3ByZXZpZXctY2FyZFwiPlxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJwaG90by1wb3B1cF9fcHJldmlldy1pbWFnZVwiIDpzcmM9XCJwaG90b1wiIG1vZGU9XCJhc3BlY3RGaWxsXCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaG90by1wb3B1cF9fcHJldmlldy1tYXNrXCIgQGNsaWNrPVwiZGVsZXRlUGhvdG8oaW5kZXgpXCI+XG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJwaG90by1wb3B1cF9fcHJldmlldy1kZWxldGVcIj7liKDpmaQ8L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJ1cGxvYWRlZFBob3Rvcy5sZW5ndGggPCAzXCIgY2xhc3M9XCJwaG90by1wb3B1cF9fdXBsb2FkLWJ0blwiIEBjbGljaz1cImNob29zZVBob3RvXCI+XG5cdFx0XHRcdFx0XHRcdDxpbWFnZSBzcmM9XCIvc3RhdGljL2ltYWdlL2J0bl91cGxvYWQyQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBfX3NlY3Rpb24gcGhvdG8tcG9wdXBfX3NlY3Rpb24tLXJlbWFya1wiPlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGhvdG8tcG9wdXBfX3JlbWFyay10aXRsZVwiPuWkh+azqOS/oeaBrzwvdGV4dD5cblx0XHRcdFx0XHQ8dGV4dGFyZWEgdi1tb2RlbD1cInBob3RvUmVtYXJrXCIgY2xhc3M9XCJwaG90by1wb3B1cF9fdGV4dGFyZWFcIiBtYXhsZW5ndGg9XCIyMDBcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiIHBsYWNlaG9sZGVyLXN0eWxlPVwiY29sb3I6ICNjN2NiZDM7XCIgLz5cblx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdDxidXR0b24gY2xhc3M9XCJwaG90by1wb3B1cF9fc3VibWl0XCIgaG92ZXItY2xhc3M9XCJwaG90by1wb3B1cF9fc3VibWl0LS1ob3ZlclwiIEBjbGljaz1cInN1Ym1pdFBob3RvUG9wdXBcIj57eyBwaG90b1BvcHVwU3VibWl0VGV4dCB9fTwvYnV0dG9uPlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdS1wb3B1cD5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblx0ZXhwb3J0IGRlZmF1bHQge1xuXHRcdGRhdGEoKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRzdGF0dXNCYXJIZWlnaHQ6IDAsXG5cdFx0XHRcdG5hdkhlaWdodDogMCxcblx0XHRcdFx0YWN0aXZlVGFiOiBudWxsLFxuXHRcdFx0XHRzZWFyY2hLZXl3b3JkOiAnJyxcblx0XHRcdFx0dGFiczogW1xuXHRcdFx0XHRcdHsgbGFiZWw6ICflhajpg6gnLCB2YWx1ZTogbnVsbCB9LFxuXHRcdFx0XHRcdHsgbGFiZWw6ICflvoXlj5botKcnLCB2YWx1ZTogMyB9LFxuXHRcdFx0XHRcdHsgbGFiZWw6ICfphY3pgIHkuK0nLCB2YWx1ZTogNCB9LFxuXHRcdFx0XHRcdHsgbGFiZWw6ICflt7LlrozmiJAnLCB2YWx1ZTogNyB9XG5cdFx0XHRcdF0sXG5cdFx0XHRcdG9yZGVyczogW10sXG5cdFx0XHRcdHBhZ2U6IDEsXG5cdFx0XHRcdGhhc01vcmU6IHRydWUsXG5cdFx0XHRcdGxvYWRpbmc6IGZhbHNlLFxuXHRcdFx0XHRzaG93Q2FuY2VsTW9kYWw6IGZhbHNlLFxuXHRcdFx0XHRzaG93UVJQb3B1cDogZmFsc2UsXG5cdFx0XHRcdHNob3dQaG90b1BvcHVwOiBmYWxzZSxcblx0XHRcdFx0c2VsZWN0ZWRPcmRlcjogbnVsbCxcblx0XHRcdFx0Y2FuY2VsUmVtYWluOiAwLFxuXHRcdFx0XHRwaG90b1BvcHVwTW9kZTogJycsXG5cdFx0XHRcdHBob3RvUmVtYXJrOiAnJyxcblx0XHRcdFx0dXBsb2FkZWRQaG90b3M6IFtdLFxuXHRcdFx0XHRhY3RpdmVPcmRlckNvdW50OiBudWxsXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRjb21wdXRlZDoge1xuXHRcdFx0ZGlzcGxheVRhYnMoKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnRhYnMubWFwKCh0YWIpID0+IHtcblx0XHRcdFx0XHRsZXQgY291bnQgPSBudWxsXG5cdFx0XHRcdFx0aWYgKHRhYi52YWx1ZSA9PT0gMykge1xuXHRcdFx0XHRcdFx0Y291bnQgPSB0aGlzLmFjdGl2ZU9yZGVyQ291bnQ/LmdyYWJiZWRDb3VudFxuXHRcdFx0XHRcdH0gZWxzZSBpZiAodGFiLnZhbHVlID09PSA0KSB7XG5cdFx0XHRcdFx0XHRjb3VudCA9IHRoaXMuYWN0aXZlT3JkZXJDb3VudD8uZGVsaXZlcmluZ0NvdW50XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChjb3VudCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdFx0Li4udGFiLFxuXHRcdFx0XHRcdFx0XHRsYWJlbDogYCR7dGFiLmxhYmVsfSAke2NvdW50fWBcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0cmV0dXJuIHRhYlxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0Ym9keVN0eWxlKCkge1xuXHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdG1hcmdpblRvcDogdGhpcy5uYXZIZWlnaHQgKyB1bmkudXB4MnB4KDg4KSArIHVuaS51cHgycHgoODgpICsgJ3B4Jyxcblx0XHRcdFx0XHRoZWlnaHQ6IGBjYWxjKDEwMHZoIC0gJHt0aGlzLm5hdkhlaWdodCArIHVuaS51cHgycHgoODgpICsgdW5pLnVweDJweCg3Mil9cHgpYFxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0cGhvdG9Qb3B1cFRpdGxlKCkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy5waG90b1BvcHVwTW9kZSA9PT0gJ2RlbGl2ZXInID8gJ+aLjeeFp+mAgei+vicgOiAn5ouN54Wn5Y+W6LSnJ1xuXHRcdFx0fSxcblx0XHRcdHBob3RvUG9wdXBMYWJlbCgpIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMucGhvdG9Qb3B1cE1vZGUgPT09ICdkZWxpdmVyJyA/ICfmi43mkYTpgIHovr7nhafniYcnIDogJ+aLjeaRhOWPlui0p+eFp+eJhydcblx0XHRcdH0sXG5cdFx0XHRwaG90b1BvcHVwU3VibWl0VGV4dCgpIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMucGhvdG9Qb3B1cE1vZGUgPT09ICdkZWxpdmVyJyA/ICfnoa7orqTpgIHovr4nIDogJ+ehruiupOWPlui0pydcblx0XHRcdH1cblx0XHR9LFxuXHRcdG9uTG9hZCgpIHtcblx0XHRcdGNvbnN0IHN5c3RlbUluZm8gPSB1bmkuZ2V0U3lzdGVtSW5mb1N5bmMoKVxuXHRcdFx0dGhpcy5zdGF0dXNCYXJIZWlnaHQgPSBzeXN0ZW1JbmZvLnN0YXR1c0JhckhlaWdodCB8fCAwXG5cdFx0XHR0aGlzLm5hdkhlaWdodCA9IHRoaXMuc3RhdHVzQmFySGVpZ2h0ICsgdW5pLnVweDJweCg4OClcblx0XHRcdHRoaXMuZ2V0T3JkZXJMaXN0KClcblx0XHR9LFxuXHRcdG9uU2hvdygpIHtcblx0XHRcdHRoaXMuZ2V0QWN0aXZlT3JkZXJDb3VudCgpXG5cdFx0fSxcblx0XHRvblJlYWNoQm90dG9tKCkge1xuXHRcdFx0aWYgKCF0aGlzLmhhc01vcmUgfHwgdGhpcy5sb2FkaW5nKSByZXR1cm5cblx0XHRcdHRoaXMucGFnZSsrXG5cdFx0XHR0aGlzLmdldE9yZGVyTGlzdCgpXG5cdFx0fSxcblx0XHR3YXRjaDoge1xuXHRcdFx0YWN0aXZlVGFiKCkge1xuXHRcdFx0XHR0aGlzLnBhZ2UgPSAxXG5cdFx0XHRcdHRoaXMuaGFzTW9yZSA9IHRydWVcblx0XHRcdFx0dGhpcy5vcmRlcnMgPSBbXVxuXHRcdFx0XHR0aGlzLmdldE9yZGVyTGlzdCgpXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRtZXRob2RzOiB7XG5cdFx0XHRzZWFyY2hPcmRlcigpIHtcblx0XHRcdFx0dGhpcy5wYWdlID0gMVxuXHRcdFx0XHR0aGlzLmhhc01vcmUgPSB0cnVlXG5cdFx0XHRcdHRoaXMub3JkZXJzID0gW11cblx0XHRcdFx0dGhpcy5nZXRPcmRlckxpc3QoKVxuXHRcdFx0fSxcblx0XHRcdGdldEFjdGl2ZU9yZGVyQ291bnQoKSB7XG5cdFx0XHRcdHRoaXMuJHUuYXBpLmFjdGl2ZU9yZGVyQ291bnQoKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHRoaXMuYWN0aXZlT3JkZXJDb3VudCA9IHJlcy5kYXRhXG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHRoaXMuYWN0aXZlT3JkZXJDb3VudCA9IG51bGxcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLmFjdGl2ZU9yZGVyQ291bnQgPSBudWxsXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0Z2V0QmFkZ2VJY29uKGl0ZW0pIHtcblx0XHRcdFx0cmV0dXJuIGl0ZW0uaXNVcmdlbnQgPyAnL3N0YXRpYy9pbWFnZS9pY19qaXN1ZGFAMngucG5nJyA6ICcvc3RhdGljL2ltYWdlL2ljX2JpYW9zdWRhQDJ4LnBuZydcblx0XHRcdH0sXG5cdFx0XHRnZXRTdGF0dXNUZXh0KHN0YXR1cykge1xuXHRcdFx0XHRjb25zdCBtYXAgPSB7XG5cdFx0XHRcdFx0MjogJ+W+heaOpeWNlScsXG5cdFx0XHRcdFx0MzogJ+W+heWPlui0pycsXG5cdFx0XHRcdFx0NDogJ+mFjemAgeS4rScsXG5cdFx0XHRcdFx0NTogJ+W3sumAgei+vicsXG5cdFx0XHRcdFx0NzogJ+W3suWujOaIkCcsXG5cdFx0XHRcdFx0OTk6ICflt7Llj5bmtognXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG1hcFtzdGF0dXNdIHx8ICcnXG5cdFx0XHR9LFxuXHRcdFx0Z2V0QWN0aW9ucyhpdGVtKSB7XG5cdFx0XHRcdGlmIChpdGVtLnN0YXR1cyA9PT0gMykge1xuXHRcdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICflj5bmtojorqLljZUnLCB0eXBlOiAnbGlnaHQnLCBmaWxsOiBmYWxzZSB9LFxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAn5Y+W6LSn56CBJywgdHlwZTogJ3ByaW1hcnknLCBmaWxsOiBmYWxzZSB9LFxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAn5ouN54Wn5Y+W6LSnJywgdHlwZTogJ3ByaW1hcnknLCBmaWxsOiB0cnVlIH1cblx0XHRcdFx0XHRdXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKGl0ZW0uc3RhdHVzID09PSA0ICYmIGl0ZW0udGFrZVNob3BJZCkge1xuXHRcdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICflrZjku7bnoIEnLCB0eXBlOiAncHJpbWFyeScsIGZpbGw6IGZhbHNlIH1cblx0XHRcdFx0XHRdXG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKGl0ZW0uc3RhdHVzID09PSA0ICYmICFpdGVtLnRha2VTaG9wSWQpIHtcblx0XHRcdFx0XHRyZXR1cm4gW1xuXHRcdFx0XHRcdFx0eyB0ZXh0OiAn5ouN54Wn6YCB6L6+JywgdHlwZTogJ3ByaW1hcnknLCBmaWxsOiB0cnVlIH1cblx0XHRcdFx0XHRdXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIFtdXG5cdFx0XHR9LFxuXHRcdFx0Z2V0T3JkZXJMaXN0KCkge1xuXHRcdFx0XHRpZiAodGhpcy5sb2FkaW5nKSByZXR1cm5cblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZVxuXHRcdFx0XHR0aGlzLiR1LmFwaS5vcmRlclBhZ2Uoe1xuXHRcdFx0XHRcdGNhcGFjaXR5OiAxMCxcblx0XHRcdFx0XHRwYWdlOiB0aGlzLnBhZ2UsXG5cdFx0XHRcdFx0bW9kZWw6IHtcblx0XHRcdFx0XHRcdHN0YXR1czogdGhpcy5hY3RpdmVUYWIsXG5cdFx0XHRcdFx0XHRrZXl3b3JkOiB0aGlzLnNlYXJjaEtleXdvcmRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0Y29uc3QgbGlzdCA9IHJlcy5kYXRhLnJlY29yZHMgfHwgW11cblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGxpc3QpXG5cdFx0XHRcdFx0XHRpZiAodGhpcy5wYWdlID09PSAxKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMub3JkZXJzID0gbGlzdFxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5vcmRlcnMgPSBbLi4udGhpcy5vcmRlcnMsIC4uLmxpc3RdXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR0aGlzLmhhc01vcmUgPSBsaXN0Lmxlbmd0aCA+PSAxMFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkuZmluYWxseSgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2Vcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRnb1RvT3JkZXJEZXRhaWwoaXRlbSwgaW5kZXgpIHtcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdHVybDogYC9wYWdlcy9vcmRlci1kZXRhaWwvb3JkZXItZGV0YWlsP2lkPSR7aXRlbS5pZH1gXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0aGFuZGxlQWN0aW9uKGl0ZW0sIGFjdGlvbikge1xuXHRcdFx0XHRjb25zdCB0ZXh0ID0gYWN0aW9uLnRleHRcblx0XHRcdFx0aWYgKHRleHQgPT09ICflj5bmtojorqLljZUnKSB7XG5cdFx0XHRcdFx0dGhpcy5oYW5kbGVDYW5jZWxPcmRlcihpdGVtKVxuXHRcdFx0XHR9IGVsc2UgaWYgKHRleHQgPT09ICflj5botKfnoIEnIHx8IHRleHQgPT09ICflrZjku7bnoIEnKSB7XG5cdFx0XHRcdFx0dGhpcy5oYW5kbGVTaG93UVJDb2RlKGl0ZW0pXG5cdFx0XHRcdH0gZWxzZSBpZiAodGV4dCA9PT0gJ+aLjeeFp+WPlui0pycpIHtcblx0XHRcdFx0XHR0aGlzLmhhbmRsZVBob3RvUGlja3VwKGl0ZW0pXG5cdFx0XHRcdH0gZWxzZSBpZiAodGV4dCA9PT0gJ+aLjeeFp+mAgei+vicpIHtcblx0XHRcdFx0XHR0aGlzLmhhbmRsZVBob3RvRGVsaXZlcihpdGVtKVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aGFuZGxlQ2FuY2VsT3JkZXIoaXRlbSkge1xuXHRcdFx0XHR0aGlzLnNlbGVjdGVkT3JkZXIgPSBpdGVtXG5cdFx0XHRcdHRoaXMuJHUuYXBpLmNhbmNlbExpbWl0KCkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmNhbmNlbFJlbWFpbiA9IHJlcy5kYXRhLnJlbWFpblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkuZmluYWxseSgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93Q2FuY2VsTW9kYWwgPSB0cnVlXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0Y29uZmlybUNhbmNlbE9yZGVyKCkge1xuXHRcdFx0XHRpZiAoIXRoaXMuc2VsZWN0ZWRPcmRlcikgcmV0dXJuXG5cdFx0XHRcdHRoaXMuJHUuYXBpLmNhbmNlbE9yZGVyKHsgb3JkZXJJZDogdGhpcy5zZWxlY3RlZE9yZGVyLmlkIH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR0aGlzLnNob3dDYW5jZWxNb2RhbCA9IGZhbHNlXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+WPlua2iOaIkOWKnycsIGljb246ICdzdWNjZXNzJyB9KVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRPcmRlckxpc3QoKVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVPcmRlckNvdW50KClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiByZXMubWVzc2FnZSB8fCAn5Y+W5raI5aSx6LSlJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93Q2FuY2VsTW9kYWwgPSBmYWxzZVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGhhbmRsZVNob3dRUkNvZGUoaXRlbSkge1xuXHRcdFx0XHR0aGlzLnNlbGVjdGVkT3JkZXIgPSBpdGVtXG5cdFx0XHRcdHRoaXMuc2hvd1FSUG9wdXAgPSB0cnVlXG5cdFx0XHR9LFxuXHRcdFx0aGFuZGxlUGhvdG9QaWNrdXAoaXRlbSkge1xuXHRcdFx0XHR0aGlzLmNoZWNrT3BlcmF0aW9uUmFkaXVzKGl0ZW0uaWQsICdwaWNrdXAnKVxuXHRcdFx0fSxcblx0XHRcdGhhbmRsZVBob3RvRGVsaXZlcihpdGVtKSB7XG5cdFx0XHRcdHRoaXMuY2hlY2tPcGVyYXRpb25SYWRpdXMoaXRlbS5pZCwgJ2RlbGl2ZXInKVxuXHRcdFx0fSxcblx0XHRcdGNoZWNrT3BlcmF0aW9uUmFkaXVzKG9yZGVySWQsIG1vZGUpIHtcblx0XHRcdFx0dW5pLmdldExvY2F0aW9uKHtcblx0XHRcdFx0XHR0eXBlOiAnZ2NqMDInLFxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMuJHUuYXBpLmNoZWNrRHJpdmVyT3BlcmF0aW9uUmFkaXVzKHtcblx0XHRcdFx0XHRcdFx0bGF0OiByZXMubGF0aXR1ZGUsXG5cdFx0XHRcdFx0XHRcdGxuZzogcmVzLmxvbmdpdHVkZSxcblx0XHRcdFx0XHRcdFx0b3JkZXJJZDogb3JkZXJJZFxuXHRcdFx0XHRcdFx0fSkudGhlbihhcGlSZXMgPT4ge1xuXHRcdFx0XHRcdFx0XHRpZiAoYXBpUmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGFwaVJlcy5kYXRhKVxuXHRcdFx0XHRcdFx0XHRcdGlmIChhcGlSZXMuZGF0YSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5zZWxlY3RlZE9yZGVyID0geyBpZDogb3JkZXJJZCB9XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnBob3RvUG9wdXBNb2RlID0gbW9kZVxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy51cGxvYWRlZFBob3RvcyA9IFtdXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnBob3RvUmVtYXJrID0gJydcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuc2hvd1Bob3RvUG9wdXAgPSB0cnVlXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aCqOW9k+WJjeS9jee9ruS4juaUtui0p+WcsOWdgOi3neemu+i2heWHuuiMg+WbtO+8jOivt+WcqOWcsOWdgOmZhOi/kemHjeaWsOaLjeeFpycsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRmYWlsOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfml6Dms5Xojrflj5bmgqjnmoTkvY3nva7kv6Hmga8nLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGNsb3NlUGhvdG9Qb3B1cCgpIHtcblx0XHRcdFx0dGhpcy5zaG93UGhvdG9Qb3B1cCA9IGZhbHNlXG5cdFx0XHR9LFxuXHRcdFx0Y2hvb3NlUGhvdG8oKSB7XG5cdFx0XHRcdGlmICh0aGlzLnVwbG9hZGVkUGhvdG9zLmxlbmd0aCA+PSAzKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5pyA5aSa5LiK5LygM+W8oOeFp+eJhycsIGljb246ICdub25lJyB9KVxuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cdFx0XHRcdHVuaS5jaG9vc2VJbWFnZSh7XG5cdFx0XHRcdFx0Y291bnQ6IDMgLSB0aGlzLnVwbG9hZGVkUGhvdG9zLmxlbmd0aCxcblx0XHRcdFx0XHRzb3VyY2VUeXBlOiBbJ2NhbWVyYScsICdhbGJ1bSddLFxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMudXBsb2FkZWRQaG90b3MgPSBbLi4udGhpcy51cGxvYWRlZFBob3RvcywgLi4ucmVzLnRlbXBGaWxlUGF0aHNdXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGRlbGV0ZVBob3RvKGluZGV4KSB7XG5cdFx0XHRcdHRoaXMudXBsb2FkZWRQaG90b3Muc3BsaWNlKGluZGV4LCAxKVxuXHRcdFx0fSxcblx0XHRcdHN1Ym1pdFBob3RvUG9wdXAoKSB7XG5cdFx0XHRcdGlmICh0aGlzLnVwbG9hZGVkUGhvdG9zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+ivt+S4iuS8oOeFp+eJhycsIGljb246ICdub25lJyB9KVxuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7IHRpdGxlOiAn5LiK5Lyg5LitLi4uJyB9KVxuXHRcdFx0XHR1bmkuZ2V0TG9jYXRpb24oe1xuXHRcdFx0XHRcdHR5cGU6ICdnY2owMicsXG5cdFx0XHRcdFx0c3VjY2VzczogKGxvY2F0aW9uUmVzKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLmRvVXBsb2FkUGhvdG9zKGxvY2F0aW9uUmVzLmxhdGl0dWRlLCBsb2NhdGlvblJlcy5sb25naXR1ZGUpXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRmYWlsOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLmRvVXBsb2FkUGhvdG9zKG51bGwsIG51bGwpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0ZG9VcGxvYWRQaG90b3MobGF0aXR1ZGUsIGxvbmdpdHVkZSkge1xuXHRcdFx0XHRjb25zdCB1cGxvYWRUYXNrcyA9IHRoaXMudXBsb2FkZWRQaG90b3MubWFwKHBhdGggPT4ge1xuXHRcdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBmb3JtRGF0YSA9IHsgZm9sZGVyOiAnb3JkZXJzJyB9XG5cdFx0XHRcdFx0XHRpZiAobGF0aXR1ZGUgJiYgbG9uZ2l0dWRlKSB7XG5cdFx0XHRcdFx0XHRcdGZvcm1EYXRhLmxhdGl0dWRlID0gbGF0aXR1ZGVcblx0XHRcdFx0XHRcdFx0Zm9ybURhdGEubG9uZ2l0dWRlID0gbG9uZ2l0dWRlXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnZm9ybURhdGE6JywgZm9ybURhdGEpXG5cdFx0XHRcdFx0XHR1bmkudXBsb2FkRmlsZSh7XG5cdFx0XHRcdFx0XHRcdHVybDogdGhpcy4kYmFzZVVybCArICd3ZWIvcHVibGljL3VwbG9hZCcsXG5cdFx0XHRcdFx0XHRcdGZpbGVQYXRoOiBwYXRoLFxuXHRcdFx0XHRcdFx0XHRuYW1lOiAnZmlsZScsXG5cdFx0XHRcdFx0XHRcdGZvcm1EYXRhOiBmb3JtRGF0YSxcblx0XHRcdFx0XHRcdFx0c3VjY2VzczogKHVwbG9hZFJlcykgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKHVwbG9hZFJlcy5kYXRhKVxuXHRcdFx0XHRcdFx0XHRcdGlmIChkYXRhLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShkYXRhLmRhdGEpXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJlamVjdChuZXcgRXJyb3IoZGF0YS5tc2cpKVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0ZmFpbDogKGVycikgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdHJlamVjdChlcnIpXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSlcblxuXHRcdFx0XHRQcm9taXNlLmFsbCh1cGxvYWRUYXNrcykudGhlbihpbWFnZXMgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IGFwaSA9IHRoaXMucGhvdG9Qb3B1cE1vZGUgPT09ICdkZWxpdmVyJyA/ICdjb25maXJtRGVsaXZlcicgOiAnY29uZmlybVBpY2t1cCdcblx0XHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XG5cdFx0XHRcdFx0XHRpbWFnZXM6IGltYWdlcy5tYXAoaW1nID0+IGltZy5pbWdhZGRyKSxcblx0XHRcdFx0XHRcdG9yZGVySWQ6IHRoaXMuc2VsZWN0ZWRPcmRlci5pZCxcblx0XHRcdFx0XHRcdHJlbWFyazogdGhpcy5waG90b1JlbWFya1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAobGF0aXR1ZGUgJiYgbG9uZ2l0dWRlKSB7XG5cdFx0XHRcdFx0XHRwYXJhbXMubGF0aXR1ZGUgPSBsYXRpdHVkZVxuXHRcdFx0XHRcdFx0cGFyYW1zLmxvbmdpdHVkZSA9IGxvbmdpdHVkZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdGhpcy4kdS5hcGlbYXBpXShwYXJhbXMpXG5cdFx0XHRcdH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfmj5DkuqTmiJDlip8nLCBpY29uOiAnc3VjY2VzcycgfSlcblx0XHRcdFx0XHRcdHRoaXMuc2hvd1Bob3RvUG9wdXAgPSBmYWxzZVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRPcmRlckxpc3QoKVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVPcmRlckNvdW50KClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiByZXMubXNnIHx8ICfmj5DkuqTlpLHotKUnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKClcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6IGVyci5tZXNzYWdlIHx8ICfkuIrkvKDlpLHotKUnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHR9XG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG5cdC5vcmRlci1wYWdlIHtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdGJhY2tncm91bmQ6ICNmNWY3ZmI7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdCZfX25hdiB7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxZjczZjYgMCUsICMxYjZjZjIgMTAwJSk7XG5cdFx0fVxuXG5cdFx0Jl9fbmF2LWlubmVyIHtcblx0XHRcdGhlaWdodDogODhycHg7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IDAgMjhycHg7XG5cdFx0fVxuXG5cdFx0Jl9fbmF2LXRpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogMzhycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0fVxuXG5cdFx0Jl9fc2VhcmNoIHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0aGVpZ2h0OiA4OHJweDtcblx0XHRcdHBhZGRpbmc6IDhycHggMzBycHg7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdH1cblxuXHRcdCZfX3NlYXJjaC1ib3gge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDcycnB4O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nOiAwIDI0cnB4O1xuXHRcdFx0YmFja2dyb3VuZDogI0VFRUVFRTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDE2cnB4O1xuXHRcdH1cblxuXHRcdCZfX3NlYXJjaC1pbnB1dCB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0aGVpZ2h0OiA3MnJweDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMnJweDtcblx0XHRcdGNvbG9yOiAjMzMzMzMzO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0fVxuXG5cdFx0Jl9fc2VhcmNoLXBsYWNlaG9sZGVyIHtcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0XHRjb2xvcjogIzk5OTk5OTtcblx0XHR9XG5cblx0XHQmX190YWJzIHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHotaW5kZXg6IDk7XG5cdFx0XHRoZWlnaHQ6IDg4cnB4O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAxMHJweCAyMHJweCByZ2JhKDQwLCA3MiwgMTI4LCAwLjA0KTtcblx0XHR9XG5cblx0XHQmX190YWIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdCYtLWFjdGl2ZSB7XG5cdFx0XHRcdC5vcmRlci1wYWdlX190YWItdGV4dCB7XG5cdFx0XHRcdFx0Y29sb3I6ICMyNzJiMzM7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3RhYi10ZXh0IHtcblx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XG5cdFx0XHRjb2xvcjogIzhmOTZhMztcblx0XHR9XG5cblx0XHQmX190YWItbGluZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAyNnJweDtcblx0XHRcdHJpZ2h0OiAyNnJweDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGhlaWdodDogNHJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDk5OXJweDtcblx0XHRcdGJhY2tncm91bmQ6ICMxYTczZjg7XG5cdFx0fVxuXG5cdFx0Jl9fYm9keSB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdH1cblxuXHRcdCZfX2xpc3Qge1xuXHRcdFx0cGFkZGluZzogMThycHggMjJycHggY2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgKyAyNnJweCk7XG5cdFx0fVxuXG5cdFx0Jl9fZW1wdHkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nLXRvcDogMjAwcnB4O1xuXHRcdH1cblxuXHRcdCZfX2VtcHR5LWljb24ge1xuXHRcdFx0d2lkdGg6IDMyMHJweDtcblx0XHRcdGhlaWdodDogMzIwcnB4O1xuXHRcdH1cblxuXHRcdCZfX2xvYWRpbmcge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IDMwcnB4IDA7XG5cdFx0XHRjb2xvcjogIzhmOTZhMztcblx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0fVxuXHR9XG5cblx0Lm9yZGVyLWNhcmQge1xuXHRcdG1hcmdpbi1ib3R0b206IDE4cnB4O1xuXHRcdHBhZGRpbmc6IDIwcnB4IDE4cnB4IDE4cnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xuXHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0Ym94LXNoYWRvdzogMCA4cnB4IDIwcnB4IHJnYmEoNDMsIDY1LCAxMDYsIDAuMDUpO1xuXG5cdFx0Jl9faGVhZCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cblx0XHQmX19oZWFkLWxlZnQge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDEycnB4O1xuXHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdH1cblxuXHRcdCZfX2JhZGdlIHtcblx0XHRcdHBhZGRpbmc6IDRycHggMTBycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHJweDtcblx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHRcdFx0Ji0tYmx1ZSB7XG5cdFx0XHRcdGJvcmRlcjogMXJweCBzb2xpZCAjNzVjZmZmO1xuXHRcdFx0XHRjb2xvcjogIzI3YThmODtcblx0XHRcdFx0YmFja2dyb3VuZDogI2VlZmFmZjtcblx0XHRcdH1cblxuXHRcdFx0Ji0tcmVkIHtcblx0XHRcdFx0Ym9yZGVyOiAxcnB4IHNvbGlkICNmZjhmOGY7XG5cdFx0XHRcdGNvbG9yOiAjZmY1ZDVkO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmMWYxO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2JhZGdlLWljb24ge1xuXHRcdFx0d2lkdGg6IDEwOHJweDtcblx0XHRcdGhlaWdodDogNDBycHg7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cblx0XHQmX190aW1lLXRleHQsXG5cdFx0Jl9fc3RhdHVzLFxuXHRcdCZfX3JvdXRlLWRlc2MsXG5cdFx0Jl9fYXJyaXZhbC10ZXh0IHtcblx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRjb2xvcjogI2ExYTdiMjtcblx0XHR9XG5cblx0XHQmX19zdGF0dXMge1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cblx0XHRcdCYtLWhpZ2hsaWdodCB7XG5cdFx0XHRcdGNvbG9yOiAjZmY0YTNkO1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3JvdXRlLWl0ZW0ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0bWFyZ2luLXRvcDogMjJycHg7XG5cblx0XHRcdCYtLWRlbGl2ZXJ5IHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fcG9pbnQge1xuXHRcdFx0d2lkdGg6IDM0cnB4O1xuXHRcdFx0aGVpZ2h0OiAzNHJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAzNHJweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogMTZycHg7XG5cblx0XHRcdCYtLXBpY2t1cCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMyYWI4ZmY7XG5cdFx0XHR9XG5cblx0XHRcdCYtLWRlbGl2ZXJ5IHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmOWQyZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19yb3V0ZS10ZXh0cyB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdH1cblxuXHRcdCZfX3JvdXRlLXRpdGxlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiAzNHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogIzJkMzEzOTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtZGVzYyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi10b3A6IDhycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdH1cblxuXHRcdCZfX2Zvb3RlciB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdG1hcmdpbi10b3A6IDIycnB4O1xuXHRcdFx0cGFkZGluZy10b3A6IDE2cnB4O1xuXHRcdFx0Ym9yZGVyLXRvcDogMXJweCBzb2xpZCAjZjBmMmY2O1xuXHRcdH1cblxuXHRcdCZfX2Fycml2YWwge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDEwcnB4O1xuXHRcdH1cblxuXHRcdCZfX2Nsb2NrIHtcblx0XHRcdHdpZHRoOiAyNHJweDtcblx0XHRcdGhlaWdodDogMjRycHg7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cblx0XHQmX19wcmljZS13cmFwIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAxMHJweDtcblx0XHR9XG5cblx0XHQmX19wcmljZS10YWcge1xuXHRcdFx0cGFkZGluZzogM3JweCA4cnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOHJweDtcblx0XHRcdGJvcmRlcjogMXJweCBzb2xpZCAjZmY4ZjhmO1xuXHRcdFx0Zm9udC1zaXplOiAyMnJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRjb2xvcjogI2ZmNmE2YTtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY0ZjQ7XG5cdFx0fVxuXG5cdFx0Jl9fcHJpY2Uge1xuXHRcdFx0Zm9udC1zaXplOiA0MHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogI2ZmNDAzMDtcblx0XHR9XG5cblx0XHQmX19hY3Rpb25zIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRtYXJnaW4tdG9wOiAxOHJweDtcblx0XHRcdHBhZGRpbmctdG9wOiAxOHJweDtcblx0XHRcdGJvcmRlci10b3A6IDFycHggc29saWQgI2YwZjJmNjtcblx0XHR9XG5cblx0XHQmX19hY3Rpb24tYnRuIHtcblx0XHRcdHdpZHRoOiAxNjBycHg7XG5cdFx0XHRoZWlnaHQ6IDY0cnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDY0cnB4O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDM0cnB4O1xuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRib3JkZXI6IDFycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCYtLWxpZ2h0IHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjZDdkYmUzO1xuXHRcdFx0XHRjb2xvcjogIzhmOTZhMztcblx0XHRcdH1cblxuXHRcdFx0Ji0tcHJpbWFyeSB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogIzJjN2NmZjtcblx0XHRcdFx0Y29sb3I6ICMyYzdjZmY7XG5cdFx0XHR9XG5cblx0XHRcdCYtLXByaW1hcnktZmlsbCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMyYzdjZmY7XG5cdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1ob3ZlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbi5xcmNvZGUge1xuXHRwYWRkaW5nOiAzMHJweCA0MHJweCA1MHJweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQmLXRpdGxlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcnB4O1xuXG5cdFx0aW1hZ2Uge1xuXHRcdFx0d2lkdGg6IDQwcnB4O1xuXHRcdFx0aGVpZ2h0OiA0MHJweDtcblx0XHR9XG5cblx0XHR0ZXh0IHtcblx0XHRcdGZvbnQtc2l6ZTogMzRycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICMyZDMxMzk7XG5cdFx0fVxuXHR9XG5cblx0Ji1pbWFnZSB7XG5cdFx0d2lkdGg6IDQwMHJweDtcblx0XHRoZWlnaHQ6IDQwMHJweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTZycHg7XG5cblx0XHRpbWFnZSB7XG5cdFx0XHR3aWR0aDogMzYwcnB4O1xuXHRcdFx0aGVpZ2h0OiAzNjBycHg7XG5cdFx0fVxuXHR9XG5cblx0Ji1idG4ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogODhycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDg4cnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiAjMTA2RUZBO1xuXHRcdGJvcmRlci1yYWRpdXM6IDQ0cnB4O1xuXHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRtYXJnaW4tdG9wOiA0MHJweDtcblxuXHRcdCYtLWhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICMwZDVmYzc7XG5cdFx0fVxuXHR9XG59XG5cbi5waG90by1wb3B1cCB7XG5cdHBhZGRpbmc6IDMwcnB4IDMwcnB4IGNhbGMoZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pICsgMzBycHgpO1xuXG5cdCZfX2hlYWRlciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHJweDtcblx0fVxuXG5cdCZfX3BsYWNlaG9sZGVyIHtcblx0XHR3aWR0aDogNDBycHg7XG5cdFx0aGVpZ2h0OiA0MHJweDtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRmb250LXNpemU6IDM0cnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Y29sb3I6ICMyZDMxMzk7XG5cdH1cblxuXHQmX19jbG9zZSB7XG5cdFx0d2lkdGg6IDQwcnB4O1xuXHRcdGhlaWdodDogNDBycHg7XG5cdH1cblxuXHQmX19zZWN0aW9uIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHJweDtcblxuXHRcdCYtLXJlbWFyayB7XG5cdFx0XHRtYXJnaW4tdG9wOiAzMHJweDtcblx0XHR9XG5cdH1cblxuXHQmX19sYWJlbC1yb3cge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHJweDtcblx0fVxuXG5cdCZfX2xhYmVsIHtcblx0XHRmb250LXNpemU6IDMwcnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Y29sb3I6ICMyZDMxMzk7XG5cdH1cblxuXHQmX19yZXF1aXJlZCB7XG5cdFx0Y29sb3I6ICNmZjQwMzA7XG5cdFx0bWFyZ2luLWxlZnQ6IDhycHg7XG5cdH1cblxuXHQmX19oaW50IHtcblx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdGNvbG9yOiAjOGY5NmEzO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG5cblx0Jl9fcGhvdG9zIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRnYXA6IDIwcnB4O1xuXHR9XG5cblx0Jl9fcHJldmlldy1jYXJkIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDE0NHJweDtcblx0XHRoZWlnaHQ6IDE0NHJweDtcblx0XHRib3JkZXItcmFkaXVzOiAxMnJweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0Jl9fcHJldmlldy1pbWFnZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cblx0Jl9fcHJldmlldy1tYXNrIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0aGVpZ2h0OiA1NnJweDtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0Jl9fcHJldmlldy1kZWxldGUge1xuXHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0Y29sb3I6ICNmZmZmZmY7XG5cdH1cblxuXHQmX191cGxvYWQtYnRuIHtcblx0XHR3aWR0aDogMTQ0cnB4O1xuXHRcdGhlaWdodDogMTQ0cnB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdGltYWdlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCZfX3JlbWFyay10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGNvbG9yOiAjMmQzMTM5O1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcnB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Jl9fdGV4dGFyZWEge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTYwcnB4O1xuXHRcdHBhZGRpbmc6IDIwcnB4O1xuXHRcdGJhY2tncm91bmQ6ICNmNWY3ZmI7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTJycHg7XG5cdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRjb2xvcjogIzJkMzEzOTtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0Jl9fc3VibWl0IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDg4cnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA4OHJweDtcblx0XHRiYWNrZ3JvdW5kOiAjMmM3Y2ZmO1xuXHRcdGJvcmRlci1yYWRpdXM6IDQ0cnB4O1xuXHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRtYXJnaW4tdG9wOiA0MHJweDtcblxuXHRcdCYtLWhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICMyNjc4ZTg7XG5cdFx0fVxuXHR9XG59XG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///108\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 _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 93));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\nvar _default = {\n  data: function data() {\n    return {\n      statusBarHeight: 0,\n      navHeight: 0,\n      activeTab: null,\n      searchKeyword: '',\n      tabs: [{\n        label: '鍏ㄩ儴',\n        value: null\n      }, {\n        label: '寰呭彇璐�',\n        value: 3\n      }, {\n        label: '閰嶉�佷腑',\n        value: 4\n      }, {\n        label: '宸插畬鎴�',\n        value: 7\n      }],\n      orders: [],\n      page: 1,\n      hasMore: true,\n      loading: false,\n      showCancelModal: false,\n      showQRPopup: false,\n      showPhotoPopup: false,\n      selectedOrder: null,\n      cancelRemain: 0,\n      photoPopupMode: '',\n      photoRemark: '',\n      uploadedPhotos: [],\n      activeOrderCount: null\n    };\n  },\n  computed: {\n    displayTabs: function displayTabs() {\n      var _this = this;\n      return this.tabs.map(function (tab) {\n        var count = null;\n        if (tab.value === 3) {\n          var _this$activeOrderCoun;\n          count = (_this$activeOrderCoun = _this.activeOrderCount) === null || _this$activeOrderCoun === void 0 ? void 0 : _this$activeOrderCoun.grabbedCount;\n        } else if (tab.value === 4) {\n          var _this$activeOrderCoun2;\n          count = (_this$activeOrderCoun2 = _this.activeOrderCount) === null || _this$activeOrderCoun2 === void 0 ? void 0 : _this$activeOrderCoun2.deliveringCount;\n        }\n        if (count) {\n          return _objectSpread(_objectSpread({}, tab), {}, {\n            label: \"\".concat(tab.label, \" \").concat(count)\n          });\n        }\n        return tab;\n      });\n    },\n    bodyStyle: function bodyStyle() {\n      return {\n        marginTop: this.navHeight + uni.upx2px(88) + uni.upx2px(88) + 'px',\n        height: \"calc(100vh - \".concat(this.navHeight + uni.upx2px(88) + uni.upx2px(72), \"px)\")\n      };\n    },\n    photoPopupTitle: function photoPopupTitle() {\n      return this.photoPopupMode === 'deliver' ? '鎷嶇収閫佽揪' : '鎷嶇収鍙栬揣';\n    },\n    photoPopupLabel: function photoPopupLabel() {\n      return this.photoPopupMode === 'deliver' ? '鎷嶆憚閫佽揪鐓х墖' : '鎷嶆憚鍙栬揣鐓х墖';\n    },\n    photoPopupSubmitText: function photoPopupSubmitText() {\n      return this.photoPopupMode === 'deliver' ? '纭閫佽揪' : '纭鍙栬揣';\n    }\n  },\n  onLoad: function onLoad() {\n    var systemInfo = uni.getSystemInfoSync();\n    this.statusBarHeight = systemInfo.statusBarHeight || 0;\n    this.navHeight = this.statusBarHeight + uni.upx2px(88);\n    this.getOrderList();\n  },\n  onShow: function onShow() {\n    this.getActiveOrderCount();\n  },\n  watch: {\n    activeTab: function activeTab() {\n      this.page = 1;\n      this.hasMore = true;\n      this.orders = [];\n      this.getOrderList();\n    }\n  },\n  methods: {\n    handleScrollToLower: function handleScrollToLower() {\n      if (!this.hasMore || this.loading) return;\n      this.page++;\n      this.getOrderList();\n    },\n    searchOrder: function searchOrder() {\n      this.page = 1;\n      this.hasMore = true;\n      this.orders = [];\n      this.getOrderList();\n    },\n    getActiveOrderCount: function getActiveOrderCount() {\n      var _this2 = this;\n      this.$u.api.activeOrderCount().then(function (res) {\n        if (res.code === 200) {\n          _this2.activeOrderCount = res.data;\n        } else {\n          _this2.activeOrderCount = null;\n        }\n      }).catch(function () {\n        _this2.activeOrderCount = null;\n      });\n    },\n    getBadgeIcon: function getBadgeIcon(item) {\n      return item.isUrgent ? '/static/image/ic_jisuda@2x.png' : '/static/image/ic_biaosuda@2x.png';\n    },\n    getStatusText: function getStatusText(status) {\n      var map = {\n        2: '寰呮帴鍗�',\n        3: '寰呭彇璐�',\n        4: '閰嶉�佷腑',\n        5: '宸查�佽揪',\n        7: '宸插畬鎴�',\n        99: '宸插彇娑�'\n      };\n      return map[status] || '';\n    },\n    getActions: function getActions(item) {\n      if (item.status === 3) {\n        return [{\n          text: '鍙栨秷璁㈠崟',\n          type: 'light',\n          fill: false\n        }, {\n          text: '鍙栬揣鐮�',\n          type: 'primary',\n          fill: false\n        }, {\n          text: '鎷嶇収鍙栬揣',\n          type: 'primary',\n          fill: true\n        }];\n      }\n      if (item.status === 4 && item.takeShopId) {\n        return [{\n          text: '瀛樹欢鐮�',\n          type: 'primary',\n          fill: false\n        }];\n      }\n      if (item.status === 4 && !item.takeShopId) {\n        return [{\n          text: '鎷嶇収閫佽揪',\n          type: 'primary',\n          fill: true\n        }];\n      }\n      return [];\n    },\n    getOrderList: function getOrderList() {\n      var _this3 = this;\n      if (this.loading) return;\n      __f__(\"log\", {\n        status: this.activeTab,\n        keyword: this.searchKeyword\n      }, \" at pages/order/order.vue:294\");\n      this.loading = true;\n      this.$u.api.orderPage({\n        capacity: 10,\n        page: this.page,\n        model: {\n          status: this.activeTab,\n          keyword: this.searchKeyword\n        }\n      }).then(function (res) {\n        if (res.code === 200) {\n          var list = res.data.records || [];\n          __f__(\"log\", list, \" at pages/order/order.vue:309\");\n          if (_this3.page === 1) {\n            _this3.orders = list;\n          } else {\n            _this3.orders = [].concat((0, _toConsumableArray2.default)(_this3.orders), (0, _toConsumableArray2.default)(list));\n          }\n          _this3.hasMore = list.length >= 10;\n        }\n      }).finally(function () {\n        _this3.loading = false;\n      });\n    },\n    goToOrderDetail: function goToOrderDetail(item, index) {\n      uni.navigateTo({\n        url: \"/pages/order-detail/order-detail?id=\".concat(item.id)\n      });\n    },\n    handleAction: function handleAction(item, action) {\n      var text = action.text;\n      if (text === '鍙栨秷璁㈠崟') {\n        this.handleCancelOrder(item);\n      } else if (text === '鍙栬揣鐮�' || text === '瀛樹欢鐮�') {\n        this.handleShowQRCode(item);\n      } else if (text === '鎷嶇収鍙栬揣') {\n        this.handlePhotoPickup(item);\n      } else if (text === '鎷嶇収閫佽揪') {\n        this.handlePhotoDeliver(item);\n      }\n    },\n    handleCancelOrder: function handleCancelOrder(item) {\n      var _this4 = this;\n      this.selectedOrder = item;\n      this.$u.api.cancelLimit().then(function (res) {\n        if (res.code === 200) {\n          _this4.cancelRemain = res.data.remain;\n        }\n      }).finally(function () {\n        _this4.showCancelModal = true;\n      });\n    },\n    confirmCancelOrder: function confirmCancelOrder() {\n      var _this5 = this;\n      if (!this.selectedOrder) return;\n      this.$u.api.cancelOrder({\n        orderId: this.selectedOrder.id\n      }).then(function (res) {\n        _this5.showCancelModal = false;\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鍙栨秷鎴愬姛',\n            icon: 'success'\n          });\n          _this5.getOrderList();\n          _this5.getActiveOrderCount();\n        } else {\n          uni.showToast({\n            title: res.message || '鍙栨秷澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function () {\n        _this5.showCancelModal = false;\n      });\n    },\n    handleShowQRCode: function handleShowQRCode(item) {\n      this.selectedOrder = item;\n      this.showQRPopup = true;\n    },\n    handlePhotoPickup: function handlePhotoPickup(item) {\n      this.checkOperationRadius(item.id, 'pickup');\n    },\n    handlePhotoDeliver: function handlePhotoDeliver(item) {\n      this.checkOperationRadius(item.id, 'deliver');\n    },\n    checkOperationRadius: function checkOperationRadius(orderId, mode) {\n      var _this6 = this;\n      uni.getLocation({\n        type: 'gcj02',\n        success: function success(res) {\n          _this6.$u.api.checkDriverOperationRadius({\n            lat: res.latitude,\n            lng: res.longitude,\n            orderId: orderId\n          }).then(function (apiRes) {\n            if (apiRes.code === 200) {\n              __f__(\"log\", apiRes.data, \" at pages/order/order.vue:383\");\n              if (apiRes.data === true) {\n                _this6.selectedOrder = {\n                  id: orderId\n                };\n                _this6.photoPopupMode = mode;\n                _this6.uploadedPhotos = [];\n                _this6.photoRemark = '';\n                _this6.showPhotoPopup = true;\n              } else {\n                uni.showToast({\n                  title: '鎮ㄥ綋鍓嶄綅缃笌鏀惰揣鍦板潃璺濈瓒呭嚭鑼冨洿锛岃鍦ㄥ湴鍧�闄勮繎閲嶆柊鎷嶇収',\n                  icon: 'none'\n                });\n              }\n            }\n          });\n        },\n        fail: function fail() {\n          uni.showToast({\n            title: '鏃犳硶鑾峰彇鎮ㄧ殑浣嶇疆淇℃伅',\n            icon: 'none'\n          });\n        }\n      });\n    },\n    closePhotoPopup: function closePhotoPopup() {\n      this.showPhotoPopup = false;\n    },\n    choosePhoto: function choosePhoto() {\n      var _this7 = this;\n      if (this.uploadedPhotos.length >= 3) {\n        uni.showToast({\n          title: '鏈�澶氫笂浼�3寮犵収鐗�',\n          icon: 'none'\n        });\n        return;\n      }\n      uni.chooseImage({\n        count: 3 - this.uploadedPhotos.length,\n        sourceType: ['camera', 'album'],\n        success: function success(res) {\n          _this7.uploadedPhotos = [].concat((0, _toConsumableArray2.default)(_this7.uploadedPhotos), (0, _toConsumableArray2.default)(res.tempFilePaths));\n        }\n      });\n    },\n    deletePhoto: function deletePhoto(index) {\n      this.uploadedPhotos.splice(index, 1);\n    },\n    submitPhotoPopup: function submitPhotoPopup() {\n      var _this8 = this;\n      if (this.uploadedPhotos.length === 0) {\n        uni.showToast({\n          title: '璇蜂笂浼犵収鐗�',\n          icon: 'none'\n        });\n        return;\n      }\n      uni.showLoading({\n        title: '涓婁紶涓�...'\n      });\n      uni.getLocation({\n        type: 'gcj02',\n        success: function success(locationRes) {\n          _this8.doUploadPhotos(locationRes.latitude, locationRes.longitude);\n        },\n        fail: function fail() {\n          _this8.doUploadPhotos(null, null);\n        }\n      });\n    },\n    doUploadPhotos: function doUploadPhotos(latitude, longitude) {\n      var _this9 = this;\n      var uploadTasks = this.uploadedPhotos.map(function (path) {\n        return new Promise(function (resolve, reject) {\n          var formData = {\n            folder: 'orders'\n          };\n          if (latitude && longitude) {\n            formData.latitude = latitude;\n            formData.longitude = longitude;\n          }\n          __f__(\"log\", 'formData:', formData, \" at pages/order/order.vue:451\");\n          uni.uploadFile({\n            url: _this9.$baseUrl + 'web/public/upload',\n            filePath: path,\n            name: 'file',\n            formData: formData,\n            success: function success(uploadRes) {\n              var data = JSON.parse(uploadRes.data);\n              if (data.code === 200) {\n                resolve(data.data);\n              } else {\n                reject(new Error(data.msg));\n              }\n            },\n            fail: function fail(err) {\n              reject(err);\n            }\n          });\n        });\n      });\n      Promise.all(uploadTasks).then(function (images) {\n        var api = _this9.photoPopupMode === 'deliver' ? 'confirmDeliver' : 'confirmPickup';\n        var params = {\n          images: images.map(function (img) {\n            return img.imgaddr;\n          }),\n          orderId: _this9.selectedOrder.id,\n          remark: _this9.photoRemark\n        };\n        if (latitude && longitude) {\n          params.latitude = latitude;\n          params.longitude = longitude;\n        }\n        return _this9.$u.api[api](params);\n      }).then(function (res) {\n        uni.hideLoading();\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鎻愪氦鎴愬姛',\n            icon: 'success'\n          });\n          _this9.showPhotoPopup = false;\n          _this9.getOrderList();\n          _this9.getActiveOrderCount();\n        } else {\n          uni.showToast({\n            title: res.msg || '鎻愪氦澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function (err) {\n        uni.hideLoading();\n        uni.showToast({\n          title: err.message || '涓婁紶澶辫触',\n          icon: 'none'\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvb3JkZXIvb3JkZXIudnVlIl0sIm5hbWVzIjpbImRhdGEiLCJzdGF0dXNCYXJIZWlnaHQiLCJuYXZIZWlnaHQiLCJhY3RpdmVUYWIiLCJzZWFyY2hLZXl3b3JkIiwidGFicyIsImxhYmVsIiwidmFsdWUiLCJvcmRlcnMiLCJwYWdlIiwiaGFzTW9yZSIsImxvYWRpbmciLCJzaG93Q2FuY2VsTW9kYWwiLCJzaG93UVJQb3B1cCIsInNob3dQaG90b1BvcHVwIiwic2VsZWN0ZWRPcmRlciIsImNhbmNlbFJlbWFpbiIsInBob3RvUG9wdXBNb2RlIiwicGhvdG9SZW1hcmsiLCJ1cGxvYWRlZFBob3RvcyIsImFjdGl2ZU9yZGVyQ291bnQiLCJjb21wdXRlZCIsImRpc3BsYXlUYWJzIiwiY291bnQiLCJ0YWIiLCJib2R5U3R5bGUiLCJtYXJnaW5Ub3AiLCJoZWlnaHQiLCJwaG90b1BvcHVwVGl0bGUiLCJwaG90b1BvcHVwTGFiZWwiLCJwaG90b1BvcHVwU3VibWl0VGV4dCIsIm9uTG9hZCIsIm9uU2hvdyIsIndhdGNoIiwibWV0aG9kcyIsImhhbmRsZVNjcm9sbFRvTG93ZXIiLCJzZWFyY2hPcmRlciIsImdldEFjdGl2ZU9yZGVyQ291bnQiLCJnZXRCYWRnZUljb24iLCJnZXRTdGF0dXNUZXh0IiwiZ2V0QWN0aW9ucyIsInRleHQiLCJ0eXBlIiwiZmlsbCIsImdldE9yZGVyTGlzdCIsInN0YXR1cyIsImtleXdvcmQiLCJjYXBhY2l0eSIsIm1vZGVsIiwiZ29Ub09yZGVyRGV0YWlsIiwidW5pIiwidXJsIiwiaGFuZGxlQWN0aW9uIiwiaGFuZGxlQ2FuY2VsT3JkZXIiLCJjb25maXJtQ2FuY2VsT3JkZXIiLCJvcmRlcklkIiwidGl0bGUiLCJpY29uIiwiaGFuZGxlU2hvd1FSQ29kZSIsImhhbmRsZVBob3RvUGlja3VwIiwiaGFuZGxlUGhvdG9EZWxpdmVyIiwiY2hlY2tPcGVyYXRpb25SYWRpdXMiLCJzdWNjZXNzIiwibGF0IiwibG5nIiwiaWQiLCJmYWlsIiwiY2xvc2VQaG90b1BvcHVwIiwiY2hvb3NlUGhvdG8iLCJzb3VyY2VUeXBlIiwiZGVsZXRlUGhvdG8iLCJzdWJtaXRQaG90b1BvcHVwIiwiZG9VcGxvYWRQaG90b3MiLCJmb2xkZXIiLCJmb3JtRGF0YSIsImZpbGVQYXRoIiwibmFtZSIsInJlc29sdmUiLCJyZWplY3QiLCJQcm9taXNlIiwiaW1hZ2VzIiwicmVtYXJrIiwicGFyYW1zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztlQTBKQTtFQUNBQTtJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDLE9BQ0E7UUFBQUM7UUFBQUM7TUFBQSxHQUNBO1FBQUFEO1FBQUFDO01BQUEsR0FDQTtRQUFBRDtRQUFBQztNQUFBLEdBQ0E7UUFBQUQ7UUFBQUM7TUFBQSxFQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBQztNQUFBO01BQ0E7UUFDQTtRQUNBO1VBQUE7VUFDQUM7UUFDQTtVQUFBO1VBQ0FBO1FBQ0E7UUFDQTtVQUNBLHVDQUNBQztZQUNBbEI7VUFBQTtRQUVBO1FBQ0E7TUFDQTtJQUNBO0lBRUFtQjtNQUNBO1FBQ0FDO1FBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0VBQ0E7RUFDQUM7SUFDQTlCO01BQ0E7TUFDQTtNQUNBO01BQ0E7SUFDQTtFQUNBO0VBQ0ErQjtJQUNBQztNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQTtVQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBLFFBQ0E7VUFBQUM7VUFBQUM7VUFBQUM7UUFBQSxHQUNBO1VBQUFGO1VBQUFDO1VBQUFDO1FBQUEsR0FDQTtVQUFBRjtVQUFBQztVQUFBQztRQUFBLEVBQ0E7TUFDQTtNQUNBO1FBQ0EsUUFDQTtVQUFBRjtVQUFBQztVQUFBQztRQUFBLEVBQ0E7TUFDQTtNQUNBO1FBQ0EsUUFDQTtVQUFBRjtVQUFBQztVQUFBQztRQUFBLEVBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7UUFDQUM7UUFDQUM7TUFDQTtNQUNBO01BQ0E7UUFDQUM7UUFDQXRDO1FBQ0F1QztVQUNBSDtVQUNBQztRQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0E7VUFDQTtZQUNBO1VBQ0E7WUFDQTtVQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FHO01BQ0FDO1FBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO01BQ0E7UUFDQTtVQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQTtRQUFBQztNQUFBO1FBQ0E7UUFDQTtVQUNBTDtZQUFBTTtZQUFBQztVQUFBO1VBQ0E7VUFDQTtRQUNBO1VBQ0FQO1lBQUFNO1lBQUFDO1VBQUE7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBWDtRQUNBUjtRQUNBb0I7VUFDQTtZQUNBQztZQUNBQztZQUNBVDtVQUNBO1lBQ0E7Y0FDQTtjQUNBO2dCQUNBO2tCQUFBVTtnQkFBQTtnQkFDQTtnQkFDQTtnQkFDQTtnQkFDQTtjQUNBO2dCQUNBZjtrQkFDQU07a0JBQ0FDO2dCQUNBO2NBQ0E7WUFDQTtVQUNBO1FBQ0E7UUFDQVM7VUFDQWhCO1lBQ0FNO1lBQ0FDO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQVU7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBbEI7VUFBQU07VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQVA7UUFDQTNCO1FBQ0E4QztRQUNBUDtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FRO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQXJCO1VBQUFNO1VBQUFDO1FBQUE7UUFDQTtNQUNBO01BQ0FQO1FBQUFNO01BQUE7TUFDQU47UUFDQVI7UUFDQW9CO1VBQ0E7UUFDQTtRQUNBSTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUFNO01BQUE7TUFDQTtRQUNBO1VBQ0E7WUFBQUM7VUFBQTtVQUNBO1lBQ0FDO1lBQ0FBO1VBQ0E7VUFDQTtVQUNBeEI7WUFDQUM7WUFDQXdCO1lBQ0FDO1lBQ0FGO1lBQ0FaO2NBQ0E7Y0FDQTtnQkFDQWU7Y0FDQTtnQkFDQUM7Y0FDQTtZQUNBO1lBQ0FaO2NBQ0FZO1lBQ0E7VUFDQTtRQUNBO01BQ0E7TUFFQUM7UUFDQTtRQUNBO1VBQ0FDO1lBQUE7VUFBQTtVQUNBekI7VUFDQTBCO1FBQ0E7UUFDQTtVQUNBQztVQUNBQTtRQUNBO1FBQ0E7TUFDQTtRQUNBaEM7UUFDQTtVQUNBQTtZQUFBTTtZQUFBQztVQUFBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7VUFDQVA7WUFBQU07WUFBQUM7VUFBQTtRQUNBO01BQ0E7UUFDQVA7UUFDQUE7VUFBQU07VUFBQUM7UUFBQTtNQUNBO0lBQ0E7RUFDQTtBQUNBO0FBQUEsMkIiLCJmaWxlIjoiMTA4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuXHQ8dmlldyBjbGFzcz1cIm9yZGVyLXBhZ2VcIj5cblx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLXBhZ2VfX25hdlwiIDpzdHlsZT1cInsgcGFkZGluZ1RvcDogc3RhdHVzQmFySGVpZ2h0ICsgJ3B4JyB9XCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLXBhZ2VfX25hdi1pbm5lclwiPlxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLXBhZ2VfX25hdi10aXRsZVwiPuaIkeeahOiuouWNlTwvdGV4dD5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3ZpZXc+XG5cblx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLXBhZ2VfX3NlYXJjaFwiIDpzdHlsZT1cInsgdG9wOiBuYXZIZWlnaHQgKyAncHgnIH1cIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItcGFnZV9fc2VhcmNoLWJveFwiPlxuXHRcdFx0XHQ8dS1pY29uIG5hbWU9XCJzZWFyY2hcIiBjb2xvcj1cIiM5OTk5OTlcIiBzaXplPVwiMjhcIj48L3UtaWNvbj5cblx0XHRcdFx0PGlucHV0IGNsYXNzPVwib3JkZXItcGFnZV9fc2VhcmNoLWlucHV0XCIgdi1tb2RlbD1cInNlYXJjaEtleXdvcmRcIiBwbGFjZWhvbGRlcj1cIui+k+WFpeWnk+WQjeOAgeeUteivneOAgeiuouWNlee8luWPt+aQnOe0olwiIHBsYWNlaG9sZGVyLWNsYXNzPVwib3JkZXItcGFnZV9fc2VhcmNoLXBsYWNlaG9sZGVyXCIgQGNvbmZpcm09XCJzZWFyY2hPcmRlclwiIC8+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXG5cdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1wYWdlX190YWJzXCIgOnN0eWxlPVwieyB0b3A6IChuYXZIZWlnaHQgKyA0NCkgKyAncHgnIH1cIj5cblx0XHRcdDx2aWV3IHYtZm9yPVwidGFiIGluIGRpc3BsYXlUYWJzXCIgOmtleT1cInRhYi52YWx1ZVwiIGNsYXNzPVwib3JkZXItcGFnZV9fdGFiXCIgOmNsYXNzPVwieyAnb3JkZXItcGFnZV9fdGFiLS1hY3RpdmUnOiBhY3RpdmVUYWIgPT09IHRhYi52YWx1ZSB9XCIgQGNsaWNrPVwiYWN0aXZlVGFiID0gdGFiLnZhbHVlXCI+XG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItcGFnZV9fdGFiLXRleHRcIj57eyB0YWIubGFiZWwgfX08L3RleHQ+XG5cdFx0XHRcdDx2aWV3IHYtaWY9XCJhY3RpdmVUYWIgPT09IHRhYi52YWx1ZVwiIGNsYXNzPVwib3JkZXItcGFnZV9fdGFiLWxpbmVcIj48L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXG5cdFx0PHNjcm9sbC12aWV3IGNsYXNzPVwib3JkZXItcGFnZV9fYm9keVwiIHNjcm9sbC15IDpzdHlsZT1cImJvZHlTdHlsZVwiIEBzY3JvbGx0b2xvd2VyPVwiaGFuZGxlU2Nyb2xsVG9Mb3dlclwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1wYWdlX19saXN0XCI+XG5cdFx0XHRcdDx2aWV3IHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBvcmRlcnNcIiA6a2V5PVwiaXRlbS5pZFwiIGNsYXNzPVwib3JkZXItY2FyZFwiIEBjbGljaz1cImdvVG9PcmRlckRldGFpbChpdGVtLCBpbmRleClcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX2hlYWRcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX2hlYWQtbGVmdFwiPlxuXHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwib3JkZXItY2FyZF9fYmFkZ2UtaWNvblwiIDpzcmM9XCJnZXRCYWRnZUljb24oaXRlbSlcIiBtb2RlPVwid2lkdGhGaXhcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX190aW1lLXRleHRcIj7kuIvljZXml7bpl7TvvJp7eyBpdGVtLmNyZWF0ZVRpbWUgfX08L3RleHQ+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19zdGF0dXNcIiA6Y2xhc3M9XCJ7ICdvcmRlci1jYXJkX19zdGF0dXMtLWhpZ2hsaWdodCc6IGl0ZW0uc3RhdHVzID09PSAzIHx8IGl0ZW0uc3RhdHVzID09PSA0IH1cIj57eyBnZXRTdGF0dXNUZXh0KGl0ZW0uc3RhdHVzKSB9fTwvdGV4dD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLWl0ZW1cIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fcG9pbnQgb3JkZXItY2FyZF9fcG9pbnQtLXBpY2t1cFwiPuWPljwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fcm91dGUtdGV4dHNcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS10aXRsZVwiPnt7IGl0ZW0uZGVwb3NpdFNob3BOYW1lIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLWRlc2NcIj57eyBpdGVtLmRlcG9zaXRTaG9wQWRkcmVzcyB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLWl0ZW0gb3JkZXItY2FyZF9fcm91dGUtaXRlbS0tZGVsaXZlcnlcIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItY2FyZF9fcG9pbnQgb3JkZXItY2FyZF9fcG9pbnQtLWRlbGl2ZXJ5XCI+6YCBPC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS10ZXh0c1wiPlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWNhcmRfX3JvdXRlLXRpdGxlXCI+e3sgaXRlbS50YWtlTmFtZSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19yb3V0ZS1kZXNjXCI+e3sgaXRlbS50YWtlQWRkcmVzcyB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX2Zvb3RlclwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1jYXJkX19hcnJpdmFsXCI+XG5cdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cIm9yZGVyLWNhcmRfX2Nsb2NrXCIgc3JjPVwiL3N0YXRpYy9pbWFnZS9pY19jbG9ja0AyeC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19hcnJpdmFsLXRleHRcIj7liankvZl7eyBpdGVtLnJlbWFpbk1pbnV0ZXMgfX3liIbpkp88L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWNhcmRfX3ByaWNlLXdyYXBcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1jYXJkX19wcmljZVwiPsKle3sgKGl0ZW0uZHJpdmVyRmVlIC8gMTAwKS50b0ZpeGVkKDIpIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJnZXRBY3Rpb25zKGl0ZW0pLmxlbmd0aFwiIGNsYXNzPVwib3JkZXItY2FyZF9fYWN0aW9uc1wiPlxuXHRcdFx0XHRcdFx0PHZpZXc+PC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O2ZsZXgtd3JhcDogd3JhcDtnYXA6IDIwcnB4O1wiPlxuXHRcdFx0XHRcdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0di1mb3I9XCJhY3Rpb24gaW4gZ2V0QWN0aW9ucyhpdGVtKVwiXG5cdFx0XHRcdFx0XHRcdFx0OmtleT1cImFjdGlvbi50ZXh0XCJcblx0XHRcdFx0XHRcdFx0XHRjbGFzcz1cIm9yZGVyLWNhcmRfX2FjdGlvbi1idG5cIlxuXHRcdFx0XHRcdFx0XHRcdDpjbGFzcz1cIlsnb3JkZXItY2FyZF9fYWN0aW9uLWJ0bi0tJyArIGFjdGlvbi50eXBlLCB7ICdvcmRlci1jYXJkX19hY3Rpb24tYnRuLS1wcmltYXJ5LWZpbGwnOiBhY3Rpb24uZmlsbCB9XVwiXG5cdFx0XHRcdFx0XHRcdFx0aG92ZXItY2xhc3M9XCJvcmRlci1jYXJkX19hY3Rpb24tYnRuLS1ob3ZlclwiXG5cdFx0XHRcdFx0XHRcdFx0QGNsaWNrLnN0b3A9XCJoYW5kbGVBY3Rpb24oaXRlbSwgYWN0aW9uKVwiXG5cdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHR7eyBhY3Rpb24udGV4dCB9fVxuXHRcdFx0XHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdDx2aWV3IHYtaWY9XCJvcmRlcnMubGVuZ3RoID09PSAwICYmICFsb2FkaW5nXCIgY2xhc3M9XCJvcmRlci1wYWdlX19lbXB0eVwiPlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cIm9yZGVyLXBhZ2VfX2VtcHR5LWljb25cIiBzcmM9XCIvc3RhdGljL2ltYWdlL2RlZmF1bHRfbm9kYXRhQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0PHZpZXcgdi1pZj1cImxvYWRpbmdcIiBjbGFzcz1cIm9yZGVyLXBhZ2VfX2xvYWRpbmdcIj5cblx0XHRcdFx0XHQ8dGV4dD7liqDovb3kuK0uLi48L3RleHQ+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3Njcm9sbC12aWV3PlxuXG5cdFx0PHUtbW9kYWxcblx0XHRcdDpzaG93PVwic2hvd0NhbmNlbE1vZGFsXCJcblx0XHRcdHNob3dDYW5jZWxCdXR0b25cblx0XHRcdEBjYW5jZWw9XCJzaG93Q2FuY2VsTW9kYWwgPSBmYWxzZVwiXG5cdFx0XHRjYW5jZWxDb2xvcj1cIiM2NjY2NjZcIlxuXHRcdFx0Y29uZmlybUNvbG9yPVwiIzAwNTVGRlwiXG5cdFx0XHR0aXRsZT1cIuWPlua2iOiuouWNleehruiupFwiXG5cdFx0XHRAY29uZmlybT1cImNvbmZpcm1DYW5jZWxPcmRlclwiPlxuXHRcdFx0PHZpZXcgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7Y29sb3I6ICMzMzMzMzM7Zm9udC1zaXplOiAyOHJweDtmb250LXdlaWdodDogNDAwO1wiPlxuXHRcdFx0XHTmgqjku4rml6Xov5jlj6/lj5bmtogge3sgY2FuY2VsUmVtYWluIH19IOasoeiuouWNle+8jOasoeaVsOeUqOWwveWQjuS7iuaXpeWwhuaXoOazleaOpeWNle+8jOaYr+WQpuehruiupOWPlua2iO+8n1xuXHRcdFx0PC92aWV3PlxuXHRcdDwvdS1tb2RhbD5cblxuXHRcdDx1LXBvcHVwIDpzaG93PVwic2hvd1FSUG9wdXBcIiByb3VuZD1cIjIwXCIgbW9kZT1cImJvdHRvbVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJxcmNvZGVcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJxcmNvZGUtdGl0bGVcIj5cblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWFnZS9pY19jbG9zZUAyeC5wbmdcIiBtb2RlPVwid2lkdGhGaXhcIiBzdHlsZT1cIm9wYWNpdHk6IDA7XCI+PC9pbWFnZT5cblx0XHRcdFx0XHQ8dGV4dD57eyBzZWxlY3RlZE9yZGVyICYmIHNlbGVjdGVkT3JkZXIuc3RhdHVzID09PSA0ID8gJ+WtmOS7tueggScgOiAn5Y+W6LSn56CBJyB9fTwvdGV4dD5cblx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWFnZS9pY19jbG9zZUAyeC5wbmdcIiBtb2RlPVwid2lkdGhGaXhcIiBAY2xpY2s9XCJzaG93UVJQb3B1cCA9IGZhbHNlXCI+PC9pbWFnZT5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInFyY29kZS1pbWFnZVwiPlxuXHRcdFx0XHRcdDxpbWFnZSB2LWlmPVwic2VsZWN0ZWRPcmRlciAmJiBzZWxlY3RlZE9yZGVyLmRyaXZlclZlcmlmeUNvZGVcIiA6c3JjPVwiJ2h0dHBzOi8vYXBpLnFyc2VydmVyLmNvbS92MS9jcmVhdGUtcXItY29kZS8/c2l6ZT0yMDB4MjAwJmRhdGE9JyArIHNlbGVjdGVkT3JkZXIuZHJpdmVyVmVyaWZ5Q29kZVwiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJxcmNvZGUtYnRuXCIgaG92ZXItY2xhc3M9XCJxcmNvZGUtYnRuLS1ob3ZlclwiIEBjbGljaz1cInNob3dRUlBvcHVwID0gZmFsc2VcIj7lhbPpl608L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC91LXBvcHVwPlxuXG5cdFx0PHUtcG9wdXAgOnNob3c9XCJzaG93UGhvdG9Qb3B1cFwiIHJvdW5kPVwiMjBcIiBtb2RlPVwiYm90dG9tXCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLXBvcHVwXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBfX2hlYWRlclwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBfX3BsYWNlaG9sZGVyXCI+PC92aWV3PlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGhvdG8tcG9wdXBfX3RpdGxlXCI+e3sgcGhvdG9Qb3B1cFRpdGxlIH19PC90ZXh0PlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBob3RvLXBvcHVwX19jbG9zZVwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfY2xvc2UyQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIiBAY2xpY2s9XCJjbG9zZVBob3RvUG9wdXBcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaG90by1wb3B1cF9fc2VjdGlvblwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBfX2xhYmVsLXJvd1wiPlxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJwaG90by1wb3B1cF9fbGFiZWxcIj57eyBwaG90b1BvcHVwTGFiZWwgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInBob3RvLXBvcHVwX19yZXF1aXJlZFwiPio8L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInBob3RvLXBvcHVwX19oaW50XCI+5pyA5aSaM+W8oOeFp+eJhzwvdGV4dD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLXBvcHVwX19waG90b3NcIj5cblx0XHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwiKHBob3RvLCBpbmRleCkgaW4gdXBsb2FkZWRQaG90b3NcIiA6a2V5PVwiaW5kZXhcIiBjbGFzcz1cInBob3RvLXBvcHVwX19wcmV2aWV3LWNhcmRcIj5cblx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwicGhvdG8tcG9wdXBfX3ByZXZpZXctaW1hZ2VcIiA6c3JjPVwicGhvdG9cIiBtb2RlPVwiYXNwZWN0RmlsbFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBfX3ByZXZpZXctbWFza1wiIEBjbGljaz1cImRlbGV0ZVBob3RvKGluZGV4KVwiPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGhvdG8tcG9wdXBfX3ByZXZpZXctZGVsZXRlXCI+5Yig6ZmkPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwidXBsb2FkZWRQaG90b3MubGVuZ3RoIDwgM1wiIGNsYXNzPVwicGhvdG8tcG9wdXBfX3VwbG9hZC1idG5cIiBAY2xpY2s9XCJjaG9vc2VQaG90b1wiPlxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2Ugc3JjPVwiL3N0YXRpYy9pbWFnZS9idG5fdXBsb2FkMkAyeC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLXBvcHVwX19zZWN0aW9uIHBob3RvLXBvcHVwX19zZWN0aW9uLS1yZW1hcmtcIj5cblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInBob3RvLXBvcHVwX19yZW1hcmstdGl0bGVcIj7lpIfms6jkv6Hmga88L3RleHQ+XG5cdFx0XHRcdFx0PHRleHRhcmVhIHYtbW9kZWw9XCJwaG90b1JlbWFya1wiIGNsYXNzPVwicGhvdG8tcG9wdXBfX3RleHRhcmVhXCIgbWF4bGVuZ3RoPVwiMjAwXCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaVcIiBwbGFjZWhvbGRlci1zdHlsZT1cImNvbG9yOiAjYzdjYmQzO1wiIC8+XG5cdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHQ8YnV0dG9uIGNsYXNzPVwicGhvdG8tcG9wdXBfX3N1Ym1pdFwiIGhvdmVyLWNsYXNzPVwicGhvdG8tcG9wdXBfX3N1Ym1pdC0taG92ZXJcIiBAY2xpY2s9XCJzdWJtaXRQaG90b1BvcHVwXCI+e3sgcGhvdG9Qb3B1cFN1Ym1pdFRleHQgfX08L2J1dHRvbj5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3UtcG9wdXA+XG5cdDwvdmlldz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0c3RhdHVzQmFySGVpZ2h0OiAwLFxuXHRcdFx0XHRuYXZIZWlnaHQ6IDAsXG5cdFx0XHRcdGFjdGl2ZVRhYjogbnVsbCxcblx0XHRcdFx0c2VhcmNoS2V5d29yZDogJycsXG5cdFx0XHRcdHRhYnM6IFtcblx0XHRcdFx0XHR7IGxhYmVsOiAn5YWo6YOoJywgdmFsdWU6IG51bGwgfSxcblx0XHRcdFx0XHR7IGxhYmVsOiAn5b6F5Y+W6LSnJywgdmFsdWU6IDMgfSxcblx0XHRcdFx0XHR7IGxhYmVsOiAn6YWN6YCB5LitJywgdmFsdWU6IDQgfSxcblx0XHRcdFx0XHR7IGxhYmVsOiAn5bey5a6M5oiQJywgdmFsdWU6IDcgfVxuXHRcdFx0XHRdLFxuXHRcdFx0XHRvcmRlcnM6IFtdLFxuXHRcdFx0XHRwYWdlOiAxLFxuXHRcdFx0XHRoYXNNb3JlOiB0cnVlLFxuXHRcdFx0XHRsb2FkaW5nOiBmYWxzZSxcblx0XHRcdFx0c2hvd0NhbmNlbE1vZGFsOiBmYWxzZSxcblx0XHRcdFx0c2hvd1FSUG9wdXA6IGZhbHNlLFxuXHRcdFx0XHRzaG93UGhvdG9Qb3B1cDogZmFsc2UsXG5cdFx0XHRcdHNlbGVjdGVkT3JkZXI6IG51bGwsXG5cdFx0XHRcdGNhbmNlbFJlbWFpbjogMCxcblx0XHRcdFx0cGhvdG9Qb3B1cE1vZGU6ICcnLFxuXHRcdFx0XHRwaG90b1JlbWFyazogJycsXG5cdFx0XHRcdHVwbG9hZGVkUGhvdG9zOiBbXSxcblx0XHRcdFx0YWN0aXZlT3JkZXJDb3VudDogbnVsbFxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Y29tcHV0ZWQ6IHtcblx0XHRcdGRpc3BsYXlUYWJzKCkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy50YWJzLm1hcCgodGFiKSA9PiB7XG5cdFx0XHRcdFx0bGV0IGNvdW50ID0gbnVsbFxuXHRcdFx0XHRcdGlmICh0YWIudmFsdWUgPT09IDMpIHtcblx0XHRcdFx0XHRcdGNvdW50ID0gdGhpcy5hY3RpdmVPcmRlckNvdW50Py5ncmFiYmVkQ291bnRcblx0XHRcdFx0XHR9IGVsc2UgaWYgKHRhYi52YWx1ZSA9PT0gNCkge1xuXHRcdFx0XHRcdFx0Y291bnQgPSB0aGlzLmFjdGl2ZU9yZGVyQ291bnQ/LmRlbGl2ZXJpbmdDb3VudFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAoY291bnQpIHtcblx0XHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRcdC4uLnRhYixcblx0XHRcdFx0XHRcdFx0bGFiZWw6IGAke3RhYi5sYWJlbH0gJHtjb3VudH1gXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiB0YWJcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdGJvZHlTdHlsZSgpIHtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRtYXJnaW5Ub3A6IHRoaXMubmF2SGVpZ2h0ICsgdW5pLnVweDJweCg4OCkgKyB1bmkudXB4MnB4KDg4KSArICdweCcsXG5cdFx0XHRcdFx0aGVpZ2h0OiBgY2FsYygxMDB2aCAtICR7dGhpcy5uYXZIZWlnaHQgKyB1bmkudXB4MnB4KDg4KSArIHVuaS51cHgycHgoNzIpfXB4KWBcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdHBob3RvUG9wdXBUaXRsZSgpIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMucGhvdG9Qb3B1cE1vZGUgPT09ICdkZWxpdmVyJyA/ICfmi43nhafpgIHovr4nIDogJ+aLjeeFp+WPlui0pydcblx0XHRcdH0sXG5cdFx0XHRwaG90b1BvcHVwTGFiZWwoKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnBob3RvUG9wdXBNb2RlID09PSAnZGVsaXZlcicgPyAn5ouN5pGE6YCB6L6+54Wn54mHJyA6ICfmi43mkYTlj5botKfnhafniYcnXG5cdFx0XHR9LFxuXHRcdFx0cGhvdG9Qb3B1cFN1Ym1pdFRleHQoKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnBob3RvUG9wdXBNb2RlID09PSAnZGVsaXZlcicgPyAn56Gu6K6k6YCB6L6+JyA6ICfnoa7orqTlj5botKcnXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRvbkxvYWQoKSB7XG5cdFx0XHRjb25zdCBzeXN0ZW1JbmZvID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKClcblx0XHRcdHRoaXMuc3RhdHVzQmFySGVpZ2h0ID0gc3lzdGVtSW5mby5zdGF0dXNCYXJIZWlnaHQgfHwgMFxuXHRcdFx0dGhpcy5uYXZIZWlnaHQgPSB0aGlzLnN0YXR1c0JhckhlaWdodCArIHVuaS51cHgycHgoODgpXG5cdFx0XHR0aGlzLmdldE9yZGVyTGlzdCgpXG5cdFx0fSxcblx0XHRvblNob3coKSB7XG5cdFx0XHR0aGlzLmdldEFjdGl2ZU9yZGVyQ291bnQoKVxuXHRcdH0sXG5cdFx0d2F0Y2g6IHtcblx0XHRcdGFjdGl2ZVRhYigpIHtcblx0XHRcdFx0dGhpcy5wYWdlID0gMVxuXHRcdFx0XHR0aGlzLmhhc01vcmUgPSB0cnVlXG5cdFx0XHRcdHRoaXMub3JkZXJzID0gW11cblx0XHRcdFx0dGhpcy5nZXRPcmRlckxpc3QoKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0bWV0aG9kczoge1xuXHRcdFx0aGFuZGxlU2Nyb2xsVG9Mb3dlcigpIHtcblx0XHRcdFx0aWYgKCF0aGlzLmhhc01vcmUgfHwgdGhpcy5sb2FkaW5nKSByZXR1cm5cblx0XHRcdFx0dGhpcy5wYWdlKytcblx0XHRcdFx0dGhpcy5nZXRPcmRlckxpc3QoKVxuXHRcdFx0fSxcblx0XHRcdHNlYXJjaE9yZGVyKCkge1xuXHRcdFx0XHR0aGlzLnBhZ2UgPSAxXG5cdFx0XHRcdHRoaXMuaGFzTW9yZSA9IHRydWVcblx0XHRcdFx0dGhpcy5vcmRlcnMgPSBbXVxuXHRcdFx0XHR0aGlzLmdldE9yZGVyTGlzdCgpXG5cdFx0XHR9LFxuXHRcdFx0Z2V0QWN0aXZlT3JkZXJDb3VudCgpIHtcblx0XHRcdFx0dGhpcy4kdS5hcGkuYWN0aXZlT3JkZXJDb3VudCgpLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0dGhpcy5hY3RpdmVPcmRlckNvdW50ID0gcmVzLmRhdGFcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dGhpcy5hY3RpdmVPcmRlckNvdW50ID0gbnVsbFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkuY2F0Y2goKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuYWN0aXZlT3JkZXJDb3VudCA9IG51bGxcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRnZXRCYWRnZUljb24oaXRlbSkge1xuXHRcdFx0XHRyZXR1cm4gaXRlbS5pc1VyZ2VudCA/ICcvc3RhdGljL2ltYWdlL2ljX2ppc3VkYUAyeC5wbmcnIDogJy9zdGF0aWMvaW1hZ2UvaWNfYmlhb3N1ZGFAMngucG5nJ1xuXHRcdFx0fSxcblx0XHRcdGdldFN0YXR1c1RleHQoc3RhdHVzKSB7XG5cdFx0XHRcdGNvbnN0IG1hcCA9IHtcblx0XHRcdFx0XHQyOiAn5b6F5o6l5Y2VJyxcblx0XHRcdFx0XHQzOiAn5b6F5Y+W6LSnJyxcblx0XHRcdFx0XHQ0OiAn6YWN6YCB5LitJyxcblx0XHRcdFx0XHQ1OiAn5bey6YCB6L6+Jyxcblx0XHRcdFx0XHQ3OiAn5bey5a6M5oiQJyxcblx0XHRcdFx0XHQ5OTogJ+W3suWPlua2iCdcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gbWFwW3N0YXR1c10gfHwgJydcblx0XHRcdH0sXG5cdFx0XHRnZXRBY3Rpb25zKGl0ZW0pIHtcblx0XHRcdFx0aWYgKGl0ZW0uc3RhdHVzID09PSAzKSB7XG5cdFx0XHRcdFx0cmV0dXJuIFtcblx0XHRcdFx0XHRcdHsgdGV4dDogJ+WPlua2iOiuouWNlScsIHR5cGU6ICdsaWdodCcsIGZpbGw6IGZhbHNlIH0sXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICflj5botKfnoIEnLCB0eXBlOiAncHJpbWFyeScsIGZpbGw6IGZhbHNlIH0sXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICfmi43nhaflj5botKcnLCB0eXBlOiAncHJpbWFyeScsIGZpbGw6IHRydWUgfVxuXHRcdFx0XHRcdF1cblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoaXRlbS5zdGF0dXMgPT09IDQgJiYgaXRlbS50YWtlU2hvcElkKSB7XG5cdFx0XHRcdFx0cmV0dXJuIFtcblx0XHRcdFx0XHRcdHsgdGV4dDogJ+WtmOS7tueggScsIHR5cGU6ICdwcmltYXJ5JywgZmlsbDogZmFsc2UgfVxuXHRcdFx0XHRcdF1cblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoaXRlbS5zdGF0dXMgPT09IDQgJiYgIWl0ZW0udGFrZVNob3BJZCkge1xuXHRcdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICfmi43nhafpgIHovr4nLCB0eXBlOiAncHJpbWFyeScsIGZpbGw6IHRydWUgfVxuXHRcdFx0XHRcdF1cblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gW11cblx0XHRcdH0sXG5cdFx0XHRnZXRPcmRlckxpc3QoKSB7XG5cdFx0XHRcdGlmICh0aGlzLmxvYWRpbmcpIHJldHVyblxuXHRcdFx0XHRjb25zb2xlLmxvZyh7XG5cdFx0XHRcdFx0c3RhdHVzOiB0aGlzLmFjdGl2ZVRhYixcblx0XHRcdFx0XHRrZXl3b3JkOiB0aGlzLnNlYXJjaEtleXdvcmRcblx0XHRcdFx0fSlcblx0XHRcdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZVxuXHRcdFx0XHR0aGlzLiR1LmFwaS5vcmRlclBhZ2Uoe1xuXHRcdFx0XHRcdGNhcGFjaXR5OiAxMCxcblx0XHRcdFx0XHRwYWdlOiB0aGlzLnBhZ2UsXG5cdFx0XHRcdFx0bW9kZWw6IHtcblx0XHRcdFx0XHRcdHN0YXR1czogdGhpcy5hY3RpdmVUYWIsXG5cdFx0XHRcdFx0XHRrZXl3b3JkOiB0aGlzLnNlYXJjaEtleXdvcmRcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0Y29uc3QgbGlzdCA9IHJlcy5kYXRhLnJlY29yZHMgfHwgW11cblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGxpc3QpXG5cdFx0XHRcdFx0XHRpZiAodGhpcy5wYWdlID09PSAxKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMub3JkZXJzID0gbGlzdFxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5vcmRlcnMgPSBbLi4udGhpcy5vcmRlcnMsIC4uLmxpc3RdXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR0aGlzLmhhc01vcmUgPSBsaXN0Lmxlbmd0aCA+PSAxMFxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkuZmluYWxseSgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5sb2FkaW5nID0gZmFsc2Vcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRnb1RvT3JkZXJEZXRhaWwoaXRlbSwgaW5kZXgpIHtcblx0XHRcdFx0dW5pLm5hdmlnYXRlVG8oe1xuXHRcdFx0XHRcdHVybDogYC9wYWdlcy9vcmRlci1kZXRhaWwvb3JkZXItZGV0YWlsP2lkPSR7aXRlbS5pZH1gXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0aGFuZGxlQWN0aW9uKGl0ZW0sIGFjdGlvbikge1xuXHRcdFx0XHRjb25zdCB0ZXh0ID0gYWN0aW9uLnRleHRcblx0XHRcdFx0aWYgKHRleHQgPT09ICflj5bmtojorqLljZUnKSB7XG5cdFx0XHRcdFx0dGhpcy5oYW5kbGVDYW5jZWxPcmRlcihpdGVtKVxuXHRcdFx0XHR9IGVsc2UgaWYgKHRleHQgPT09ICflj5botKfnoIEnIHx8IHRleHQgPT09ICflrZjku7bnoIEnKSB7XG5cdFx0XHRcdFx0dGhpcy5oYW5kbGVTaG93UVJDb2RlKGl0ZW0pXG5cdFx0XHRcdH0gZWxzZSBpZiAodGV4dCA9PT0gJ+aLjeeFp+WPlui0pycpIHtcblx0XHRcdFx0XHR0aGlzLmhhbmRsZVBob3RvUGlja3VwKGl0ZW0pXG5cdFx0XHRcdH0gZWxzZSBpZiAodGV4dCA9PT0gJ+aLjeeFp+mAgei+vicpIHtcblx0XHRcdFx0XHR0aGlzLmhhbmRsZVBob3RvRGVsaXZlcihpdGVtKVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0aGFuZGxlQ2FuY2VsT3JkZXIoaXRlbSkge1xuXHRcdFx0XHR0aGlzLnNlbGVjdGVkT3JkZXIgPSBpdGVtXG5cdFx0XHRcdHRoaXMuJHUuYXBpLmNhbmNlbExpbWl0KCkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmNhbmNlbFJlbWFpbiA9IHJlcy5kYXRhLnJlbWFpblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSkuZmluYWxseSgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93Q2FuY2VsTW9kYWwgPSB0cnVlXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0Y29uZmlybUNhbmNlbE9yZGVyKCkge1xuXHRcdFx0XHRpZiAoIXRoaXMuc2VsZWN0ZWRPcmRlcikgcmV0dXJuXG5cdFx0XHRcdHRoaXMuJHUuYXBpLmNhbmNlbE9yZGVyKHsgb3JkZXJJZDogdGhpcy5zZWxlY3RlZE9yZGVyLmlkIH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR0aGlzLnNob3dDYW5jZWxNb2RhbCA9IGZhbHNlXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+WPlua2iOaIkOWKnycsIGljb246ICdzdWNjZXNzJyB9KVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRPcmRlckxpc3QoKVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVPcmRlckNvdW50KClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiByZXMubWVzc2FnZSB8fCAn5Y+W5raI5aSx6LSlJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5jYXRjaCgoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5zaG93Q2FuY2VsTW9kYWwgPSBmYWxzZVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGhhbmRsZVNob3dRUkNvZGUoaXRlbSkge1xuXHRcdFx0XHR0aGlzLnNlbGVjdGVkT3JkZXIgPSBpdGVtXG5cdFx0XHRcdHRoaXMuc2hvd1FSUG9wdXAgPSB0cnVlXG5cdFx0XHR9LFxuXHRcdFx0aGFuZGxlUGhvdG9QaWNrdXAoaXRlbSkge1xuXHRcdFx0XHR0aGlzLmNoZWNrT3BlcmF0aW9uUmFkaXVzKGl0ZW0uaWQsICdwaWNrdXAnKVxuXHRcdFx0fSxcblx0XHRcdGhhbmRsZVBob3RvRGVsaXZlcihpdGVtKSB7XG5cdFx0XHRcdHRoaXMuY2hlY2tPcGVyYXRpb25SYWRpdXMoaXRlbS5pZCwgJ2RlbGl2ZXInKVxuXHRcdFx0fSxcblx0XHRcdGNoZWNrT3BlcmF0aW9uUmFkaXVzKG9yZGVySWQsIG1vZGUpIHtcblx0XHRcdFx0dW5pLmdldExvY2F0aW9uKHtcblx0XHRcdFx0XHR0eXBlOiAnZ2NqMDInLFxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMuJHUuYXBpLmNoZWNrRHJpdmVyT3BlcmF0aW9uUmFkaXVzKHtcblx0XHRcdFx0XHRcdFx0bGF0OiByZXMubGF0aXR1ZGUsXG5cdFx0XHRcdFx0XHRcdGxuZzogcmVzLmxvbmdpdHVkZSxcblx0XHRcdFx0XHRcdFx0b3JkZXJJZDogb3JkZXJJZFxuXHRcdFx0XHRcdFx0fSkudGhlbihhcGlSZXMgPT4ge1xuXHRcdFx0XHRcdFx0XHRpZiAoYXBpUmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGFwaVJlcy5kYXRhKVxuXHRcdFx0XHRcdFx0XHRcdGlmIChhcGlSZXMuZGF0YSA9PT0gdHJ1ZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5zZWxlY3RlZE9yZGVyID0geyBpZDogb3JkZXJJZCB9XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnBob3RvUG9wdXBNb2RlID0gbW9kZVxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy51cGxvYWRlZFBob3RvcyA9IFtdXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnBob3RvUmVtYXJrID0gJydcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuc2hvd1Bob3RvUG9wdXAgPSB0cnVlXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHR0aXRsZTogJ+aCqOW9k+WJjeS9jee9ruS4juaUtui0p+WcsOWdgOi3neemu+i2heWHuuiMg+WbtO+8jOivt+WcqOWcsOWdgOmZhOi/kemHjeaWsOaLjeeFpycsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRmYWlsOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfml6Dms5Xojrflj5bmgqjnmoTkvY3nva7kv6Hmga8nLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGNsb3NlUGhvdG9Qb3B1cCgpIHtcblx0XHRcdFx0dGhpcy5zaG93UGhvdG9Qb3B1cCA9IGZhbHNlXG5cdFx0XHR9LFxuXHRcdFx0Y2hvb3NlUGhvdG8oKSB7XG5cdFx0XHRcdGlmICh0aGlzLnVwbG9hZGVkUGhvdG9zLmxlbmd0aCA+PSAzKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5pyA5aSa5LiK5LygM+W8oOeFp+eJhycsIGljb246ICdub25lJyB9KVxuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cdFx0XHRcdHVuaS5jaG9vc2VJbWFnZSh7XG5cdFx0XHRcdFx0Y291bnQ6IDMgLSB0aGlzLnVwbG9hZGVkUGhvdG9zLmxlbmd0aCxcblx0XHRcdFx0XHRzb3VyY2VUeXBlOiBbJ2NhbWVyYScsICdhbGJ1bSddLFxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMudXBsb2FkZWRQaG90b3MgPSBbLi4udGhpcy51cGxvYWRlZFBob3RvcywgLi4ucmVzLnRlbXBGaWxlUGF0aHNdXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGRlbGV0ZVBob3RvKGluZGV4KSB7XG5cdFx0XHRcdHRoaXMudXBsb2FkZWRQaG90b3Muc3BsaWNlKGluZGV4LCAxKVxuXHRcdFx0fSxcblx0XHRcdHN1Ym1pdFBob3RvUG9wdXAoKSB7XG5cdFx0XHRcdGlmICh0aGlzLnVwbG9hZGVkUGhvdG9zLmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+ivt+S4iuS8oOeFp+eJhycsIGljb246ICdub25lJyB9KVxuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7IHRpdGxlOiAn5LiK5Lyg5LitLi4uJyB9KVxuXHRcdFx0XHR1bmkuZ2V0TG9jYXRpb24oe1xuXHRcdFx0XHRcdHR5cGU6ICdnY2owMicsXG5cdFx0XHRcdFx0c3VjY2VzczogKGxvY2F0aW9uUmVzKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLmRvVXBsb2FkUGhvdG9zKGxvY2F0aW9uUmVzLmxhdGl0dWRlLCBsb2NhdGlvblJlcy5sb25naXR1ZGUpXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRmYWlsOiAoKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLmRvVXBsb2FkUGhvdG9zKG51bGwsIG51bGwpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0ZG9VcGxvYWRQaG90b3MobGF0aXR1ZGUsIGxvbmdpdHVkZSkge1xuXHRcdFx0XHRjb25zdCB1cGxvYWRUYXNrcyA9IHRoaXMudXBsb2FkZWRQaG90b3MubWFwKHBhdGggPT4ge1xuXHRcdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBmb3JtRGF0YSA9IHsgZm9sZGVyOiAnb3JkZXJzJyB9XG5cdFx0XHRcdFx0XHRpZiAobGF0aXR1ZGUgJiYgbG9uZ2l0dWRlKSB7XG5cdFx0XHRcdFx0XHRcdGZvcm1EYXRhLmxhdGl0dWRlID0gbGF0aXR1ZGVcblx0XHRcdFx0XHRcdFx0Zm9ybURhdGEubG9uZ2l0dWRlID0gbG9uZ2l0dWRlXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnZm9ybURhdGE6JywgZm9ybURhdGEpXG5cdFx0XHRcdFx0XHR1bmkudXBsb2FkRmlsZSh7XG5cdFx0XHRcdFx0XHRcdHVybDogdGhpcy4kYmFzZVVybCArICd3ZWIvcHVibGljL3VwbG9hZCcsXG5cdFx0XHRcdFx0XHRcdGZpbGVQYXRoOiBwYXRoLFxuXHRcdFx0XHRcdFx0XHRuYW1lOiAnZmlsZScsXG5cdFx0XHRcdFx0XHRcdGZvcm1EYXRhOiBmb3JtRGF0YSxcblx0XHRcdFx0XHRcdFx0c3VjY2VzczogKHVwbG9hZFJlcykgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKHVwbG9hZFJlcy5kYXRhKVxuXHRcdFx0XHRcdFx0XHRcdGlmIChkYXRhLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShkYXRhLmRhdGEpXG5cdFx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdHJlamVjdChuZXcgRXJyb3IoZGF0YS5tc2cpKVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0ZmFpbDogKGVycikgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdHJlamVjdChlcnIpXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSlcblxuXHRcdFx0XHRQcm9taXNlLmFsbCh1cGxvYWRUYXNrcykudGhlbihpbWFnZXMgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IGFwaSA9IHRoaXMucGhvdG9Qb3B1cE1vZGUgPT09ICdkZWxpdmVyJyA/ICdjb25maXJtRGVsaXZlcicgOiAnY29uZmlybVBpY2t1cCdcblx0XHRcdFx0XHRjb25zdCBwYXJhbXMgPSB7XG5cdFx0XHRcdFx0XHRpbWFnZXM6IGltYWdlcy5tYXAoaW1nID0+IGltZy5pbWdhZGRyKSxcblx0XHRcdFx0XHRcdG9yZGVySWQ6IHRoaXMuc2VsZWN0ZWRPcmRlci5pZCxcblx0XHRcdFx0XHRcdHJlbWFyazogdGhpcy5waG90b1JlbWFya1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAobGF0aXR1ZGUgJiYgbG9uZ2l0dWRlKSB7XG5cdFx0XHRcdFx0XHRwYXJhbXMubGF0aXR1ZGUgPSBsYXRpdHVkZVxuXHRcdFx0XHRcdFx0cGFyYW1zLmxvbmdpdHVkZSA9IGxvbmdpdHVkZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gdGhpcy4kdS5hcGlbYXBpXShwYXJhbXMpXG5cdFx0XHRcdH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfmj5DkuqTmiJDlip8nLCBpY29uOiAnc3VjY2VzcycgfSlcblx0XHRcdFx0XHRcdHRoaXMuc2hvd1Bob3RvUG9wdXAgPSBmYWxzZVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRPcmRlckxpc3QoKVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRBY3RpdmVPcmRlckNvdW50KClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiByZXMubXNnIHx8ICfmj5DkuqTlpLHotKUnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKClcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6IGVyci5tZXNzYWdlIHx8ICfkuIrkvKDlpLHotKUnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHR9XG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG5cdC5vcmRlci1wYWdlIHtcblx0XHRoZWlnaHQ6IDEwMHZoO1xuXHRcdGJhY2tncm91bmQ6ICNmNWY3ZmI7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdCZfX25hdiB7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMxZjczZjYgMCUsICMxYjZjZjIgMTAwJSk7XG5cdFx0fVxuXG5cdFx0Jl9fbmF2LWlubmVyIHtcblx0XHRcdGhlaWdodDogODhycHg7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IDAgMjhycHg7XG5cdFx0fVxuXG5cdFx0Jl9fbmF2LXRpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogMzhycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0fVxuXG5cdFx0Jl9fc2VhcmNoIHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHotaW5kZXg6IDEwO1xuXHRcdFx0aGVpZ2h0OiA4OHJweDtcblx0XHRcdHBhZGRpbmc6IDhycHggMzBycHg7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdH1cblxuXHRcdCZfX3NlYXJjaC1ib3gge1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRoZWlnaHQ6IDcycnB4O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nOiAwIDI0cnB4O1xuXHRcdFx0YmFja2dyb3VuZDogI0VFRUVFRTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDE2cnB4O1xuXHRcdH1cblxuXHRcdCZfX3NlYXJjaC1pbnB1dCB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0aGVpZ2h0OiA3MnJweDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMnJweDtcblx0XHRcdGNvbG9yOiAjMzMzMzMzO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0fVxuXG5cdFx0Jl9fc2VhcmNoLXBsYWNlaG9sZGVyIHtcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0XHRjb2xvcjogIzk5OTk5OTtcblx0XHR9XG5cblx0XHQmX190YWJzIHtcblx0XHRcdHBvc2l0aW9uOiBmaXhlZDtcblx0XHRcdGxlZnQ6IDA7XG5cdFx0XHRyaWdodDogMDtcblx0XHRcdHotaW5kZXg6IDk7XG5cdFx0XHRoZWlnaHQ6IDg4cnB4O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdFx0Ym94LXNoYWRvdzogMCAxMHJweCAyMHJweCByZ2JhKDQwLCA3MiwgMTI4LCAwLjA0KTtcblx0XHR9XG5cblx0XHQmX190YWIge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cblx0XHRcdCYtLWFjdGl2ZSB7XG5cdFx0XHRcdC5vcmRlci1wYWdlX190YWItdGV4dCB7XG5cdFx0XHRcdFx0Y29sb3I6ICMyNzJiMzM7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3RhYi10ZXh0IHtcblx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XG5cdFx0XHRjb2xvcjogIzhmOTZhMztcblx0XHR9XG5cblx0XHQmX190YWItbGluZSB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAyNnJweDtcblx0XHRcdHJpZ2h0OiAyNnJweDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdGhlaWdodDogNHJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDk5OXJweDtcblx0XHRcdGJhY2tncm91bmQ6ICMxYTczZjg7XG5cdFx0fVxuXG5cdFx0Jl9fYm9keSB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdH1cblxuXHRcdCZfX2xpc3Qge1xuXHRcdFx0cGFkZGluZzogMThycHggMjJycHggY2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgKyAyNnJweCk7XG5cdFx0fVxuXG5cdFx0Jl9fZW1wdHkge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRwYWRkaW5nLXRvcDogMjAwcnB4O1xuXHRcdH1cblxuXHRcdCZfX2VtcHR5LWljb24ge1xuXHRcdFx0d2lkdGg6IDMyMHJweDtcblx0XHRcdGhlaWdodDogMzIwcnB4O1xuXHRcdH1cblxuXHRcdCZfX2xvYWRpbmcge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdHBhZGRpbmc6IDMwcnB4IDA7XG5cdFx0XHRjb2xvcjogIzhmOTZhMztcblx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0fVxuXHR9XG5cblx0Lm9yZGVyLWNhcmQge1xuXHRcdG1hcmdpbi1ib3R0b206IDE4cnB4O1xuXHRcdHBhZGRpbmc6IDIwcnB4IDE4cnB4IDE4cnB4O1xuXHRcdGJvcmRlci1yYWRpdXM6IDIwcnB4O1xuXHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0Ym94LXNoYWRvdzogMCA4cnB4IDIwcnB4IHJnYmEoNDMsIDY1LCAxMDYsIDAuMDUpO1xuXG5cdFx0Jl9faGVhZCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHR9XG5cblx0XHQmX19oZWFkLWxlZnQge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDEycnB4O1xuXHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdH1cblxuXHRcdCZfX2JhZGdlIHtcblx0XHRcdHBhZGRpbmc6IDRycHggMTBycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHJweDtcblx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHRcdFx0Ji0tYmx1ZSB7XG5cdFx0XHRcdGJvcmRlcjogMXJweCBzb2xpZCAjNzVjZmZmO1xuXHRcdFx0XHRjb2xvcjogIzI3YThmODtcblx0XHRcdFx0YmFja2dyb3VuZDogI2VlZmFmZjtcblx0XHRcdH1cblxuXHRcdFx0Ji0tcmVkIHtcblx0XHRcdFx0Ym9yZGVyOiAxcnB4IHNvbGlkICNmZjhmOGY7XG5cdFx0XHRcdGNvbG9yOiAjZmY1ZDVkO1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZmZmMWYxO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX2JhZGdlLWljb24ge1xuXHRcdFx0d2lkdGg6IDEwOHJweDtcblx0XHRcdGhlaWdodDogNDBycHg7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cblx0XHQmX190aW1lLXRleHQsXG5cdFx0Jl9fc3RhdHVzLFxuXHRcdCZfX3JvdXRlLWRlc2MsXG5cdFx0Jl9fYXJyaXZhbC10ZXh0IHtcblx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRjb2xvcjogI2ExYTdiMjtcblx0XHR9XG5cblx0XHQmX19zdGF0dXMge1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cblx0XHRcdCYtLWhpZ2hsaWdodCB7XG5cdFx0XHRcdGNvbG9yOiAjZmY0YTNkO1xuXHRcdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3JvdXRlLWl0ZW0ge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXHRcdFx0bWFyZ2luLXRvcDogMjJycHg7XG5cblx0XHRcdCYtLWRlbGl2ZXJ5IHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMjBycHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fcG9pbnQge1xuXHRcdFx0d2lkdGg6IDM0cnB4O1xuXHRcdFx0aGVpZ2h0OiAzNHJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiAzNHJweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHRcdG1hcmdpbi1yaWdodDogMTZycHg7XG5cblx0XHRcdCYtLXBpY2t1cCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMyYWI4ZmY7XG5cdFx0XHR9XG5cblx0XHRcdCYtLWRlbGl2ZXJ5IHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmOWQyZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmX19yb3V0ZS10ZXh0cyB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0bWluLXdpZHRoOiAwO1xuXHRcdH1cblxuXHRcdCZfX3JvdXRlLXRpdGxlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiAzNHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogIzJkMzEzOTtcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjM7XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtZGVzYyB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbi10b3A6IDhycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMS40O1xuXHRcdH1cblxuXHRcdCZfX2Zvb3RlciB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdG1hcmdpbi10b3A6IDIycnB4O1xuXHRcdFx0cGFkZGluZy10b3A6IDE2cnB4O1xuXHRcdFx0Ym9yZGVyLXRvcDogMXJweCBzb2xpZCAjZjBmMmY2O1xuXHRcdH1cblxuXHRcdCZfX2Fycml2YWwge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRnYXA6IDEwcnB4O1xuXHRcdH1cblxuXHRcdCZfX2Nsb2NrIHtcblx0XHRcdHdpZHRoOiAyNHJweDtcblx0XHRcdGhlaWdodDogMjRycHg7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cblx0XHQmX19wcmljZS13cmFwIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAxMHJweDtcblx0XHR9XG5cblx0XHQmX19wcmljZS10YWcge1xuXHRcdFx0cGFkZGluZzogM3JweCA4cnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOHJweDtcblx0XHRcdGJvcmRlcjogMXJweCBzb2xpZCAjZmY4ZjhmO1xuXHRcdFx0Zm9udC1zaXplOiAyMnJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRjb2xvcjogI2ZmNmE2YTtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY0ZjQ7XG5cdFx0fVxuXG5cdFx0Jl9fcHJpY2Uge1xuXHRcdFx0Zm9udC1zaXplOiA0MHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogI2ZmNDAzMDtcblx0XHR9XG5cblx0XHQmX19hY3Rpb25zIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRtYXJnaW4tdG9wOiAxOHJweDtcblx0XHRcdHBhZGRpbmctdG9wOiAxOHJweDtcblx0XHRcdGJvcmRlci10b3A6IDFycHggc29saWQgI2YwZjJmNjtcblx0XHR9XG5cblx0XHQmX19hY3Rpb24tYnRuIHtcblx0XHRcdHdpZHRoOiAxNjBycHg7XG5cdFx0XHRoZWlnaHQ6IDY0cnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDY0cnB4O1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDM0cnB4O1xuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRib3JkZXI6IDFycHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCYtLWxpZ2h0IHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjZDdkYmUzO1xuXHRcdFx0XHRjb2xvcjogIzhmOTZhMztcblx0XHRcdH1cblxuXHRcdFx0Ji0tcHJpbWFyeSB7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogIzJjN2NmZjtcblx0XHRcdFx0Y29sb3I6ICMyYzdjZmY7XG5cdFx0XHR9XG5cblx0XHRcdCYtLXByaW1hcnktZmlsbCB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMyYzdjZmY7XG5cdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1ob3ZlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cbi5xcmNvZGUge1xuXHRwYWRkaW5nOiAzMHJweCA0MHJweCA1MHJweDtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblxuXHQmLXRpdGxlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdG1hcmdpbi1ib3R0b206IDQwcnB4O1xuXG5cdFx0aW1hZ2Uge1xuXHRcdFx0d2lkdGg6IDQwcnB4O1xuXHRcdFx0aGVpZ2h0OiA0MHJweDtcblx0XHR9XG5cblx0XHR0ZXh0IHtcblx0XHRcdGZvbnQtc2l6ZTogMzRycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICMyZDMxMzk7XG5cdFx0fVxuXHR9XG5cblx0Ji1pbWFnZSB7XG5cdFx0d2lkdGg6IDQwMHJweDtcblx0XHRoZWlnaHQ6IDQwMHJweDtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTZycHg7XG5cblx0XHRpbWFnZSB7XG5cdFx0XHR3aWR0aDogMzYwcnB4O1xuXHRcdFx0aGVpZ2h0OiAzNjBycHg7XG5cdFx0fVxuXHR9XG5cblx0Ji1idG4ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogODhycHg7XG5cdFx0bGluZS1oZWlnaHQ6IDg4cnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiAjMTA2RUZBO1xuXHRcdGJvcmRlci1yYWRpdXM6IDQ0cnB4O1xuXHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRtYXJnaW4tdG9wOiA0MHJweDtcblxuXHRcdCYtLWhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICMwZDVmYzc7XG5cdFx0fVxuXHR9XG59XG5cbi5waG90by1wb3B1cCB7XG5cdHBhZGRpbmc6IDMwcnB4IDMwcnB4IGNhbGMoZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pICsgMzBycHgpO1xuXG5cdCZfX2hlYWRlciB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiA0MHJweDtcblx0fVxuXG5cdCZfX3BsYWNlaG9sZGVyIHtcblx0XHR3aWR0aDogNDBycHg7XG5cdFx0aGVpZ2h0OiA0MHJweDtcblx0fVxuXG5cdCZfX3RpdGxlIHtcblx0XHRmb250LXNpemU6IDM0cnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0Y29sb3I6ICMyZDMxMzk7XG5cdH1cblxuXHQmX19jbG9zZSB7XG5cdFx0d2lkdGg6IDQwcnB4O1xuXHRcdGhlaWdodDogNDBycHg7XG5cdH1cblxuXHQmX19zZWN0aW9uIHtcblx0XHRtYXJnaW4tYm90dG9tOiAzMHJweDtcblxuXHRcdCYtLXJlbWFyayB7XG5cdFx0XHRtYXJnaW4tdG9wOiAzMHJweDtcblx0XHR9XG5cdH1cblxuXHQmX19sYWJlbC1yb3cge1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHJweDtcblx0fVxuXG5cdCZfX2xhYmVsIHtcblx0XHRmb250LXNpemU6IDMwcnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0Y29sb3I6ICMyZDMxMzk7XG5cdH1cblxuXHQmX19yZXF1aXJlZCB7XG5cdFx0Y29sb3I6ICNmZjQwMzA7XG5cdFx0bWFyZ2luLWxlZnQ6IDhycHg7XG5cdH1cblxuXHQmX19oaW50IHtcblx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdGNvbG9yOiAjOGY5NmEzO1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHR9XG5cblx0Jl9fcGhvdG9zIHtcblx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRnYXA6IDIwcnB4O1xuXHR9XG5cblx0Jl9fcHJldmlldy1jYXJkIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0d2lkdGg6IDE0NHJweDtcblx0XHRoZWlnaHQ6IDE0NHJweDtcblx0XHRib3JkZXItcmFkaXVzOiAxMnJweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHR9XG5cblx0Jl9fcHJldmlldy1pbWFnZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHR9XG5cblx0Jl9fcHJldmlldy1tYXNrIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0bGVmdDogMDtcblx0XHRyaWdodDogMDtcblx0XHRib3R0b206IDA7XG5cdFx0aGVpZ2h0OiA1NnJweDtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHR9XG5cblx0Jl9fcHJldmlldy1kZWxldGUge1xuXHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0Y29sb3I6ICNmZmZmZmY7XG5cdH1cblxuXHQmX191cGxvYWQtYnRuIHtcblx0XHR3aWR0aDogMTQ0cnB4O1xuXHRcdGhlaWdodDogMTQ0cnB4O1xuXHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuXHRcdGltYWdlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblx0fVxuXG5cdCZfX3JlbWFyay10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdGNvbG9yOiAjMmQzMTM5O1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcnB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cblx0Jl9fdGV4dGFyZWEge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTYwcnB4O1xuXHRcdHBhZGRpbmc6IDIwcnB4O1xuXHRcdGJhY2tncm91bmQ6ICNmNWY3ZmI7XG5cdFx0Ym9yZGVyLXJhZGl1czogMTJycHg7XG5cdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRjb2xvcjogIzJkMzEzOTtcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHR9XG5cblx0Jl9fc3VibWl0IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRoZWlnaHQ6IDg4cnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA4OHJweDtcblx0XHRiYWNrZ3JvdW5kOiAjMmM3Y2ZmO1xuXHRcdGJvcmRlci1yYWRpdXM6IDQ0cnB4O1xuXHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRjb2xvcjogI2ZmZmZmZjtcblx0XHRtYXJnaW4tdG9wOiA0MHJweDtcblxuXHRcdCYtLWhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQ6ICMyNjc4ZTg7XG5cdFx0fVxuXHR9XG59XG48L3N0eWxlPlxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///108\n");
 
 /***/ }),
 /* 109 */
@@ -11526,14 +11544,30 @@
                                   ),
                                 ]
                               ),
-                              _c("text", {
-                                staticClass: _vm._$s(
-                                  70,
-                                  "sc",
-                                  "order-detail-page__qrcode-label"
-                                ),
-                                attrs: { _i: 70 },
-                              }),
+                              _c(
+                                "text",
+                                {
+                                  staticClass: _vm._$s(
+                                    70,
+                                    "sc",
+                                    "order-detail-page__qrcode-label"
+                                  ),
+                                  attrs: { _i: 70 },
+                                },
+                                [
+                                  _vm._v(
+                                    _vm._$s(
+                                      70,
+                                      "t0-0",
+                                      _vm._s(
+                                        _vm.orderDetail.status === 3
+                                          ? "鍙栬揣鐮�"
+                                          : "瀛樹欢鐮�"
+                                      )
+                                    )
+                                  ),
+                                ]
+                              ),
                             ]
                           )
                         : _vm._e(),
@@ -12657,7 +12691,7 @@
 /***/ (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 _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 114));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _vuex = __webpack_require__(/*! vuex */ 12);\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      orderId: null,\n      orderIndex: null,\n      orderDetail: null,\n      statusBarHeight: 0,\n      topFixedHeight: 0,\n      showPhotoPopup: false,\n      photoPopupMode: '',\n      photoRemark: '',\n      uploadedPhotos: [],\n      showCancelModal: false,\n      cancelRemain: 0,\n      showGrabModal: false,\n      currentLocation: null,\n      routePoints: [],\n      locationTimer: null,\n      distance: 0,\n      duration: 0,\n      isWithinOperationRadius: true,\n      statusTextMap: {\n        2: '寰呮帴鍗�',\n        3: '寰呭彇璐�',\n        4: '閰嶉�佷腑',\n        5: '宸查�佽揪',\n        7: '宸插畬鎴�',\n        99: '宸插彇娑�'\n      },\n      goodsList: [],\n      photos: []\n    };\n  },\n  computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)(['userInfo'])), {}, {\n    formattedRemainTime: function formattedRemainTime() {\n      var minutes = this.orderDetail.remainMinutes;\n      if (!minutes) return null;\n      if (minutes >= 60) {\n        var hours = Math.floor(minutes / 60);\n        var mins = minutes % 60;\n        return mins > 0 ? \"\".concat(hours, \"\\u5C0F\\u65F6\").concat(mins, \"\\u5206\\u949F\") : \"\".concat(hours, \"\\u5C0F\\u65F6\");\n      }\n      return \"\".concat(minutes, \"\\u5206\\u949F\");\n    },\n    showMapStatus: function showMapStatus() {\n      return this.orderDetail.status === 3 || this.orderDetail.status === 4;\n    },\n    mapData: function mapData() {\n      var startPoint = this.currentLocation || {\n        latitude: this.orderDetail.navigateLat,\n        longitude: this.orderDetail.navigateLng\n      };\n      var hasEndPoint = this.orderDetail.navigateLat && this.orderDetail.navigateLng;\n      var endPoint = {\n        latitude: this.orderDetail.navigateLng,\n        longitude: this.orderDetail.navigateLat\n      };\n      var center;\n      var scale = 12;\n      if (this.currentLocation && hasEndPoint) {\n        var latSpan = Math.abs(this.currentLocation.latitude - endPoint.latitude);\n        var lngSpan = Math.abs(this.currentLocation.longitude - endPoint.longitude);\n        var maxSpan = Math.max(latSpan, lngSpan);\n        center = {\n          latitude: (this.currentLocation.latitude + endPoint.latitude) / 2,\n          longitude: (this.currentLocation.longitude + endPoint.longitude) / 2\n        };\n        if (maxSpan > 0.3) {\n          scale = 9;\n        } else if (maxSpan > 0.15) {\n          scale = 10;\n        } else if (maxSpan > 0.08) {\n          scale = 11;\n        } else if (maxSpan > 0.04) {\n          scale = 12;\n        } else if (maxSpan > 0.02) {\n          scale = 13;\n        } else if (maxSpan > 0.01) {\n          scale = 14;\n        } else if (maxSpan > 0.005) {\n          scale = 15;\n        } else if (maxSpan > 0.002) {\n          scale = 16;\n        } else {\n          scale = 17;\n        }\n      } else if (this.currentLocation) {\n        center = this.currentLocation;\n      } else {\n        center = {\n          latitude: this.orderDetail.navigateLat,\n          longitude: this.orderDetail.navigateLng\n        };\n      }\n      var markers = [{\n        id: 1,\n        latitude: startPoint.latitude,\n        longitude: startPoint.longitude,\n        iconPath: '/static/image/start.png',\n        width: 32,\n        height: 38,\n        anchor: {\n          x: 0.5,\n          y: 1\n        }\n      }, {\n        id: 2,\n        latitude: endPoint.latitude,\n        longitude: endPoint.longitude,\n        iconPath: '/static/image/end.png',\n        width: 32,\n        height: 38,\n        anchor: {\n          x: 0.5,\n          y: 1\n        }\n      }, {\n        id: 3,\n        latitude: startPoint.latitude,\n        longitude: startPoint.longitude,\n        iconPath: '/static/image/dizhi.png',\n        width: 12,\n        height: 12,\n        anchor: {\n          x: 0.5,\n          y: 0.5\n        }\n      }];\n      var routePoints = this.routePoints.length > 0 ? this.routePoints : [startPoint, endPoint];\n      var result = {\n        center: center,\n        markers: markers,\n        polyline: this.routePoints.length > 0 ? [{\n          points: routePoints,\n          color: '#05be76',\n          width: 25,\n          arrowLine: true,\n          dottedLine: false\n        }] : [{\n          points: routePoints,\n          color: '#05be76',\n          width: 25,\n          arrowLine: true,\n          dottedLine: true\n        }],\n        includePoints: [startPoint, endPoint],\n        scale: scale\n      };\n      return result;\n    },\n    bodyStyle: function bodyStyle() {\n      var footerHeight = uni.upx2px(116);\n      var simpleNavHeight = this.statusBarHeight + uni.upx2px(88);\n      return {\n        paddingTop: (this.showMapStatus ? this.topFixedHeight : simpleNavHeight) + 'px',\n        height: \"calc(100vh - \".concat(this.footerButtons.length ? footerHeight + 20 : 20, \"px)\")\n      };\n    },\n    footerButtons: function footerButtons() {\n      var status = this.orderDetail.status;\n      var takeShopId = this.orderDetail.takeShopId;\n      if (status === 2) {\n        return [{\n          text: '绔嬪嵆鎶㈠崟',\n          primary: true,\n          action: 'grab'\n        }];\n      }\n      if (status === 3) {\n        return [{\n          text: '鍙栨秷璁㈠崟',\n          primary: false,\n          action: 'cancel'\n        }, {\n          text: '鎷嶇収鍙栬揣',\n          primary: true,\n          action: 'pickup'\n        }];\n      }\n      if (status === 4) {\n        if (!takeShopId) {\n          return [{\n            text: '鎷嶇収閫佽揪',\n            primary: true,\n            action: 'deliver'\n          }];\n        }\n        return [];\n      }\n      return [];\n    },\n    photoPopupTitle: function photoPopupTitle() {\n      return this.photoPopupMode === 'deliver' ? '鎷嶇収閫佽揪' : '鎷嶇収鍙栬揣';\n    },\n    photoPopupLabel: function photoPopupLabel() {\n      return this.photoPopupMode === 'deliver' ? '鎷嶆憚閫佽揪鐓х墖' : '鎷嶆憚鍙栬揣鐓х墖';\n    },\n    photoPopupSubmitText: function photoPopupSubmitText() {\n      return this.photoPopupMode === 'deliver' ? '纭閫佽揪' : '纭鍙栬揣';\n    }\n  }),\n  onLoad: function onLoad(options) {\n    var pages = getCurrentPages();\n    var currentPage = pages[pages.length - 1];\n    var pageOptions = currentPage && currentPage.options ? currentPage.options : {};\n    var systemInfo = uni.getSystemInfoSync();\n    this.statusBarHeight = systemInfo.statusBarHeight || 0;\n    this.orderId = options.id || pageOptions.id;\n    this.orderIndex = options.index;\n    this.topFixedHeight = uni.upx2px(500 + 92);\n    if (this.orderId) {\n      this.getOrderDetail();\n      this.initOperationRadius();\n    }\n  },\n  onUnload: function onUnload() {\n    if (this.locationTimer) {\n      clearInterval(this.locationTimer);\n      this.locationTimer = null;\n    }\n  },\n  methods: {\n    handleBack: function handleBack() {\n      uni.navigateBack({\n        delta: 1\n      });\n    },\n    initOperationRadius: function initOperationRadius() {\n      var _this = this;\n      uni.getLocation({\n        type: 'gcj02',\n        success: function success(res) {\n          _this.$u.api.checkDriverOperationRadius({\n            lat: res.latitude,\n            lng: res.longitude,\n            orderId: _this.orderId\n          }).then(function (res) {\n            if (res.code === 200) {\n              _this.isWithinOperationRadius = res.data;\n              if (!_this.isWithinOperationRadius) {\n                uni.showToast({\n                  title: '鎮ㄥ綋鍓嶄綅缃笌鏀惰揣鍦板潃璺濈瓒呭嚭鑼冨洿锛岃鍦ㄥ湴鍧�闄勮繎閲嶆柊鎷嶇収',\n                  icon: 'none'\n                });\n              }\n            }\n          });\n        },\n        fail: function fail() {\n          _this.isWithinOperationRadius = false;\n          uni.showToast({\n            title: '鎮ㄥ綋鍓嶄綅缃潈闄愭病鏈夊紑鍚紝璇峰厛寮�鍚悗鍐嶆潵鎿嶄綔',\n            icon: 'none'\n          });\n        }\n      });\n    },\n    getOrderDetail: function getOrderDetail() {\n      var _this2 = this;\n      this.$u.api.orderDetail({\n        orderId: this.orderId\n      }).then(function (res) {\n        if (res.code === 200) {\n          __f__(\"log\", 'orderDetail:', res.data, \" at pages/order-detail/order-detail.vue:503\");\n          _this2.orderDetail = res.data;\n          _this2.goodsList = res.data.items || [];\n          _this2.photos = res.data.orderImages || [];\n          if ((_this2.orderDetail.status === 3 || _this2.orderDetail.status === 4) && _this2.orderDetail.navigateLat && _this2.orderDetail.navigateLng) {\n            _this2.getCurrentLocation();\n          } else {\n            __f__(\"log\", 'Skipping getCurrentLocation - status or coordinates not available', \" at pages/order-detail/order-detail.vue:510\");\n          }\n        }\n      });\n    },\n    getCurrentLocation: function getCurrentLocation() {\n      var _this3 = this;\n      this.fetchLocation();\n      this.locationTimer = setInterval(function () {\n        _this3.fetchLocation();\n      }, 60000);\n    },\n    fetchLocation: function fetchLocation() {\n      var _this4 = this;\n      uni.getLocation({\n        type: 'gcj02',\n        success: function success(res) {\n          _this4.currentLocation = {\n            latitude: res.latitude,\n            longitude: res.longitude\n          };\n          _this4.getRoutePlan();\n        },\n        fail: function fail(err) {\n          __f__(\"log\", '鑾峰彇浣嶇疆澶辫触', err, \" at pages/order-detail/order-detail.vue:534\");\n        }\n      });\n    },\n    getRoutePlan: function getRoutePlan() {\n      var _this5 = this;\n      if (!this.currentLocation || !this.orderDetail.navigateLat || !this.orderDetail.navigateLng) {\n        __f__(\"log\", 'Skipping route plan - missing data', \" at pages/order-detail/order-detail.vue:541\");\n        return;\n      }\n      var from = \"\".concat(this.currentLocation.latitude, \",\").concat(this.currentLocation.longitude);\n      var to = \"\".concat(this.orderDetail.navigateLng, \",\").concat(this.orderDetail.navigateLat);\n      this.$u.api.directionInfo({\n        from: from,\n        to: to,\n        mode: this.userInfo.driverType\n      }).then(function (res) {\n        __f__(\"log\", 'paths success:', res.data.route.paths[0], \" at pages/order-detail/order-detail.vue:551\");\n        if (res.code === 200) {\n          var path = res.data.route.paths[0];\n          _this5.distance = path.distance;\n          _this5.duration = path.duration;\n          var points = [];\n          path.steps.forEach(function (step) {\n            var polylineStr = step.polyline;\n            var coordinates = polylineStr.split(';');\n            coordinates.forEach(function (coord) {\n              var _coord$split = coord.split(','),\n                _coord$split2 = (0, _slicedToArray2.default)(_coord$split, 2),\n                lng = _coord$split2[0],\n                lat = _coord$split2[1];\n              points.push({\n                latitude: parseFloat(lat),\n                longitude: parseFloat(lng)\n              });\n            });\n          });\n          _this5.routePoints = points;\n          _this5.$forceUpdate();\n        }\n      });\n    },\n    // makePhoneCall() {\n    // \tif (this.orderDetail.contactPhone) {\n    // \t\tuni.makePhoneCall({\n    // \t\t\tphoneNumber: this.orderDetail.contactPhone\n    // \t\t})\n    // \t}\n    // },\n    makeShopCall: function makeShopCall(type) {\n      var phone = type === 'take' ? this.orderDetail.takeContactPhone : this.orderDetail.depositShopPhone;\n      if (phone) {\n        uni.makePhoneCall({\n          phoneNumber: phone\n        });\n      }\n    },\n    navigateToAddress: function navigateToAddress(type) {\n      var latitude, longitude, name, address;\n      if (type === 'deposit') {\n        latitude = this.orderDetail.depositShopLat;\n        longitude = this.orderDetail.depositShopLng;\n        name = this.orderDetail.depositShopName;\n        address = this.orderDetail.depositShopAddress;\n      } else {\n        latitude = this.orderDetail.takeLat;\n        longitude = this.orderDetail.takeLng;\n        name = this.orderDetail.takeName;\n        address = this.orderDetail.takeAddress;\n      }\n      if (!latitude || !longitude) {\n        uni.showToast({\n          title: '鍦板潃鍧愭爣缂哄け',\n          icon: 'none'\n        });\n        return;\n      }\n      uni.openLocation({\n        latitude: latitude,\n        longitude: longitude,\n        name: name,\n        address: address,\n        success: function success() {},\n        fail: function fail(err) {\n          uni.showToast({\n            title: '鎵撳紑鍦板浘澶辫触',\n            icon: 'none'\n          });\n          __f__(\"error\", 'openLocation fail:', err, \" at pages/order-detail/order-detail.vue:616\");\n        }\n      });\n    },\n    previewImage: function previewImage(current) {\n      uni.previewImage({\n        current: current,\n        urls: this.photos\n      });\n    },\n    handleFooterAction: function handleFooterAction(button) {\n      var action = button.action;\n      if (action === 'cancel') {\n        this.handleCancelOrder();\n        return;\n      }\n      if (action === 'pickup' || action === 'deliver') {\n        if (!this.isWithinOperationRadius) {\n          uni.showToast({\n            title: '鎮ㄥ綋鍓嶄綅缃笌鏀惰揣鍦板潃璺濈瓒呭嚭鑼冨洿锛岃鍦ㄥ湴鍧�闄勮繎閲嶆柊鎷嶇収',\n            icon: 'none'\n          });\n          return;\n        }\n        this.uploadedPhotos = [];\n        this.photoRemark = '';\n        this.photoPopupMode = action;\n        this.showPhotoPopup = true;\n        return;\n      }\n      if (action === 'grab') {\n        this.handleGrabOrder();\n        return;\n      }\n    },\n    handleCancelOrder: function handleCancelOrder() {\n      var _this6 = this;\n      this.$u.api.cancelLimit().then(function (res) {\n        if (res.code === 200) {\n          _this6.cancelRemain = res.data.remain;\n        }\n      }).finally(function () {\n        _this6.showCancelModal = true;\n      });\n    },\n    confirmCancelOrder: function confirmCancelOrder() {\n      var _this7 = this;\n      this.$u.api.cancelOrder({\n        orderId: this.orderId\n      }).then(function (res) {\n        _this7.showCancelModal = false;\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鍙栨秷鎴愬姛',\n            icon: 'success'\n          });\n          _this7.getOrderDetail();\n        }\n      }).finally(function () {\n        _this7.showCancelModal = false;\n      });\n    },\n    handleGrabOrder: function handleGrabOrder() {\n      this.showGrabModal = true;\n    },\n    confirmGrabOrder: function confirmGrabOrder() {\n      var _this8 = this;\n      this.$u.api.grabOrder({\n        orderId: this.orderId\n      }).then(function (res) {\n        _this8.showGrabModal = false;\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鎺ュ崟鎴愬姛',\n            icon: 'success'\n          });\n          _this8.getOrderDetail();\n          setTimeout(function () {\n            uni.navigateBack();\n          }, 1500);\n        } else {\n          uni.showToast({\n            title: res.msg || '鎺ュ崟澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function () {\n        _this8.showGrabModal = false;\n      });\n    },\n    closePhotoPopup: function closePhotoPopup() {\n      this.showPhotoPopup = false;\n    },\n    chooseImage: function chooseImage() {\n      var _this9 = this;\n      var count = 3 - this.uploadedPhotos.length;\n      uni.chooseImage({\n        count: count,\n        sourceType: ['camera', 'album'],\n        success: function success(res) {\n          var tempFilePaths = res.tempFilePaths;\n          _this9.uploadedPhotos = _this9.uploadedPhotos.concat(tempFilePaths);\n        }\n      });\n    },\n    deletePhoto: function deletePhoto(index) {\n      this.uploadedPhotos.splice(index, 1);\n    },\n    submitPhotoPopup: function submitPhotoPopup() {\n      var _this10 = this;\n      if (this.uploadedPhotos.length === 0) {\n        uni.showToast({\n          title: '璇蜂笂浼犵収鐗�',\n          icon: 'none'\n        });\n        return;\n      }\n      uni.showLoading({\n        title: '涓婁紶涓�...'\n      });\n      uni.getLocation({\n        type: 'gcj02',\n        success: function success(locationRes) {\n          _this10.doUploadPhotos(locationRes.latitude, locationRes.longitude);\n        },\n        fail: function fail() {\n          _this10.doUploadPhotos(null, null);\n        }\n      });\n    },\n    doUploadPhotos: function doUploadPhotos(latitude, longitude) {\n      var _this11 = this;\n      var uploadTasks = this.uploadedPhotos.map(function (path) {\n        return new Promise(function (resolve, reject) {\n          var formData = {\n            folder: 'orders'\n          };\n          if (latitude && longitude) {\n            formData.latitude = latitude;\n            formData.longitude = longitude;\n          }\n          __f__(\"log\", 'formData:', formData, \" at pages/order-detail/order-detail.vue:737\");\n          uni.uploadFile({\n            url: _this11.$baseUrl + 'web/public/upload',\n            filePath: path,\n            name: 'file',\n            formData: formData,\n            success: function success(uploadRes) {\n              var data = JSON.parse(uploadRes.data);\n              if (data.code === 200) {\n                resolve(data.data);\n              } else {\n                reject(new Error(data.msg));\n              }\n            },\n            fail: function fail(err) {\n              reject(err);\n            }\n          });\n        });\n      });\n      Promise.all(uploadTasks).then(function (images) {\n        var api = _this11.photoPopupMode === 'deliver' ? 'confirmDeliver' : 'confirmPickup';\n        var params = {\n          images: images.map(function (img) {\n            return img.imgaddr;\n          }),\n          orderId: _this11.orderId,\n          remark: _this11.photoRemark\n        };\n        if (latitude && longitude) {\n          params.latitude = latitude;\n          params.longitude = longitude;\n        }\n        return _this11.$u.api[api](params);\n      }).then(function (res) {\n        uni.hideLoading();\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鎻愪氦鎴愬姛',\n            icon: 'success'\n          });\n          _this11.showPhotoPopup = false;\n          _this11.getOrderDetail();\n        } else {\n          uni.showToast({\n            title: res.msg || '鎻愪氦澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function (err) {\n        uni.hideLoading();\n        uni.showToast({\n          title: err.message || '涓婁紶澶辫触',\n          icon: 'none'\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvb3JkZXItZGV0YWlsL29yZGVyLWRldGFpbC52dWUiXSwibmFtZXMiOlsiZGF0YSIsIm9yZGVySWQiLCJvcmRlckluZGV4Iiwib3JkZXJEZXRhaWwiLCJzdGF0dXNCYXJIZWlnaHQiLCJ0b3BGaXhlZEhlaWdodCIsInNob3dQaG90b1BvcHVwIiwicGhvdG9Qb3B1cE1vZGUiLCJwaG90b1JlbWFyayIsInVwbG9hZGVkUGhvdG9zIiwic2hvd0NhbmNlbE1vZGFsIiwiY2FuY2VsUmVtYWluIiwic2hvd0dyYWJNb2RhbCIsImN1cnJlbnRMb2NhdGlvbiIsInJvdXRlUG9pbnRzIiwibG9jYXRpb25UaW1lciIsImRpc3RhbmNlIiwiZHVyYXRpb24iLCJpc1dpdGhpbk9wZXJhdGlvblJhZGl1cyIsInN0YXR1c1RleHRNYXAiLCJnb29kc0xpc3QiLCJwaG90b3MiLCJjb21wdXRlZCIsImZvcm1hdHRlZFJlbWFpblRpbWUiLCJzaG93TWFwU3RhdHVzIiwibWFwRGF0YSIsImxhdGl0dWRlIiwibG9uZ2l0dWRlIiwiY2VudGVyIiwic2NhbGUiLCJpZCIsImljb25QYXRoIiwid2lkdGgiLCJoZWlnaHQiLCJhbmNob3IiLCJ4IiwieSIsInN0YXJ0UG9pbnQiLCJlbmRQb2ludCIsIm1hcmtlcnMiLCJwb2x5bGluZSIsInBvaW50cyIsImNvbG9yIiwiYXJyb3dMaW5lIiwiZG90dGVkTGluZSIsImluY2x1ZGVQb2ludHMiLCJib2R5U3R5bGUiLCJwYWRkaW5nVG9wIiwiZm9vdGVyQnV0dG9ucyIsInRleHQiLCJwcmltYXJ5IiwiYWN0aW9uIiwicGhvdG9Qb3B1cFRpdGxlIiwicGhvdG9Qb3B1cExhYmVsIiwicGhvdG9Qb3B1cFN1Ym1pdFRleHQiLCJvbkxvYWQiLCJvblVubG9hZCIsImNsZWFySW50ZXJ2YWwiLCJtZXRob2RzIiwiaGFuZGxlQmFjayIsInVuaSIsImRlbHRhIiwiaW5pdE9wZXJhdGlvblJhZGl1cyIsInR5cGUiLCJzdWNjZXNzIiwibGF0IiwibG5nIiwidGl0bGUiLCJpY29uIiwiZmFpbCIsImdldE9yZGVyRGV0YWlsIiwiZ2V0Q3VycmVudExvY2F0aW9uIiwiZmV0Y2hMb2NhdGlvbiIsImdldFJvdXRlUGxhbiIsImZyb20iLCJ0byIsIm1vZGUiLCJwYXRoIiwiY29vcmRpbmF0ZXMiLCJtYWtlU2hvcENhbGwiLCJwaG9uZU51bWJlciIsIm5hdmlnYXRlVG9BZGRyZXNzIiwibmFtZSIsImFkZHJlc3MiLCJwcmV2aWV3SW1hZ2UiLCJjdXJyZW50IiwidXJscyIsImhhbmRsZUZvb3RlckFjdGlvbiIsImhhbmRsZUNhbmNlbE9yZGVyIiwiY29uZmlybUNhbmNlbE9yZGVyIiwiaGFuZGxlR3JhYk9yZGVyIiwiY29uZmlybUdyYWJPcmRlciIsInNldFRpbWVvdXQiLCJjbG9zZVBob3RvUG9wdXAiLCJjaG9vc2VJbWFnZSIsImNvdW50Iiwic291cmNlVHlwZSIsImRlbGV0ZVBob3RvIiwic3VibWl0UGhvdG9Qb3B1cCIsImRvVXBsb2FkUGhvdG9zIiwiZm9sZGVyIiwiZm9ybURhdGEiLCJ1cmwiLCJmaWxlUGF0aCIsInJlc29sdmUiLCJyZWplY3QiLCJQcm9taXNlIiwiaW1hZ2VzIiwicmVtYXJrIiwicGFyYW1zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUE4UkE7QUFBQTtBQUFBO0FBQUEsZUFFQTtFQUNBQTtJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDLDBDQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQUFDO1FBQUFDO01BQUE7TUFDQTtNQUNBO1FBQUFEO1FBQUFDO01BQUE7TUFFQTtNQUNBO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQUM7VUFDQUY7VUFDQUM7UUFDQTtRQUNBO1VBQ0FFO1FBQ0E7VUFDQUE7UUFDQTtVQUNBQTtRQUNBO1VBQ0FBO1FBQ0E7VUFDQUE7UUFDQTtVQUNBQTtRQUNBO1VBQ0FBO1FBQ0E7VUFDQUE7UUFDQTtVQUNBQTtRQUNBO01BQ0E7UUFDQUQ7TUFDQTtRQUNBQTtVQUFBRjtVQUFBQztRQUFBO01BQ0E7TUFFQSxlQUNBO1FBQUFHO1FBQUFKO1FBQUFDO1FBQUFJO1FBQUFDO1FBQUFDO1FBQUFDO1VBQUFDO1VBQUFDO1FBQUE7TUFBQSxHQUNBO1FBQUFOO1FBQUFKO1FBQUFDO1FBQUFJO1FBQUFDO1FBQUFDO1FBQUFDO1VBQUFDO1VBQUFDO1FBQUE7TUFBQSxHQUNBO1FBQUFOO1FBQUFKO1FBQUFDO1FBQUFJO1FBQUFDO1FBQUFDO1FBQUFDO1VBQUFDO1VBQUFDO1FBQUE7TUFBQSxFQUNBO01BRUEsb0VBQ0FDLFlBQ0FDLFNBQ0E7TUFFQTtRQUNBVjtRQUNBVztRQUNBQyx5Q0FDQTtVQUFBQztVQUFBQztVQUFBVjtVQUFBVztVQUFBQztRQUFBLEVBQ0EsSUFDQTtVQUFBSDtVQUFBQztVQUFBVjtVQUFBVztVQUFBQztRQUFBLEVBQ0E7UUFDQUM7UUFDQWhCO01BQ0E7TUFDQTtJQUNBO0lBQ0FpQjtNQUNBO01BQ0E7TUFDQTtRQUNBQztRQUNBZDtNQUNBO0lBQ0E7SUFDQWU7TUFDQTtNQUNBO01BRUE7UUFDQTtVQUFBQztVQUFBQztVQUFBQztRQUFBO01BQ0E7TUFFQTtRQUNBLFFBQ0E7VUFBQUY7VUFBQUM7VUFBQUM7UUFBQSxHQUNBO1VBQUFGO1VBQUFDO1VBQUFDO1FBQUEsRUFDQTtNQUNBO01BRUE7UUFDQTtVQUNBO1lBQUFGO1lBQUFDO1lBQUFDO1VBQUE7UUFDQTtRQUNBO01BQ0E7TUFFQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtJQUNBO0VBQUEsRUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtNQUNBO01BQ0E7SUFDQTtFQUNBO0VBRUFDO0lBQ0E7TUFDQUM7TUFDQTtJQUNBO0VBQ0E7RUFFQUM7SUFDQUM7TUFDQUM7UUFBQUM7TUFBQTtJQUNBO0lBRUFDO01BQUE7TUFDQUY7UUFDQUc7UUFDQUM7VUFDQTtZQUNBQztZQUNBQztZQUNBakU7VUFDQTtZQUNBO2NBQ0E7Y0FDQTtnQkFDQTJEO2tCQUNBTztrQkFDQUM7Z0JBQ0E7Y0FDQTtZQUNBO1VBQ0E7UUFDQTtRQUNBQztVQUNBO1VBQ0FUO1lBQ0FPO1lBQ0FDO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUU7TUFBQTtNQUNBO1FBQUFyRTtNQUFBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQTtVQUNBO1lBQ0E7VUFDQTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQXNFO01BQUE7TUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUFDO01BQUE7TUFDQVo7UUFDQUc7UUFDQUM7VUFDQTtZQUNBdEM7WUFDQUM7VUFDQTtVQUNBO1FBQ0E7UUFDQTBDO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQUk7TUFBQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0FDO1FBQ0FDO1FBQ0FDO01BQ0E7UUFDQTtRQUNBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7VUFDQUM7WUFDQTtZQUNBO1lBQ0FDO2NBQ0E7Z0JBQUE7Z0JBQUFaO2dCQUFBRDtjQUNBeEI7Z0JBQ0FmO2dCQUNBQztjQUNBO1lBQ0E7VUFDQTtVQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFFQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUVBb0Q7TUFDQTtNQUNBO1FBQ0FuQjtVQUNBb0I7UUFDQTtNQUNBO0lBQ0E7SUFFQUM7TUFDQTtNQUNBO1FBQ0F2RDtRQUNBQztRQUNBdUQ7UUFDQUM7TUFDQTtRQUNBekQ7UUFDQUM7UUFDQXVEO1FBQ0FDO01BQ0E7TUFDQTtRQUNBdkI7VUFBQU87VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQVI7UUFDQWxDO1FBQ0FDO1FBQ0F1RDtRQUNBQztRQUNBbkI7UUFDQUs7VUFDQVQ7WUFBQU87WUFBQUM7VUFBQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUFnQjtNQUNBeEI7UUFDQXlCO1FBQ0FDO01BQ0E7SUFDQTtJQUVBQztNQUNBO01BRUE7UUFDQTtRQUNBO01BQ0E7TUFFQTtRQUNBO1VBQ0EzQjtZQUNBTztZQUNBQztVQUNBO1VBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUVBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQW9CO01BQUE7TUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUFBeEY7TUFBQTtRQUNBO1FBQ0E7VUFDQTJEO1lBQUFPO1lBQUFDO1VBQUE7VUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQXNCO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFBQTFGO01BQUE7UUFDQTtRQUNBO1VBQ0EyRDtZQUFBTztZQUFBQztVQUFBO1VBQ0E7VUFDQXdCO1lBQ0FoQztVQUNBO1FBQ0E7VUFDQUE7WUFBQU87WUFBQUM7VUFBQTtRQUNBO01BQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQXlCO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQWxDO1FBQ0FtQztRQUNBQztRQUNBaEM7VUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FpQztNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0F0QztVQUFBTztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBUjtRQUFBTztNQUFBO01BQ0FQO1FBQ0FHO1FBQ0FDO1VBQ0E7UUFDQTtRQUNBSztVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBRUE4QjtNQUFBO01BQ0E7UUFDQTtVQUNBO1lBQUFDO1VBQUE7VUFDQTtZQUNBQztZQUNBQTtVQUNBO1VBQ0E7VUFDQXpDO1lBQ0EwQztZQUNBQztZQUNBckI7WUFDQW1CO1lBQ0FyQztjQUNBO2NBQ0E7Z0JBQ0F3QztjQUNBO2dCQUNBQztjQUNBO1lBQ0E7WUFDQXBDO2NBQ0FvQztZQUNBO1VBQ0E7UUFDQTtNQUNBO01BRUFDO1FBQ0E7UUFDQTtVQUNBQztZQUFBO1VBQUE7VUFDQTFHO1VBQ0EyRztRQUNBO1FBQ0E7VUFDQUM7VUFDQUE7UUFDQTtRQUNBO01BQ0E7UUFDQWpEO1FBQ0E7VUFDQUE7WUFBQU87WUFBQUM7VUFBQTtVQUNBO1VBQ0E7UUFDQTtVQUNBUjtZQUFBTztZQUFBQztVQUFBO1FBQ0E7TUFDQTtRQUNBUjtRQUNBQTtVQUFBTztVQUFBQztRQUFBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxMTMuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VcIiB2LWlmPVwib3JkZXJEZXRhaWxcIj5cblx0XHQ8dmlldyB2LWlmPVwiIXNob3dNYXBTdGF0dXNcIiBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19zaW1wbGUtbmF2XCIgOnN0eWxlPVwieyBwYWRkaW5nVG9wOiBzdGF0dXNCYXJIZWlnaHQgKyAncHgnIH1cIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3NpbXBsZS1uYXYtaW5uZXJcIj5cblx0XHRcdFx0PHUtaWNvbiBuYW1lPVwiYXJyb3ctbGVmdFwiIGNvbG9yPVwiI2ZmZmZmZlwiIHNpemU9XCIyMFwiIEBjbGljaz1cImhhbmRsZUJhY2tcIj48L3UtaWNvbj5cblx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fc2ltcGxlLW5hdi10aXRsZVwiPuiuouWNleivpuaDhTwvdGV4dD5cblx0XHRcdFx0PHUtaWNvbiBuYW1lPVwiYXJyb3ctbGVmdFwiIGNvbG9yPVwiIzEwNkVGQVwiIHNpemU9XCIyMFwiPjwvdS1pY29uPlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblxuXHRcdDx2aWV3IHYtaWY9XCJzaG93TWFwU3RhdHVzXCIgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZml4ZWQtdG9wXCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19tYXAtd3JhcFwiPlxuXHRcdFx0XHQ8bWFwXG5cdFx0XHRcdFx0aWQ9XCJvcmRlckRldGFpbE1hcFwiXG5cdFx0XHRcdFx0Y2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fbWFwXCJcblx0XHRcdFx0XHQ6bGF0aXR1ZGU9XCJtYXBEYXRhLmNlbnRlci5sYXRpdHVkZVwiXG5cdFx0XHRcdFx0OmxvbmdpdHVkZT1cIm1hcERhdGEuY2VudGVyLmxvbmdpdHVkZVwiXG5cdFx0XHRcdFx0Om1hcmtlcnM9XCJtYXBEYXRhLm1hcmtlcnNcIlxuXHRcdFx0XHRcdDpwb2x5bGluZT1cIm1hcERhdGEucG9seWxpbmVcIlxuXHRcdFx0XHRcdDppbmNsdWRlLXBvaW50cz1cIm1hcERhdGEuaW5jbHVkZVBvaW50c1wiXG5cdFx0XHRcdFx0OnNjYWxlPVwibWFwRGF0YS5zY2FsZVwiXG5cdFx0XHRcdFx0OmVuYWJsZS16b29tPVwidHJ1ZVwiXG5cdFx0XHRcdFx0OmVuYWJsZS1zY3JvbGw9XCJ0cnVlXCJcblx0XHRcdFx0PjwvbWFwPlxuXHRcdFx0PC92aWV3PlxuXG5cdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19zdGF0dXMtYmFyXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3N0YXR1cy1sZWZ0XCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fc3RhdHVzLWRvdFwiPjwvdmlldz5cblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19zdGF0dXMtdGl0bGVcIj57eyBzdGF0dXNUZXh0TWFwW29yZGVyRGV0YWlsLnN0YXR1c10gfHwgJ+W+heWPlui0pycgfX08L3RleHQ+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fc3RhdHVzLXJpZ2h0XCI+XG5cdFx0XHRcdFx0PHRleHQgdi1pZj1cIm9yZGVyRGV0YWlsLnN0YXR1cyA9PT0gM1wiIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3N0YXR1cy1jYW5jZWxcIiBAY2xpY2s9XCJoYW5kbGVDYW5jZWxPcmRlclwiPuWPlua2iOiuouWNlTwvdGV4dD5cblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19zdGF0dXMtbm9cIiB2LWlmPVwib3JkZXJJbmRleFwiPiN7eyBvcmRlckluZGV4IH19PC90ZXh0PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXG5cdFx0PHNjcm9sbC12aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2JvZHlcIiBzY3JvbGwteSA6c3R5bGU9XCJib2R5U3R5bGVcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2NvbnRlbnRcIj5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fc2VjdGlvbiBvcmRlci1kZXRhaWwtcGFnZV9fc2VjdGlvbi0tbWFpblwiPlxuXHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJzaG93TWFwU3RhdHVzXCIgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fc3VtbWFyeVwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fc3VtbWFyeS1sZWZ0XCI+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2hlYWQtbGVmdFwiPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSB2LWlmPVwiZm9ybWF0dGVkUmVtYWluVGltZVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fdGltZVwiPnt7IGZvcm1hdHRlZFJlbWFpblRpbWUgfX3lhoU8L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX190aW1lLXN1YlwiPumAgei+vjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3RpbWVcIiB2LWVsc2U+6YWN6YCB5bey6LaF5pe277yM6K+35bC95b+r6YCB6L6+PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fdGFnc1wiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSB2LWlmPVwib3JkZXJEZXRhaWwuaXNVcmdlbnQgPT09IDFcIiBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX190YWctaWNvblwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfamlzdWRhQDJ4LnBuZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHYtZWxzZSBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX190YWctaWNvblwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfYmlhb3N1ZGFAMngucG5nXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwib3JkZXJEZXRhaWwuaXNWYWx1YWJsZVwiIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3RhZy10ZXh0XCI+6LS16YeN54mp5ZOBPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3N1bW1hcnktcmlnaHRcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fcHJpY2VcIj7CpXt7IG9yZGVyRGV0YWlsLnBsYXRmb3JtUmV3YXJkQW1vdW50ID8gKG9yZGVyRGV0YWlsLmRyaXZlckZlZSArIG9yZGVyRGV0YWlsLnBsYXRmb3JtUmV3YXJkQW1vdW50KSAvIDEwMCA6IChvcmRlckRldGFpbC5kcml2ZXJGZWUgLyAxMDApLnRvRml4ZWQoMikgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJvcmRlckRldGFpbC5wbGF0Zm9ybVJld2FyZEFtb3VudFwiIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2V4dHJhXCI+5ZCr5Yqg5oClwqV7eyAob3JkZXJEZXRhaWwucGxhdGZvcm1SZXdhcmRBbW91bnQgLyAxMDApLnRvRml4ZWQoMikgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdFx0PHZpZXcgdi1lbHNlIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RvbmUtc3VtbWFyeVwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZG9uZS1zdW1tYXJ5LWxlZnRcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZG9uZS10aXRsZVwiPnt7IHN0YXR1c1RleHRNYXBbb3JkZXJEZXRhaWwuc3RhdHVzXSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fdGFncyBvcmRlci1kZXRhaWwtcGFnZV9fdGFncy0tZG9uZVwiPlxuXHRcdFx0XHRcdFx0XHRcdDxpbWFnZSB2LWlmPVwib3JkZXJEZXRhaWwuaXNVcmdlbnQgPT09IDFcIiBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX190YWctaWNvblwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfamlzdWRhQDJ4LnBuZ1wiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIHYtZWxzZSBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX190YWctaWNvblwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfYmlhb3N1ZGFAMngucG5nXCIgbW9kZT1cIndpZHRoRml4XCI+PC9pbWFnZT5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwib3JkZXJEZXRhaWwuaXNWYWx1YWJsZVwiIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3RhZy10ZXh0XCI+6LS16YeN54mp5ZOBPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19kb25lLXN1bW1hcnktcmlnaHRcIj5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZG9uZS1wcmljZS1yb3dcIj5cblx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19wcmljZVwiPsKle3sgKG9yZGVyRGV0YWlsLmRyaXZlckZlZSAvIDEwMCkudG9GaXhlZCgxKSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwib3JkZXJEZXRhaWwuaXNVcmdlbnQgPT09IDFcIiBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19leHRyYVwiPuWQq+WKoOaApcKle3sgb3JkZXJEZXRhaWwudXJnZW50QW1vdW50IC8gMTAwIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3JvdXRlLWxpc3RcIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3JvdXRlLWl0ZW1cIj5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fcm91dGUtbGVmdFwiPlxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3JvdXRlLWJhZGdlIG9yZGVyLWRldGFpbC1wYWdlX19yb3V0ZS1iYWRnZS0tdGFrZVwiPuWPljwvdmlldz5cblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19yb3V0ZS1kaXZpZGVyXCI+PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3JvdXRlLW1haW5cIj5cblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19yb3V0ZS10ZXh0c1wiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fcm91dGUtdGl0bGVcIj57eyBvcmRlckRldGFpbC5kZXBvc2l0U2hvcE5hbWUgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19yb3V0ZS1kZXNjXCI+e3sgb3JkZXJEZXRhaWwuZGVwb3NpdFNob3BBZGRyZXNzIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19yb3V0ZS1hY3Rpb25zXCIgdi1pZj1cIiFbNyw5OV0uaW5jbHVkZXMob3JkZXJEZXRhaWwuc3RhdHVzKVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3JvdXRlLWljb25cIiBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2MxYWxsQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIiB2LWlmPVwiWzMsNCw1XS5pbmNsdWRlcyhvcmRlckRldGFpbC5zdGF0dXMpICYmIG9yZGVyRGV0YWlsLmRlcG9zaXRTaG9wUGhvbmVcIiBAY2xpY2s9XCJtYWtlU2hvcENhbGwoJ2RlcG9zaXQnKVwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fcm91dGUtaWNvblwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfZGFvaGFuZ0AyeC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCIgQGNsaWNrPVwibmF2aWdhdGVUb0FkZHJlc3MoJ2RlcG9zaXQnKVwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3JvdXRlLWl0ZW0gb3JkZXItZGV0YWlsLXBhZ2VfX3JvdXRlLWl0ZW0tLWVuZFwiIHN0eWxlPVwicGFkZGluZy1ib3R0b206IDMwcnB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U1RTVFNTtcIj5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fcm91dGUtbGVmdFwiPlxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3JvdXRlLWJhZGdlIG9yZGVyLWRldGFpbC1wYWdlX19yb3V0ZS1iYWRnZS0tc2VuZFwiPumAgTwvdmlldz5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19yb3V0ZS1tYWluXCI+XG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fcm91dGUtdGV4dHNcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3JvdXRlLXRpdGxlXCI+e3sgb3JkZXJEZXRhaWwudGFrZU5hbWUgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19yb3V0ZS1kZXNjXCI+e3sgb3JkZXJEZXRhaWwudGFrZUFkZHJlc3MgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3JvdXRlLWFjdGlvbnNcIiB2LWlmPVwiIVs3LDk5XS5pbmNsdWRlcyhvcmRlckRldGFpbC5zdGF0dXMpXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fcm91dGUtaWNvblwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfYzFhbGxAMngucG5nXCIgbW9kZT1cImFzcGVjdEZpdFwiIHYtaWY9XCJbNCw1XS5pbmNsdWRlcyhvcmRlckRldGFpbC5zdGF0dXMpICYmIG9yZGVyRGV0YWlsLnRha2VDb250YWN0UGhvbmVcIiBAY2xpY2s9XCJtYWtlU2hvcENhbGwoJ3Rha2UnKVwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fcm91dGUtaWNvblwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfZGFvaGFuZ0AyeC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCIgQGNsaWNrPVwibmF2aWdhdGVUb0FkZHJlc3MoJ3Rha2UnKVwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdFx0PHZpZXcgdi1pZj1cIm9yZGVyRGV0YWlsLnN0YXR1cyA9PT0gNCAmJiBvcmRlckRldGFpbC50YWtlU2hvcElkXCIgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fcXJjb2RlLXdyYXBcIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3FyY29kZS1ib3hcIj5cblx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3FyY29kZS1pbWFnZVwiIDpzcmM9XCInaHR0cHM6Ly9hcGkucXJzZXJ2ZXIuY29tL3YxL2NyZWF0ZS1xci1jb2RlLz9zaXplPTIwMHgyMDAmZGF0YT0nICsgb3JkZXJEZXRhaWwuZHJpdmVyVmVyaWZ5Q29kZVwiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fcXJjb2RlLXZhbHVlXCI+e3sgb3JkZXJEZXRhaWwuZHJpdmVyVmVyaWZ5Q29kZSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3FyY29kZS1sYWJlbFwiPuWPlui0p+eggTwvdGV4dD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19zZWN0aW9uXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAzMHJweDsgcGFkZGluZzogMCAzMHJweDsgYm94LXNpemluZzogYm9yZGVyLWJveDtcIj5cblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIndpZHRoOiAxMDAlOyBwYWRkaW5nLWJvdHRvbTogMzBycHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTVFNUU1O1wiPlxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fc2VjdGlvbi10aXRsZVwiPuWuouaIt+S/oeaBrzwvdGV4dD5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3Jvdy1pbmZvXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3Jvdy10ZXh0XCI+e3sgb3JkZXJEZXRhaWwuY3VzdG9tZXJJbmZvIHx8ICcnIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8IS0tIDxpbWFnZSBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19yb3ctaWNvblwiIHYtaWY9XCJbMyw0XS5pbmNsdWRlcyhvcmRlckRldGFpbC5zdGF0dXMpXCIgc3JjPVwiL3N0YXRpYy9pbWFnZS9pY19jYWxsQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIiBAY2xpY2s9XCJtYWtlUGhvbmVDYWxsXCI+PC9pbWFnZT4gLS0+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwib3JkZXJEZXRhaWwuY29tbWVudFN0YXR1cyA9PT0gMVwiIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2NvbW1lbnQtY2FyZFwiPlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19jb21tZW50LXRpdGxlXCI+5a6i5oi35bey6K+E5Lu377yaPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19jb21tZW50LXNjb3JlXCI+XG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fY29tbWVudC1zdGFyXCI+4piFPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2NvbW1lbnQtc2NvcmUtdGV4dFwiPjQuNTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19jb21tZW50LWNvbnRlbnRcIj57eyBvcmRlckRldGFpbC5jb21tZW50Q29udGVudCB8fCAnJyB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2NvbW1lbnQtaW1hZ2VcIiBzcmM9XCIvc3RhdGljL2xvZ28ucG5nXCIgbW9kZT1cImFzcGVjdEZpbGxcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3NlY3Rpb25cIiBzdHlsZT1cIm1hcmdpbi10b3A6IDMwcnB4OyBwYWRkaW5nOiAwIDMwcnB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94O1wiPlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3NlY3Rpb24tdGl0bGVcIj7nianlk4HmuIXljZXvvIjlhbF7eyBnb29kc0xpc3QubGVuZ3RoIH195Lu277yJPC90ZXh0PlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2dvb2RzLWxpc3RcIiBzdHlsZT1cIndpZHRoOiAxMDAlOyBwYWRkaW5nLWJvdHRvbTogMzBycHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTVFNUU1O1wiPlxuXHRcdFx0XHRcdFx0PHZpZXcgdi1mb3I9XCJpdGVtIGluIGdvb2RzTGlzdFwiIDprZXk9XCJpdGVtLm5hbWVcIiBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19nb29kcy1pdGVtXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2dvb2RzLW5hbWVcIiA6c3R5bGU9XCJpdGVtLmlzT3ZlcnNpemVkID09PSAxID8gJ2NvbG9yOiAjRkYwMDIwOycgOiAnJ1wiPnt7IGl0ZW0ubmFtZSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZ29vZHMtY291bnRcIj54e3sgaXRlbS5xdWFudGl0eSB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19zZWN0aW9uXCIgc3R5bGU9XCJtYXJnaW4tdG9wOiAzMHJweDsgcGFkZGluZzogMCAzMHJweDsgYm94LXNpemluZzogYm9yZGVyLWJveDtcIj5cblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19zZWN0aW9uLXRpdGxlXCI+54mp5ZOB5L+h5oGvPC90ZXh0PlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2dvb2RzLWNhdGVnb3J5XCI+e3sgb3JkZXJEZXRhaWwuZ29vZFR5cGVOYW1lIHx8ICcnIH19PC90ZXh0PlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3Bob3Rvc1wiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fcGhvdG9cIiB2LWZvcj1cIihpdGVtLCBpbmRleCkgaW4gcGhvdG9zXCIgOmtleT1cImluZGV4XCI+XG5cdFx0XHRcdFx0XHRcdDxpbWFnZSA6c3JjPVwiaXRlbVwiIG1vZGU9XCJoZWlnaHRGaXhcIiBAY2xpY2s9XCJwcmV2aWV3SW1hZ2UoaXRlbSlcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwid2lkdGg6IDEwMCU7IGhlaWdodDogMzBycHg7IGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7XCI+PC92aWV3PlxuXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3NlY3Rpb24gb3JkZXItZGV0YWlsLXBhZ2VfX3NlY3Rpb24tLWxhc3RcIiBzdHlsZT1cIm1hcmdpbi10b3A6IDMwcnB4OyBwYWRkaW5nOiAwIDMwcnB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94O1wiPlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX3NlY3Rpb24tdGl0bGVcIj7orqLljZXkv6Hmga88L3RleHQ+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZGV0YWlsLWxpc3RcIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1pdGVtXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1sYWJlbFwiPuiuouWNlee8luWPt++8mjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZGV0YWlsLXZhbHVlXCI+e3sgb3JkZXJEZXRhaWwuY29kZSB8fCAnLScgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwib3JkZXJEZXRhaWwuY3JlYXRlVGltZVwiIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1pdGVtXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1sYWJlbFwiPuS4i+WNleaXtumXtO+8mjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZGV0YWlsLXZhbHVlXCI+e3sgb3JkZXJEZXRhaWwuY3JlYXRlVGltZSB8fCAnLScgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiWzMsNCw1LDYsNyw5OV0uaW5jbHVkZXMob3JkZXJEZXRhaWwuc3RhdHVzKVwiIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1pdGVtXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1sYWJlbFwiPuaOpeWNleaXtumXtO+8mjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZGV0YWlsLXZhbHVlXCI+e3sgb3JkZXJEZXRhaWwuYWNjZXB0VGltZSB8fCAnLScgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiWzMsNCw1LDYsNyw5OV0uaW5jbHVkZXMob3JkZXJEZXRhaWwuc3RhdHVzKVwiIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1pdGVtXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1sYWJlbFwiPuiuouWNleWkh+azqO+8mjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZGV0YWlsLXZhbHVlXCI+e3sgb3JkZXJEZXRhaWwucmVtYXJrIHx8ICctJyB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJbNCw1LDYsNyw5OV0uaW5jbHVkZXMob3JkZXJEZXRhaWwuc3RhdHVzKVwiIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1pdGVtXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1sYWJlbFwiPuWPlui0p+aXtumXtO+8mjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZGV0YWlsLXZhbHVlXCI+e3sgb3JkZXJEZXRhaWwuZHJpdmVyVGFrZVRpbWUgfHwgJy0nIH19PC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cIls1LDYsNyw5OV0uaW5jbHVkZXMob3JkZXJEZXRhaWwuc3RhdHVzKVwiIGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1pdGVtXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC1sYWJlbFwiPuWujOaIkOaXtumXtO+8mjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZGV0YWlsLXZhbHVlXCI+e3sgb3JkZXJEZXRhaWwuZmluaXNoVGltZSB8fCAnLScgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwib3JkZXJEZXRhaWwuaXNFdmFsdWF0ZWQgPT09IDFcIiBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19kZXRhaWwtaXRlbVwiPlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19kZXRhaWwtbGFiZWxcIj7or4Tku7fml7bpl7TvvJo8L3RleHQ+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2RldGFpbC12YWx1ZVwiPnt7IG9yZGVyRGV0YWlsLmNvbW1lbnRUaW1lIHx8ICctJyB9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdDwvdmlldz5cblx0XHQ8L3Njcm9sbC12aWV3PlxuXG5cdFx0PHZpZXcgdi1pZj1cImZvb3RlckJ1dHRvbnMubGVuZ3RoXCIgY2xhc3M9XCJvcmRlci1kZXRhaWwtcGFnZV9fZm9vdGVyXCI+XG5cdFx0XHQ8dmlldz48L3ZpZXc+XG5cdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGdhcDogMjBycHg7XCI+XG5cdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHR2LWZvcj1cImJ1dHRvbiBpbiBmb290ZXJCdXR0b25zXCJcblx0XHRcdFx0XHQ6a2V5PVwiYnV0dG9uLnRleHRcIlxuXHRcdFx0XHRcdGNsYXNzPVwib3JkZXItZGV0YWlsLXBhZ2VfX2Zvb3Rlci1idG5cIlxuXHRcdFx0XHRcdDpjbGFzcz1cImJ1dHRvbi5wcmltYXJ5ID8gJ29yZGVyLWRldGFpbC1wYWdlX19mb290ZXItYnRuLS1wcmltYXJ5JyA6ICdvcmRlci1kZXRhaWwtcGFnZV9fZm9vdGVyLWJ0bi0tZ2hvc3QnXCJcblx0XHRcdFx0XHRob3Zlci1jbGFzcz1cIm9yZGVyLWRldGFpbC1wYWdlX19mb290ZXItYnRuLS1ob3ZlclwiXG5cdFx0XHRcdFx0QGNsaWNrPVwiaGFuZGxlRm9vdGVyQWN0aW9uKGJ1dHRvbilcIlxuXHRcdFx0XHQ+XG5cdFx0XHRcdFx0e3sgYnV0dG9uLnRleHQgfX1cblx0XHRcdFx0PC9idXR0b24+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcblx0XHQ8L3ZpZXc+XG5cblx0XHQ8dS1tb2RhbFxuXHRcdFx0OnNob3c9XCJzaG93Q2FuY2VsTW9kYWxcIlxuXHRcdFx0c2hvd0NhbmNlbEJ1dHRvblxuXHRcdFx0QGNhbmNlbD1cInNob3dDYW5jZWxNb2RhbCA9IGZhbHNlXCJcblx0XHRcdGNhbmNlbENvbG9yPVwiIzY2NjY2NlwiXG5cdFx0XHRjb25maXJtQ29sb3I9XCIjMDA1NUZGXCJcblx0XHRcdHRpdGxlPVwi5Y+W5raI6K6i5Y2V56Gu6K6kXCJcblx0XHRcdEBjb25maXJtPVwiY29uZmlybUNhbmNlbE9yZGVyXCI+XG5cdFx0XHQ8dmlldyBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjtjb2xvcjogIzMzMzMzMztmb250LXNpemU6IDI4cnB4O2ZvbnQtd2VpZ2h0OiA0MDA7XCI+XG5cdFx0XHRcdOaCqOS7iuaXpei/mOWPr+WPlua2iCB7eyBjYW5jZWxSZW1haW4gfX0g5qyh6K6i5Y2V77yM5qyh5pWw55So5bC95ZCO5LuK5pel5bCG5peg5rOV5o6l5Y2V77yM5piv5ZCm56Gu6K6k5Y+W5raI77yfXG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC91LW1vZGFsPlxuXG5cdFx0PHUtbW9kYWxcblx0XHRcdDpzaG93PVwic2hvd0dyYWJNb2RhbFwiXG5cdFx0XHRzaG93Q2FuY2VsQnV0dG9uXG5cdFx0XHRAY2FuY2VsPVwic2hvd0dyYWJNb2RhbCA9IGZhbHNlXCJcblx0XHRcdGNhbmNlbENvbG9yPVwiIzY2NjY2NlwiXG5cdFx0XHRjb25maXJtQ29sb3I9XCIjMDA1NUZGXCJcblx0XHRcdHRpdGxlPVwi5rip6aao5o+Q56S6XCJcblx0XHRcdEBjb25maXJtPVwiY29uZmlybUdyYWJPcmRlclwiPlxuXHRcdFx0PHZpZXcgc3R5bGU9XCJ0ZXh0LWFsaWduOiBjZW50ZXI7Y29sb3I6ICMzMzMzMzM7Zm9udC1zaXplOiAyOHJweDtmb250LXdlaWdodDogNDAwO1wiPlxuXHRcdFx0XHR7eyBvcmRlckRldGFpbCAmJiBvcmRlckRldGFpbC5oYXNPdmVyc2l6ZWQgPT09IDEgPyAn5pys6K6i5Y2V5pyJ54m55aSn5Lu25bC65a+46KGM5p2O77yM6K+356Gu6K6k5piv5ZCm57un57ut5oqi5Y2V77yfJyA6ICfmmK/lkKbnoa7orqTmjqXljZXvvJ8nIH19XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC91LW1vZGFsPlxuXG5cdFx0PHUtcG9wdXAgOnNob3c9XCJzaG93UGhvdG9Qb3B1cFwiIHJvdW5kPVwiMjBcIiBtb2RlPVwiYm90dG9tXCIgQGNsb3NlPVwiY2xvc2VQaG90b1BvcHVwXCI+XG5cdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLXBvcHVwXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBfX2hlYWRlclwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBfX3BsYWNlaG9sZGVyXCI+PC92aWV3PlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGhvdG8tcG9wdXBfX3RpdGxlXCI+e3sgcGhvdG9Qb3B1cFRpdGxlIH19PC90ZXh0PlxuXHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cInBob3RvLXBvcHVwX19jbG9zZVwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfY2xvc2UyQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIiBAY2xpY2s9XCJjbG9zZVBob3RvUG9wdXBcIj48L2ltYWdlPlxuXHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaG90by1wb3B1cF9fc2VjdGlvblwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBfX2xhYmVsLXJvd1wiPlxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJwaG90by1wb3B1cF9fbGFiZWxcIj57eyBwaG90b1BvcHVwTGFiZWwgfX08L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInBob3RvLXBvcHVwX19yZXF1aXJlZFwiPio8L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cInBob3RvLXBvcHVwX19oaW50XCI+5pyA5aSaM+W8oOeFp+eJhzwvdGV4dD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBob3RvLXBvcHVwX19waG90b3NcIj5cblx0XHRcdFx0XHRcdDx2aWV3IHYtZm9yPVwiKHBob3RvLCBpbmRleCkgaW4gdXBsb2FkZWRQaG90b3NcIiA6a2V5PVwiaW5kZXhcIiBjbGFzcz1cInBob3RvLXBvcHVwX19wcmV2aWV3LWNhcmRcIj5cblx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwicGhvdG8tcG9wdXBfX3ByZXZpZXctaW1hZ2VcIiA6c3JjPVwicGhvdG9cIiBtb2RlPVwiYXNwZWN0RmlsbFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBfX3ByZXZpZXctbWFza1wiIEBjbGljaz1cImRlbGV0ZVBob3RvKGluZGV4KVwiPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGhvdG8tcG9wdXBfX3ByZXZpZXctZGVsZXRlXCI+5Yig6ZmkPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cblx0XHRcdFx0XHRcdDx2aWV3IHYtaWY9XCJ1cGxvYWRlZFBob3Rvcy5sZW5ndGggPCAzXCIgY2xhc3M9XCJwaG90by1wb3B1cF9fdXBsb2FkLWNhcmRcIiBAY2xpY2s9XCJjaG9vc2VJbWFnZVwiPlxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJwaG90by1wb3B1cF9fdXBsb2FkLWljb25cIiBzcmM9XCIvc3RhdGljL2ltYWdlL2J0bl91cGxvYWQyQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwicGhvdG8tcG9wdXBfX3NlY3Rpb24gcGhvdG8tcG9wdXBfX3NlY3Rpb24tLXJlbWFya1wiPlxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwicGhvdG8tcG9wdXBfX3JlbWFyay10aXRsZVwiPuWkh+azqOS/oeaBrzwvdGV4dD5cblx0XHRcdFx0XHQ8dGV4dGFyZWEgdi1tb2RlbD1cInBob3RvUmVtYXJrXCIgY2xhc3M9XCJwaG90by1wb3B1cF9fdGV4dGFyZWFcIiBtYXhsZW5ndGg9XCIyMDBcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpVwiIHBsYWNlaG9sZGVyLXN0eWxlPVwiY29sb3I6ICNjN2NiZDM7XCIgLz5cblx0XHRcdFx0PC92aWV3PlxuXG5cdFx0XHRcdDxidXR0b24gY2xhc3M9XCJwaG90by1wb3B1cF9fc3VibWl0XCIgaG92ZXItY2xhc3M9XCJwaG90by1wb3B1cF9fc3VibWl0LS1ob3ZlclwiIEBjbGljaz1cInN1Ym1pdFBob3RvUG9wdXBcIj57eyBwaG90b1BvcHVwU3VibWl0VGV4dCB9fTwvYnV0dG9uPlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdS1wb3B1cD5cblx0PC92aWV3PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblx0aW1wb3J0IHsgbWFwU3RhdGUgfSBmcm9tICd2dWV4J1xuXG5cdGV4cG9ydCBkZWZhdWx0IHtcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0b3JkZXJJZDogbnVsbCxcblx0XHRcdFx0b3JkZXJJbmRleDogbnVsbCxcblx0XHRcdFx0b3JkZXJEZXRhaWw6IG51bGwsXG5cdFx0XHRcdHN0YXR1c0JhckhlaWdodDogMCxcblx0XHRcdFx0dG9wRml4ZWRIZWlnaHQ6IDAsXG5cdFx0XHRcdHNob3dQaG90b1BvcHVwOiBmYWxzZSxcblx0XHRcdFx0cGhvdG9Qb3B1cE1vZGU6ICcnLFxuXHRcdFx0XHRwaG90b1JlbWFyazogJycsXG5cdFx0XHRcdHVwbG9hZGVkUGhvdG9zOiBbXSxcblx0XHRcdFx0c2hvd0NhbmNlbE1vZGFsOiBmYWxzZSxcblx0XHRcdFx0Y2FuY2VsUmVtYWluOiAwLFxuXHRcdFx0XHRzaG93R3JhYk1vZGFsOiBmYWxzZSxcblx0XHRcdFx0Y3VycmVudExvY2F0aW9uOiBudWxsLFxuXHRcdFx0XHRyb3V0ZVBvaW50czogW10sXG5cdFx0XHRcdGxvY2F0aW9uVGltZXI6IG51bGwsXG5cdFx0XHRcdGRpc3RhbmNlOiAwLFxuXHRcdFx0XHRkdXJhdGlvbjogMCxcblx0XHRcdFx0aXNXaXRoaW5PcGVyYXRpb25SYWRpdXM6IHRydWUsXG5cdFx0XHRcdHN0YXR1c1RleHRNYXA6IHtcblx0XHRcdFx0XHQyOiAn5b6F5o6l5Y2VJyxcblx0XHRcdFx0XHQzOiAn5b6F5Y+W6LSnJyxcblx0XHRcdFx0XHQ0OiAn6YWN6YCB5LitJyxcblx0XHRcdFx0XHQ1OiAn5bey6YCB6L6+Jyxcblx0XHRcdFx0XHQ3OiAn5bey5a6M5oiQJyxcblx0XHRcdFx0XHQ5OTogJ+W3suWPlua2iCdcblx0XHRcdFx0fSxcblx0XHRcdFx0Z29vZHNMaXN0OiBbXSxcblx0XHRcdFx0cGhvdG9zOiBbXVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Y29tcHV0ZWQ6IHtcblx0XHRcdC4uLm1hcFN0YXRlKFsndXNlckluZm8nXSksXG5cdFx0XHRmb3JtYXR0ZWRSZW1haW5UaW1lKCkge1xuXHRcdFx0XHRjb25zdCBtaW51dGVzID0gdGhpcy5vcmRlckRldGFpbC5yZW1haW5NaW51dGVzXG5cdFx0XHRcdGlmICghbWludXRlcykgcmV0dXJuIG51bGxcblx0XHRcdFx0aWYgKG1pbnV0ZXMgPj0gNjApIHtcblx0XHRcdFx0XHRjb25zdCBob3VycyA9IE1hdGguZmxvb3IobWludXRlcyAvIDYwKVxuXHRcdFx0XHRcdGNvbnN0IG1pbnMgPSBtaW51dGVzICUgNjBcblx0XHRcdFx0XHRyZXR1cm4gbWlucyA+IDAgPyBgJHtob3Vyc33lsI/ml7Yke21pbnN95YiG6ZKfYCA6IGAke2hvdXJzfeWwj+aXtmBcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gYCR7bWludXRlc33liIbpkp9gXG5cdFx0XHR9LFxuXHRcdFx0c2hvd01hcFN0YXR1cygpIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMub3JkZXJEZXRhaWwuc3RhdHVzID09PSAzIHx8IHRoaXMub3JkZXJEZXRhaWwuc3RhdHVzID09PSA0XG5cdFx0XHR9LFxuXHRcdFx0bWFwRGF0YSgpIHtcblx0XHRcdFx0Y29uc3Qgc3RhcnRQb2ludCA9IHRoaXMuY3VycmVudExvY2F0aW9uIHx8IHsgbGF0aXR1ZGU6IHRoaXMub3JkZXJEZXRhaWwubmF2aWdhdGVMYXQsIGxvbmdpdHVkZTogdGhpcy5vcmRlckRldGFpbC5uYXZpZ2F0ZUxuZyB9XG5cdFx0XHRcdGNvbnN0IGhhc0VuZFBvaW50ID0gdGhpcy5vcmRlckRldGFpbC5uYXZpZ2F0ZUxhdCAmJiB0aGlzLm9yZGVyRGV0YWlsLm5hdmlnYXRlTG5nXG5cdFx0XHRcdGNvbnN0IGVuZFBvaW50ID0geyBsYXRpdHVkZTogdGhpcy5vcmRlckRldGFpbC5uYXZpZ2F0ZUxuZywgbG9uZ2l0dWRlOiB0aGlzLm9yZGVyRGV0YWlsLm5hdmlnYXRlTGF0IH1cblxuXHRcdFx0XHRsZXQgY2VudGVyXG5cdFx0XHRcdGxldCBzY2FsZSA9IDEyXG5cdFx0XHRcdGlmICh0aGlzLmN1cnJlbnRMb2NhdGlvbiAmJiBoYXNFbmRQb2ludCkge1xuXHRcdFx0XHRcdGNvbnN0IGxhdFNwYW4gPSBNYXRoLmFicyh0aGlzLmN1cnJlbnRMb2NhdGlvbi5sYXRpdHVkZSAtIGVuZFBvaW50LmxhdGl0dWRlKVxuXHRcdFx0XHRcdGNvbnN0IGxuZ1NwYW4gPSBNYXRoLmFicyh0aGlzLmN1cnJlbnRMb2NhdGlvbi5sb25naXR1ZGUgLSBlbmRQb2ludC5sb25naXR1ZGUpXG5cdFx0XHRcdFx0Y29uc3QgbWF4U3BhbiA9IE1hdGgubWF4KGxhdFNwYW4sIGxuZ1NwYW4pXG5cdFx0XHRcdFx0Y2VudGVyID0ge1xuXHRcdFx0XHRcdFx0bGF0aXR1ZGU6ICh0aGlzLmN1cnJlbnRMb2NhdGlvbi5sYXRpdHVkZSArIGVuZFBvaW50LmxhdGl0dWRlKSAvIDIsXG5cdFx0XHRcdFx0XHRsb25naXR1ZGU6ICh0aGlzLmN1cnJlbnRMb2NhdGlvbi5sb25naXR1ZGUgKyBlbmRQb2ludC5sb25naXR1ZGUpIC8gMlxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRpZiAobWF4U3BhbiA+IDAuMykge1xuXHRcdFx0XHRcdFx0c2NhbGUgPSA5XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChtYXhTcGFuID4gMC4xNSkge1xuXHRcdFx0XHRcdFx0c2NhbGUgPSAxMFxuXHRcdFx0XHRcdH0gZWxzZSBpZiAobWF4U3BhbiA+IDAuMDgpIHtcblx0XHRcdFx0XHRcdHNjYWxlID0gMTFcblx0XHRcdFx0XHR9IGVsc2UgaWYgKG1heFNwYW4gPiAwLjA0KSB7XG5cdFx0XHRcdFx0XHRzY2FsZSA9IDEyXG5cdFx0XHRcdFx0fSBlbHNlIGlmIChtYXhTcGFuID4gMC4wMikge1xuXHRcdFx0XHRcdFx0c2NhbGUgPSAxM1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAobWF4U3BhbiA+IDAuMDEpIHtcblx0XHRcdFx0XHRcdHNjYWxlID0gMTRcblx0XHRcdFx0XHR9IGVsc2UgaWYgKG1heFNwYW4gPiAwLjAwNSkge1xuXHRcdFx0XHRcdFx0c2NhbGUgPSAxNVxuXHRcdFx0XHRcdH0gZWxzZSBpZiAobWF4U3BhbiA+IDAuMDAyKSB7XG5cdFx0XHRcdFx0XHRzY2FsZSA9IDE2XG5cdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdHNjYWxlID0gMTdcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSBpZiAodGhpcy5jdXJyZW50TG9jYXRpb24pIHtcblx0XHRcdFx0XHRjZW50ZXIgPSB0aGlzLmN1cnJlbnRMb2NhdGlvblxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGNlbnRlciA9IHsgbGF0aXR1ZGU6IHRoaXMub3JkZXJEZXRhaWwubmF2aWdhdGVMYXQsIGxvbmdpdHVkZTogdGhpcy5vcmRlckRldGFpbC5uYXZpZ2F0ZUxuZyB9XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBtYXJrZXJzID0gW1xuXHRcdFx0XHRcdHsgaWQ6IDEsIGxhdGl0dWRlOiBzdGFydFBvaW50LmxhdGl0dWRlLCBsb25naXR1ZGU6IHN0YXJ0UG9pbnQubG9uZ2l0dWRlLCBpY29uUGF0aDogJy9zdGF0aWMvaW1hZ2Uvc3RhcnQucG5nJywgd2lkdGg6IDMyLCBoZWlnaHQ6IDM4LCBhbmNob3I6IHsgeDogMC41LCB5OiAxIH0gfSxcblx0XHRcdFx0XHR7IGlkOiAyLCBsYXRpdHVkZTogZW5kUG9pbnQubGF0aXR1ZGUsIGxvbmdpdHVkZTogZW5kUG9pbnQubG9uZ2l0dWRlLCBpY29uUGF0aDogJy9zdGF0aWMvaW1hZ2UvZW5kLnBuZycsIHdpZHRoOiAzMiwgaGVpZ2h0OiAzOCwgYW5jaG9yOiB7IHg6IDAuNSwgeTogMSB9IH0sXG5cdFx0XHRcdFx0eyBpZDogMywgbGF0aXR1ZGU6IHN0YXJ0UG9pbnQubGF0aXR1ZGUsIGxvbmdpdHVkZTogc3RhcnRQb2ludC5sb25naXR1ZGUsIGljb25QYXRoOiAnL3N0YXRpYy9pbWFnZS9kaXpoaS5wbmcnLCB3aWR0aDogMTIsIGhlaWdodDogMTIsIGFuY2hvcjogeyB4OiAwLjUsIHk6IDAuNSB9IH1cblx0XHRcdFx0XVxuXG5cdFx0XHRcdGNvbnN0IHJvdXRlUG9pbnRzID0gdGhpcy5yb3V0ZVBvaW50cy5sZW5ndGggPiAwID8gdGhpcy5yb3V0ZVBvaW50cyA6IFtcblx0XHRcdFx0XHRzdGFydFBvaW50LFxuXHRcdFx0XHRcdGVuZFBvaW50XG5cdFx0XHRcdF1cblxuXHRcdFx0XHRjb25zdCByZXN1bHQgPSB7XG5cdFx0XHRcdFx0Y2VudGVyLFxuXHRcdFx0XHRcdG1hcmtlcnMsXG5cdFx0XHRcdFx0cG9seWxpbmU6IHRoaXMucm91dGVQb2ludHMubGVuZ3RoID4gMCA/IFtcblx0XHRcdFx0XHRcdHsgcG9pbnRzOiByb3V0ZVBvaW50cywgY29sb3I6ICcjMDViZTc2Jywgd2lkdGg6IDI1LCBhcnJvd0xpbmU6IHRydWUsIGRvdHRlZExpbmU6IGZhbHNlIH1cblx0XHRcdFx0XHRdIDogW1xuXHRcdFx0XHRcdFx0eyBwb2ludHM6IHJvdXRlUG9pbnRzLCBjb2xvcjogJyMwNWJlNzYnLCB3aWR0aDogMjUsIGFycm93TGluZTogdHJ1ZSwgZG90dGVkTGluZTogdHJ1ZSB9XG5cdFx0XHRcdFx0XSxcblx0XHRcdFx0XHRpbmNsdWRlUG9pbnRzOiBbc3RhcnRQb2ludCwgZW5kUG9pbnRdLFxuXHRcdFx0XHRcdHNjYWxlXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHJlc3VsdFxuXHRcdFx0fSxcblx0XHRcdGJvZHlTdHlsZSgpIHtcblx0XHRcdFx0Y29uc3QgZm9vdGVySGVpZ2h0ID0gdW5pLnVweDJweCgxMTYpXG5cdFx0XHRcdGNvbnN0IHNpbXBsZU5hdkhlaWdodCA9IHRoaXMuc3RhdHVzQmFySGVpZ2h0ICsgdW5pLnVweDJweCg4OClcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRwYWRkaW5nVG9wOiAodGhpcy5zaG93TWFwU3RhdHVzID8gdGhpcy50b3BGaXhlZEhlaWdodCA6IHNpbXBsZU5hdkhlaWdodCkgKyAncHgnLFxuXHRcdFx0XHRcdGhlaWdodDogYGNhbGMoMTAwdmggLSAke3RoaXMuZm9vdGVyQnV0dG9ucy5sZW5ndGggPyBmb290ZXJIZWlnaHQgKyAyMCA6IDIwfXB4KWBcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGZvb3RlckJ1dHRvbnMoKSB7XG5cdFx0XHRcdGNvbnN0IHN0YXR1cyA9IHRoaXMub3JkZXJEZXRhaWwuc3RhdHVzXG5cdFx0XHRcdGNvbnN0IHRha2VTaG9wSWQgPSB0aGlzLm9yZGVyRGV0YWlsLnRha2VTaG9wSWRcblxuXHRcdFx0XHRpZiAoc3RhdHVzID09PSAyKSB7XG5cdFx0XHRcdFx0cmV0dXJuIFt7IHRleHQ6ICfnq4vljbPmiqLljZUnLCBwcmltYXJ5OiB0cnVlLCBhY3Rpb246ICdncmFiJyB9XVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKHN0YXR1cyA9PT0gMykge1xuXHRcdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0XHR7IHRleHQ6ICflj5bmtojorqLljZUnLCBwcmltYXJ5OiBmYWxzZSwgYWN0aW9uOiAnY2FuY2VsJyB9LFxuXHRcdFx0XHRcdFx0eyB0ZXh0OiAn5ouN54Wn5Y+W6LSnJywgcHJpbWFyeTogdHJ1ZSwgYWN0aW9uOiAncGlja3VwJyB9XG5cdFx0XHRcdFx0XVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKHN0YXR1cyA9PT0gNCkge1xuXHRcdFx0XHRcdGlmICghdGFrZVNob3BJZCkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIFt7IHRleHQ6ICfmi43nhafpgIHovr4nLCBwcmltYXJ5OiB0cnVlLCBhY3Rpb246ICdkZWxpdmVyJyB9XVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gW11cblx0XHRcdFx0fVxuXG5cdFx0XHRcdHJldHVybiBbXVxuXHRcdFx0fSxcblx0XHRcdHBob3RvUG9wdXBUaXRsZSgpIHtcblx0XHRcdFx0cmV0dXJuIHRoaXMucGhvdG9Qb3B1cE1vZGUgPT09ICdkZWxpdmVyJyA/ICfmi43nhafpgIHovr4nIDogJ+aLjeeFp+WPlui0pydcblx0XHRcdH0sXG5cdFx0XHRwaG90b1BvcHVwTGFiZWwoKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnBob3RvUG9wdXBNb2RlID09PSAnZGVsaXZlcicgPyAn5ouN5pGE6YCB6L6+54Wn54mHJyA6ICfmi43mkYTlj5botKfnhafniYcnXG5cdFx0XHR9LFxuXHRcdFx0cGhvdG9Qb3B1cFN1Ym1pdFRleHQoKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLnBob3RvUG9wdXBNb2RlID09PSAnZGVsaXZlcicgPyAn56Gu6K6k6YCB6L6+JyA6ICfnoa7orqTlj5botKcnXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRvbkxvYWQob3B0aW9ucykge1xuXHRcdFx0Y29uc3QgcGFnZXMgPSBnZXRDdXJyZW50UGFnZXMoKVxuXHRcdFx0Y29uc3QgY3VycmVudFBhZ2UgPSBwYWdlc1twYWdlcy5sZW5ndGggLSAxXVxuXHRcdFx0Y29uc3QgcGFnZU9wdGlvbnMgPSBjdXJyZW50UGFnZSAmJiBjdXJyZW50UGFnZS5vcHRpb25zID8gY3VycmVudFBhZ2Uub3B0aW9ucyA6IHt9XG5cdFx0XHRjb25zdCBzeXN0ZW1JbmZvID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKClcblx0XHRcdHRoaXMuc3RhdHVzQmFySGVpZ2h0ID0gc3lzdGVtSW5mby5zdGF0dXNCYXJIZWlnaHQgfHwgMFxuXHRcdFx0dGhpcy5vcmRlcklkID0gb3B0aW9ucy5pZCB8fCBwYWdlT3B0aW9ucy5pZFxuXHRcdFx0dGhpcy5vcmRlckluZGV4ID0gb3B0aW9ucy5pbmRleFxuXHRcdFx0dGhpcy50b3BGaXhlZEhlaWdodCA9IHVuaS51cHgycHgoNTAwICsgOTIpXG5cdFx0XHRpZiAodGhpcy5vcmRlcklkKSB7XG5cdFx0XHRcdHRoaXMuZ2V0T3JkZXJEZXRhaWwoKVxuXHRcdFx0XHR0aGlzLmluaXRPcGVyYXRpb25SYWRpdXMoKVxuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHRvblVubG9hZCgpIHtcblx0XHRcdGlmICh0aGlzLmxvY2F0aW9uVGltZXIpIHtcblx0XHRcdFx0Y2xlYXJJbnRlcnZhbCh0aGlzLmxvY2F0aW9uVGltZXIpXG5cdFx0XHRcdHRoaXMubG9jYXRpb25UaW1lciA9IG51bGxcblx0XHRcdH1cblx0XHR9LFxuXG5cdFx0bWV0aG9kczoge1xuXHRcdFx0aGFuZGxlQmFjaygpIHtcblx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjayh7IGRlbHRhOiAxIH0pO1xuXHRcdFx0fSxcblxuXHRcdFx0aW5pdE9wZXJhdGlvblJhZGl1cygpIHtcblx0XHRcdFx0dW5pLmdldExvY2F0aW9uKHtcblx0XHRcdFx0XHR0eXBlOiAnZ2NqMDInLFxuXHRcdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMuJHUuYXBpLmNoZWNrRHJpdmVyT3BlcmF0aW9uUmFkaXVzKHtcblx0XHRcdFx0XHRcdFx0bGF0OiByZXMubGF0aXR1ZGUsXG5cdFx0XHRcdFx0XHRcdGxuZzogcmVzLmxvbmdpdHVkZSxcblx0XHRcdFx0XHRcdFx0b3JkZXJJZDogdGhpcy5vcmRlcklkXG5cdFx0XHRcdFx0XHR9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5pc1dpdGhpbk9wZXJhdGlvblJhZGl1cyA9IHJlcy5kYXRhXG5cdFx0XHRcdFx0XHRcdFx0aWYgKCF0aGlzLmlzV2l0aGluT3BlcmF0aW9uUmFkaXVzKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmgqjlvZPliY3kvY3nva7kuI7mlLbotKflnLDlnYDot53nprvotoXlh7rojIPlm7TvvIzor7flnKjlnLDlnYDpmYTov5Hph43mlrDmi43nhacnLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0ZmFpbDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5pc1dpdGhpbk9wZXJhdGlvblJhZGl1cyA9IGZhbHNlXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmgqjlvZPliY3kvY3nva7mnYPpmZDmsqHmnInlvIDlkK/vvIzor7flhYjlvIDlkK/lkI7lho3mnaXmk43kvZwnLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0Z2V0T3JkZXJEZXRhaWwoKSB7XG5cdFx0XHRcdHRoaXMuJHUuYXBpLm9yZGVyRGV0YWlsKHsgb3JkZXJJZDogdGhpcy5vcmRlcklkIH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ29yZGVyRGV0YWlsOicsIHJlcy5kYXRhKVxuXHRcdFx0XHRcdFx0dGhpcy5vcmRlckRldGFpbCA9IHJlcy5kYXRhXG5cdFx0XHRcdFx0XHR0aGlzLmdvb2RzTGlzdCA9IHJlcy5kYXRhLml0ZW1zIHx8IFtdXG5cdFx0XHRcdFx0XHR0aGlzLnBob3RvcyA9IHJlcy5kYXRhLm9yZGVySW1hZ2VzIHx8IFtdXG5cdFx0XHRcdFx0XHRpZiAoKHRoaXMub3JkZXJEZXRhaWwuc3RhdHVzID09PSAzIHx8IHRoaXMub3JkZXJEZXRhaWwuc3RhdHVzID09PSA0KSAmJiB0aGlzLm9yZGVyRGV0YWlsLm5hdmlnYXRlTGF0ICYmIHRoaXMub3JkZXJEZXRhaWwubmF2aWdhdGVMbmcpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5nZXRDdXJyZW50TG9jYXRpb24oKVxuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0Y29uc29sZS5sb2coJ1NraXBwaW5nIGdldEN1cnJlbnRMb2NhdGlvbiAtIHN0YXR1cyBvciBjb29yZGluYXRlcyBub3QgYXZhaWxhYmxlJylcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXG5cdFx0XHRnZXRDdXJyZW50TG9jYXRpb24oKSB7XG5cdFx0XHRcdHRoaXMuZmV0Y2hMb2NhdGlvbigpXG5cdFx0XHRcdHRoaXMubG9jYXRpb25UaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLmZldGNoTG9jYXRpb24oKVxuXHRcdFx0XHR9LCA2MDAwMClcblx0XHRcdH0sXG5cblx0XHRcdGZldGNoTG9jYXRpb24oKSB7XG5cdFx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XG5cdFx0XHRcdFx0dHlwZTogJ2djajAyJyxcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLmN1cnJlbnRMb2NhdGlvbiA9IHtcblx0XHRcdFx0XHRcdFx0bGF0aXR1ZGU6IHJlcy5sYXRpdHVkZSxcblx0XHRcdFx0XHRcdFx0bG9uZ2l0dWRlOiByZXMubG9uZ2l0dWRlXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR0aGlzLmdldFJvdXRlUGxhbigpXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygn6I635Y+W5L2N572u5aSx6LSlJywgZXJyKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cblx0XHRcdGdldFJvdXRlUGxhbigpIHtcblx0XHRcdFx0aWYgKCF0aGlzLmN1cnJlbnRMb2NhdGlvbiB8fCAhdGhpcy5vcmRlckRldGFpbC5uYXZpZ2F0ZUxhdCB8fCAhdGhpcy5vcmRlckRldGFpbC5uYXZpZ2F0ZUxuZykge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCdTa2lwcGluZyByb3V0ZSBwbGFuIC0gbWlzc2luZyBkYXRhJylcblx0XHRcdFx0XHRyZXR1cm5cblx0XHRcdFx0fVxuXHRcdFx0XHRjb25zdCBmcm9tID0gYCR7dGhpcy5jdXJyZW50TG9jYXRpb24ubGF0aXR1ZGV9LCR7dGhpcy5jdXJyZW50TG9jYXRpb24ubG9uZ2l0dWRlfWBcblx0XHRcdFx0Y29uc3QgdG8gPSBgJHt0aGlzLm9yZGVyRGV0YWlsLm5hdmlnYXRlTG5nfSwke3RoaXMub3JkZXJEZXRhaWwubmF2aWdhdGVMYXR9YFxuXHRcdFx0XHR0aGlzLiR1LmFwaS5kaXJlY3Rpb25JbmZvKHtcblx0XHRcdFx0XHRmcm9tLFxuXHRcdFx0XHRcdHRvLFxuXHRcdFx0XHRcdG1vZGU6IHRoaXMudXNlckluZm8uZHJpdmVyVHlwZVxuXHRcdFx0XHR9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coJ3BhdGhzIHN1Y2Nlc3M6JywgcmVzLmRhdGEucm91dGUucGF0aHNbMF0pXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdGNvbnN0IHBhdGggPSByZXMuZGF0YS5yb3V0ZS5wYXRoc1swXVxuXHRcdFx0XHRcdFx0dGhpcy5kaXN0YW5jZSA9IHBhdGguZGlzdGFuY2Vcblx0XHRcdFx0XHRcdHRoaXMuZHVyYXRpb24gPSBwYXRoLmR1cmF0aW9uXG5cdFx0XHRcdFx0XHRjb25zdCBwb2ludHMgPSBbXVxuXHRcdFx0XHRcdFx0cGF0aC5zdGVwcy5mb3JFYWNoKHN0ZXAgPT4ge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBwb2x5bGluZVN0ciA9IHN0ZXAucG9seWxpbmVcblx0XHRcdFx0XHRcdFx0Y29uc3QgY29vcmRpbmF0ZXMgPSBwb2x5bGluZVN0ci5zcGxpdCgnOycpXG5cdFx0XHRcdFx0XHRcdGNvb3JkaW5hdGVzLmZvckVhY2goY29vcmQgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IFtsbmcsIGxhdF0gPSBjb29yZC5zcGxpdCgnLCcpXG5cdFx0XHRcdFx0XHRcdFx0cG9pbnRzLnB1c2goe1xuXHRcdFx0XHRcdFx0XHRcdFx0bGF0aXR1ZGU6IHBhcnNlRmxvYXQobGF0KSxcblx0XHRcdFx0XHRcdFx0XHRcdGxvbmdpdHVkZTogcGFyc2VGbG9hdChsbmcpXG5cdFx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHR0aGlzLnJvdXRlUG9pbnRzID0gcG9pbnRzXG5cdFx0XHRcdFx0XHR0aGlzLiRmb3JjZVVwZGF0ZSgpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0Ly8gbWFrZVBob25lQ2FsbCgpIHtcblx0XHRcdC8vIFx0aWYgKHRoaXMub3JkZXJEZXRhaWwuY29udGFjdFBob25lKSB7XG5cdFx0XHQvLyBcdFx0dW5pLm1ha2VQaG9uZUNhbGwoe1xuXHRcdFx0Ly8gXHRcdFx0cGhvbmVOdW1iZXI6IHRoaXMub3JkZXJEZXRhaWwuY29udGFjdFBob25lXG5cdFx0XHQvLyBcdFx0fSlcblx0XHRcdC8vIFx0fVxuXHRcdFx0Ly8gfSxcblxuXHRcdFx0bWFrZVNob3BDYWxsKHR5cGUpIHtcblx0XHRcdFx0Y29uc3QgcGhvbmUgPSB0eXBlID09PSAndGFrZScgPyB0aGlzLm9yZGVyRGV0YWlsLnRha2VDb250YWN0UGhvbmUgOiB0aGlzLm9yZGVyRGV0YWlsLmRlcG9zaXRTaG9wUGhvbmVcblx0XHRcdFx0aWYgKHBob25lKSB7XG5cdFx0XHRcdFx0dW5pLm1ha2VQaG9uZUNhbGwoe1xuXHRcdFx0XHRcdFx0cGhvbmVOdW1iZXI6IHBob25lXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fVxuXHRcdFx0fSxcblxuXHRcdFx0bmF2aWdhdGVUb0FkZHJlc3ModHlwZSkge1xuXHRcdFx0XHRsZXQgbGF0aXR1ZGUsIGxvbmdpdHVkZSwgbmFtZSwgYWRkcmVzc1xuXHRcdFx0XHRpZiAodHlwZSA9PT0gJ2RlcG9zaXQnKSB7XG5cdFx0XHRcdFx0bGF0aXR1ZGUgPSB0aGlzLm9yZGVyRGV0YWlsLmRlcG9zaXRTaG9wTGF0XG5cdFx0XHRcdFx0bG9uZ2l0dWRlID0gdGhpcy5vcmRlckRldGFpbC5kZXBvc2l0U2hvcExuZ1xuXHRcdFx0XHRcdG5hbWUgPSB0aGlzLm9yZGVyRGV0YWlsLmRlcG9zaXRTaG9wTmFtZVxuXHRcdFx0XHRcdGFkZHJlc3MgPSB0aGlzLm9yZGVyRGV0YWlsLmRlcG9zaXRTaG9wQWRkcmVzc1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGxhdGl0dWRlID0gdGhpcy5vcmRlckRldGFpbC50YWtlTGF0XG5cdFx0XHRcdFx0bG9uZ2l0dWRlID0gdGhpcy5vcmRlckRldGFpbC50YWtlTG5nXG5cdFx0XHRcdFx0bmFtZSA9IHRoaXMub3JkZXJEZXRhaWwudGFrZU5hbWVcblx0XHRcdFx0XHRhZGRyZXNzID0gdGhpcy5vcmRlckRldGFpbC50YWtlQWRkcmVzc1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICghbGF0aXR1ZGUgfHwgIWxvbmdpdHVkZSkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+WcsOWdgOWdkOagh+e8uuWksScsIGljb246ICdub25lJyB9KVxuXHRcdFx0XHRcdHJldHVyblxuXHRcdFx0XHR9XG5cdFx0XHRcdHVuaS5vcGVuTG9jYXRpb24oe1xuXHRcdFx0XHRcdGxhdGl0dWRlLFxuXHRcdFx0XHRcdGxvbmdpdHVkZSxcblx0XHRcdFx0XHRuYW1lLFxuXHRcdFx0XHRcdGFkZHJlc3MsXG5cdFx0XHRcdFx0c3VjY2VzczogKCkgPT4ge30sXG5cdFx0XHRcdFx0ZmFpbDogKGVycikgPT4ge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5omT5byA5Zyw5Zu+5aSx6LSlJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0XHRjb25zb2xlLmVycm9yKCdvcGVuTG9jYXRpb24gZmFpbDonLCBlcnIpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0cHJldmlld0ltYWdlKGN1cnJlbnQpIHtcblx0XHRcdFx0dW5pLnByZXZpZXdJbWFnZSh7XG5cdFx0XHRcdFx0Y3VycmVudCxcblx0XHRcdFx0XHR1cmxzOiB0aGlzLnBob3Rvc1xuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblxuXHRcdFx0aGFuZGxlRm9vdGVyQWN0aW9uKGJ1dHRvbikge1xuXHRcdFx0XHRjb25zdCBhY3Rpb24gPSBidXR0b24uYWN0aW9uXG5cblx0XHRcdFx0aWYgKGFjdGlvbiA9PT0gJ2NhbmNlbCcpIHtcblx0XHRcdFx0XHR0aGlzLmhhbmRsZUNhbmNlbE9yZGVyKClcblx0XHRcdFx0XHRyZXR1cm5cblx0XHRcdFx0fVxuXG5cdFx0XHRcdGlmIChhY3Rpb24gPT09ICdwaWNrdXAnIHx8IGFjdGlvbiA9PT0gJ2RlbGl2ZXInKSB7XG5cdFx0XHRcdFx0aWYgKCF0aGlzLmlzV2l0aGluT3BlcmF0aW9uUmFkaXVzKSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmgqjlvZPliY3kvY3nva7kuI7mlLbotKflnLDlnYDot53nprvotoXlh7rojIPlm7TvvIzor7flnKjlnLDlnYDpmYTov5Hph43mlrDmi43nhacnLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRyZXR1cm5cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy51cGxvYWRlZFBob3RvcyA9IFtdXG5cdFx0XHRcdFx0dGhpcy5waG90b1JlbWFyayA9ICcnXG5cdFx0XHRcdFx0dGhpcy5waG90b1BvcHVwTW9kZSA9IGFjdGlvblxuXHRcdFx0XHRcdHRoaXMuc2hvd1Bob3RvUG9wdXAgPSB0cnVlXG5cdFx0XHRcdFx0cmV0dXJuXG5cdFx0XHRcdH1cblxuXHRcdFx0XHRpZiAoYWN0aW9uID09PSAnZ3JhYicpIHtcblx0XHRcdFx0XHR0aGlzLmhhbmRsZUdyYWJPcmRlcigpXG5cdFx0XHRcdFx0cmV0dXJuXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRoYW5kbGVDYW5jZWxPcmRlcigpIHtcblx0XHRcdFx0dGhpcy4kdS5hcGkuY2FuY2VsTGltaXQoKS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHRoaXMuY2FuY2VsUmVtYWluID0gcmVzLmRhdGEucmVtYWluXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5maW5hbGx5KCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLnNob3dDYW5jZWxNb2RhbCA9IHRydWVcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRjb25maXJtQ2FuY2VsT3JkZXIoKSB7XG5cdFx0XHRcdHRoaXMuJHUuYXBpLmNhbmNlbE9yZGVyKHsgb3JkZXJJZDogdGhpcy5vcmRlcklkIH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR0aGlzLnNob3dDYW5jZWxNb2RhbCA9IGZhbHNlXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+WPlua2iOaIkOWKnycsIGljb246ICdzdWNjZXNzJyB9KVxuXHRcdFx0XHRcdFx0dGhpcy5nZXRPcmRlckRldGFpbCgpXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KS5maW5hbGx5KCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLnNob3dDYW5jZWxNb2RhbCA9IGZhbHNlXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0aGFuZGxlR3JhYk9yZGVyKCkge1xuXHRcdFx0XHR0aGlzLnNob3dHcmFiTW9kYWwgPSB0cnVlXG5cdFx0XHR9LFxuXHRcdFx0Y29uZmlybUdyYWJPcmRlcigpIHtcblx0XHRcdFx0dGhpcy4kdS5hcGkuZ3JhYk9yZGVyKHsgb3JkZXJJZDogdGhpcy5vcmRlcklkIH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHR0aGlzLnNob3dHcmFiTW9kYWwgPSBmYWxzZVxuXHRcdFx0XHRcdGlmIChyZXMuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfmjqXljZXmiJDlip8nLCBpY29uOiAnc3VjY2VzcycgfSlcblx0XHRcdFx0XHRcdHRoaXMuZ2V0T3JkZXJEZXRhaWwoKVxuXHRcdFx0XHRcdFx0c2V0VGltZW91dCgoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZUJhY2soKVxuXHRcdFx0XHRcdFx0fSwgMTUwMClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiByZXMubXNnIHx8ICfmjqXljZXlpLHotKUnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLnNob3dHcmFiTW9kYWwgPSBmYWxzZVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGNsb3NlUGhvdG9Qb3B1cCgpIHtcblx0XHRcdFx0dGhpcy5zaG93UGhvdG9Qb3B1cCA9IGZhbHNlXG5cdFx0XHR9LFxuXHRcdFx0Y2hvb3NlSW1hZ2UoKSB7XG5cdFx0XHRcdGNvbnN0IGNvdW50ID0gMyAtIHRoaXMudXBsb2FkZWRQaG90b3MubGVuZ3RoXG5cdFx0XHRcdHVuaS5jaG9vc2VJbWFnZSh7XG5cdFx0XHRcdFx0Y291bnQ6IGNvdW50LFxuXHRcdFx0XHRcdHNvdXJjZVR5cGU6IFsnY2FtZXJhJywgJ2FsYnVtJ10sXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgdGVtcEZpbGVQYXRocyA9IHJlcy50ZW1wRmlsZVBhdGhzXG5cdFx0XHRcdFx0XHR0aGlzLnVwbG9hZGVkUGhvdG9zID0gdGhpcy51cGxvYWRlZFBob3Rvcy5jb25jYXQodGVtcEZpbGVQYXRocylcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0ZGVsZXRlUGhvdG8oaW5kZXgpIHtcblx0XHRcdFx0dGhpcy51cGxvYWRlZFBob3Rvcy5zcGxpY2UoaW5kZXgsIDEpXG5cdFx0XHR9LFxuXHRcdFx0c3VibWl0UGhvdG9Qb3B1cCgpIHtcblx0XHRcdFx0aWYgKHRoaXMudXBsb2FkZWRQaG90b3MubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K+35LiK5Lyg54Wn54mHJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0cmV0dXJuXG5cdFx0XHRcdH1cblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHsgdGl0bGU6ICfkuIrkvKDkuK0uLi4nIH0pXG5cdFx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XG5cdFx0XHRcdFx0dHlwZTogJ2djajAyJyxcblx0XHRcdFx0XHRzdWNjZXNzOiAobG9jYXRpb25SZXMpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMuZG9VcGxvYWRQaG90b3MobG9jYXRpb25SZXMubGF0aXR1ZGUsIGxvY2F0aW9uUmVzLmxvbmdpdHVkZSlcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGZhaWw6ICgpID0+IHtcblx0XHRcdFx0XHRcdHRoaXMuZG9VcGxvYWRQaG90b3MobnVsbCwgbnVsbClcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXG5cdFx0XHRkb1VwbG9hZFBob3RvcyhsYXRpdHVkZSwgbG9uZ2l0dWRlKSB7XG5cdFx0XHRcdGNvbnN0IHVwbG9hZFRhc2tzID0gdGhpcy51cGxvYWRlZFBob3Rvcy5tYXAocGF0aCA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IGZvcm1EYXRhID0geyBmb2xkZXI6ICdvcmRlcnMnIH1cblx0XHRcdFx0XHRcdGlmIChsYXRpdHVkZSAmJiBsb25naXR1ZGUpIHtcblx0XHRcdFx0XHRcdFx0Zm9ybURhdGEubGF0aXR1ZGUgPSBsYXRpdHVkZVxuXHRcdFx0XHRcdFx0XHRmb3JtRGF0YS5sb25naXR1ZGUgPSBsb25naXR1ZGVcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKCdmb3JtRGF0YTonLCBmb3JtRGF0YSlcblx0XHRcdFx0XHRcdHVuaS51cGxvYWRGaWxlKHtcblx0XHRcdFx0XHRcdFx0dXJsOiB0aGlzLiRiYXNlVXJsICsgJ3dlYi9wdWJsaWMvdXBsb2FkJyxcblx0XHRcdFx0XHRcdFx0ZmlsZVBhdGg6IHBhdGgsXG5cdFx0XHRcdFx0XHRcdG5hbWU6ICdmaWxlJyxcblx0XHRcdFx0XHRcdFx0Zm9ybURhdGE6IGZvcm1EYXRhLFxuXHRcdFx0XHRcdFx0XHRzdWNjZXNzOiAodXBsb2FkUmVzKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0Y29uc3QgZGF0YSA9IEpTT04ucGFyc2UodXBsb2FkUmVzLmRhdGEpXG5cdFx0XHRcdFx0XHRcdFx0aWYgKGRhdGEuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRyZXNvbHZlKGRhdGEuZGF0YSlcblx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmVqZWN0KG5ldyBFcnJvcihkYXRhLm1zZykpXG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0cmVqZWN0KGVycilcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9KVxuXHRcdFx0XHR9KVxuXG5cdFx0XHRcdFByb21pc2UuYWxsKHVwbG9hZFRhc2tzKS50aGVuKGltYWdlcyA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgYXBpID0gdGhpcy5waG90b1BvcHVwTW9kZSA9PT0gJ2RlbGl2ZXInID8gJ2NvbmZpcm1EZWxpdmVyJyA6ICdjb25maXJtUGlja3VwJ1xuXHRcdFx0XHRcdGNvbnN0IHBhcmFtcyA9IHtcblx0XHRcdFx0XHRcdGltYWdlczogaW1hZ2VzLm1hcChpbWcgPT4gaW1nLmltZ2FkZHIpLFxuXHRcdFx0XHRcdFx0b3JkZXJJZDogdGhpcy5vcmRlcklkLFxuXHRcdFx0XHRcdFx0cmVtYXJrOiB0aGlzLnBob3RvUmVtYXJrXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdGlmIChsYXRpdHVkZSAmJiBsb25naXR1ZGUpIHtcblx0XHRcdFx0XHRcdHBhcmFtcy5sYXRpdHVkZSA9IGxhdGl0dWRlXG5cdFx0XHRcdFx0XHRwYXJhbXMubG9uZ2l0dWRlID0gbG9uZ2l0dWRlXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJldHVybiB0aGlzLiR1LmFwaVthcGldKHBhcmFtcylcblx0XHRcdFx0fSkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+aPkOS6pOaIkOWKnycsIGljb246ICdzdWNjZXNzJyB9KVxuXHRcdFx0XHRcdFx0dGhpcy5zaG93UGhvdG9Qb3B1cCA9IGZhbHNlXG5cdFx0XHRcdFx0XHR0aGlzLmdldE9yZGVyRGV0YWlsKClcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiByZXMubXNnIHx8ICfmj5DkuqTlpLHotKUnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKClcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6IGVyci5tZXNzYWdlIHx8ICfkuIrkvKDlpLHotKUnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0fSlcblx0XHRcdH1cblx0XHR9XG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgbGFuZz1cInNjc3NcIiBzY29wZWQ+XG5cdC5vcmRlci1kZXRhaWwtcGFnZSB7XG5cdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblxuXHRcdCZfX3NpbXBsZS1uYXYge1xuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHRvcDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0ei1pbmRleDogMTE7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjMTA2RUZBO1xuXHRcdH1cblxuXHRcdCZfX3NpbXBsZS1uYXYtaW5uZXIge1xuXHRcdFx0aGVpZ2h0OiA4OHJweDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0cGFkZGluZzogMCAzMHJweDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXG5cdFx0Jl9fc2ltcGxlLW5hdi10aXRsZSB7XG5cdFx0XHRmb250LXNpemU6IDM2cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdH1cblxuXHRcdCZfX2ZpeGVkLXRvcCB7XG5cdFx0XHRwb3NpdGlvbjogZml4ZWQ7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0dG9wOiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHR6LWluZGV4OiAxMDtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0fVxuXG5cdFx0Jl9fbWFwLXdyYXAge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0aGVpZ2h0OiA1MDBycHg7XG5cdFx0XHR3aWR0aDogNzUwcnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZGJlOGZmO1xuXHRcdH1cblxuXHRcdCZfX21hcCB7XG5cdFx0XHR3aWR0aDogNzUwcnB4O1xuXHRcdFx0aGVpZ2h0OiA1MDBycHg7XG5cdFx0fVxuXG5cdFx0Jl9fc3RhdHVzLWJhciB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGhlaWdodDogOTJycHg7XG5cdFx0XHRwYWRkaW5nOiAwIDI0cnB4O1xuXHRcdFx0YmFja2dyb3VuZDogI2Q5ZThmZjtcblx0XHR9XG5cblx0XHQmX19zdGF0dXMtbGVmdCxcblx0XHQmX19zdGF0dXMtcmlnaHQge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0fVxuXG5cdFx0Jl9fc3RhdHVzLWRvdCB7XG5cdFx0XHR3aWR0aDogMThycHg7XG5cdFx0XHRoZWlnaHQ6IDE4cnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogNnJweDtcblx0XHRcdGJhY2tncm91bmQ6ICMyYjdjZmY7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEycnB4O1xuXHRcdH1cblxuXHRcdCZfX3N0YXR1cy10aXRsZSxcblx0XHQmX19zdGF0dXMtbm8ge1xuXHRcdFx0Zm9udC1zaXplOiAzNHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogIzJiMzEzOTtcblx0XHR9XG5cblx0XHQmX19zdGF0dXMtY2FuY2VsIHtcblx0XHRcdHBhZGRpbmc6IDhycHggMThycHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDE4cnB4O1xuXHRcdFx0Ym9yZGVyOiAycnB4IHNvbGlkICM3MmE4ZmY7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA5OTlycHg7XG5cdFx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdFx0Y29sb3I6ICMyYjdjZmY7XG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG5cdFx0fVxuXG5cdFx0Jl9fYm9keSB7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdH1cblxuXHRcdCZfX2NvbnRlbnQge1xuXHRcdFx0Ly8gcGFkZGluZzogMTZycHggMCBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDI2cnB4KTtcblx0XHR9XG5cblx0XHQmX19zZWN0aW9uIHtcblx0XHRcdC8vIG1hcmdpbjogMTZycHggMjBycHggMDtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cblx0XHRcdCYtLW1haW4ge1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1sYXN0IHtcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogY2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgKyAyNnJweCk7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fc3VtbWFyeSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRwYWRkaW5nOiAzMHJweDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXG5cdFx0Jl9fZG9uZS1zdW1tYXJ5IHtcblx0XHRcdHBhZGRpbmc6IDMwcnB4O1xuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblx0XHRcdGdhcDogMjBycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjRjZGOUZGO1xuXHRcdH1cblxuXHRcdCZfX2RvbmUtc3VtbWFyeS1sZWZ0IHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0fVxuXG5cdFx0Jl9fZG9uZS1zdW1tYXJ5LXJpZ2h0IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0fVxuXG5cdFx0Jl9fZG9uZS10aXRsZSB7XG5cdFx0XHRmb250LXNpemU6IDM4cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjMmIzMTM5O1xuXHRcdH1cblxuXHRcdCZfX2RvbmUtcHJpY2Utcm93IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0Z2FwOiAxMHJweDtcblx0XHR9XG5cblx0XHQmX19zZXR0bGVkLXRhZyB7XG5cdFx0XHRwYWRkaW5nOiA0cnB4IDEwcnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogOHJweDtcblx0XHRcdGJvcmRlcjogMXJweCBzb2xpZCAjZmY4ZjhmO1xuXHRcdFx0Zm9udC1zaXplOiAyMnJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRjb2xvcjogI2ZmNmE2YTtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmY0ZjQ7XG5cdFx0fVxuXG5cdFx0Jl9fc3VtbWFyeS1sZWZ0IHtcblx0XHRcdGZsZXg6IDE7XG5cdFx0XHRtaW4td2lkdGg6IDA7XG5cdFx0fVxuXG5cdFx0Jl9fc3VtbWFyeS1yaWdodCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblx0XHRcdG1hcmdpbi1sZWZ0OiAyMHJweDtcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdH1cblxuXHRcdCZfX2hlYWQtbGVmdCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuXHRcdH1cblxuXHRcdCZfX3RpbWUge1xuXHRcdFx0Zm9udC1zaXplOiAzNHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRjb2xvcjogI0ZBODAxMDtcblx0XHR9XG5cblx0XHQmX190aW1lLXN1Yixcblx0XHQmX19leHRyYSxcblx0XHQmX19yb3V0ZS1kZXNjLFxuXHRcdCZfX3FyY29kZS1sYWJlbCxcblx0XHQmX19kZXRhaWwtbGFiZWwsXG5cdFx0Jl9fZGV0YWlsLXZhbHVlLFxuXHRcdCZfX2dvb2RzLWNvdW50LFxuXHRcdCZfX3Jvdy10ZXh0LFxuXHRcdCZfX2dvb2RzLWNhdGVnb3J5IHtcblx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRjb2xvcjogI2FkYjNiZDtcblx0XHR9XG5cblx0XHQmX190aW1lLXN1YiB7XG5cdFx0XHRtYXJnaW4tbGVmdDogOHJweDtcblx0XHR9XG5cblx0XHQmX19wcmljZSB7XG5cdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjZmY0MTMyO1xuXHRcdH1cblxuXHRcdCZfX2V4dHJhIHtcblx0XHRcdG1hcmdpbi10b3A6IDZycHg7XG5cdFx0fVxuXG5cdFx0Jl9fdGFncyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRcdGdhcDogMTJycHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAxNHJweDtcblxuXHRcdFx0Ji0tZG9uZSB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDEycnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3RhZy1pY29uIHtcblx0XHRcdHdpZHRoOiAxMDhycHg7XG5cdFx0XHRoZWlnaHQ6IDQwcnB4O1xuXHRcdH1cblxuXHRcdCZfX3RhZy10ZXh0IHtcblx0XHRcdHBhZGRpbmc6IDVycHggMTJycHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA4cnB4O1xuXHRcdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDMxOWRlZywgI0VFOUQwRSAwJSwgI0ZGNEU0RSAxMDAlKTtcblx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtbGlzdCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAzNnJweDtcdFxuXHRcdFx0cGFkZGluZzogMCAzMHJweDtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtaXRlbSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdCYtLWVuZCB7XG5cdFx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3JvdXRlLWxlZnQge1xuXHRcdFx0d2lkdGg6IDYwcnB4O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0ZmxleC1zaHJpbms6IDA7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtYmFkZ2Uge1xuXHRcdFx0d2lkdGg6IDQ0cnB4O1xuXHRcdFx0aGVpZ2h0OiA0NHJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdFx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0ei1pbmRleDogMTtcblxuXHRcdFx0Ji0tdGFrZSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMxMEIyRkE7XG5cdFx0XHR9XG5cblx0XHRcdCYtLXNlbmQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjRkE4MDEwO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdCZfX3JvdXRlLWRpdmlkZXIge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiA2NHJweDtcblx0XHRcdGJvdHRvbTogMDtcblx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IDJycHggZGFzaGVkICNkN2RiZTI7XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtbWFpbiB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGdhcDogMThycHg7XG5cdFx0XHRtYXJnaW4tbGVmdDogMTBycHg7XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtdGV4dHMge1xuXHRcdFx0ZmxleDogMTtcblx0XHRcdG1pbi13aWR0aDogMDtcblx0XHR9XG5cblx0XHQmX19yb3V0ZS10aXRsZSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRmb250LXNpemU6IDM0cnB4O1xuXHRcdFx0Y29sb3I6ICMyMjIyMjI7XG5cdFx0XHRsaW5lLWhlaWdodDogMS4zO1xuXHRcdH1cblxuXHRcdCZfX3JvdXRlLWRlc2Mge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHRtYXJnaW4tdG9wOiA4cnB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0Y29sb3I6ICM5OTk5OTk7XG5cdFx0fVxuXG5cdFx0Jl9fcm91dGUtYWN0aW9ucyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogMTJycHg7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cblx0XHQmX19yb3V0ZS1pY29uLFxuXHRcdCZfX3Jvdy1pY29uIHtcblx0XHRcdHdpZHRoOiA0MHJweDtcblx0XHRcdGhlaWdodDogNDBycHg7XG5cdFx0fVxuXG5cdFx0Jl9fcXJjb2RlLXdyYXAge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0bWFyZ2luLXRvcDogMzBycHg7XG5cdFx0fVxuXG5cdFx0Jl9fcXJjb2RlLWJveCB7XG5cdFx0XHR3aWR0aDogMzYwcnB4O1xuXHRcdFx0aGVpZ2h0OiAzNjBycHg7XG5cdFx0XHRwYWRkaW5nOiAxNnJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDhycHg7XG5cdFx0XHRib3JkZXI6IDJycHggc29saWQgI0VFRUVFRTtcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0fVxuXG5cdFx0Jl9fcXJjb2RlLWltYWdlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblxuXHRcdCZfX3FyY29kZS12YWx1ZSB7XG5cdFx0XHRtYXJnaW4tdG9wOiAzMnJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRmb250LXNpemU6IDM2cnB4O1xuXHRcdFx0Y29sb3I6ICMyMjIyMjI7XG5cdFx0fVxuXG5cdFx0Jl9fcXJjb2RlLWxhYmVsIHtcblx0XHRcdG1hcmdpbi10b3A6IDEycnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRjb2xvcjogIzk5OTk5OTtcblx0XHR9XG5cblx0XHQmX19zZWN0aW9uLXRpdGxlIHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0Zm9udC1zaXplOiAzMnJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogIzJiMzEzOTtcblx0XHR9XG5cblx0XHQmX19yb3ctaW5mbyB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGdhcDogMTZycHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAyNnJweDtcblx0XHR9XG5cblx0XHQmX19yb3ctdGV4dCB7XG5cdFx0XHRmbGV4OiAxO1xuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdGNvbG9yOiAjNGQ1NTYyO1xuXHRcdH1cblxuXHRcdCZfX2NvbW1lbnQtY2FyZCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMHJweDtcblx0XHRcdHBhZGRpbmc6IDIycnB4IDIwcnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTZycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjdmOGZhO1xuXHRcdH1cblxuXHRcdCZfX2NvbW1lbnQtdGl0bGUsXG5cdFx0Jl9fY29tbWVudC1jb250ZW50LFxuXHRcdCZfX2NvbW1lbnQtc2NvcmUtdGV4dCB7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Y29sb3I6ICM0ZDU1NjI7XG5cdFx0fVxuXG5cdFx0Jl9fY29tbWVudC1zY29yZSB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdG1hcmdpbi10b3A6IDEwcnB4O1xuXHRcdH1cblxuXHRcdCZfX2NvbW1lbnQtc3RhciB7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Y29sb3I6ICNmZmIzMjM7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDhycHg7XG5cdFx0fVxuXG5cdFx0Jl9fY29tbWVudC1jb250ZW50IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLXRvcDogMTJycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdH1cblxuXHRcdCZfX2NvbW1lbnQtaW1hZ2Uge1xuXHRcdFx0d2lkdGg6IDkycnB4O1xuXHRcdFx0aGVpZ2h0OiA5MnJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcnB4O1xuXHRcdFx0bWFyZ2luLXRvcDogMTRycHg7XG5cdFx0fVxuXG5cdFx0Jl9fZ29vZHMtbGlzdCxcblx0XHQmX19kZXRhaWwtbGlzdCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAyMnJweDtcblx0XHR9XG5cblx0XHQmX19nb29kcy1pdGVtLFxuXHRcdCZfX2RldGFpbC1pdGVtIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0cGFkZGluZzogOHJweCAwO1xuXHRcdH1cblxuXHRcdCZfX2dvb2RzLW5hbWUge1xuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdGNvbG9yOiAjNGQ1NTYyO1xuXHRcdH1cblxuXHRcdCZfX2dvb2RzLWNhdGVnb3J5IHtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0bWFyZ2luLXRvcDogMjRycHg7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Y29sb3I6ICM0ZDU1NjI7XG5cdFx0fVxuXG5cdFx0Jl9fcGhvdG9zIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRmbGV4LXdyYXA6IHdyYXA7XG5cdFx0XHRnYXA6IDIwcnB4O1xuXHRcdFx0bWFyZ2luLXRvcDogMzBycHg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzBycHg7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdH1cblxuXHRcdCZfX3Bob3RvIHtcblx0XHRcdHdpZHRoOiAxMjBycHg7XG5cdFx0XHRoZWlnaHQ6IDEyMHJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDhycHg7XG5cdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0XHRpbWFnZSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fZGV0YWlsLWxhYmVsIHtcblx0XHRcdGNvbG9yOiAjYWViNGJlO1xuXHRcdH1cblxuXHRcdCZfX2RldGFpbC12YWx1ZSB7XG5cdFx0XHRjb2xvcjogIzY2NmQ3OTtcblx0XHR9XG5cblx0XHQmX19mb290ZXIge1xuXHRcdFx0cG9zaXRpb246IGZpeGVkO1xuXHRcdFx0bGVmdDogMDtcblx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdGdhcDogMjBycHg7XG5cdFx0XHRwYWRkaW5nOiAxNHJweCAyMHJweCBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDE0cnB4KTtcblx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XG5cdFx0XHRib3gtc2hhZG93OiAwIC04cnB4IDIwcnB4IHJnYmEoMzAsIDQ2LCA4MCwgMC4wNik7XG5cdFx0fVxuXG5cdFx0Jl9fZm9vdGVyLWJ0biB7XG5cdFx0XHR3aWR0aDogMTgycnB4O1xuXHRcdFx0aGVpZ2h0OiA2OHJweDtcblx0XHRcdGxpbmUtaGVpZ2h0OiA2OHJweDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA5OTlycHg7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdGJvcmRlcjogMXJweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuXHRcdFx0Jjo6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXI6IDA7XG5cdFx0XHR9XG5cblx0XHRcdCYtLWdob3N0IHtcblx0XHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjZDhkZGU1O1xuXHRcdFx0XHRjb2xvcjogIzk1OWRhYTtcblx0XHRcdH1cblxuXHRcdFx0Ji0tcHJpbWFyeSB7XG5cdFx0XHRcdGJhY2tncm91bmQ6ICMyZDdjZmY7XG5cdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdFx0fVxuXG5cdFx0XHQmLS1ob3ZlciB7XG5cdFx0XHRcdG9wYWNpdHk6IDAuOTI7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LnBob3RvLXBvcHVwIHtcblx0XHRwYWRkaW5nOiAzMHJweCAyOHJweCBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDI4cnB4KTtcblx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuXHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDIwcnB4O1xuXHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyMHJweDtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXG5cdFx0Jl9faGVhZGVyIHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdH1cblxuXHRcdCZfX3BsYWNlaG9sZGVyLFxuXHRcdCZfX2Nsb3NlIHtcblx0XHRcdHdpZHRoOiAzNnJweDtcblx0XHRcdGhlaWdodDogMzZycHg7XG5cdFx0XHRmbGV4LXNocmluazogMDtcblx0XHR9XG5cblx0XHQmX19wbGFjZWhvbGRlciB7XG5cdFx0XHRvcGFjaXR5OiAwO1xuXHRcdH1cblxuXHRcdCZfX3RpdGxlIHtcblx0XHRcdGZvbnQtc2l6ZTogMzRycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICMxMTExMTE7XG5cdFx0fVxuXG5cdFx0Jl9fc2VjdGlvbiB7XG5cdFx0XHRtYXJnaW4tdG9wOiA1NHJweDtcblxuXHRcdFx0Ji0tcmVtYXJrIHtcblx0XHRcdFx0bWFyZ2luLXRvcDogNDhycHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Jl9fbGFiZWwtcm93IHtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdH1cblxuXHRcdCZfX2xhYmVsLFxuXHRcdCZfX3JlbWFyay10aXRsZSB7XG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRcdGNvbG9yOiAjMjMyNjJkO1xuXHRcdH1cblxuXHRcdCZfX3JlcXVpcmVkIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiA0cnB4O1xuXHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdFx0XHRjb2xvcjogI2ZmM2IzMDtcblx0XHR9XG5cblx0XHQmX19oaW50IHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMnJweDtcblx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRjb2xvcjogI2E4YWRiNztcblx0XHR9XG5cblx0XHQmX19waG90b3Mge1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGdhcDogMThycHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAyOHJweDtcblx0XHR9XG5cblx0XHQmX191cGxvYWQtY2FyZCxcblx0XHQmX19wcmV2aWV3LWNhcmQge1xuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0d2lkdGg6IDE0NHJweDtcblx0XHRcdGhlaWdodDogMTQ0cnB4O1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR9XG5cblx0XHQmX191cGxvYWQtY2FyZCB7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQ6ICNmOGY5ZmI7XG5cdFx0fVxuXG5cdFx0Jl9fdXBsb2FkLWljb24ge1xuXHRcdFx0d2lkdGg6IDE2MHJweDtcblx0XHRcdGhlaWdodDogMTYwcnB4O1xuXHRcdFx0Ly8gb3BhY2l0eTogMC41NTtcblx0XHR9XG5cblx0XHQmX191cGxvYWQtdGV4dCB7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMnJweDtcblx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRjb2xvcjogI2EwYTZiMDtcblx0XHR9XG5cblx0XHQmX19wcmV2aWV3LWNhcmQge1xuXHRcdFx0YmFja2dyb3VuZDogI2VlZjFmNTtcblx0XHR9XG5cblx0XHQmX19wcmV2aWV3LWltYWdlIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdH1cblxuXHRcdCZfX3ByZXZpZXctbWFzayB7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRsZWZ0OiAwO1xuXHRcdFx0cmlnaHQ6IDA7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRoZWlnaHQ6IDQ4cnB4O1xuXHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40Mik7XG5cdFx0fVxuXG5cdFx0Jl9fcHJldmlldy1kZWxldGUge1xuXHRcdFx0Zm9udC1zaXplOiAyNnJweDtcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdH1cblxuXHRcdCZfX3RleHRhcmVhIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0aGVpZ2h0OiAxMTBycHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAyNHJweDtcblx0XHRcdHBhZGRpbmc6IDI4cnB4IDI0cnB4O1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTJycHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZjdmOGZhO1xuXHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdGNvbG9yOiAjMmMzMTM5O1xuXHRcdH1cblxuXHRcdCZfX3N1Ym1pdCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGhlaWdodDogODhycHg7XG5cdFx0XHRsaW5lLWhlaWdodDogODhycHg7XG5cdFx0XHRtYXJnaW4tdG9wOiA4NnJweDtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwcnB4O1xuXHRcdFx0YmFja2dyb3VuZDogIzEwNmVmYTtcblx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0XHRib3JkZXI6IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0XHQmOjphZnRlciB7XG5cdFx0XHRcdGJvcmRlcjogMDtcblx0XHRcdH1cblxuXHRcdFx0Ji0taG92ZXIge1xuXHRcdFx0XHRvcGFjaXR5OiAwLjkyO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///113\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 _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 114));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _vuex = __webpack_require__(/*! vuex */ 12);\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      orderId: null,\n      orderIndex: null,\n      orderDetail: null,\n      statusBarHeight: 0,\n      topFixedHeight: 0,\n      showPhotoPopup: false,\n      photoPopupMode: '',\n      photoRemark: '',\n      uploadedPhotos: [],\n      showCancelModal: false,\n      cancelRemain: 0,\n      showGrabModal: false,\n      currentLocation: null,\n      routePoints: [],\n      locationTimer: null,\n      distance: 0,\n      duration: 0,\n      isWithinOperationRadius: true,\n      statusTextMap: {\n        2: '寰呮帴鍗�',\n        3: '寰呭彇璐�',\n        4: '閰嶉�佷腑',\n        5: '宸查�佽揪',\n        7: '宸插畬鎴�',\n        99: '宸插彇娑�'\n      },\n      goodsList: [],\n      photos: []\n    };\n  },\n  computed: _objectSpread(_objectSpread({}, (0, _vuex.mapState)(['userInfo'])), {}, {\n    formattedRemainTime: function formattedRemainTime() {\n      var minutes = this.orderDetail.remainMinutes;\n      if (!minutes) return null;\n      if (minutes >= 60) {\n        var hours = Math.floor(minutes / 60);\n        var mins = minutes % 60;\n        return mins > 0 ? \"\".concat(hours, \"\\u5C0F\\u65F6\").concat(mins, \"\\u5206\\u949F\") : \"\".concat(hours, \"\\u5C0F\\u65F6\");\n      }\n      return \"\".concat(minutes, \"\\u5206\\u949F\");\n    },\n    showMapStatus: function showMapStatus() {\n      return this.orderDetail.status === 3 || this.orderDetail.status === 4;\n    },\n    mapData: function mapData() {\n      var startPoint = this.currentLocation || {\n        latitude: this.orderDetail.navigateLat,\n        longitude: this.orderDetail.navigateLng\n      };\n      var hasEndPoint = this.orderDetail.navigateLat && this.orderDetail.navigateLng;\n      var endPoint = {\n        latitude: this.orderDetail.navigateLng,\n        longitude: this.orderDetail.navigateLat\n      };\n      var center;\n      var scale = 12;\n      if (this.currentLocation && hasEndPoint) {\n        var latSpan = Math.abs(this.currentLocation.latitude - endPoint.latitude);\n        var lngSpan = Math.abs(this.currentLocation.longitude - endPoint.longitude);\n        var maxSpan = Math.max(latSpan, lngSpan);\n        center = {\n          latitude: (this.currentLocation.latitude + endPoint.latitude) / 2,\n          longitude: (this.currentLocation.longitude + endPoint.longitude) / 2\n        };\n        if (maxSpan > 0.3) {\n          scale = 9;\n        } else if (maxSpan > 0.15) {\n          scale = 10;\n        } else if (maxSpan > 0.08) {\n          scale = 11;\n        } else if (maxSpan > 0.04) {\n          scale = 12;\n        } else if (maxSpan > 0.02) {\n          scale = 13;\n        } else if (maxSpan > 0.01) {\n          scale = 14;\n        } else if (maxSpan > 0.005) {\n          scale = 15;\n        } else if (maxSpan > 0.002) {\n          scale = 16;\n        } else {\n          scale = 17;\n        }\n      } else if (this.currentLocation) {\n        center = this.currentLocation;\n      } else {\n        center = {\n          latitude: this.orderDetail.navigateLat,\n          longitude: this.orderDetail.navigateLng\n        };\n      }\n      var markers = [{\n        id: 1,\n        latitude: startPoint.latitude,\n        longitude: startPoint.longitude,\n        iconPath: '/static/image/start.png',\n        width: 32,\n        height: 38,\n        anchor: {\n          x: 0.5,\n          y: 1\n        }\n      }, {\n        id: 2,\n        latitude: endPoint.latitude,\n        longitude: endPoint.longitude,\n        iconPath: '/static/image/end.png',\n        width: 32,\n        height: 38,\n        anchor: {\n          x: 0.5,\n          y: 1\n        }\n      }, {\n        id: 3,\n        latitude: startPoint.latitude,\n        longitude: startPoint.longitude,\n        iconPath: '/static/image/dizhi.png',\n        width: 12,\n        height: 12,\n        anchor: {\n          x: 0.5,\n          y: 0.5\n        }\n      }];\n      var routePoints = this.routePoints.length > 0 ? this.routePoints : [startPoint, endPoint];\n      var result = {\n        center: center,\n        markers: markers,\n        polyline: this.routePoints.length > 0 ? [{\n          points: routePoints,\n          color: '#05be76',\n          width: 25,\n          arrowLine: true,\n          dottedLine: false\n        }] : [{\n          points: routePoints,\n          color: '#05be76',\n          width: 25,\n          arrowLine: true,\n          dottedLine: true\n        }],\n        includePoints: [startPoint, endPoint],\n        scale: scale\n      };\n      return result;\n    },\n    bodyStyle: function bodyStyle() {\n      var footerHeight = uni.upx2px(116);\n      var simpleNavHeight = this.statusBarHeight + uni.upx2px(88);\n      return {\n        paddingTop: (this.showMapStatus ? this.topFixedHeight : simpleNavHeight) + 'px',\n        height: \"calc(100vh - \".concat(this.footerButtons.length ? footerHeight + 20 : 20, \"px)\")\n      };\n    },\n    footerButtons: function footerButtons() {\n      var status = this.orderDetail.status;\n      var takeShopId = this.orderDetail.takeShopId;\n      if (status === 2) {\n        return [{\n          text: '绔嬪嵆鎶㈠崟',\n          primary: true,\n          action: 'grab'\n        }];\n      }\n      if (status === 3) {\n        return [{\n          text: '鍙栨秷璁㈠崟',\n          primary: false,\n          action: 'cancel'\n        }, {\n          text: '鎷嶇収鍙栬揣',\n          primary: true,\n          action: 'pickup'\n        }];\n      }\n      if (status === 4) {\n        if (!takeShopId) {\n          return [{\n            text: '鎷嶇収閫佽揪',\n            primary: true,\n            action: 'deliver'\n          }];\n        }\n        return [];\n      }\n      return [];\n    },\n    photoPopupTitle: function photoPopupTitle() {\n      return this.photoPopupMode === 'deliver' ? '鎷嶇収閫佽揪' : '鎷嶇収鍙栬揣';\n    },\n    photoPopupLabel: function photoPopupLabel() {\n      return this.photoPopupMode === 'deliver' ? '鎷嶆憚閫佽揪鐓х墖' : '鎷嶆憚鍙栬揣鐓х墖';\n    },\n    photoPopupSubmitText: function photoPopupSubmitText() {\n      return this.photoPopupMode === 'deliver' ? '纭閫佽揪' : '纭鍙栬揣';\n    }\n  }),\n  onLoad: function onLoad(options) {\n    var pages = getCurrentPages();\n    var currentPage = pages[pages.length - 1];\n    var pageOptions = currentPage && currentPage.options ? currentPage.options : {};\n    var systemInfo = uni.getSystemInfoSync();\n    this.statusBarHeight = systemInfo.statusBarHeight || 0;\n    this.orderId = options.id || pageOptions.id;\n    this.orderIndex = options.index;\n    this.topFixedHeight = uni.upx2px(500 + 92);\n    if (this.orderId) {\n      this.getOrderDetail();\n    }\n  },\n  onUnload: function onUnload() {\n    if (this.locationTimer) {\n      clearInterval(this.locationTimer);\n      this.locationTimer = null;\n    }\n  },\n  methods: {\n    handleBack: function handleBack() {\n      uni.navigateBack({\n        delta: 1\n      });\n    },\n    initOperationRadius: function initOperationRadius() {\n      var _this = this;\n      __f__(\"log\", 'initOperationRadius', \" at pages/order-detail/order-detail.vue:469\");\n      return new Promise(function (resolve) {\n        uni.getLocation({\n          type: 'gcj02',\n          success: function success(res) {\n            _this.$u.api.checkDriverOperationRadius({\n              lat: res.latitude,\n              lng: res.longitude,\n              orderId: _this.orderId\n            }).then(function (res) {\n              if (res.code === 200) {\n                _this.isWithinOperationRadius = res.data;\n                __f__(\"log\", res.data, \" at pages/order-detail/order-detail.vue:481\");\n                if (!_this.isWithinOperationRadius) {\n                  uni.showToast({\n                    title: '鎮ㄥ綋鍓嶄綅缃笌鏀惰揣鍦板潃璺濈瓒呭嚭鑼冨洿锛岃鍦ㄥ湴鍧�闄勮繎閲嶆柊鎷嶇収',\n                    icon: 'none'\n                  });\n                  resolve(false);\n                } else {\n                  resolve(true);\n                }\n              } else {\n                resolve(false);\n              }\n            }).catch(function () {\n              resolve(false);\n            });\n          },\n          fail: function fail() {\n            _this.isWithinOperationRadius = false;\n            uni.showToast({\n              title: '鎮ㄥ綋鍓嶄綅缃潈闄愭病鏈夊紑鍚紝璇峰厛寮�鍚悗鍐嶆潵鎿嶄綔',\n              icon: 'none'\n            });\n            resolve(false);\n          }\n        });\n      });\n    },\n    getOrderDetail: function getOrderDetail() {\n      var _this2 = this;\n      this.$u.api.orderDetail({\n        orderId: this.orderId\n      }).then(function (res) {\n        if (res.code === 200) {\n          __f__(\"log\", 'orderDetail:', res.data, \" at pages/order-detail/order-detail.vue:513\");\n          _this2.orderDetail = res.data;\n          _this2.goodsList = res.data.items || [];\n          _this2.photos = res.data.orderImages || [];\n          if ((_this2.orderDetail.status === 3 || _this2.orderDetail.status === 4) && _this2.orderDetail.navigateLat && _this2.orderDetail.navigateLng) {\n            _this2.getCurrentLocation();\n          } else {\n            __f__(\"log\", 'Skipping getCurrentLocation - status or coordinates not available', \" at pages/order-detail/order-detail.vue:520\");\n          }\n        }\n      });\n    },\n    getCurrentLocation: function getCurrentLocation() {\n      var _this3 = this;\n      this.fetchLocation();\n      this.locationTimer = setInterval(function () {\n        _this3.fetchLocation();\n      }, 60000);\n    },\n    fetchLocation: function fetchLocation() {\n      var _this4 = this;\n      uni.getLocation({\n        type: 'gcj02',\n        success: function success(res) {\n          _this4.currentLocation = {\n            latitude: res.latitude,\n            longitude: res.longitude\n          };\n          _this4.getRoutePlan();\n        },\n        fail: function fail(err) {\n          __f__(\"log\", '鑾峰彇浣嶇疆澶辫触', err, \" at pages/order-detail/order-detail.vue:544\");\n        }\n      });\n    },\n    getRoutePlan: function getRoutePlan() {\n      var _this5 = this;\n      if (!this.currentLocation || !this.orderDetail.navigateLat || !this.orderDetail.navigateLng) {\n        __f__(\"log\", 'Skipping route plan - missing data', \" at pages/order-detail/order-detail.vue:551\");\n        return;\n      }\n      var from = \"\".concat(this.currentLocation.latitude, \",\").concat(this.currentLocation.longitude);\n      var to = \"\".concat(this.orderDetail.navigateLng, \",\").concat(this.orderDetail.navigateLat);\n      this.$u.api.directionInfo({\n        from: from,\n        to: to,\n        mode: this.userInfo.driverType\n      }).then(function (res) {\n        __f__(\"log\", 'paths success:', res.data.route.paths[0], \" at pages/order-detail/order-detail.vue:561\");\n        if (res.code === 200) {\n          var path = res.data.route.paths[0];\n          _this5.distance = path.distance;\n          _this5.duration = path.duration;\n          var points = [];\n          path.steps.forEach(function (step) {\n            var polylineStr = step.polyline;\n            var coordinates = polylineStr.split(';');\n            coordinates.forEach(function (coord) {\n              var _coord$split = coord.split(','),\n                _coord$split2 = (0, _slicedToArray2.default)(_coord$split, 2),\n                lng = _coord$split2[0],\n                lat = _coord$split2[1];\n              points.push({\n                latitude: parseFloat(lat),\n                longitude: parseFloat(lng)\n              });\n            });\n          });\n          _this5.routePoints = points;\n          _this5.$forceUpdate();\n        }\n      });\n    },\n    // makePhoneCall() {\n    // \tif (this.orderDetail.contactPhone) {\n    // \t\tuni.makePhoneCall({\n    // \t\t\tphoneNumber: this.orderDetail.contactPhone\n    // \t\t})\n    // \t}\n    // },\n    makeShopCall: function makeShopCall(type) {\n      var phone = type === 'take' ? this.orderDetail.takeContactPhone : this.orderDetail.depositShopPhone;\n      if (phone) {\n        uni.makePhoneCall({\n          phoneNumber: phone\n        });\n      }\n    },\n    navigateToAddress: function navigateToAddress(type) {\n      var latitude, longitude, name, address;\n      if (type === 'deposit') {\n        latitude = this.orderDetail.depositShopLat;\n        longitude = this.orderDetail.depositShopLng;\n        name = this.orderDetail.depositShopName;\n        address = this.orderDetail.depositShopAddress;\n      } else {\n        latitude = this.orderDetail.takeLat;\n        longitude = this.orderDetail.takeLng;\n        name = this.orderDetail.takeName;\n        address = this.orderDetail.takeAddress;\n      }\n      if (!latitude || !longitude) {\n        uni.showToast({\n          title: '鍦板潃鍧愭爣缂哄け',\n          icon: 'none'\n        });\n        return;\n      }\n      uni.openLocation({\n        latitude: latitude,\n        longitude: longitude,\n        name: name,\n        address: address,\n        success: function success() {},\n        fail: function fail(err) {\n          uni.showToast({\n            title: '鎵撳紑鍦板浘澶辫触',\n            icon: 'none'\n          });\n          __f__(\"error\", 'openLocation fail:', err, \" at pages/order-detail/order-detail.vue:626\");\n        }\n      });\n    },\n    previewImage: function previewImage(current) {\n      uni.previewImage({\n        current: current,\n        urls: this.photos\n      });\n    },\n    handleFooterAction: function handleFooterAction(button) {\n      var _this6 = this;\n      var action = button.action;\n      if (action === 'cancel') {\n        this.handleCancelOrder();\n        return;\n      }\n      if (action === 'pickup' || action === 'deliver') {\n        this.initOperationRadius().then(function (isValid) {\n          __f__(\"log\", isValid, \" at pages/order-detail/order-detail.vue:648\");\n          if (!isValid) return;\n          _this6.uploadedPhotos = [];\n          _this6.photoRemark = '';\n          _this6.photoPopupMode = action;\n          _this6.showPhotoPopup = true;\n        });\n        return;\n      }\n      if (action === 'grab') {\n        this.handleGrabOrder();\n        return;\n      }\n    },\n    handleCancelOrder: function handleCancelOrder() {\n      var _this7 = this;\n      this.$u.api.cancelLimit().then(function (res) {\n        if (res.code === 200) {\n          _this7.cancelRemain = res.data.remain;\n        }\n      }).finally(function () {\n        _this7.showCancelModal = true;\n      });\n    },\n    confirmCancelOrder: function confirmCancelOrder() {\n      var _this8 = this;\n      this.$u.api.cancelOrder({\n        orderId: this.orderId\n      }).then(function (res) {\n        _this8.showCancelModal = false;\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鍙栨秷鎴愬姛',\n            icon: 'success'\n          });\n          _this8.getOrderDetail();\n        }\n      }).finally(function () {\n        _this8.showCancelModal = false;\n      });\n    },\n    handleGrabOrder: function handleGrabOrder() {\n      this.showGrabModal = true;\n    },\n    confirmGrabOrder: function confirmGrabOrder() {\n      var _this9 = this;\n      this.$u.api.grabOrder({\n        orderId: this.orderId\n      }).then(function (res) {\n        _this9.showGrabModal = false;\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鎺ュ崟鎴愬姛',\n            icon: 'success'\n          });\n          _this9.getOrderDetail();\n          uni.$emit('jiedanSuccess');\n          setTimeout(function () {\n            uni.navigateBack();\n          }, 1500);\n        } else {\n          uni.showToast({\n            title: res.msg || '鎺ュ崟澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function () {\n        _this9.showGrabModal = false;\n      });\n    },\n    closePhotoPopup: function closePhotoPopup() {\n      this.showPhotoPopup = false;\n    },\n    chooseImage: function chooseImage() {\n      var _this10 = this;\n      var count = 3 - this.uploadedPhotos.length;\n      uni.chooseImage({\n        count: count,\n        sourceType: ['camera', 'album'],\n        success: function success(res) {\n          var tempFilePaths = res.tempFilePaths;\n          _this10.uploadedPhotos = _this10.uploadedPhotos.concat(tempFilePaths);\n        }\n      });\n    },\n    deletePhoto: function deletePhoto(index) {\n      this.uploadedPhotos.splice(index, 1);\n    },\n    submitPhotoPopup: function submitPhotoPopup() {\n      var _this11 = this;\n      if (this.uploadedPhotos.length === 0) {\n        uni.showToast({\n          title: '璇蜂笂浼犵収鐗�',\n          icon: 'none'\n        });\n        return;\n      }\n      uni.showLoading({\n        title: '涓婁紶涓�...'\n      });\n      uni.getLocation({\n        type: 'gcj02',\n        success: function success(locationRes) {\n          _this11.doUploadPhotos(locationRes.latitude, locationRes.longitude);\n        },\n        fail: function fail() {\n          _this11.doUploadPhotos(null, null);\n        }\n      });\n    },\n    doUploadPhotos: function doUploadPhotos(latitude, longitude) {\n      var _this12 = this;\n      var uploadTasks = this.uploadedPhotos.map(function (path) {\n        return new Promise(function (resolve, reject) {\n          var formData = {\n            folder: 'orders'\n          };\n          if (latitude && longitude) {\n            formData.latitude = latitude;\n            formData.longitude = longitude;\n          }\n          __f__(\"log\", 'formData:', formData, \" at pages/order-detail/order-detail.vue:745\");\n          uni.uploadFile({\n            url: _this12.$baseUrl + 'web/public/upload',\n            filePath: path,\n            name: 'file',\n            formData: formData,\n            success: function success(uploadRes) {\n              var data = JSON.parse(uploadRes.data);\n              if (data.code === 200) {\n                resolve(data.data);\n              } else {\n                reject(new Error(data.msg));\n              }\n            },\n            fail: function fail(err) {\n              reject(err);\n            }\n          });\n        });\n      });\n      Promise.all(uploadTasks).then(function (images) {\n        var api = _this12.photoPopupMode === 'deliver' ? 'confirmDeliver' : 'confirmPickup';\n        var params = {\n          images: images.map(function (img) {\n            return img.imgaddr;\n          }),\n          orderId: _this12.orderId,\n          remark: _this12.photoRemark\n        };\n        if (latitude && longitude) {\n          params.latitude = latitude;\n          params.longitude = longitude;\n        }\n        return _this12.$u.api[api](params);\n      }).then(function (res) {\n        uni.hideLoading();\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鎻愪氦鎴愬姛',\n            icon: 'success'\n          });\n          _this12.showPhotoPopup = false;\n          _this12.getOrderDetail();\n        } else {\n          uni.showToast({\n            title: res.msg || '鎻愪氦澶辫触',\n            icon: 'none'\n          });\n        }\n      }).catch(function (err) {\n        uni.hideLoading();\n        uni.showToast({\n          title: err.message || '涓婁紶澶辫触',\n          icon: 'none'\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvb3JkZXItZGV0YWlsL29yZGVyLWRldGFpbC52dWUiXSwibmFtZXMiOlsiZGF0YSIsIm9yZGVySWQiLCJvcmRlckluZGV4Iiwib3JkZXJEZXRhaWwiLCJzdGF0dXNCYXJIZWlnaHQiLCJ0b3BGaXhlZEhlaWdodCIsInNob3dQaG90b1BvcHVwIiwicGhvdG9Qb3B1cE1vZGUiLCJwaG90b1JlbWFyayIsInVwbG9hZGVkUGhvdG9zIiwic2hvd0NhbmNlbE1vZGFsIiwiY2FuY2VsUmVtYWluIiwic2hvd0dyYWJNb2RhbCIsImN1cnJlbnRMb2NhdGlvbiIsInJvdXRlUG9pbnRzIiwibG9jYXRpb25UaW1lciIsImRpc3RhbmNlIiwiZHVyYXRpb24iLCJpc1dpdGhpbk9wZXJhdGlvblJhZGl1cyIsInN0YXR1c1RleHRNYXAiLCJnb29kc0xpc3QiLCJwaG90b3MiLCJjb21wdXRlZCIsIm1hcFN0YXRlIiwiZm9ybWF0dGVkUmVtYWluVGltZSIsIm1pbnV0ZXMiLCJyZW1haW5NaW51dGVzIiwiaG91cnMiLCJNYXRoIiwiZmxvb3IiLCJtaW5zIiwic2hvd01hcFN0YXR1cyIsInN0YXR1cyIsIm1hcERhdGEiLCJzdGFydFBvaW50IiwibGF0aXR1ZGUiLCJuYXZpZ2F0ZUxhdCIsImxvbmdpdHVkZSIsIm5hdmlnYXRlTG5nIiwiaGFzRW5kUG9pbnQiLCJlbmRQb2ludCIsImNlbnRlciIsInNjYWxlIiwibGF0U3BhbiIsImFicyIsImxuZ1NwYW4iLCJtYXhTcGFuIiwibWF4IiwibWFya2VycyIsImlkIiwiaWNvblBhdGgiLCJ3aWR0aCIsImhlaWdodCIsImFuY2hvciIsIngiLCJ5IiwibGVuZ3RoIiwicmVzdWx0IiwicG9seWxpbmUiLCJwb2ludHMiLCJjb2xvciIsImFycm93TGluZSIsImRvdHRlZExpbmUiLCJpbmNsdWRlUG9pbnRzIiwiYm9keVN0eWxlIiwiZm9vdGVySGVpZ2h0IiwidW5pIiwidXB4MnB4Iiwic2ltcGxlTmF2SGVpZ2h0IiwicGFkZGluZ1RvcCIsImZvb3RlckJ1dHRvbnMiLCJ0YWtlU2hvcElkIiwidGV4dCIsInByaW1hcnkiLCJhY3Rpb24iLCJwaG90b1BvcHVwVGl0bGUiLCJwaG90b1BvcHVwTGFiZWwiLCJwaG90b1BvcHVwU3VibWl0VGV4dCIsIm9uTG9hZCIsIm9wdGlvbnMiLCJwYWdlcyIsImdldEN1cnJlbnRQYWdlcyIsImN1cnJlbnRQYWdlIiwicGFnZU9wdGlvbnMiLCJzeXN0ZW1JbmZvIiwiZ2V0U3lzdGVtSW5mb1N5bmMiLCJpbmRleCIsImdldE9yZGVyRGV0YWlsIiwib25VbmxvYWQiLCJjbGVhckludGVydmFsIiwibWV0aG9kcyIsImhhbmRsZUJhY2siLCJuYXZpZ2F0ZUJhY2siLCJkZWx0YSIsImluaXRPcGVyYXRpb25SYWRpdXMiLCJQcm9taXNlIiwicmVzb2x2ZSIsImdldExvY2F0aW9uIiwidHlwZSIsInN1Y2Nlc3MiLCJyZXMiLCIkdSIsImFwaSIsImNoZWNrRHJpdmVyT3BlcmF0aW9uUmFkaXVzIiwibGF0IiwibG5nIiwidGhlbiIsImNvZGUiLCJzaG93VG9hc3QiLCJ0aXRsZSIsImljb24iLCJjYXRjaCIsImZhaWwiLCJpdGVtcyIsIm9yZGVySW1hZ2VzIiwiZ2V0Q3VycmVudExvY2F0aW9uIiwiZmV0Y2hMb2NhdGlvbiIsInNldEludGVydmFsIiwiZ2V0Um91dGVQbGFuIiwiZXJyIiwiZnJvbSIsInRvIiwiZGlyZWN0aW9uSW5mbyIsIm1vZGUiLCJ1c2VySW5mbyIsImRyaXZlclR5cGUiLCJyb3V0ZSIsInBhdGhzIiwicGF0aCIsInN0ZXBzIiwiZm9yRWFjaCIsInN0ZXAiLCJwb2x5bGluZVN0ciIsImNvb3JkaW5hdGVzIiwic3BsaXQiLCJjb29yZCIsInB1c2giLCJwYXJzZUZsb2F0IiwiJGZvcmNlVXBkYXRlIiwibWFrZVNob3BDYWxsIiwicGhvbmUiLCJ0YWtlQ29udGFjdFBob25lIiwiZGVwb3NpdFNob3BQaG9uZSIsIm1ha2VQaG9uZUNhbGwiLCJwaG9uZU51bWJlciIsIm5hdmlnYXRlVG9BZGRyZXNzIiwibmFtZSIsImFkZHJlc3MiLCJkZXBvc2l0U2hvcExhdCIsImRlcG9zaXRTaG9wTG5nIiwiZGVwb3NpdFNob3BOYW1lIiwiZGVwb3NpdFNob3BBZGRyZXNzIiwidGFrZUxhdCIsInRha2VMbmciLCJ0YWtlTmFtZSIsInRha2VBZGRyZXNzIiwib3BlbkxvY2F0aW9uIiwicHJldmlld0ltYWdlIiwiY3VycmVudCIsInVybHMiLCJoYW5kbGVGb290ZXJBY3Rpb24iLCJidXR0b24iLCJoYW5kbGVDYW5jZWxPcmRlciIsImlzVmFsaWQiLCJoYW5kbGVHcmFiT3JkZXIiLCJjYW5jZWxMaW1pdCIsInJlbWFpbiIsImZpbmFsbHkiLCJjb25maXJtQ2FuY2VsT3JkZXIiLCJjYW5jZWxPcmRlciIsImNvbmZpcm1HcmFiT3JkZXIiLCJncmFiT3JkZXIiLCIkZW1pdCIsInNldFRpbWVvdXQiLCJtc2ciLCJjbG9zZVBob3RvUG9wdXAiLCJjaG9vc2VJbWFnZSIsImNvdW50Iiwic291cmNlVHlwZSIsInRlbXBGaWxlUGF0aHMiLCJjb25jYXQiLCJkZWxldGVQaG90byIsInNwbGljZSIsInN1Ym1pdFBob3RvUG9wdXAiLCJzaG93TG9hZGluZyIsImxvY2F0aW9uUmVzIiwiZG9VcGxvYWRQaG90b3MiLCJ1cGxvYWRUYXNrcyIsIm1hcCIsInJlamVjdCIsImZvcm1EYXRhIiwiZm9sZGVyIiwidXBsb2FkRmlsZSIsInVybCIsIiRiYXNlVXJsIiwiZmlsZVBhdGgiLCJ1cGxvYWRSZXMiLCJKU09OIiwicGFyc2UiLCJFcnJvciIsImFsbCIsImltYWdlcyIsInBhcmFtcyIsImltZyIsImltZ2FkZHIiLCJyZW1hcmsiLCJoaWRlTG9hZGluZyIsIm1lc3NhZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQThSQTtBQUErQjtBQUFBO0FBQUEsZUFFaEI7RUFDZEEsSUFBSSxrQkFBRztJQUNOLE9BQU87TUFDTkMsT0FBTyxFQUFFLElBQUk7TUFDYkMsVUFBVSxFQUFFLElBQUk7TUFDaEJDLFdBQVcsRUFBRSxJQUFJO01BQ2pCQyxlQUFlLEVBQUUsQ0FBQztNQUNsQkMsY0FBYyxFQUFFLENBQUM7TUFDakJDLGNBQWMsRUFBRSxLQUFLO01BQ3JCQyxjQUFjLEVBQUUsRUFBRTtNQUNsQkMsV0FBVyxFQUFFLEVBQUU7TUFDZkMsY0FBYyxFQUFFLEVBQUU7TUFDbEJDLGVBQWUsRUFBRSxLQUFLO01BQ3RCQyxZQUFZLEVBQUUsQ0FBQztNQUNmQyxhQUFhLEVBQUUsS0FBSztNQUNwQkMsZUFBZSxFQUFFLElBQUk7TUFDckJDLFdBQVcsRUFBRSxFQUFFO01BQ2ZDLGFBQWEsRUFBRSxJQUFJO01BQ25CQyxRQUFRLEVBQUUsQ0FBQztNQUNYQyxRQUFRLEVBQUUsQ0FBQztNQUNYQyx1QkFBdUIsRUFBRSxJQUFJO01BQzdCQyxhQUFhLEVBQUU7UUFDZCxDQUFDLEVBQUUsS0FBSztRQUNSLENBQUMsRUFBRSxLQUFLO1FBQ1IsQ0FBQyxFQUFFLEtBQUs7UUFDUixDQUFDLEVBQUUsS0FBSztRQUNSLENBQUMsRUFBRSxLQUFLO1FBQ1IsRUFBRSxFQUFFO01BQ0wsQ0FBQztNQUNEQyxTQUFTLEVBQUUsRUFBRTtNQUNiQyxNQUFNLEVBQUU7SUFDVCxDQUFDO0VBQ0YsQ0FBQztFQUNEQyxRQUFRLGtDQUNKLElBQUFDLGNBQVEsRUFBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pCQyxtQkFBbUIsaUNBQUc7TUFDckIsSUFBTUMsT0FBTyxHQUFHLElBQUksQ0FBQ3RCLFdBQVcsQ0FBQ3VCLGFBQWE7TUFDOUMsSUFBSSxDQUFDRCxPQUFPLEVBQUUsT0FBTyxJQUFJO01BQ3pCLElBQUlBLE9BQU8sSUFBSSxFQUFFLEVBQUU7UUFDbEIsSUFBTUUsS0FBSyxHQUFHQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0osT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUN0QyxJQUFNSyxJQUFJLEdBQUdMLE9BQU8sR0FBRyxFQUFFO1FBQ3pCLE9BQU9LLElBQUksR0FBRyxDQUFDLGFBQU1ILEtBQUsseUJBQUtHLElBQUksOEJBQVVILEtBQUssaUJBQUk7TUFDdkQ7TUFDQSxpQkFBVUYsT0FBTztJQUNsQixDQUFDO0lBQ0RNLGFBQWEsMkJBQUc7TUFDZixPQUFPLElBQUksQ0FBQzVCLFdBQVcsQ0FBQzZCLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDN0IsV0FBVyxDQUFDNkIsTUFBTSxLQUFLLENBQUM7SUFDdEUsQ0FBQztJQUNEQyxPQUFPLHFCQUFHO01BQ1QsSUFBTUMsVUFBVSxHQUFHLElBQUksQ0FBQ3JCLGVBQWUsSUFBSTtRQUFFc0IsUUFBUSxFQUFFLElBQUksQ0FBQ2hDLFdBQVcsQ0FBQ2lDLFdBQVc7UUFBRUMsU0FBUyxFQUFFLElBQUksQ0FBQ2xDLFdBQVcsQ0FBQ21DO01BQVksQ0FBQztNQUM5SCxJQUFNQyxXQUFXLEdBQUcsSUFBSSxDQUFDcEMsV0FBVyxDQUFDaUMsV0FBVyxJQUFJLElBQUksQ0FBQ2pDLFdBQVcsQ0FBQ21DLFdBQVc7TUFDaEYsSUFBTUUsUUFBUSxHQUFHO1FBQUVMLFFBQVEsRUFBRSxJQUFJLENBQUNoQyxXQUFXLENBQUNtQyxXQUFXO1FBQUVELFNBQVMsRUFBRSxJQUFJLENBQUNsQyxXQUFXLENBQUNpQztNQUFZLENBQUM7TUFFcEcsSUFBSUssTUFBTTtNQUNWLElBQUlDLEtBQUssR0FBRyxFQUFFO01BQ2QsSUFBSSxJQUFJLENBQUM3QixlQUFlLElBQUkwQixXQUFXLEVBQUU7UUFDeEMsSUFBTUksT0FBTyxHQUFHZixJQUFJLENBQUNnQixHQUFHLENBQUMsSUFBSSxDQUFDL0IsZUFBZSxDQUFDc0IsUUFBUSxHQUFHSyxRQUFRLENBQUNMLFFBQVEsQ0FBQztRQUMzRSxJQUFNVSxPQUFPLEdBQUdqQixJQUFJLENBQUNnQixHQUFHLENBQUMsSUFBSSxDQUFDL0IsZUFBZSxDQUFDd0IsU0FBUyxHQUFHRyxRQUFRLENBQUNILFNBQVMsQ0FBQztRQUM3RSxJQUFNUyxPQUFPLEdBQUdsQixJQUFJLENBQUNtQixHQUFHLENBQUNKLE9BQU8sRUFBRUUsT0FBTyxDQUFDO1FBQzFDSixNQUFNLEdBQUc7VUFDUk4sUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDdEIsZUFBZSxDQUFDc0IsUUFBUSxHQUFHSyxRQUFRLENBQUNMLFFBQVEsSUFBSSxDQUFDO1VBQ2pFRSxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUN4QixlQUFlLENBQUN3QixTQUFTLEdBQUdHLFFBQVEsQ0FBQ0gsU0FBUyxJQUFJO1FBQ3BFLENBQUM7UUFDRCxJQUFJUyxPQUFPLEdBQUcsR0FBRyxFQUFFO1VBQ2xCSixLQUFLLEdBQUcsQ0FBQztRQUNWLENBQUMsTUFBTSxJQUFJSSxPQUFPLEdBQUcsSUFBSSxFQUFFO1VBQzFCSixLQUFLLEdBQUcsRUFBRTtRQUNYLENBQUMsTUFBTSxJQUFJSSxPQUFPLEdBQUcsSUFBSSxFQUFFO1VBQzFCSixLQUFLLEdBQUcsRUFBRTtRQUNYLENBQUMsTUFBTSxJQUFJSSxPQUFPLEdBQUcsSUFBSSxFQUFFO1VBQzFCSixLQUFLLEdBQUcsRUFBRTtRQUNYLENBQUMsTUFBTSxJQUFJSSxPQUFPLEdBQUcsSUFBSSxFQUFFO1VBQzFCSixLQUFLLEdBQUcsRUFBRTtRQUNYLENBQUMsTUFBTSxJQUFJSSxPQUFPLEdBQUcsSUFBSSxFQUFFO1VBQzFCSixLQUFLLEdBQUcsRUFBRTtRQUNYLENBQUMsTUFBTSxJQUFJSSxPQUFPLEdBQUcsS0FBSyxFQUFFO1VBQzNCSixLQUFLLEdBQUcsRUFBRTtRQUNYLENBQUMsTUFBTSxJQUFJSSxPQUFPLEdBQUcsS0FBSyxFQUFFO1VBQzNCSixLQUFLLEdBQUcsRUFBRTtRQUNYLENBQUMsTUFBTTtVQUNOQSxLQUFLLEdBQUcsRUFBRTtRQUNYO01BQ0QsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDN0IsZUFBZSxFQUFFO1FBQ2hDNEIsTUFBTSxHQUFHLElBQUksQ0FBQzVCLGVBQWU7TUFDOUIsQ0FBQyxNQUFNO1FBQ040QixNQUFNLEdBQUc7VUFBRU4sUUFBUSxFQUFFLElBQUksQ0FBQ2hDLFdBQVcsQ0FBQ2lDLFdBQVc7VUFBRUMsU0FBUyxFQUFFLElBQUksQ0FBQ2xDLFdBQVcsQ0FBQ21DO1FBQVksQ0FBQztNQUM3RjtNQUVBLElBQU1VLE9BQU8sR0FBRyxDQUNmO1FBQUVDLEVBQUUsRUFBRSxDQUFDO1FBQUVkLFFBQVEsRUFBRUQsVUFBVSxDQUFDQyxRQUFRO1FBQUVFLFNBQVMsRUFBRUgsVUFBVSxDQUFDRyxTQUFTO1FBQUVhLFFBQVEsRUFBRSx5QkFBeUI7UUFBRUMsS0FBSyxFQUFFLEVBQUU7UUFBRUMsTUFBTSxFQUFFLEVBQUU7UUFBRUMsTUFBTSxFQUFFO1VBQUVDLENBQUMsRUFBRSxHQUFHO1VBQUVDLENBQUMsRUFBRTtRQUFFO01BQUUsQ0FBQyxFQUMvSjtRQUFFTixFQUFFLEVBQUUsQ0FBQztRQUFFZCxRQUFRLEVBQUVLLFFBQVEsQ0FBQ0wsUUFBUTtRQUFFRSxTQUFTLEVBQUVHLFFBQVEsQ0FBQ0gsU0FBUztRQUFFYSxRQUFRLEVBQUUsdUJBQXVCO1FBQUVDLEtBQUssRUFBRSxFQUFFO1FBQUVDLE1BQU0sRUFBRSxFQUFFO1FBQUVDLE1BQU0sRUFBRTtVQUFFQyxDQUFDLEVBQUUsR0FBRztVQUFFQyxDQUFDLEVBQUU7UUFBRTtNQUFFLENBQUMsRUFDeko7UUFBRU4sRUFBRSxFQUFFLENBQUM7UUFBRWQsUUFBUSxFQUFFRCxVQUFVLENBQUNDLFFBQVE7UUFBRUUsU0FBUyxFQUFFSCxVQUFVLENBQUNHLFNBQVM7UUFBRWEsUUFBUSxFQUFFLHlCQUF5QjtRQUFFQyxLQUFLLEVBQUUsRUFBRTtRQUFFQyxNQUFNLEVBQUUsRUFBRTtRQUFFQyxNQUFNLEVBQUU7VUFBRUMsQ0FBQyxFQUFFLEdBQUc7VUFBRUMsQ0FBQyxFQUFFO1FBQUk7TUFBRSxDQUFDLENBQ2pLO01BRUQsSUFBTXpDLFdBQVcsR0FBRyxJQUFJLENBQUNBLFdBQVcsQ0FBQzBDLE1BQU0sR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDMUMsV0FBVyxHQUFHLENBQ3BFb0IsVUFBVSxFQUNWTSxRQUFRLENBQ1I7TUFFRCxJQUFNaUIsTUFBTSxHQUFHO1FBQ2RoQixNQUFNLEVBQU5BLE1BQU07UUFDTk8sT0FBTyxFQUFQQSxPQUFPO1FBQ1BVLFFBQVEsRUFBRSxJQUFJLENBQUM1QyxXQUFXLENBQUMwQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLENBQ3ZDO1VBQUVHLE1BQU0sRUFBRTdDLFdBQVc7VUFBRThDLEtBQUssRUFBRSxTQUFTO1VBQUVULEtBQUssRUFBRSxFQUFFO1VBQUVVLFNBQVMsRUFBRSxJQUFJO1VBQUVDLFVBQVUsRUFBRTtRQUFNLENBQUMsQ0FDeEYsR0FBRyxDQUNIO1VBQUVILE1BQU0sRUFBRTdDLFdBQVc7VUFBRThDLEtBQUssRUFBRSxTQUFTO1VBQUVULEtBQUssRUFBRSxFQUFFO1VBQUVVLFNBQVMsRUFBRSxJQUFJO1VBQUVDLFVBQVUsRUFBRTtRQUFLLENBQUMsQ0FDdkY7UUFDREMsYUFBYSxFQUFFLENBQUM3QixVQUFVLEVBQUVNLFFBQVEsQ0FBQztRQUNyQ0UsS0FBSyxFQUFMQTtNQUNELENBQUM7TUFDRCxPQUFPZSxNQUFNO0lBQ2QsQ0FBQztJQUNETyxTQUFTLHVCQUFHO01BQ1gsSUFBTUMsWUFBWSxHQUFHQyxHQUFHLENBQUNDLE1BQU0sQ0FBQyxHQUFHLENBQUM7TUFDcEMsSUFBTUMsZUFBZSxHQUFHLElBQUksQ0FBQ2hFLGVBQWUsR0FBRzhELEdBQUcsQ0FBQ0MsTUFBTSxDQUFDLEVBQUUsQ0FBQztNQUM3RCxPQUFPO1FBQ05FLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQ3RDLGFBQWEsR0FBRyxJQUFJLENBQUMxQixjQUFjLEdBQUcrRCxlQUFlLElBQUksSUFBSTtRQUMvRWhCLE1BQU0seUJBQWtCLElBQUksQ0FBQ2tCLGFBQWEsQ0FBQ2QsTUFBTSxHQUFHUyxZQUFZLEdBQUcsRUFBRSxHQUFHLEVBQUU7TUFDM0UsQ0FBQztJQUNGLENBQUM7SUFDREssYUFBYSwyQkFBRztNQUNmLElBQU10QyxNQUFNLEdBQUcsSUFBSSxDQUFDN0IsV0FBVyxDQUFDNkIsTUFBTTtNQUN0QyxJQUFNdUMsVUFBVSxHQUFHLElBQUksQ0FBQ3BFLFdBQVcsQ0FBQ29FLFVBQVU7TUFFOUMsSUFBSXZDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDakIsT0FBTyxDQUFDO1VBQUV3QyxJQUFJLEVBQUUsTUFBTTtVQUFFQyxPQUFPLEVBQUUsSUFBSTtVQUFFQyxNQUFNLEVBQUU7UUFBTyxDQUFDLENBQUM7TUFDekQ7TUFFQSxJQUFJMUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNqQixPQUFPLENBQ047VUFBRXdDLElBQUksRUFBRSxNQUFNO1VBQUVDLE9BQU8sRUFBRSxLQUFLO1VBQUVDLE1BQU0sRUFBRTtRQUFTLENBQUMsRUFDbEQ7VUFBRUYsSUFBSSxFQUFFLE1BQU07VUFBRUMsT0FBTyxFQUFFLElBQUk7VUFBRUMsTUFBTSxFQUFFO1FBQVMsQ0FBQyxDQUNqRDtNQUNGO01BRUEsSUFBSTFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDakIsSUFBSSxDQUFDdUMsVUFBVSxFQUFFO1VBQ2hCLE9BQU8sQ0FBQztZQUFFQyxJQUFJLEVBQUUsTUFBTTtZQUFFQyxPQUFPLEVBQUUsSUFBSTtZQUFFQyxNQUFNLEVBQUU7VUFBVSxDQUFDLENBQUM7UUFDNUQ7UUFDQSxPQUFPLEVBQUU7TUFDVjtNQUVBLE9BQU8sRUFBRTtJQUNWLENBQUM7SUFDREMsZUFBZSw2QkFBRztNQUNqQixPQUFPLElBQUksQ0FBQ3BFLGNBQWMsS0FBSyxTQUFTLEdBQUcsTUFBTSxHQUFHLE1BQU07SUFDM0QsQ0FBQztJQUNEcUUsZUFBZSw2QkFBRztNQUNqQixPQUFPLElBQUksQ0FBQ3JFLGNBQWMsS0FBSyxTQUFTLEdBQUcsUUFBUSxHQUFHLFFBQVE7SUFDL0QsQ0FBQztJQUNEc0Usb0JBQW9CLGtDQUFHO01BQ3RCLE9BQU8sSUFBSSxDQUFDdEUsY0FBYyxLQUFLLFNBQVMsR0FBRyxNQUFNLEdBQUcsTUFBTTtJQUMzRDtFQUFDLEVBQ0Q7RUFDRHVFLE1BQU0sa0JBQUNDLE9BQU8sRUFBRTtJQUNmLElBQU1DLEtBQUssR0FBR0MsZUFBZSxFQUFFO0lBQy9CLElBQU1DLFdBQVcsR0FBR0YsS0FBSyxDQUFDQSxLQUFLLENBQUN4QixNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLElBQU0yQixXQUFXLEdBQUdELFdBQVcsSUFBSUEsV0FBVyxDQUFDSCxPQUFPLEdBQUdHLFdBQVcsQ0FBQ0gsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNqRixJQUFNSyxVQUFVLEdBQUdsQixHQUFHLENBQUNtQixpQkFBaUIsRUFBRTtJQUMxQyxJQUFJLENBQUNqRixlQUFlLEdBQUdnRixVQUFVLENBQUNoRixlQUFlLElBQUksQ0FBQztJQUN0RCxJQUFJLENBQUNILE9BQU8sR0FBRzhFLE9BQU8sQ0FBQzlCLEVBQUUsSUFBSWtDLFdBQVcsQ0FBQ2xDLEVBQUU7SUFDM0MsSUFBSSxDQUFDL0MsVUFBVSxHQUFHNkUsT0FBTyxDQUFDTyxLQUFLO0lBQy9CLElBQUksQ0FBQ2pGLGNBQWMsR0FBRzZELEdBQUcsQ0FBQ0MsTUFBTSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDMUMsSUFBSSxJQUFJLENBQUNsRSxPQUFPLEVBQUU7TUFDakIsSUFBSSxDQUFDc0YsY0FBYyxFQUFFO0lBQ3RCO0VBQ0QsQ0FBQztFQUVEQyxRQUFRLHNCQUFHO0lBQ1YsSUFBSSxJQUFJLENBQUN6RSxhQUFhLEVBQUU7TUFDdkIwRSxhQUFhLENBQUMsSUFBSSxDQUFDMUUsYUFBYSxDQUFDO01BQ2pDLElBQUksQ0FBQ0EsYUFBYSxHQUFHLElBQUk7SUFDMUI7RUFDRCxDQUFDO0VBRUQyRSxPQUFPLEVBQUU7SUFDUkMsVUFBVSx3QkFBRztNQUNaekIsR0FBRyxDQUFDMEIsWUFBWSxDQUFDO1FBQUVDLEtBQUssRUFBRTtNQUFFLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBQ0RDLG1CQUFtQixpQ0FBRztNQUFBO01BQ3JCLGFBQVkscUJBQXFCO01BQ2pDLE9BQU8sSUFBSUMsT0FBTyxDQUFDLFVBQUNDLE9BQU8sRUFBSztRQUMvQjlCLEdBQUcsQ0FBQytCLFdBQVcsQ0FBQztVQUNmQyxJQUFJLEVBQUUsT0FBTztVQUNiQyxPQUFPLEVBQUUsaUJBQUNDLEdBQUcsRUFBSztZQUNqQixLQUFJLENBQUNDLEVBQUUsQ0FBQ0MsR0FBRyxDQUFDQywwQkFBMEIsQ0FBQztjQUN0Q0MsR0FBRyxFQUFFSixHQUFHLENBQUNqRSxRQUFRO2NBQ2pCc0UsR0FBRyxFQUFFTCxHQUFHLENBQUMvRCxTQUFTO2NBQ2xCcEMsT0FBTyxFQUFFLEtBQUksQ0FBQ0E7WUFDZixDQUFDLENBQUMsQ0FBQ3lHLElBQUksQ0FBQyxVQUFBTixHQUFHLEVBQUk7Y0FDZCxJQUFJQSxHQUFHLENBQUNPLElBQUksS0FBSyxHQUFHLEVBQUU7Z0JBQ3JCLEtBQUksQ0FBQ3pGLHVCQUF1QixHQUFHa0YsR0FBRyxDQUFDcEcsSUFBSTtnQkFDdkMsYUFBWW9HLEdBQUcsQ0FBQ3BHLElBQUk7Z0JBQ3BCLElBQUksQ0FBQyxLQUFJLENBQUNrQix1QkFBdUIsRUFBRTtrQkFDbENnRCxHQUFHLENBQUMwQyxTQUFTLENBQUM7b0JBQ2JDLEtBQUssRUFBRSw2QkFBNkI7b0JBQ3BDQyxJQUFJLEVBQUU7a0JBQ1AsQ0FBQyxDQUFDO2tCQUNGZCxPQUFPLENBQUMsS0FBSyxDQUFDO2dCQUNmLENBQUMsTUFBTTtrQkFDTkEsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDZDtjQUNELENBQUMsTUFBTTtnQkFDTkEsT0FBTyxDQUFDLEtBQUssQ0FBQztjQUNmO1lBQ0QsQ0FBQyxDQUFDLENBQUNlLEtBQUssQ0FBQyxZQUFNO2NBQ2RmLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUM7VUFDSCxDQUFDO1VBQ0RnQixJQUFJLEVBQUUsZ0JBQU07WUFDWCxLQUFJLENBQUM5Rix1QkFBdUIsR0FBRyxLQUFLO1lBQ3BDZ0QsR0FBRyxDQUFDMEMsU0FBUyxDQUFDO2NBQ2JDLEtBQUssRUFBRSx1QkFBdUI7Y0FDOUJDLElBQUksRUFBRTtZQUNQLENBQUMsQ0FBQztZQUNGZCxPQUFPLENBQUMsS0FBSyxDQUFDO1VBQ2Y7UUFDRCxDQUFDLENBQUM7TUFDSCxDQUFDLENBQUM7SUFDSCxDQUFDO0lBRURULGNBQWMsNEJBQUc7TUFBQTtNQUNoQixJQUFJLENBQUNjLEVBQUUsQ0FBQ0MsR0FBRyxDQUFDbkcsV0FBVyxDQUFDO1FBQUVGLE9BQU8sRUFBRSxJQUFJLENBQUNBO01BQVEsQ0FBQyxDQUFDLENBQUN5RyxJQUFJLENBQUMsVUFBQU4sR0FBRyxFQUFJO1FBQzlELElBQUlBLEdBQUcsQ0FBQ08sSUFBSSxLQUFLLEdBQUcsRUFBRTtVQUNyQixhQUFZLGNBQWMsRUFBRVAsR0FBRyxDQUFDcEcsSUFBSTtVQUNwQyxNQUFJLENBQUNHLFdBQVcsR0FBR2lHLEdBQUcsQ0FBQ3BHLElBQUk7VUFDM0IsTUFBSSxDQUFDb0IsU0FBUyxHQUFHZ0YsR0FBRyxDQUFDcEcsSUFBSSxDQUFDaUgsS0FBSyxJQUFJLEVBQUU7VUFDckMsTUFBSSxDQUFDNUYsTUFBTSxHQUFHK0UsR0FBRyxDQUFDcEcsSUFBSSxDQUFDa0gsV0FBVyxJQUFJLEVBQUU7VUFDeEMsSUFBSSxDQUFDLE1BQUksQ0FBQy9HLFdBQVcsQ0FBQzZCLE1BQU0sS0FBSyxDQUFDLElBQUksTUFBSSxDQUFDN0IsV0FBVyxDQUFDNkIsTUFBTSxLQUFLLENBQUMsS0FBSyxNQUFJLENBQUM3QixXQUFXLENBQUNpQyxXQUFXLElBQUksTUFBSSxDQUFDakMsV0FBVyxDQUFDbUMsV0FBVyxFQUFFO1lBQ3JJLE1BQUksQ0FBQzZFLGtCQUFrQixFQUFFO1VBQzFCLENBQUMsTUFBTTtZQUNOLGFBQVksbUVBQW1FO1VBQ2hGO1FBQ0Q7TUFDRCxDQUFDLENBQUM7SUFDSCxDQUFDO0lBRURBLGtCQUFrQixnQ0FBRztNQUFBO01BQ3BCLElBQUksQ0FBQ0MsYUFBYSxFQUFFO01BQ3BCLElBQUksQ0FBQ3JHLGFBQWEsR0FBR3NHLFdBQVcsQ0FBQyxZQUFNO1FBQ3RDLE1BQUksQ0FBQ0QsYUFBYSxFQUFFO01BQ3JCLENBQUMsRUFBRSxLQUFLLENBQUM7SUFDVixDQUFDO0lBRURBLGFBQWEsMkJBQUc7TUFBQTtNQUNmbEQsR0FBRyxDQUFDK0IsV0FBVyxDQUFDO1FBQ2ZDLElBQUksRUFBRSxPQUFPO1FBQ2JDLE9BQU8sRUFBRSxpQkFBQ0MsR0FBRyxFQUFLO1VBQ2pCLE1BQUksQ0FBQ3ZGLGVBQWUsR0FBRztZQUN0QnNCLFFBQVEsRUFBRWlFLEdBQUcsQ0FBQ2pFLFFBQVE7WUFDdEJFLFNBQVMsRUFBRStELEdBQUcsQ0FBQy9EO1VBQ2hCLENBQUM7VUFDRCxNQUFJLENBQUNpRixZQUFZLEVBQUU7UUFDcEIsQ0FBQztRQUNETixJQUFJLEVBQUUsY0FBQ08sR0FBRyxFQUFLO1VBQ2QsYUFBWSxRQUFRLEVBQUVBLEdBQUc7UUFDMUI7TUFDRCxDQUFDLENBQUM7SUFDSCxDQUFDO0lBRURELFlBQVksMEJBQUc7TUFBQTtNQUNkLElBQUksQ0FBQyxJQUFJLENBQUN6RyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUNWLFdBQVcsQ0FBQ2lDLFdBQVcsSUFBSSxDQUFDLElBQUksQ0FBQ2pDLFdBQVcsQ0FBQ21DLFdBQVcsRUFBRTtRQUM1RixhQUFZLG9DQUFvQztRQUNoRDtNQUNEO01BQ0EsSUFBTWtGLElBQUksYUFBTSxJQUFJLENBQUMzRyxlQUFlLENBQUNzQixRQUFRLGNBQUksSUFBSSxDQUFDdEIsZUFBZSxDQUFDd0IsU0FBUyxDQUFFO01BQ2pGLElBQU1vRixFQUFFLGFBQU0sSUFBSSxDQUFDdEgsV0FBVyxDQUFDbUMsV0FBVyxjQUFJLElBQUksQ0FBQ25DLFdBQVcsQ0FBQ2lDLFdBQVcsQ0FBRTtNQUM1RSxJQUFJLENBQUNpRSxFQUFFLENBQUNDLEdBQUcsQ0FBQ29CLGFBQWEsQ0FBQztRQUN6QkYsSUFBSSxFQUFKQSxJQUFJO1FBQ0pDLEVBQUUsRUFBRkEsRUFBRTtRQUNGRSxJQUFJLEVBQUUsSUFBSSxDQUFDQyxRQUFRLENBQUNDO01BQ3JCLENBQUMsQ0FBQyxDQUFDbkIsSUFBSSxDQUFDLFVBQUFOLEdBQUcsRUFBSTtRQUNkLGFBQVksZ0JBQWdCLEVBQUVBLEdBQUcsQ0FBQ3BHLElBQUksQ0FBQzhILEtBQUssQ0FBQ0MsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNyRCxJQUFJM0IsR0FBRyxDQUFDTyxJQUFJLEtBQUssR0FBRyxFQUFFO1VBQ3JCLElBQU1xQixJQUFJLEdBQUc1QixHQUFHLENBQUNwRyxJQUFJLENBQUM4SCxLQUFLLENBQUNDLEtBQUssQ0FBQyxDQUFDLENBQUM7VUFDcEMsTUFBSSxDQUFDL0csUUFBUSxHQUFHZ0gsSUFBSSxDQUFDaEgsUUFBUTtVQUM3QixNQUFJLENBQUNDLFFBQVEsR0FBRytHLElBQUksQ0FBQy9HLFFBQVE7VUFDN0IsSUFBTTBDLE1BQU0sR0FBRyxFQUFFO1VBQ2pCcUUsSUFBSSxDQUFDQyxLQUFLLENBQUNDLE9BQU8sQ0FBQyxVQUFBQyxJQUFJLEVBQUk7WUFDMUIsSUFBTUMsV0FBVyxHQUFHRCxJQUFJLENBQUN6RSxRQUFRO1lBQ2pDLElBQU0yRSxXQUFXLEdBQUdELFdBQVcsQ0FBQ0UsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUMxQ0QsV0FBVyxDQUFDSCxPQUFPLENBQUMsVUFBQUssS0FBSyxFQUFJO2NBQzVCLG1CQUFtQkEsS0FBSyxDQUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDO2dCQUFBO2dCQUE1QjdCLEdBQUc7Z0JBQUVELEdBQUc7Y0FDZjdDLE1BQU0sQ0FBQzZFLElBQUksQ0FBQztnQkFDWHJHLFFBQVEsRUFBRXNHLFVBQVUsQ0FBQ2pDLEdBQUcsQ0FBQztnQkFDekJuRSxTQUFTLEVBQUVvRyxVQUFVLENBQUNoQyxHQUFHO2NBQzFCLENBQUMsQ0FBQztZQUNILENBQUMsQ0FBQztVQUNILENBQUMsQ0FBQztVQUNGLE1BQUksQ0FBQzNGLFdBQVcsR0FBRzZDLE1BQU07VUFDekIsTUFBSSxDQUFDK0UsWUFBWSxFQUFFO1FBQ3BCO01BQ0QsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUVEO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUFDLFlBQVksd0JBQUN6QyxJQUFJLEVBQUU7TUFDbEIsSUFBTTBDLEtBQUssR0FBRzFDLElBQUksS0FBSyxNQUFNLEdBQUcsSUFBSSxDQUFDL0YsV0FBVyxDQUFDMEksZ0JBQWdCLEdBQUcsSUFBSSxDQUFDMUksV0FBVyxDQUFDMkksZ0JBQWdCO01BQ3JHLElBQUlGLEtBQUssRUFBRTtRQUNWMUUsR0FBRyxDQUFDNkUsYUFBYSxDQUFDO1VBQ2pCQyxXQUFXLEVBQUVKO1FBQ2QsQ0FBQyxDQUFDO01BQ0g7SUFDRCxDQUFDO0lBRURLLGlCQUFpQiw2QkFBQy9DLElBQUksRUFBRTtNQUN2QixJQUFJL0QsUUFBUSxFQUFFRSxTQUFTLEVBQUU2RyxJQUFJLEVBQUVDLE9BQU87TUFDdEMsSUFBSWpELElBQUksS0FBSyxTQUFTLEVBQUU7UUFDdkIvRCxRQUFRLEdBQUcsSUFBSSxDQUFDaEMsV0FBVyxDQUFDaUosY0FBYztRQUMxQy9HLFNBQVMsR0FBRyxJQUFJLENBQUNsQyxXQUFXLENBQUNrSixjQUFjO1FBQzNDSCxJQUFJLEdBQUcsSUFBSSxDQUFDL0ksV0FBVyxDQUFDbUosZUFBZTtRQUN2Q0gsT0FBTyxHQUFHLElBQUksQ0FBQ2hKLFdBQVcsQ0FBQ29KLGtCQUFrQjtNQUM5QyxDQUFDLE1BQU07UUFDTnBILFFBQVEsR0FBRyxJQUFJLENBQUNoQyxXQUFXLENBQUNxSixPQUFPO1FBQ25DbkgsU0FBUyxHQUFHLElBQUksQ0FBQ2xDLFdBQVcsQ0FBQ3NKLE9BQU87UUFDcENQLElBQUksR0FBRyxJQUFJLENBQUMvSSxXQUFXLENBQUN1SixRQUFRO1FBQ2hDUCxPQUFPLEdBQUcsSUFBSSxDQUFDaEosV0FBVyxDQUFDd0osV0FBVztNQUN2QztNQUNBLElBQUksQ0FBQ3hILFFBQVEsSUFBSSxDQUFDRSxTQUFTLEVBQUU7UUFDNUI2QixHQUFHLENBQUMwQyxTQUFTLENBQUM7VUFBRUMsS0FBSyxFQUFFLFFBQVE7VUFBRUMsSUFBSSxFQUFFO1FBQU8sQ0FBQyxDQUFDO1FBQ2hEO01BQ0Q7TUFDQTVDLEdBQUcsQ0FBQzBGLFlBQVksQ0FBQztRQUNoQnpILFFBQVEsRUFBUkEsUUFBUTtRQUNSRSxTQUFTLEVBQVRBLFNBQVM7UUFDVDZHLElBQUksRUFBSkEsSUFBSTtRQUNKQyxPQUFPLEVBQVBBLE9BQU87UUFDUGhELE9BQU8sRUFBRSxtQkFBTSxDQUFDLENBQUM7UUFDakJhLElBQUksRUFBRSxjQUFDTyxHQUFHLEVBQUs7VUFDZHJELEdBQUcsQ0FBQzBDLFNBQVMsQ0FBQztZQUFFQyxLQUFLLEVBQUUsUUFBUTtZQUFFQyxJQUFJLEVBQUU7VUFBTyxDQUFDLENBQUM7VUFDaEQsZUFBYyxvQkFBb0IsRUFBRVMsR0FBRztRQUN4QztNQUNELENBQUMsQ0FBQztJQUNILENBQUM7SUFFRHNDLFlBQVksd0JBQUNDLE9BQU8sRUFBRTtNQUNyQjVGLEdBQUcsQ0FBQzJGLFlBQVksQ0FBQztRQUNoQkMsT0FBTyxFQUFQQSxPQUFPO1FBQ1BDLElBQUksRUFBRSxJQUFJLENBQUMxSTtNQUNaLENBQUMsQ0FBQztJQUNILENBQUM7SUFFRDJJLGtCQUFrQiw4QkFBQ0MsTUFBTSxFQUFFO01BQUE7TUFDMUIsSUFBTXZGLE1BQU0sR0FBR3VGLE1BQU0sQ0FBQ3ZGLE1BQU07TUFFNUIsSUFBSUEsTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUN4QixJQUFJLENBQUN3RixpQkFBaUIsRUFBRTtRQUN4QjtNQUNEO01BRUEsSUFBSXhGLE1BQU0sS0FBSyxRQUFRLElBQUlBLE1BQU0sS0FBSyxTQUFTLEVBQUU7UUFDaEQsSUFBSSxDQUFDb0IsbUJBQW1CLEVBQUUsQ0FBQ1ksSUFBSSxDQUFDLFVBQUN5RCxPQUFPLEVBQUs7VUFDNUMsYUFBWUEsT0FBTztVQUNuQixJQUFJLENBQUNBLE9BQU8sRUFBRTtVQUNkLE1BQUksQ0FBQzFKLGNBQWMsR0FBRyxFQUFFO1VBQ3hCLE1BQUksQ0FBQ0QsV0FBVyxHQUFHLEVBQUU7VUFDckIsTUFBSSxDQUFDRCxjQUFjLEdBQUdtRSxNQUFNO1VBQzVCLE1BQUksQ0FBQ3BFLGNBQWMsR0FBRyxJQUFJO1FBQzNCLENBQUMsQ0FBQztRQUNGO01BQ0Q7TUFFQSxJQUFJb0UsTUFBTSxLQUFLLE1BQU0sRUFBRTtRQUN0QixJQUFJLENBQUMwRixlQUFlLEVBQUU7UUFDdEI7TUFDRDtJQUNELENBQUM7SUFDREYsaUJBQWlCLCtCQUFHO01BQUE7TUFDbkIsSUFBSSxDQUFDN0QsRUFBRSxDQUFDQyxHQUFHLENBQUMrRCxXQUFXLEVBQUUsQ0FBQzNELElBQUksQ0FBQyxVQUFBTixHQUFHLEVBQUk7UUFDckMsSUFBSUEsR0FBRyxDQUFDTyxJQUFJLEtBQUssR0FBRyxFQUFFO1VBQ3JCLE1BQUksQ0FBQ2hHLFlBQVksR0FBR3lGLEdBQUcsQ0FBQ3BHLElBQUksQ0FBQ3NLLE1BQU07UUFDcEM7TUFDRCxDQUFDLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFlBQU07UUFDaEIsTUFBSSxDQUFDN0osZUFBZSxHQUFHLElBQUk7TUFDNUIsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUNEOEosa0JBQWtCLGdDQUFHO01BQUE7TUFDcEIsSUFBSSxDQUFDbkUsRUFBRSxDQUFDQyxHQUFHLENBQUNtRSxXQUFXLENBQUM7UUFBRXhLLE9BQU8sRUFBRSxJQUFJLENBQUNBO01BQVEsQ0FBQyxDQUFDLENBQUN5RyxJQUFJLENBQUMsVUFBQU4sR0FBRyxFQUFJO1FBQzlELE1BQUksQ0FBQzFGLGVBQWUsR0FBRyxLQUFLO1FBQzVCLElBQUkwRixHQUFHLENBQUNPLElBQUksS0FBSyxHQUFHLEVBQUU7VUFDckJ6QyxHQUFHLENBQUMwQyxTQUFTLENBQUM7WUFBRUMsS0FBSyxFQUFFLE1BQU07WUFBRUMsSUFBSSxFQUFFO1VBQVUsQ0FBQyxDQUFDO1VBQ2pELE1BQUksQ0FBQ3ZCLGNBQWMsRUFBRTtRQUN0QjtNQUNELENBQUMsQ0FBQyxDQUFDZ0YsT0FBTyxDQUFDLFlBQU07UUFDaEIsTUFBSSxDQUFDN0osZUFBZSxHQUFHLEtBQUs7TUFDN0IsQ0FBQyxDQUFDO0lBQ0gsQ0FBQztJQUNEMEosZUFBZSw2QkFBRztNQUNqQixJQUFJLENBQUN4SixhQUFhLEdBQUcsSUFBSTtJQUMxQixDQUFDO0lBQ0Q4SixnQkFBZ0IsOEJBQUc7TUFBQTtNQUNsQixJQUFJLENBQUNyRSxFQUFFLENBQUNDLEdBQUcsQ0FBQ3FFLFNBQVMsQ0FBQztRQUFFMUssT0FBTyxFQUFFLElBQUksQ0FBQ0E7TUFBUSxDQUFDLENBQUMsQ0FBQ3lHLElBQUksQ0FBQyxVQUFBTixHQUFHLEVBQUk7UUFDNUQsTUFBSSxDQUFDeEYsYUFBYSxHQUFHLEtBQUs7UUFDMUIsSUFBSXdGLEdBQUcsQ0FBQ08sSUFBSSxLQUFLLEdBQUcsRUFBRTtVQUNyQnpDLEdBQUcsQ0FBQzBDLFNBQVMsQ0FBQztZQUFFQyxLQUFLLEVBQUUsTUFBTTtZQUFFQyxJQUFJLEVBQUU7VUFBVSxDQUFDLENBQUM7VUFDakQsTUFBSSxDQUFDdkIsY0FBYyxFQUFFO1VBQ3JCckIsR0FBRyxDQUFDMEcsS0FBSyxDQUFDLGVBQWUsQ0FBQztVQUMxQkMsVUFBVSxDQUFDLFlBQU07WUFDaEIzRyxHQUFHLENBQUMwQixZQUFZLEVBQUU7VUFDbkIsQ0FBQyxFQUFFLElBQUksQ0FBQztRQUNULENBQUMsTUFBTTtVQUNOMUIsR0FBRyxDQUFDMEMsU0FBUyxDQUFDO1lBQUVDLEtBQUssRUFBRVQsR0FBRyxDQUFDMEUsR0FBRyxJQUFJLE1BQU07WUFBRWhFLElBQUksRUFBRTtVQUFPLENBQUMsQ0FBQztRQUMxRDtNQUNELENBQUMsQ0FBQyxDQUFDQyxLQUFLLENBQUMsWUFBTTtRQUNkLE1BQUksQ0FBQ25HLGFBQWEsR0FBRyxLQUFLO01BQzNCLENBQUMsQ0FBQztJQUNILENBQUM7SUFDRG1LLGVBQWUsNkJBQUc7TUFDakIsSUFBSSxDQUFDekssY0FBYyxHQUFHLEtBQUs7SUFDNUIsQ0FBQztJQUNEMEssV0FBVyx5QkFBRztNQUFBO01BQ2IsSUFBTUMsS0FBSyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUN4SyxjQUFjLENBQUMrQyxNQUFNO01BQzVDVSxHQUFHLENBQUM4RyxXQUFXLENBQUM7UUFDZkMsS0FBSyxFQUFFQSxLQUFLO1FBQ1pDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxPQUFPLENBQUM7UUFDL0IvRSxPQUFPLEVBQUUsaUJBQUNDLEdBQUcsRUFBSztVQUNqQixJQUFNK0UsYUFBYSxHQUFHL0UsR0FBRyxDQUFDK0UsYUFBYTtVQUN2QyxPQUFJLENBQUMxSyxjQUFjLEdBQUcsT0FBSSxDQUFDQSxjQUFjLENBQUMySyxNQUFNLENBQUNELGFBQWEsQ0FBQztRQUNoRTtNQUNELENBQUMsQ0FBQztJQUNILENBQUM7SUFDREUsV0FBVyx1QkFBQy9GLEtBQUssRUFBRTtNQUNsQixJQUFJLENBQUM3RSxjQUFjLENBQUM2SyxNQUFNLENBQUNoRyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFDRGlHLGdCQUFnQiw4QkFBRztNQUFBO01BQ2xCLElBQUksSUFBSSxDQUFDOUssY0FBYyxDQUFDK0MsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUNyQ1UsR0FBRyxDQUFDMEMsU0FBUyxDQUFDO1VBQUVDLEtBQUssRUFBRSxPQUFPO1VBQUVDLElBQUksRUFBRTtRQUFPLENBQUMsQ0FBQztRQUMvQztNQUNEO01BQ0E1QyxHQUFHLENBQUNzSCxXQUFXLENBQUM7UUFBRTNFLEtBQUssRUFBRTtNQUFTLENBQUMsQ0FBQztNQUNwQzNDLEdBQUcsQ0FBQytCLFdBQVcsQ0FBQztRQUNmQyxJQUFJLEVBQUUsT0FBTztRQUNiQyxPQUFPLEVBQUUsaUJBQUNzRixXQUFXLEVBQUs7VUFDekIsT0FBSSxDQUFDQyxjQUFjLENBQUNELFdBQVcsQ0FBQ3RKLFFBQVEsRUFBRXNKLFdBQVcsQ0FBQ3BKLFNBQVMsQ0FBQztRQUNqRSxDQUFDO1FBQ0QyRSxJQUFJLEVBQUUsZ0JBQU07VUFDWCxPQUFJLENBQUMwRSxjQUFjLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztRQUNoQztNQUNELENBQUMsQ0FBQztJQUNILENBQUM7SUFFREEsY0FBYywwQkFBQ3ZKLFFBQVEsRUFBRUUsU0FBUyxFQUFFO01BQUE7TUFDbkMsSUFBTXNKLFdBQVcsR0FBRyxJQUFJLENBQUNsTCxjQUFjLENBQUNtTCxHQUFHLENBQUMsVUFBQTVELElBQUksRUFBSTtRQUNuRCxPQUFPLElBQUlqQyxPQUFPLENBQUMsVUFBQ0MsT0FBTyxFQUFFNkYsTUFBTSxFQUFLO1VBQ3ZDLElBQU1DLFFBQVEsR0FBRztZQUFFQyxNQUFNLEVBQUU7VUFBUyxDQUFDO1VBQ3JDLElBQUk1SixRQUFRLElBQUlFLFNBQVMsRUFBRTtZQUMxQnlKLFFBQVEsQ0FBQzNKLFFBQVEsR0FBR0EsUUFBUTtZQUM1QjJKLFFBQVEsQ0FBQ3pKLFNBQVMsR0FBR0EsU0FBUztVQUMvQjtVQUNBLGFBQVksV0FBVyxFQUFFeUosUUFBUTtVQUNqQzVILEdBQUcsQ0FBQzhILFVBQVUsQ0FBQztZQUNkQyxHQUFHLEVBQUUsT0FBSSxDQUFDQyxRQUFRLEdBQUcsbUJBQW1CO1lBQ3hDQyxRQUFRLEVBQUVuRSxJQUFJO1lBQ2RrQixJQUFJLEVBQUUsTUFBTTtZQUNaNEMsUUFBUSxFQUFFQSxRQUFRO1lBQ2xCM0YsT0FBTyxFQUFFLGlCQUFDaUcsU0FBUyxFQUFLO2NBQ3ZCLElBQU1wTSxJQUFJLEdBQUdxTSxJQUFJLENBQUNDLEtBQUssQ0FBQ0YsU0FBUyxDQUFDcE0sSUFBSSxDQUFDO2NBQ3ZDLElBQUlBLElBQUksQ0FBQzJHLElBQUksS0FBSyxHQUFHLEVBQUU7Z0JBQ3RCWCxPQUFPLENBQUNoRyxJQUFJLENBQUNBLElBQUksQ0FBQztjQUNuQixDQUFDLE1BQU07Z0JBQ042TCxNQUFNLENBQUMsSUFBSVUsS0FBSyxDQUFDdk0sSUFBSSxDQUFDOEssR0FBRyxDQUFDLENBQUM7Y0FDNUI7WUFDRCxDQUFDO1lBQ0Q5RCxJQUFJLEVBQUUsY0FBQ08sR0FBRyxFQUFLO2NBQ2RzRSxNQUFNLENBQUN0RSxHQUFHLENBQUM7WUFDWjtVQUNELENBQUMsQ0FBQztRQUNILENBQUMsQ0FBQztNQUNILENBQUMsQ0FBQztNQUVGeEIsT0FBTyxDQUFDeUcsR0FBRyxDQUFDYixXQUFXLENBQUMsQ0FBQ2pGLElBQUksQ0FBQyxVQUFBK0YsTUFBTSxFQUFJO1FBQ3ZDLElBQU1uRyxHQUFHLEdBQUcsT0FBSSxDQUFDL0YsY0FBYyxLQUFLLFNBQVMsR0FBRyxnQkFBZ0IsR0FBRyxlQUFlO1FBQ2xGLElBQU1tTSxNQUFNLEdBQUc7VUFDZEQsTUFBTSxFQUFFQSxNQUFNLENBQUNiLEdBQUcsQ0FBQyxVQUFBZSxHQUFHO1lBQUEsT0FBSUEsR0FBRyxDQUFDQyxPQUFPO1VBQUEsRUFBQztVQUN0QzNNLE9BQU8sRUFBRSxPQUFJLENBQUNBLE9BQU87VUFDckI0TSxNQUFNLEVBQUUsT0FBSSxDQUFDck07UUFDZCxDQUFDO1FBQ0QsSUFBSTJCLFFBQVEsSUFBSUUsU0FBUyxFQUFFO1VBQzFCcUssTUFBTSxDQUFDdkssUUFBUSxHQUFHQSxRQUFRO1VBQzFCdUssTUFBTSxDQUFDckssU0FBUyxHQUFHQSxTQUFTO1FBQzdCO1FBQ0EsT0FBTyxPQUFJLENBQUNnRSxFQUFFLENBQUNDLEdBQUcsQ0FBQ0EsR0FBRyxDQUFDLENBQUNvRyxNQUFNLENBQUM7TUFDaEMsQ0FBQyxDQUFDLENBQUNoRyxJQUFJLENBQUMsVUFBQU4sR0FBRyxFQUFJO1FBQ2RsQyxHQUFHLENBQUM0SSxXQUFXLEVBQUU7UUFDakIsSUFBSTFHLEdBQUcsQ0FBQ08sSUFBSSxLQUFLLEdBQUcsRUFBRTtVQUNyQnpDLEdBQUcsQ0FBQzBDLFNBQVMsQ0FBQztZQUFFQyxLQUFLLEVBQUUsTUFBTTtZQUFFQyxJQUFJLEVBQUU7VUFBVSxDQUFDLENBQUM7VUFDakQsT0FBSSxDQUFDeEcsY0FBYyxHQUFHLEtBQUs7VUFDM0IsT0FBSSxDQUFDaUYsY0FBYyxFQUFFO1FBQ3RCLENBQUMsTUFBTTtVQUNOckIsR0FBRyxDQUFDMEMsU0FBUyxDQUFDO1lBQUVDLEtBQUssRUFBRVQsR0FBRyxDQUFDMEUsR0FBRyxJQUFJLE1BQU07WUFBRWhFLElBQUksRUFBRTtVQUFPLENBQUMsQ0FBQztRQUMxRDtNQUNELENBQUMsQ0FBQyxDQUFDQyxLQUFLLENBQUMsVUFBQVEsR0FBRyxFQUFJO1FBQ2ZyRCxHQUFHLENBQUM0SSxXQUFXLEVBQUU7UUFDakI1SSxHQUFHLENBQUMwQyxTQUFTLENBQUM7VUFBRUMsS0FBSyxFQUFFVSxHQUFHLENBQUN3RixPQUFPLElBQUksTUFBTTtVQUFFakcsSUFBSSxFQUFFO1FBQU8sQ0FBQyxDQUFDO01BQzlELENBQUMsQ0FBQztJQUNIO0VBQ0Q7QUFDRCxDQUFDO0FBQUEsMkIiLCJmaWxlIjoiMTEzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuLy9cbi8vXG4vL1xuXG5pbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnXG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0ZGF0YSgpIHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0b3JkZXJJZDogbnVsbCxcblx0XHRcdG9yZGVySW5kZXg6IG51bGwsXG5cdFx0XHRvcmRlckRldGFpbDogbnVsbCxcblx0XHRcdHN0YXR1c0JhckhlaWdodDogMCxcblx0XHRcdHRvcEZpeGVkSGVpZ2h0OiAwLFxuXHRcdFx0c2hvd1Bob3RvUG9wdXA6IGZhbHNlLFxuXHRcdFx0cGhvdG9Qb3B1cE1vZGU6ICcnLFxuXHRcdFx0cGhvdG9SZW1hcms6ICcnLFxuXHRcdFx0dXBsb2FkZWRQaG90b3M6IFtdLFxuXHRcdFx0c2hvd0NhbmNlbE1vZGFsOiBmYWxzZSxcblx0XHRcdGNhbmNlbFJlbWFpbjogMCxcblx0XHRcdHNob3dHcmFiTW9kYWw6IGZhbHNlLFxuXHRcdFx0Y3VycmVudExvY2F0aW9uOiBudWxsLFxuXHRcdFx0cm91dGVQb2ludHM6IFtdLFxuXHRcdFx0bG9jYXRpb25UaW1lcjogbnVsbCxcblx0XHRcdGRpc3RhbmNlOiAwLFxuXHRcdFx0ZHVyYXRpb246IDAsXG5cdFx0XHRpc1dpdGhpbk9wZXJhdGlvblJhZGl1czogdHJ1ZSxcblx0XHRcdHN0YXR1c1RleHRNYXA6IHtcblx0XHRcdFx0MjogJ+W+heaOpeWNlScsXG5cdFx0XHRcdDM6ICflvoXlj5botKcnLFxuXHRcdFx0XHQ0OiAn6YWN6YCB5LitJyxcblx0XHRcdFx0NTogJ+W3sumAgei+vicsXG5cdFx0XHRcdDc6ICflt7LlrozmiJAnLFxuXHRcdFx0XHQ5OTogJ+W3suWPlua2iCdcblx0XHRcdH0sXG5cdFx0XHRnb29kc0xpc3Q6IFtdLFxuXHRcdFx0cGhvdG9zOiBbXVxuXHRcdH1cblx0fSxcblx0Y29tcHV0ZWQ6IHtcblx0XHQuLi5tYXBTdGF0ZShbJ3VzZXJJbmZvJ10pLFxuXHRcdGZvcm1hdHRlZFJlbWFpblRpbWUoKSB7XG5cdFx0XHRjb25zdCBtaW51dGVzID0gdGhpcy5vcmRlckRldGFpbC5yZW1haW5NaW51dGVzXG5cdFx0XHRpZiAoIW1pbnV0ZXMpIHJldHVybiBudWxsXG5cdFx0XHRpZiAobWludXRlcyA+PSA2MCkge1xuXHRcdFx0XHRjb25zdCBob3VycyA9IE1hdGguZmxvb3IobWludXRlcyAvIDYwKVxuXHRcdFx0XHRjb25zdCBtaW5zID0gbWludXRlcyAlIDYwXG5cdFx0XHRcdHJldHVybiBtaW5zID4gMCA/IGAke2hvdXJzfeWwj+aXtiR7bWluc33liIbpkp9gIDogYCR7aG91cnN95bCP5pe2YFxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGAke21pbnV0ZXN95YiG6ZKfYFxuXHRcdH0sXG5cdFx0c2hvd01hcFN0YXR1cygpIHtcblx0XHRcdHJldHVybiB0aGlzLm9yZGVyRGV0YWlsLnN0YXR1cyA9PT0gMyB8fCB0aGlzLm9yZGVyRGV0YWlsLnN0YXR1cyA9PT0gNFxuXHRcdH0sXG5cdFx0bWFwRGF0YSgpIHtcblx0XHRcdGNvbnN0IHN0YXJ0UG9pbnQgPSB0aGlzLmN1cnJlbnRMb2NhdGlvbiB8fCB7IGxhdGl0dWRlOiB0aGlzLm9yZGVyRGV0YWlsLm5hdmlnYXRlTGF0LCBsb25naXR1ZGU6IHRoaXMub3JkZXJEZXRhaWwubmF2aWdhdGVMbmcgfVxuXHRcdFx0Y29uc3QgaGFzRW5kUG9pbnQgPSB0aGlzLm9yZGVyRGV0YWlsLm5hdmlnYXRlTGF0ICYmIHRoaXMub3JkZXJEZXRhaWwubmF2aWdhdGVMbmdcblx0XHRcdGNvbnN0IGVuZFBvaW50ID0geyBsYXRpdHVkZTogdGhpcy5vcmRlckRldGFpbC5uYXZpZ2F0ZUxuZywgbG9uZ2l0dWRlOiB0aGlzLm9yZGVyRGV0YWlsLm5hdmlnYXRlTGF0IH1cblxuXHRcdFx0bGV0IGNlbnRlclxuXHRcdFx0bGV0IHNjYWxlID0gMTJcblx0XHRcdGlmICh0aGlzLmN1cnJlbnRMb2NhdGlvbiAmJiBoYXNFbmRQb2ludCkge1xuXHRcdFx0XHRjb25zdCBsYXRTcGFuID0gTWF0aC5hYnModGhpcy5jdXJyZW50TG9jYXRpb24ubGF0aXR1ZGUgLSBlbmRQb2ludC5sYXRpdHVkZSlcblx0XHRcdFx0Y29uc3QgbG5nU3BhbiA9IE1hdGguYWJzKHRoaXMuY3VycmVudExvY2F0aW9uLmxvbmdpdHVkZSAtIGVuZFBvaW50LmxvbmdpdHVkZSlcblx0XHRcdFx0Y29uc3QgbWF4U3BhbiA9IE1hdGgubWF4KGxhdFNwYW4sIGxuZ1NwYW4pXG5cdFx0XHRcdGNlbnRlciA9IHtcblx0XHRcdFx0XHRsYXRpdHVkZTogKHRoaXMuY3VycmVudExvY2F0aW9uLmxhdGl0dWRlICsgZW5kUG9pbnQubGF0aXR1ZGUpIC8gMixcblx0XHRcdFx0XHRsb25naXR1ZGU6ICh0aGlzLmN1cnJlbnRMb2NhdGlvbi5sb25naXR1ZGUgKyBlbmRQb2ludC5sb25naXR1ZGUpIC8gMlxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChtYXhTcGFuID4gMC4zKSB7XG5cdFx0XHRcdFx0c2NhbGUgPSA5XG5cdFx0XHRcdH0gZWxzZSBpZiAobWF4U3BhbiA+IDAuMTUpIHtcblx0XHRcdFx0XHRzY2FsZSA9IDEwXG5cdFx0XHRcdH0gZWxzZSBpZiAobWF4U3BhbiA+IDAuMDgpIHtcblx0XHRcdFx0XHRzY2FsZSA9IDExXG5cdFx0XHRcdH0gZWxzZSBpZiAobWF4U3BhbiA+IDAuMDQpIHtcblx0XHRcdFx0XHRzY2FsZSA9IDEyXG5cdFx0XHRcdH0gZWxzZSBpZiAobWF4U3BhbiA+IDAuMDIpIHtcblx0XHRcdFx0XHRzY2FsZSA9IDEzXG5cdFx0XHRcdH0gZWxzZSBpZiAobWF4U3BhbiA+IDAuMDEpIHtcblx0XHRcdFx0XHRzY2FsZSA9IDE0XG5cdFx0XHRcdH0gZWxzZSBpZiAobWF4U3BhbiA+IDAuMDA1KSB7XG5cdFx0XHRcdFx0c2NhbGUgPSAxNVxuXHRcdFx0XHR9IGVsc2UgaWYgKG1heFNwYW4gPiAwLjAwMikge1xuXHRcdFx0XHRcdHNjYWxlID0gMTZcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzY2FsZSA9IDE3XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSBpZiAodGhpcy5jdXJyZW50TG9jYXRpb24pIHtcblx0XHRcdFx0Y2VudGVyID0gdGhpcy5jdXJyZW50TG9jYXRpb25cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNlbnRlciA9IHsgbGF0aXR1ZGU6IHRoaXMub3JkZXJEZXRhaWwubmF2aWdhdGVMYXQsIGxvbmdpdHVkZTogdGhpcy5vcmRlckRldGFpbC5uYXZpZ2F0ZUxuZyB9XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IG1hcmtlcnMgPSBbXG5cdFx0XHRcdHsgaWQ6IDEsIGxhdGl0dWRlOiBzdGFydFBvaW50LmxhdGl0dWRlLCBsb25naXR1ZGU6IHN0YXJ0UG9pbnQubG9uZ2l0dWRlLCBpY29uUGF0aDogJy9zdGF0aWMvaW1hZ2Uvc3RhcnQucG5nJywgd2lkdGg6IDMyLCBoZWlnaHQ6IDM4LCBhbmNob3I6IHsgeDogMC41LCB5OiAxIH0gfSxcblx0XHRcdFx0eyBpZDogMiwgbGF0aXR1ZGU6IGVuZFBvaW50LmxhdGl0dWRlLCBsb25naXR1ZGU6IGVuZFBvaW50LmxvbmdpdHVkZSwgaWNvblBhdGg6ICcvc3RhdGljL2ltYWdlL2VuZC5wbmcnLCB3aWR0aDogMzIsIGhlaWdodDogMzgsIGFuY2hvcjogeyB4OiAwLjUsIHk6IDEgfSB9LFxuXHRcdFx0XHR7IGlkOiAzLCBsYXRpdHVkZTogc3RhcnRQb2ludC5sYXRpdHVkZSwgbG9uZ2l0dWRlOiBzdGFydFBvaW50LmxvbmdpdHVkZSwgaWNvblBhdGg6ICcvc3RhdGljL2ltYWdlL2RpemhpLnBuZycsIHdpZHRoOiAxMiwgaGVpZ2h0OiAxMiwgYW5jaG9yOiB7IHg6IDAuNSwgeTogMC41IH0gfVxuXHRcdFx0XVxuXG5cdFx0XHRjb25zdCByb3V0ZVBvaW50cyA9IHRoaXMucm91dGVQb2ludHMubGVuZ3RoID4gMCA/IHRoaXMucm91dGVQb2ludHMgOiBbXG5cdFx0XHRcdHN0YXJ0UG9pbnQsXG5cdFx0XHRcdGVuZFBvaW50XG5cdFx0XHRdXG5cblx0XHRcdGNvbnN0IHJlc3VsdCA9IHtcblx0XHRcdFx0Y2VudGVyLFxuXHRcdFx0XHRtYXJrZXJzLFxuXHRcdFx0XHRwb2x5bGluZTogdGhpcy5yb3V0ZVBvaW50cy5sZW5ndGggPiAwID8gW1xuXHRcdFx0XHRcdHsgcG9pbnRzOiByb3V0ZVBvaW50cywgY29sb3I6ICcjMDViZTc2Jywgd2lkdGg6IDI1LCBhcnJvd0xpbmU6IHRydWUsIGRvdHRlZExpbmU6IGZhbHNlIH1cblx0XHRcdFx0XSA6IFtcblx0XHRcdFx0XHR7IHBvaW50czogcm91dGVQb2ludHMsIGNvbG9yOiAnIzA1YmU3NicsIHdpZHRoOiAyNSwgYXJyb3dMaW5lOiB0cnVlLCBkb3R0ZWRMaW5lOiB0cnVlIH1cblx0XHRcdFx0XSxcblx0XHRcdFx0aW5jbHVkZVBvaW50czogW3N0YXJ0UG9pbnQsIGVuZFBvaW50XSxcblx0XHRcdFx0c2NhbGVcblx0XHRcdH1cblx0XHRcdHJldHVybiByZXN1bHRcblx0XHR9LFxuXHRcdGJvZHlTdHlsZSgpIHtcblx0XHRcdGNvbnN0IGZvb3RlckhlaWdodCA9IHVuaS51cHgycHgoMTE2KVxuXHRcdFx0Y29uc3Qgc2ltcGxlTmF2SGVpZ2h0ID0gdGhpcy5zdGF0dXNCYXJIZWlnaHQgKyB1bmkudXB4MnB4KDg4KVxuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0cGFkZGluZ1RvcDogKHRoaXMuc2hvd01hcFN0YXR1cyA/IHRoaXMudG9wRml4ZWRIZWlnaHQgOiBzaW1wbGVOYXZIZWlnaHQpICsgJ3B4Jyxcblx0XHRcdFx0aGVpZ2h0OiBgY2FsYygxMDB2aCAtICR7dGhpcy5mb290ZXJCdXR0b25zLmxlbmd0aCA/IGZvb3RlckhlaWdodCArIDIwIDogMjB9cHgpYFxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0Zm9vdGVyQnV0dG9ucygpIHtcblx0XHRcdGNvbnN0IHN0YXR1cyA9IHRoaXMub3JkZXJEZXRhaWwuc3RhdHVzXG5cdFx0XHRjb25zdCB0YWtlU2hvcElkID0gdGhpcy5vcmRlckRldGFpbC50YWtlU2hvcElkXG5cblx0XHRcdGlmIChzdGF0dXMgPT09IDIpIHtcblx0XHRcdFx0cmV0dXJuIFt7IHRleHQ6ICfnq4vljbPmiqLljZUnLCBwcmltYXJ5OiB0cnVlLCBhY3Rpb246ICdncmFiJyB9XVxuXHRcdFx0fVxuXG5cdFx0XHRpZiAoc3RhdHVzID09PSAzKSB7XG5cdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0eyB0ZXh0OiAn5Y+W5raI6K6i5Y2VJywgcHJpbWFyeTogZmFsc2UsIGFjdGlvbjogJ2NhbmNlbCcgfSxcblx0XHRcdFx0XHR7IHRleHQ6ICfmi43nhaflj5botKcnLCBwcmltYXJ5OiB0cnVlLCBhY3Rpb246ICdwaWNrdXAnIH1cblx0XHRcdFx0XVxuXHRcdFx0fVxuXG5cdFx0XHRpZiAoc3RhdHVzID09PSA0KSB7XG5cdFx0XHRcdGlmICghdGFrZVNob3BJZCkge1xuXHRcdFx0XHRcdHJldHVybiBbeyB0ZXh0OiAn5ouN54Wn6YCB6L6+JywgcHJpbWFyeTogdHJ1ZSwgYWN0aW9uOiAnZGVsaXZlcicgfV1cblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gW11cblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIFtdXG5cdFx0fSxcblx0XHRwaG90b1BvcHVwVGl0bGUoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5waG90b1BvcHVwTW9kZSA9PT0gJ2RlbGl2ZXInID8gJ+aLjeeFp+mAgei+vicgOiAn5ouN54Wn5Y+W6LSnJ1xuXHRcdH0sXG5cdFx0cGhvdG9Qb3B1cExhYmVsKCkge1xuXHRcdFx0cmV0dXJuIHRoaXMucGhvdG9Qb3B1cE1vZGUgPT09ICdkZWxpdmVyJyA/ICfmi43mkYTpgIHovr7nhafniYcnIDogJ+aLjeaRhOWPlui0p+eFp+eJhydcblx0XHR9LFxuXHRcdHBob3RvUG9wdXBTdWJtaXRUZXh0KCkge1xuXHRcdFx0cmV0dXJuIHRoaXMucGhvdG9Qb3B1cE1vZGUgPT09ICdkZWxpdmVyJyA/ICfnoa7orqTpgIHovr4nIDogJ+ehruiupOWPlui0pydcblx0XHR9XG5cdH0sXG5cdG9uTG9hZChvcHRpb25zKSB7XG5cdFx0Y29uc3QgcGFnZXMgPSBnZXRDdXJyZW50UGFnZXMoKVxuXHRcdGNvbnN0IGN1cnJlbnRQYWdlID0gcGFnZXNbcGFnZXMubGVuZ3RoIC0gMV1cblx0XHRjb25zdCBwYWdlT3B0aW9ucyA9IGN1cnJlbnRQYWdlICYmIGN1cnJlbnRQYWdlLm9wdGlvbnMgPyBjdXJyZW50UGFnZS5vcHRpb25zIDoge31cblx0XHRjb25zdCBzeXN0ZW1JbmZvID0gdW5pLmdldFN5c3RlbUluZm9TeW5jKClcblx0XHR0aGlzLnN0YXR1c0JhckhlaWdodCA9IHN5c3RlbUluZm8uc3RhdHVzQmFySGVpZ2h0IHx8IDBcblx0XHR0aGlzLm9yZGVySWQgPSBvcHRpb25zLmlkIHx8IHBhZ2VPcHRpb25zLmlkXG5cdFx0dGhpcy5vcmRlckluZGV4ID0gb3B0aW9ucy5pbmRleFxuXHRcdHRoaXMudG9wRml4ZWRIZWlnaHQgPSB1bmkudXB4MnB4KDUwMCArIDkyKVxuXHRcdGlmICh0aGlzLm9yZGVySWQpIHtcblx0XHRcdHRoaXMuZ2V0T3JkZXJEZXRhaWwoKVxuXHRcdH1cblx0fSxcblxuXHRvblVubG9hZCgpIHtcblx0XHRpZiAodGhpcy5sb2NhdGlvblRpbWVyKSB7XG5cdFx0XHRjbGVhckludGVydmFsKHRoaXMubG9jYXRpb25UaW1lcilcblx0XHRcdHRoaXMubG9jYXRpb25UaW1lciA9IG51bGxcblx0XHR9XG5cdH0sXG5cblx0bWV0aG9kczoge1xuXHRcdGhhbmRsZUJhY2soKSB7XG5cdFx0XHR1bmkubmF2aWdhdGVCYWNrKHsgZGVsdGE6IDEgfSk7XG5cdFx0fSxcblx0XHRpbml0T3BlcmF0aW9uUmFkaXVzKCkge1xuXHRcdFx0Y29uc29sZS5sb2coJ2luaXRPcGVyYXRpb25SYWRpdXMnKVxuXHRcdFx0cmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7XG5cdFx0XHRcdHVuaS5nZXRMb2NhdGlvbih7XG5cdFx0XHRcdFx0dHlwZTogJ2djajAyJyxcblx0XHRcdFx0XHRzdWNjZXNzOiAocmVzKSA9PiB7XG5cdFx0XHRcdFx0XHR0aGlzLiR1LmFwaS5jaGVja0RyaXZlck9wZXJhdGlvblJhZGl1cyh7XG5cdFx0XHRcdFx0XHRcdGxhdDogcmVzLmxhdGl0dWRlLFxuXHRcdFx0XHRcdFx0XHRsbmc6IHJlcy5sb25naXR1ZGUsXG5cdFx0XHRcdFx0XHRcdG9yZGVySWQ6IHRoaXMub3JkZXJJZFxuXHRcdFx0XHRcdFx0fSkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuaXNXaXRoaW5PcGVyYXRpb25SYWRpdXMgPSByZXMuZGF0YVxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKHJlcy5kYXRhKVxuXHRcdFx0XHRcdFx0XHRcdGlmICghdGhpcy5pc1dpdGhpbk9wZXJhdGlvblJhZGl1cykge1xuXHRcdFx0XHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRpdGxlOiAn5oKo5b2T5YmN5L2N572u5LiO5pS26LSn5Zyw5Z2A6Led56a76LaF5Ye66IyD5Zu077yM6K+35Zyo5Zyw5Z2A6ZmE6L+R6YeN5paw5ouN54WnJyxcblx0XHRcdFx0XHRcdFx0XHRcdFx0aWNvbjogJ25vbmUnXG5cdFx0XHRcdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShmYWxzZSlcblx0XHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZSh0cnVlKVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRyZXNvbHZlKGZhbHNlKVxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9KS5jYXRjaCgoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHJlc29sdmUoZmFsc2UpXG5cdFx0XHRcdFx0XHR9KVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0ZmFpbDogKCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5pc1dpdGhpbk9wZXJhdGlvblJhZGl1cyA9IGZhbHNlXG5cdFx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6ICfmgqjlvZPliY3kvY3nva7mnYPpmZDmsqHmnInlvIDlkK/vvIzor7flhYjlvIDlkK/lkI7lho3mnaXmk43kvZwnLFxuXHRcdFx0XHRcdFx0XHRpY29uOiAnbm9uZSdcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0XHRyZXNvbHZlKGZhbHNlKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0pXG5cdFx0fSxcblxuXHRcdGdldE9yZGVyRGV0YWlsKCkge1xuXHRcdFx0dGhpcy4kdS5hcGkub3JkZXJEZXRhaWwoeyBvcmRlcklkOiB0aGlzLm9yZGVySWQgfSkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdGNvbnNvbGUubG9nKCdvcmRlckRldGFpbDonLCByZXMuZGF0YSlcblx0XHRcdFx0XHR0aGlzLm9yZGVyRGV0YWlsID0gcmVzLmRhdGFcblx0XHRcdFx0XHR0aGlzLmdvb2RzTGlzdCA9IHJlcy5kYXRhLml0ZW1zIHx8IFtdXG5cdFx0XHRcdFx0dGhpcy5waG90b3MgPSByZXMuZGF0YS5vcmRlckltYWdlcyB8fCBbXVxuXHRcdFx0XHRcdGlmICgodGhpcy5vcmRlckRldGFpbC5zdGF0dXMgPT09IDMgfHwgdGhpcy5vcmRlckRldGFpbC5zdGF0dXMgPT09IDQpICYmIHRoaXMub3JkZXJEZXRhaWwubmF2aWdhdGVMYXQgJiYgdGhpcy5vcmRlckRldGFpbC5uYXZpZ2F0ZUxuZykge1xuXHRcdFx0XHRcdFx0dGhpcy5nZXRDdXJyZW50TG9jYXRpb24oKVxuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRjb25zb2xlLmxvZygnU2tpcHBpbmcgZ2V0Q3VycmVudExvY2F0aW9uIC0gc3RhdHVzIG9yIGNvb3JkaW5hdGVzIG5vdCBhdmFpbGFibGUnKVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXG5cdFx0Z2V0Q3VycmVudExvY2F0aW9uKCkge1xuXHRcdFx0dGhpcy5mZXRjaExvY2F0aW9uKClcblx0XHRcdHRoaXMubG9jYXRpb25UaW1lciA9IHNldEludGVydmFsKCgpID0+IHtcblx0XHRcdFx0dGhpcy5mZXRjaExvY2F0aW9uKClcblx0XHRcdH0sIDYwMDAwKVxuXHRcdH0sXG5cblx0XHRmZXRjaExvY2F0aW9uKCkge1xuXHRcdFx0dW5pLmdldExvY2F0aW9uKHtcblx0XHRcdFx0dHlwZTogJ2djajAyJyxcblx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xuXHRcdFx0XHRcdHRoaXMuY3VycmVudExvY2F0aW9uID0ge1xuXHRcdFx0XHRcdFx0bGF0aXR1ZGU6IHJlcy5sYXRpdHVkZSxcblx0XHRcdFx0XHRcdGxvbmdpdHVkZTogcmVzLmxvbmdpdHVkZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR0aGlzLmdldFJvdXRlUGxhbigpXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcblx0XHRcdFx0XHRjb25zb2xlLmxvZygn6I635Y+W5L2N572u5aSx6LSlJywgZXJyKVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cblx0XHRnZXRSb3V0ZVBsYW4oKSB7XG5cdFx0XHRpZiAoIXRoaXMuY3VycmVudExvY2F0aW9uIHx8ICF0aGlzLm9yZGVyRGV0YWlsLm5hdmlnYXRlTGF0IHx8ICF0aGlzLm9yZGVyRGV0YWlsLm5hdmlnYXRlTG5nKSB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKCdTa2lwcGluZyByb3V0ZSBwbGFuIC0gbWlzc2luZyBkYXRhJylcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cdFx0XHRjb25zdCBmcm9tID0gYCR7dGhpcy5jdXJyZW50TG9jYXRpb24ubGF0aXR1ZGV9LCR7dGhpcy5jdXJyZW50TG9jYXRpb24ubG9uZ2l0dWRlfWBcblx0XHRcdGNvbnN0IHRvID0gYCR7dGhpcy5vcmRlckRldGFpbC5uYXZpZ2F0ZUxuZ30sJHt0aGlzLm9yZGVyRGV0YWlsLm5hdmlnYXRlTGF0fWBcblx0XHRcdHRoaXMuJHUuYXBpLmRpcmVjdGlvbkluZm8oe1xuXHRcdFx0XHRmcm9tLFxuXHRcdFx0XHR0byxcblx0XHRcdFx0bW9kZTogdGhpcy51c2VySW5mby5kcml2ZXJUeXBlXG5cdFx0XHR9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdGNvbnNvbGUubG9nKCdwYXRocyBzdWNjZXNzOicsIHJlcy5kYXRhLnJvdXRlLnBhdGhzWzBdKVxuXHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdGNvbnN0IHBhdGggPSByZXMuZGF0YS5yb3V0ZS5wYXRoc1swXVxuXHRcdFx0XHRcdHRoaXMuZGlzdGFuY2UgPSBwYXRoLmRpc3RhbmNlXG5cdFx0XHRcdFx0dGhpcy5kdXJhdGlvbiA9IHBhdGguZHVyYXRpb25cblx0XHRcdFx0XHRjb25zdCBwb2ludHMgPSBbXVxuXHRcdFx0XHRcdHBhdGguc3RlcHMuZm9yRWFjaChzdGVwID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IHBvbHlsaW5lU3RyID0gc3RlcC5wb2x5bGluZVxuXHRcdFx0XHRcdFx0Y29uc3QgY29vcmRpbmF0ZXMgPSBwb2x5bGluZVN0ci5zcGxpdCgnOycpXG5cdFx0XHRcdFx0XHRjb29yZGluYXRlcy5mb3JFYWNoKGNvb3JkID0+IHtcblx0XHRcdFx0XHRcdFx0Y29uc3QgW2xuZywgbGF0XSA9IGNvb3JkLnNwbGl0KCcsJylcblx0XHRcdFx0XHRcdFx0cG9pbnRzLnB1c2goe1xuXHRcdFx0XHRcdFx0XHRcdGxhdGl0dWRlOiBwYXJzZUZsb2F0KGxhdCksXG5cdFx0XHRcdFx0XHRcdFx0bG9uZ2l0dWRlOiBwYXJzZUZsb2F0KGxuZylcblx0XHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHRcdH0pXG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR0aGlzLnJvdXRlUG9pbnRzID0gcG9pbnRzXG5cdFx0XHRcdFx0dGhpcy4kZm9yY2VVcGRhdGUoKVxuXHRcdFx0XHR9XG5cdFx0XHR9KVxuXHRcdH0sXG5cblx0XHQvLyBtYWtlUGhvbmVDYWxsKCkge1xuXHRcdC8vIFx0aWYgKHRoaXMub3JkZXJEZXRhaWwuY29udGFjdFBob25lKSB7XG5cdFx0Ly8gXHRcdHVuaS5tYWtlUGhvbmVDYWxsKHtcblx0XHQvLyBcdFx0XHRwaG9uZU51bWJlcjogdGhpcy5vcmRlckRldGFpbC5jb250YWN0UGhvbmVcblx0XHQvLyBcdFx0fSlcblx0XHQvLyBcdH1cblx0XHQvLyB9LFxuXG5cdFx0bWFrZVNob3BDYWxsKHR5cGUpIHtcblx0XHRcdGNvbnN0IHBob25lID0gdHlwZSA9PT0gJ3Rha2UnID8gdGhpcy5vcmRlckRldGFpbC50YWtlQ29udGFjdFBob25lIDogdGhpcy5vcmRlckRldGFpbC5kZXBvc2l0U2hvcFBob25lXG5cdFx0XHRpZiAocGhvbmUpIHtcblx0XHRcdFx0dW5pLm1ha2VQaG9uZUNhbGwoe1xuXHRcdFx0XHRcdHBob25lTnVtYmVyOiBwaG9uZVxuXHRcdFx0XHR9KVxuXHRcdFx0fVxuXHRcdH0sXG5cblx0XHRuYXZpZ2F0ZVRvQWRkcmVzcyh0eXBlKSB7XG5cdFx0XHRsZXQgbGF0aXR1ZGUsIGxvbmdpdHVkZSwgbmFtZSwgYWRkcmVzc1xuXHRcdFx0aWYgKHR5cGUgPT09ICdkZXBvc2l0Jykge1xuXHRcdFx0XHRsYXRpdHVkZSA9IHRoaXMub3JkZXJEZXRhaWwuZGVwb3NpdFNob3BMYXRcblx0XHRcdFx0bG9uZ2l0dWRlID0gdGhpcy5vcmRlckRldGFpbC5kZXBvc2l0U2hvcExuZ1xuXHRcdFx0XHRuYW1lID0gdGhpcy5vcmRlckRldGFpbC5kZXBvc2l0U2hvcE5hbWVcblx0XHRcdFx0YWRkcmVzcyA9IHRoaXMub3JkZXJEZXRhaWwuZGVwb3NpdFNob3BBZGRyZXNzXG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRsYXRpdHVkZSA9IHRoaXMub3JkZXJEZXRhaWwudGFrZUxhdFxuXHRcdFx0XHRsb25naXR1ZGUgPSB0aGlzLm9yZGVyRGV0YWlsLnRha2VMbmdcblx0XHRcdFx0bmFtZSA9IHRoaXMub3JkZXJEZXRhaWwudGFrZU5hbWVcblx0XHRcdFx0YWRkcmVzcyA9IHRoaXMub3JkZXJEZXRhaWwudGFrZUFkZHJlc3Ncblx0XHRcdH1cblx0XHRcdGlmICghbGF0aXR1ZGUgfHwgIWxvbmdpdHVkZSkge1xuXHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICflnLDlnYDlnZDmoIfnvLrlpLEnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cdFx0XHR1bmkub3BlbkxvY2F0aW9uKHtcblx0XHRcdFx0bGF0aXR1ZGUsXG5cdFx0XHRcdGxvbmdpdHVkZSxcblx0XHRcdFx0bmFtZSxcblx0XHRcdFx0YWRkcmVzcyxcblx0XHRcdFx0c3VjY2VzczogKCkgPT4ge30sXG5cdFx0XHRcdGZhaWw6IChlcnIpID0+IHtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfmiZPlvIDlnLDlm77lpLHotKUnLCBpY29uOiAnbm9uZScgfSlcblx0XHRcdFx0XHRjb25zb2xlLmVycm9yKCdvcGVuTG9jYXRpb24gZmFpbDonLCBlcnIpXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblxuXHRcdHByZXZpZXdJbWFnZShjdXJyZW50KSB7XG5cdFx0XHR1bmkucHJldmlld0ltYWdlKHtcblx0XHRcdFx0Y3VycmVudCxcblx0XHRcdFx0dXJsczogdGhpcy5waG90b3Ncblx0XHRcdH0pXG5cdFx0fSxcblxuXHRcdGhhbmRsZUZvb3RlckFjdGlvbihidXR0b24pIHtcblx0XHRcdGNvbnN0IGFjdGlvbiA9IGJ1dHRvbi5hY3Rpb25cblxuXHRcdFx0aWYgKGFjdGlvbiA9PT0gJ2NhbmNlbCcpIHtcblx0XHRcdFx0dGhpcy5oYW5kbGVDYW5jZWxPcmRlcigpXG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXG5cdFx0XHRpZiAoYWN0aW9uID09PSAncGlja3VwJyB8fCBhY3Rpb24gPT09ICdkZWxpdmVyJykge1xuXHRcdFx0XHR0aGlzLmluaXRPcGVyYXRpb25SYWRpdXMoKS50aGVuKChpc1ZhbGlkKSA9PiB7XG5cdFx0XHRcdFx0Y29uc29sZS5sb2coaXNWYWxpZClcblx0XHRcdFx0XHRpZiAoIWlzVmFsaWQpIHJldHVyblxuXHRcdFx0XHRcdHRoaXMudXBsb2FkZWRQaG90b3MgPSBbXVxuXHRcdFx0XHRcdHRoaXMucGhvdG9SZW1hcmsgPSAnJ1xuXHRcdFx0XHRcdHRoaXMucGhvdG9Qb3B1cE1vZGUgPSBhY3Rpb25cblx0XHRcdFx0XHR0aGlzLnNob3dQaG90b1BvcHVwID0gdHJ1ZVxuXHRcdFx0XHR9KVxuXHRcdFx0XHRyZXR1cm5cblx0XHRcdH1cblxuXHRcdFx0aWYgKGFjdGlvbiA9PT0gJ2dyYWInKSB7XG5cdFx0XHRcdHRoaXMuaGFuZGxlR3JhYk9yZGVyKClcblx0XHRcdFx0cmV0dXJuXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRoYW5kbGVDYW5jZWxPcmRlcigpIHtcblx0XHRcdHRoaXMuJHUuYXBpLmNhbmNlbExpbWl0KCkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdHRoaXMuY2FuY2VsUmVtYWluID0gcmVzLmRhdGEucmVtYWluXG5cdFx0XHRcdH1cblx0XHRcdH0pLmZpbmFsbHkoKCkgPT4ge1xuXHRcdFx0XHR0aGlzLnNob3dDYW5jZWxNb2RhbCA9IHRydWVcblx0XHRcdH0pXG5cdFx0fSxcblx0XHRjb25maXJtQ2FuY2VsT3JkZXIoKSB7XG5cdFx0XHR0aGlzLiR1LmFwaS5jYW5jZWxPcmRlcih7IG9yZGVySWQ6IHRoaXMub3JkZXJJZCB9KS50aGVuKHJlcyA9PiB7XG5cdFx0XHRcdHRoaXMuc2hvd0NhbmNlbE1vZGFsID0gZmFsc2Vcblx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICflj5bmtojmiJDlip8nLCBpY29uOiAnc3VjY2VzcycgfSlcblx0XHRcdFx0XHR0aGlzLmdldE9yZGVyRGV0YWlsKClcblx0XHRcdFx0fVxuXHRcdFx0fSkuZmluYWxseSgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuc2hvd0NhbmNlbE1vZGFsID0gZmFsc2Vcblx0XHRcdH0pXG5cdFx0fSxcblx0XHRoYW5kbGVHcmFiT3JkZXIoKSB7XG5cdFx0XHR0aGlzLnNob3dHcmFiTW9kYWwgPSB0cnVlXG5cdFx0fSxcblx0XHRjb25maXJtR3JhYk9yZGVyKCkge1xuXHRcdFx0dGhpcy4kdS5hcGkuZ3JhYk9yZGVyKHsgb3JkZXJJZDogdGhpcy5vcmRlcklkIH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0dGhpcy5zaG93R3JhYk1vZGFsID0gZmFsc2Vcblx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfmjqXljZXmiJDlip8nLCBpY29uOiAnc3VjY2VzcycgfSlcblx0XHRcdFx0XHR0aGlzLmdldE9yZGVyRGV0YWlsKClcblx0XHRcdFx0XHR1bmkuJGVtaXQoJ2ppZWRhblN1Y2Nlc3MnKVxuXHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0XHRcdFx0dW5pLm5hdmlnYXRlQmFjaygpXG5cdFx0XHRcdFx0fSwgMTUwMClcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6IHJlcy5tc2cgfHwgJ+aOpeWNleWksei0pScsIGljb246ICdub25lJyB9KVxuXHRcdFx0XHR9XG5cdFx0XHR9KS5jYXRjaCgoKSA9PiB7XG5cdFx0XHRcdHRoaXMuc2hvd0dyYWJNb2RhbCA9IGZhbHNlXG5cdFx0XHR9KVxuXHRcdH0sXG5cdFx0Y2xvc2VQaG90b1BvcHVwKCkge1xuXHRcdFx0dGhpcy5zaG93UGhvdG9Qb3B1cCA9IGZhbHNlXG5cdFx0fSxcblx0XHRjaG9vc2VJbWFnZSgpIHtcblx0XHRcdGNvbnN0IGNvdW50ID0gMyAtIHRoaXMudXBsb2FkZWRQaG90b3MubGVuZ3RoXG5cdFx0XHR1bmkuY2hvb3NlSW1hZ2Uoe1xuXHRcdFx0XHRjb3VudDogY291bnQsXG5cdFx0XHRcdHNvdXJjZVR5cGU6IFsnY2FtZXJhJywgJ2FsYnVtJ10sXG5cdFx0XHRcdHN1Y2Nlc3M6IChyZXMpID0+IHtcblx0XHRcdFx0XHRjb25zdCB0ZW1wRmlsZVBhdGhzID0gcmVzLnRlbXBGaWxlUGF0aHNcblx0XHRcdFx0XHR0aGlzLnVwbG9hZGVkUGhvdG9zID0gdGhpcy51cGxvYWRlZFBob3Rvcy5jb25jYXQodGVtcEZpbGVQYXRocylcblx0XHRcdFx0fVxuXHRcdFx0fSlcblx0XHR9LFxuXHRcdGRlbGV0ZVBob3RvKGluZGV4KSB7XG5cdFx0XHR0aGlzLnVwbG9hZGVkUGhvdG9zLnNwbGljZShpbmRleCwgMSlcblx0XHR9LFxuXHRcdHN1Ym1pdFBob3RvUG9wdXAoKSB7XG5cdFx0XHRpZiAodGhpcy51cGxvYWRlZFBob3Rvcy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K+35LiK5Lyg54Wn54mHJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdHJldHVyblxuXHRcdFx0fVxuXHRcdFx0dW5pLnNob3dMb2FkaW5nKHsgdGl0bGU6ICfkuIrkvKDkuK0uLi4nIH0pXG5cdFx0XHR1bmkuZ2V0TG9jYXRpb24oe1xuXHRcdFx0XHR0eXBlOiAnZ2NqMDInLFxuXHRcdFx0XHRzdWNjZXNzOiAobG9jYXRpb25SZXMpID0+IHtcblx0XHRcdFx0XHR0aGlzLmRvVXBsb2FkUGhvdG9zKGxvY2F0aW9uUmVzLmxhdGl0dWRlLCBsb2NhdGlvblJlcy5sb25naXR1ZGUpXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGZhaWw6ICgpID0+IHtcblx0XHRcdFx0XHR0aGlzLmRvVXBsb2FkUGhvdG9zKG51bGwsIG51bGwpXG5cdFx0XHRcdH1cblx0XHRcdH0pXG5cdFx0fSxcblxuXHRcdGRvVXBsb2FkUGhvdG9zKGxhdGl0dWRlLCBsb25naXR1ZGUpIHtcblx0XHRcdGNvbnN0IHVwbG9hZFRhc2tzID0gdGhpcy51cGxvYWRlZFBob3Rvcy5tYXAocGF0aCA9PiB7XG5cdFx0XHRcdHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG5cdFx0XHRcdFx0Y29uc3QgZm9ybURhdGEgPSB7IGZvbGRlcjogJ29yZGVycycgfVxuXHRcdFx0XHRcdGlmIChsYXRpdHVkZSAmJiBsb25naXR1ZGUpIHtcblx0XHRcdFx0XHRcdGZvcm1EYXRhLmxhdGl0dWRlID0gbGF0aXR1ZGVcblx0XHRcdFx0XHRcdGZvcm1EYXRhLmxvbmdpdHVkZSA9IGxvbmdpdHVkZVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRjb25zb2xlLmxvZygnZm9ybURhdGE6JywgZm9ybURhdGEpXG5cdFx0XHRcdFx0dW5pLnVwbG9hZEZpbGUoe1xuXHRcdFx0XHRcdFx0dXJsOiB0aGlzLiRiYXNlVXJsICsgJ3dlYi9wdWJsaWMvdXBsb2FkJyxcblx0XHRcdFx0XHRcdGZpbGVQYXRoOiBwYXRoLFxuXHRcdFx0XHRcdFx0bmFtZTogJ2ZpbGUnLFxuXHRcdFx0XHRcdFx0Zm9ybURhdGE6IGZvcm1EYXRhLFxuXHRcdFx0XHRcdFx0c3VjY2VzczogKHVwbG9hZFJlcykgPT4ge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBkYXRhID0gSlNPTi5wYXJzZSh1cGxvYWRSZXMuZGF0YSlcblx0XHRcdFx0XHRcdFx0aWYgKGRhdGEuY29kZSA9PT0gMjAwKSB7XG5cdFx0XHRcdFx0XHRcdFx0cmVzb2x2ZShkYXRhLmRhdGEpXG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0cmVqZWN0KG5ldyBFcnJvcihkYXRhLm1zZykpXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRmYWlsOiAoZXJyKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHJlamVjdChlcnIpXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSlcblx0XHRcdFx0fSlcblx0XHRcdH0pXG5cblx0XHRcdFByb21pc2UuYWxsKHVwbG9hZFRhc2tzKS50aGVuKGltYWdlcyA9PiB7XG5cdFx0XHRcdGNvbnN0IGFwaSA9IHRoaXMucGhvdG9Qb3B1cE1vZGUgPT09ICdkZWxpdmVyJyA/ICdjb25maXJtRGVsaXZlcicgOiAnY29uZmlybVBpY2t1cCdcblx0XHRcdFx0Y29uc3QgcGFyYW1zID0ge1xuXHRcdFx0XHRcdGltYWdlczogaW1hZ2VzLm1hcChpbWcgPT4gaW1nLmltZ2FkZHIpLFxuXHRcdFx0XHRcdG9yZGVySWQ6IHRoaXMub3JkZXJJZCxcblx0XHRcdFx0XHRyZW1hcms6IHRoaXMucGhvdG9SZW1hcmtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAobGF0aXR1ZGUgJiYgbG9uZ2l0dWRlKSB7XG5cdFx0XHRcdFx0cGFyYW1zLmxhdGl0dWRlID0gbGF0aXR1ZGVcblx0XHRcdFx0XHRwYXJhbXMubG9uZ2l0dWRlID0gbG9uZ2l0dWRlXG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIHRoaXMuJHUuYXBpW2FwaV0ocGFyYW1zKVxuXHRcdFx0fSkudGhlbihyZXMgPT4ge1xuXHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxuXHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+aPkOS6pOaIkOWKnycsIGljb246ICdzdWNjZXNzJyB9KVxuXHRcdFx0XHRcdHRoaXMuc2hvd1Bob3RvUG9wdXAgPSBmYWxzZVxuXHRcdFx0XHRcdHRoaXMuZ2V0T3JkZXJEZXRhaWwoKVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogcmVzLm1zZyB8fCAn5o+Q5Lqk5aSx6LSlJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdH1cblx0XHRcdH0pLmNhdGNoKGVyciA9PiB7XG5cdFx0XHRcdHVuaS5oaWRlTG9hZGluZygpXG5cdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogZXJyLm1lc3NhZ2UgfHwgJ+S4iuS8oOWksei0pScsIGljb246ICdub25lJyB9KVxuXHRcdFx0fSlcblx0XHR9XG5cdH1cbn1cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///113\n");
 
 /***/ }),
 /* 114 */
@@ -15642,41 +15676,99 @@
                     ),
                     attrs: { _i: 137 },
                   }),
+                  _c("text", {
+                    staticClass: _vm._$s(
+                      138,
+                      "sc",
+                      "driver-cert-page__agreement-link"
+                    ),
+                    attrs: { _i: 138 },
+                    on: {
+                      click: function ($event) {
+                        $event.stopPropagation()
+                        return _vm.openAgreement("errandRiskCommitment")
+                      },
+                    },
+                  }),
+                  _c("text", {
+                    staticClass: _vm._$s(
+                      139,
+                      "sc",
+                      "driver-cert-page__agreement-text"
+                    ),
+                    attrs: { _i: 139 },
+                  }),
+                  _c("text", {
+                    staticClass: _vm._$s(
+                      140,
+                      "sc",
+                      "driver-cert-page__agreement-link"
+                    ),
+                    attrs: { _i: 140 },
+                    on: {
+                      click: function ($event) {
+                        $event.stopPropagation()
+                        return _vm.openAgreement("errandLuggageStorageNotice")
+                      },
+                    },
+                  }),
+                  _c("text", {
+                    staticClass: _vm._$s(
+                      141,
+                      "sc",
+                      "driver-cert-page__agreement-text"
+                    ),
+                    attrs: { _i: 141 },
+                  }),
+                  _c("text", {
+                    staticClass: _vm._$s(
+                      142,
+                      "sc",
+                      "driver-cert-page__agreement-link"
+                    ),
+                    attrs: { _i: 142 },
+                    on: {
+                      click: function ($event) {
+                        $event.stopPropagation()
+                        return _vm.openAgreement("errandServiceAgreement")
+                      },
+                    },
+                  }),
                 ]
               )
             : _vm._e(),
           _c(
             "view",
             {
-              staticClass: _vm._$s(138, "sc", "driver-cert-page__actions"),
-              class: _vm._$s(138, "c", {
+              staticClass: _vm._$s(143, "sc", "driver-cert-page__actions"),
+              class: _vm._$s(143, "c", {
                 "driver-cert-page__actions--dual": _vm.currentStep === 2,
               }),
-              attrs: { _i: 138 },
+              attrs: { _i: 143 },
             },
             [
-              _vm._$s(139, "i", _vm.currentStep === 2)
+              _vm._$s(144, "i", _vm.currentStep === 2)
                 ? _c("button", {
                     staticClass: _vm._$s(
-                      139,
+                      144,
                       "sc",
                       "driver-cert-page__submit driver-cert-page__submit--ghost"
                     ),
-                    attrs: { _i: 139 },
+                    attrs: { _i: 144 },
                     on: { click: _vm.goPrevStep },
                   })
                 : _vm._e(),
               _c(
                 "button",
                 {
-                  staticClass: _vm._$s(140, "sc", "driver-cert-page__submit"),
-                  attrs: { _i: 140 },
+                  staticClass: _vm._$s(145, "sc", "driver-cert-page__submit"),
+                  attrs: { _i: 145 },
                   on: { click: _vm.handlePrimaryAction },
                 },
                 [
                   _vm._v(
                     _vm._$s(
-                      140,
+                      145,
                       "t0-0",
                       _vm._s(_vm.currentStep === 1 ? "涓嬩竴姝�" : "鎻愪氦璁よ瘉鐢宠")
                     )
@@ -15687,7 +15779,7 @@
           ),
         ]
       ),
-      _vm._$s(141, "i", _vm.areaList && _vm.areaList.length > 0)
+      _vm._$s(146, "i", _vm.areaList && _vm.areaList.length > 0)
         ? _c("u-picker", {
             ref: "uPicker",
             attrs: {
@@ -15695,7 +15787,7 @@
               confirmColor: "#10B2FA",
               keyName: "text",
               columns: _vm.areaColumns,
-              _i: 141,
+              _i: 146,
             },
             on: {
               confirm: _vm.confirmArea,
@@ -15712,7 +15804,7 @@
           confirmColor: "#10B2FA",
           keyName: "text",
           columns: [_vm.maritalOptions],
-          _i: 142,
+          _i: 147,
         },
         on: {
           confirm: _vm.confirmMarital,
@@ -15721,14 +15813,14 @@
           },
         },
       }),
-      _vm._$s(143, "i", _vm.carTypeList && _vm.carTypeList.length > 0)
+      _vm._$s(148, "i", _vm.carTypeList && _vm.carTypeList.length > 0)
         ? _c("u-picker", {
             attrs: {
               show: _vm.showCarTypePicker,
               confirmColor: "#10B2FA",
               keyName: "text",
               columns: _vm.carTypeColumns,
-              _i: 143,
+              _i: 148,
             },
             on: {
               confirm: _vm.confirmCarType,
@@ -15743,7 +15835,7 @@
           show: _vm.showDatePicker,
           mode: "date",
           minDate: _vm.datePickerMode === "end" ? this.form.cardStartDate : 0,
-          _i: 144,
+          _i: 149,
         },
         on: {
           confirm: _vm.confirmDate,
@@ -15752,7 +15844,7 @@
           },
         },
         model: {
-          value: _vm._$s(144, "v-model", _vm.datePickerValue),
+          value: _vm._$s(149, "v-model", _vm.datePickerValue),
           callback: function ($$v) {
             _vm.datePickerValue = $$v
           },
@@ -16770,7 +16862,7 @@
 /***/ (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 _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _vuex = __webpack_require__(/*! vuex */ 12);\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      showAreaPicker: false,\n      showMaritalPicker: false,\n      maritalOptions: [{\n        value: '0',\n        text: '鏈'\n      }, {\n        value: '1',\n        text: '宸插'\n      }, {\n        value: '2',\n        text: '绂诲紓'\n      }, {\n        value: '3',\n        text: '涓у伓'\n      }],\n      areaList: [],\n      areaColumns: [],\n      currentStep: 1,\n      form: {\n        areaId: '',\n        areaName: '',\n        name: '',\n        idcard: '',\n        maritalStatus: '',\n        livePlace: '',\n        aliAccount: '',\n        aliName: '',\n        idcardImg: '',\n        idcardImgBack: '',\n        carCode: '',\n        carType: '',\n        carColor: '',\n        cardStartDate: '',\n        cardEndDate: '',\n        carImgUrls: [],\n        licenseImgUrls: [],\n        otherImgUrls: []\n      },\n      vehicleForm: {\n        plateNumber: '',\n        color: '',\n        carType: ''\n      },\n      needLicense: false,\n      showCarTypePicker: false,\n      carTypeList: [],\n      carTypeColumns: [],\n      showDatePicker: false,\n      datePickerMode: 'start',\n      datePickerValue: Number(new Date()),\n      uploadPaths: {\n        idcardImg: 'driver/idcard/front',\n        idcardImgBack: 'driver/idcard/back',\n        carImgUrls: 'driver/car',\n        licenseImgUrls: 'driver/license',\n        otherImgUrls: 'driver/other'\n      },\n      previewImages: {\n        idcardImg: '',\n        idcardImgBack: '',\n        carImgUrls: [],\n        licenseImgUrls: [],\n        otherImgUrls: []\n      },\n      isAgreed: false,\n      imgPrefix: ''\n    };\n  },\n  computed: _objectSpread({}, (0, _vuex.mapState)(['userInfo'])),\n  onLoad: function onLoad() {\n    this.getAreaList();\n    this.getCategoryList();\n    this.getVerifyDetail();\n  },\n  methods: {\n    getMaritalStatusText: function getMaritalStatusText(value) {\n      if (!value && value !== 0) return '璇烽�夋嫨';\n      var item = this.maritalOptions.find(function (option) {\n        return option.value === String(value);\n      });\n      return item ? item.text : '璇烽�夋嫨';\n    },\n    getVerifyDetail: function getVerifyDetail() {\n      var _this = this;\n      this.$u.api.verifyDetail().then(function (res) {\n        if (res.code === 200 && res.data) {\n          if (res.data.auditStatus !== 99) {\n            _this.imgPrefix = res.data.imgPrefix;\n            _this.form.areaId = res.data.areaId || '';\n            _this.form.areaName = [res.data.provinceName, res.data.cityName, res.data.districtName].filter(Boolean).join('/');\n            _this.form.name = res.data.name || '';\n            _this.form.idcard = res.data.idcard || '';\n            _this.form.maritalStatus = res.data.maritalStatus !== undefined ? String(res.data.maritalStatus) : '';\n            _this.form.livePlace = res.data.livePlace || '';\n            _this.form.aliAccount = res.data.aliAccount || '';\n            _this.form.aliName = res.data.aliName || '';\n            _this.form.idcardImg = res.data.idcardImg || '';\n            _this.form.idcardImgBack = res.data.idcardImgBack || '';\n            _this.form.cardStartDate = res.data.cardStartDate ? res.data.cardStartDate.split(' ')[0] : '';\n            _this.form.cardEndDate = res.data.cardEndDate ? res.data.cardEndDate.split(' ')[0] : '';\n            _this.vehicleForm.plateNumber = res.data.carCode || '';\n            _this.vehicleForm.carType = res.data.carType || '';\n            _this.vehicleForm.color = res.data.carColor || '';\n            if (_this.carTypeList.length > 0) {\n              var selectedCarType = _this.carTypeList.find(function (item) {\n                return item.id === res.data.carType;\n              });\n              _this.needLicense = selectedCarType && selectedCarType.otherField === 1;\n            }\n            _this.previewImages.idcardImg = res.data.idcardImg ? res.data.imgPrefix + res.data.idcardImg : '';\n            _this.previewImages.idcardImgBack = res.data.idcardImgBack ? res.data.imgPrefix + res.data.idcardImgBack : '';\n            _this.form.carImgUrls = (res.data.carImgList || []).map(function (item) {\n              return item.fileurl;\n            });\n            _this.form.licenseImgUrls = (res.data.licenseImgList || []).map(function (item) {\n              return item.fileurl;\n            });\n            _this.form.otherImgUrls = (res.data.otherImgList || []).map(function (item) {\n              return item.fileurl;\n            });\n            _this.previewImages.carImgUrls = (res.data.carImgList || []).map(function (item) {\n              return res.data.imgPrefix + item.fileurl;\n            });\n            _this.previewImages.licenseImgUrls = (res.data.licenseImgList || []).map(function (item) {\n              return res.data.imgPrefix + item.fileurl;\n            });\n            _this.previewImages.otherImgUrls = (res.data.otherImgList || []).map(function (item) {\n              return res.data.imgPrefix + item.fileurl;\n            });\n          }\n        }\n      });\n    },\n    confirmMarital: function confirmMarital(e) {\n      var value = e.value[0].value;\n      this.form.maritalStatus = value;\n      this.showMaritalPicker = false;\n    },\n    handleUpload: function handleUpload(field) {\n      var _this2 = this;\n      var maxCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n      var currentList = this.previewImages[field];\n      var currentCount = Array.isArray(currentList) ? currentList.length : currentList ? 1 : 0;\n      if (currentCount >= maxCount) {\n        uni.showToast({\n          title: \"\\u6700\\u591A\\u4E0A\\u4F20\".concat(maxCount, \"\\u5F20\"),\n          icon: 'none'\n        });\n        return;\n      }\n      uni.chooseImage({\n        count: maxCount,\n        sizeType: ['compressed'],\n        sourceType: ['album', 'camera'],\n        success: function success(res) {\n          var allTempPaths = res.tempFilePaths;\n          var remaining = maxCount - currentCount;\n          var tempFilePaths = allTempPaths.slice(0, remaining);\n          _this2.uploadFiles(field, tempFilePaths, maxCount);\n        }\n      });\n    },\n    uploadFiles: function uploadFiles(field, tempFilePaths, maxCount) {\n      var _this3 = this;\n      var uploadPath = this.uploadPaths[field];\n      var uploadedCount = 0;\n      var isSingle = maxCount === 1;\n      uni.showLoading({\n        title: '涓婁紶涓�...'\n      });\n      tempFilePaths.forEach(function (tempPath, index) {\n        uni.uploadFile({\n          url: _this3.$baseUrl + '/web/public/upload',\n          filePath: tempPath,\n          name: 'file',\n          formData: {\n            folder: 'driver'\n          },\n          success: function success(uploadRes) {\n            var data = JSON.parse(uploadRes.data);\n            if (data.code === 200) {\n              var fullUrl = data.data;\n              __f__(\"log\", fullUrl, \" at pages/driver-certification/driver-certification.vue:436\");\n              if (isSingle) {\n                _this3.form[field] = fullUrl.imgaddr;\n                _this3.previewImages[field] = fullUrl.url;\n              } else {\n                _this3.form[field].push(fullUrl.imgaddr);\n                _this3.previewImages[field].push(fullUrl.url);\n              }\n            }\n            uploadedCount++;\n            if (uploadedCount === tempFilePaths.length) {\n              uni.hideLoading();\n            }\n          },\n          fail: function fail() {\n            uploadedCount++;\n            uni.showToast({\n              title: '涓婁紶澶辫触',\n              icon: 'none'\n            });\n            if (uploadedCount === tempFilePaths.length) {\n              uni.hideLoading();\n            }\n          }\n        });\n      });\n    },\n    getFullPath: function getFullPath(halfPath) {\n      if (!halfPath) return '';\n      if (halfPath.startsWith('http')) return halfPath;\n      var baseUrl = this.$baseUrl || '';\n      return baseUrl + halfPath;\n    },\n    previewImg: function previewImg(field, index) {\n      var urls = Array.isArray(this.previewImages[field]) ? this.previewImages[field] : [this.previewImages[field]];\n      uni.previewImage({\n        current: index,\n        urls: urls\n      });\n    },\n    removeImg: function removeImg(field, index) {\n      var isSingle = !Array.isArray(this.form[field]);\n      if (isSingle) {\n        this.form[field] = '';\n        this.previewImages[field] = '';\n      } else {\n        this.form[field].splice(index, 1);\n        this.previewImages[field].splice(index, 1);\n      }\n    },\n    removeImage: function removeImage(field) {\n      this.form[field] = '';\n      this.previewImages[field] = '';\n    },\n    getCategoryList: function getCategoryList() {\n      var _this4 = this;\n      this.$u.api.getCategoryList({\n        type: 1\n      }).then(function (res) {\n        if (res.code === 200) {\n          _this4.carTypeList = res.data;\n          _this4.carTypeColumns = [_this4.carTypeList.map(function (item) {\n            return {\n              id: item.id,\n              text: item.name\n            };\n          })];\n          if (_this4.vehicleForm.carType) {\n            var selectedCarType = _this4.carTypeList.find(function (item) {\n              return item.id === _this4.vehicleForm.carType;\n            });\n            _this4.needLicense = selectedCarType && selectedCarType.otherField === 1;\n          }\n        }\n      });\n    },\n    getCarTypeText: function getCarTypeText(value) {\n      if (!value) return '璇烽�夋嫨';\n      var item = this.carTypeList.find(function (option) {\n        return option.id === value;\n      });\n      return item ? item.name : '璇烽�夋嫨';\n    },\n    confirmCarType: function confirmCarType(e) {\n      var _e$value$ = e.value[0],\n        id = _e$value$.id,\n        text = _e$value$.text;\n      this.vehicleForm.carType = id;\n      var selectedCarType = this.carTypeList.find(function (item) {\n        return item.id === id;\n      });\n      __f__(\"log\", selectedCarType, \" at pages/driver-certification/driver-certification.vue:513\");\n      this.needLicense = selectedCarType && selectedCarType.otherField === '1';\n      this.showCarTypePicker = false;\n    },\n    openDatePicker: function openDatePicker(mode) {\n      this.datePickerMode = mode;\n      if (mode === 'end' && this.form.cardStartDate) {\n        this.datePickerValue = new Date(this.form.cardStartDate).getTime();\n      } else {\n        this.datePickerValue = Number(new Date());\n      }\n      this.showDatePicker = true;\n    },\n    confirmDate: function confirmDate(e) {\n      var date = this.formatDate(e.value);\n      if (this.datePickerMode === 'start') {\n        this.form.cardStartDate = date;\n      } else {\n        this.form.cardEndDate = date;\n      }\n      this.showDatePicker = false;\n    },\n    formatDate: function formatDate(timestamp) {\n      var date = new Date(timestamp);\n      var year = date.getFullYear();\n      var month = String(date.getMonth() + 1).padStart(2, '0');\n      var day = String(date.getDate()).padStart(2, '0');\n      return \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n    },\n    getAreaList: function getAreaList() {\n      var _this5 = this;\n      this.$u.api.treeList({\n        type: 0,\n        flag: 1\n      }).then(function (res) {\n        if (res.code === 200) {\n          _this5.areaList = res.data;\n          _this5.areaColumns[0] = _this5.areaList.map(function (item) {\n            return {\n              id: item.id,\n              text: item.name\n            };\n          });\n          _this5.areaColumns[1] = _this5.areaList[0].childList.map(function (item) {\n            return {\n              id: item.id,\n              text: item.name\n            };\n          });\n          _this5.areaColumns[2] = _this5.areaList[0].childList[0].childList.map(function (item) {\n            return {\n              id: item.id,\n              text: item.name\n            };\n          });\n        }\n      });\n    },\n    changeAreaHandler: function changeAreaHandler(e) {\n      var columnIndex = e.columnIndex,\n        indexs = e.indexs,\n        _e$picker = e.picker,\n        picker = _e$picker === void 0 ? this.$refs.uPicker : _e$picker;\n      if (columnIndex === 0) {\n        var city = this.areaList[indexs[0]].childList.map(function (item) {\n          return {\n            id: item.id,\n            text: item.name\n          };\n        });\n        var qu = this.areaList[indexs[0]].childList[0].childList.map(function (item) {\n          return {\n            id: item.id,\n            text: item.name\n          };\n        });\n        picker.setColumnValues(1, city);\n        picker.setColumnValues(2, qu);\n      } else if (columnIndex === 1) {\n        var _qu = this.areaList[indexs[0]].childList[indexs[1]].childList.map(function (item) {\n          return {\n            id: item.id,\n            text: item.name\n          };\n        });\n        picker.setColumnValues(2, _qu);\n      }\n    },\n    confirmArea: function confirmArea(e) {\n      this.form.areaId = e.value[e.value.length - 1].id;\n      this.form.areaName = e.value[0].text + '/' + e.value[1].text + '/' + e.value[2].text;\n      this.showAreaPicker = false;\n    },\n    handlePrimaryAction: function handlePrimaryAction() {\n      if (this.currentStep === 1) {\n        if (!this.validateStep1()) return;\n        this.scrollToTop();\n        this.currentStep = 2;\n      } else {\n        if (!this.isAgreed) {\n          uni.showToast({\n            title: '璇峰厛鍚屾剰鍗忚',\n            icon: 'none'\n          });\n          return;\n        }\n        this.submitVerify();\n      }\n    },\n    validateStep1: function validateStep1() {\n      if (!this.form.name) {\n        uni.showToast({\n          title: '璇疯緭鍏ュ徃鏈哄鍚�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.idcard) {\n        uni.showToast({\n          title: '璇疯緭鍏ヨ韩浠借瘉鍙�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.maritalStatus && this.form.maritalStatus !== 0) {\n        uni.showToast({\n          title: '璇烽�夋嫨濠氬Щ鐘跺喌',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.areaId) {\n        uni.showToast({\n          title: '璇烽�夋嫨灞呬綇鍩庡競',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.livePlace) {\n        uni.showToast({\n          title: '璇疯緭鍏ヨ缁嗗湴鍧�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.aliAccount) {\n        uni.showToast({\n          title: '璇疯緭鍏ユ敮浠樺疂璐﹀彿',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.aliName) {\n        uni.showToast({\n          title: '璇疯緭鍏ユ敮浠樺疂濮撳悕',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.idcardImg) {\n        uni.showToast({\n          title: '璇蜂笂浼犺韩浠借瘉浜哄儚闈�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.idcardImgBack) {\n        uni.showToast({\n          title: '璇蜂笂浼犺韩浠借瘉鍥藉窘闈�',\n          icon: 'none'\n        });\n        return false;\n      }\n      return true;\n    },\n    validateStep2: function validateStep2() {\n      if (!this.vehicleForm.plateNumber) {\n        uni.showToast({\n          title: '璇疯緭鍏ヨ溅鐗屽彿',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.vehicleForm.carType) {\n        uni.showToast({\n          title: '璇烽�夋嫨杞﹁締绫诲瀷',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.vehicleForm.color) {\n        uni.showToast({\n          title: '璇疯緭鍏ヨ溅杈嗛鑹�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (this.form.carImgUrls.length === 0) {\n        uni.showToast({\n          title: '璇蜂笂浼犺溅杈嗙収鐗�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (this.needLicense && this.form.licenseImgUrls.length === 0) {\n        uni.showToast({\n          title: '璇蜂笂浼犻┚椹惰瘉鐓х墖',\n          icon: 'none'\n        });\n        return false;\n      }\n      return true;\n    },\n    submitVerify: function submitVerify() {\n      if (!this.validateStep2()) return;\n      uni.showLoading({\n        title: '鎻愪氦涓�...'\n      });\n      var submitData = _objectSpread(_objectSpread({}, this.form), {}, {\n        carType: this.vehicleForm.carType,\n        carColor: this.vehicleForm.color,\n        carCode: this.vehicleForm.plateNumber,\n        carImgUrls: this.form.carImgUrls || [],\n        licenseImgUrls: this.form.licenseImgUrls || [],\n        otherImgUrls: this.form.otherImgUrls || []\n      });\n      __f__(\"log\", submitData, \" at pages/driver-certification/driver-certification.vue:689\");\n      this.$u.api.submitVerify(submitData).then(function (res) {\n        uni.hideLoading();\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鎻愪氦鎴愬姛',\n            icon: 'success'\n          });\n          setTimeout(function () {\n            uni.navigateBack();\n          }, 1500);\n        }\n      });\n    },\n    goPrevStep: function goPrevStep() {\n      this.scrollToTop();\n      this.currentStep = 1;\n    },\n    scrollToTop: function scrollToTop() {\n      uni.pageScrollTo({\n        scrollTop: 0,\n        duration: 0\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvZHJpdmVyLWNlcnRpZmljYXRpb24vZHJpdmVyLWNlcnRpZmljYXRpb24udnVlIl0sIm5hbWVzIjpbImRhdGEiLCJzaG93QXJlYVBpY2tlciIsInNob3dNYXJpdGFsUGlja2VyIiwibWFyaXRhbE9wdGlvbnMiLCJ2YWx1ZSIsInRleHQiLCJhcmVhTGlzdCIsImFyZWFDb2x1bW5zIiwiY3VycmVudFN0ZXAiLCJmb3JtIiwiYXJlYUlkIiwiYXJlYU5hbWUiLCJuYW1lIiwiaWRjYXJkIiwibWFyaXRhbFN0YXR1cyIsImxpdmVQbGFjZSIsImFsaUFjY291bnQiLCJhbGlOYW1lIiwiaWRjYXJkSW1nIiwiaWRjYXJkSW1nQmFjayIsImNhckNvZGUiLCJjYXJUeXBlIiwiY2FyQ29sb3IiLCJjYXJkU3RhcnREYXRlIiwiY2FyZEVuZERhdGUiLCJjYXJJbWdVcmxzIiwibGljZW5zZUltZ1VybHMiLCJvdGhlckltZ1VybHMiLCJ2ZWhpY2xlRm9ybSIsInBsYXRlTnVtYmVyIiwiY29sb3IiLCJuZWVkTGljZW5zZSIsInNob3dDYXJUeXBlUGlja2VyIiwiY2FyVHlwZUxpc3QiLCJjYXJUeXBlQ29sdW1ucyIsInNob3dEYXRlUGlja2VyIiwiZGF0ZVBpY2tlck1vZGUiLCJkYXRlUGlja2VyVmFsdWUiLCJ1cGxvYWRQYXRocyIsInByZXZpZXdJbWFnZXMiLCJpc0FncmVlZCIsImltZ1ByZWZpeCIsImNvbXB1dGVkIiwib25Mb2FkIiwibWV0aG9kcyIsImdldE1hcml0YWxTdGF0dXNUZXh0IiwiZ2V0VmVyaWZ5RGV0YWlsIiwiY29uZmlybU1hcml0YWwiLCJoYW5kbGVVcGxvYWQiLCJ1bmkiLCJ0aXRsZSIsImljb24iLCJjb3VudCIsInNpemVUeXBlIiwic291cmNlVHlwZSIsInN1Y2Nlc3MiLCJ1cGxvYWRGaWxlcyIsInRlbXBGaWxlUGF0aHMiLCJ1cmwiLCJmaWxlUGF0aCIsImZvcm1EYXRhIiwiZm9sZGVyIiwidXBsb2FkZWRDb3VudCIsImZhaWwiLCJnZXRGdWxsUGF0aCIsInByZXZpZXdJbWciLCJjdXJyZW50IiwidXJscyIsInJlbW92ZUltZyIsInJlbW92ZUltYWdlIiwiZ2V0Q2F0ZWdvcnlMaXN0IiwidHlwZSIsImlkIiwiZ2V0Q2FyVHlwZVRleHQiLCJjb25maXJtQ2FyVHlwZSIsIm9wZW5EYXRlUGlja2VyIiwiY29uZmlybURhdGUiLCJmb3JtYXREYXRlIiwiZ2V0QXJlYUxpc3QiLCJmbGFnIiwiY2hhbmdlQXJlYUhhbmRsZXIiLCJpbmRleHMiLCJwaWNrZXIiLCJjb25maXJtQXJlYSIsImhhbmRsZVByaW1hcnlBY3Rpb24iLCJ2YWxpZGF0ZVN0ZXAxIiwidmFsaWRhdGVTdGVwMiIsInN1Ym1pdFZlcmlmeSIsInNldFRpbWVvdXQiLCJnb1ByZXZTdGVwIiwic2Nyb2xsVG9Ub3AiLCJzY3JvbGxUb3AiLCJkdXJhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUF1UkE7QUFBQTtBQUFBO0FBQUEsZUFDQTtFQUNBQTtJQUNBO01BQ0FDO01BQ0FDO01BQ0FDLGlCQUNBO1FBQUFDO1FBQUFDO01BQUEsR0FDQTtRQUFBRDtRQUFBQztNQUFBLEdBQ0E7UUFBQUQ7UUFBQUM7TUFBQSxHQUNBO1FBQUFEO1FBQUFDO01BQUEsRUFDQTtNQUNBQztNQUNBQztNQUNBQztNQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztRQUNBQztNQUNBO01BQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FUO01BQ0E7TUFDQVU7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQXBCO1FBQ0FDO1FBQ0FNO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQVk7UUFDQXJCO1FBQ0FDO1FBQ0FNO1FBQ0FDO1FBQ0FDO01BQ0E7TUFDQWE7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDLDRCQUNBLGtDQUNBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7RUFDQUM7SUFDQUM7TUFDQTtNQUNBO1FBQUE7TUFBQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0E7VUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7Y0FDQTtnQkFBQTtjQUFBO2NBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtjQUFBO1lBQUE7WUFDQTtjQUFBO1lBQUE7WUFDQTtjQUFBO1lBQUE7WUFDQTtjQUFBO1lBQUE7WUFDQTtjQUFBO1lBQUE7WUFDQTtjQUFBO1lBQUE7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFBQTtNQUNBO01BQ0E7TUFDQTtRQUNBQztVQUFBQztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBRjtRQUNBRztRQUNBQztRQUNBQztRQUNBQztVQUNBO1VBQ0E7VUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtNQUNBO01BQ0E7TUFDQVA7UUFBQUM7TUFBQTtNQUNBTztRQUNBUjtVQUNBUztVQUNBQztVQUNBL0M7VUFDQWdEO1lBQ0FDO1VBQ0E7VUFDQU47WUFDQTtZQUNBO2NBQ0E7Y0FDQTtjQUNBO2dCQUNBO2dCQUNBO2NBQ0E7Z0JBQ0E7Z0JBQ0E7Y0FDQTtZQUNBO1lBQ0FPO1lBQ0E7Y0FDQWI7WUFDQTtVQUNBO1VBQ0FjO1lBQ0FEO1lBQ0FiO2NBQUFDO2NBQUFDO1lBQUE7WUFDQTtjQUNBRjtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQWU7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQWhCO1FBQ0FpQjtRQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQUFDO01BQUE7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUNBQztjQUNBbkU7WUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUFBO1lBQUE7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FvRTtNQUNBO01BQ0E7UUFBQTtNQUFBO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQUFGO1FBQUFuRTtNQUNBO01BQ0E7UUFBQTtNQUFBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQXNFO01BQ0E7TUFDQTtRQUNBO01BQ0E7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFBQTtNQUNBO1FBQ0FQO1FBQ0FRO01BQ0E7UUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUNBUDtjQUNBbkU7WUFDQTtVQUNBO1VBQ0E7WUFDQTtjQUNBbUU7Y0FDQW5FO1lBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FDQW1FO2NBQ0FuRTtZQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQTJFO01BQ0E7UUFBQUM7UUFBQTtRQUFBQztNQUNBO1FBQ0E7VUFDQTtZQUNBVjtZQUNBbkU7VUFDQTtRQUNBO1FBQ0E7VUFDQTtZQUNBbUU7WUFDQW5FO1VBQ0E7UUFDQTtRQUNBNkU7UUFDQUE7TUFDQTtRQUNBO1VBQ0E7WUFDQVY7WUFDQW5FO1VBQ0E7UUFDQTtRQUNBNkU7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO1FBQ0E7VUFDQW5DO1lBQUFDO1lBQUFDO1VBQUE7VUFDQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FrQztNQUNBO1FBQ0FwQztVQUFBQztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBO1FBQ0FGO1VBQUFDO1VBQUFDO1FBQUE7UUFDQTtNQUNBO01BQ0E7UUFDQUY7VUFBQUM7VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQTtRQUNBRjtVQUFBQztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBO1FBQ0FGO1VBQUFDO1VBQUFDO1FBQUE7UUFDQTtNQUNBO01BQ0E7UUFDQUY7VUFBQUM7VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQTtRQUNBRjtVQUFBQztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBO1FBQ0FGO1VBQUFDO1VBQUFDO1FBQUE7UUFDQTtNQUNBO01BQ0E7UUFDQUY7VUFBQUM7VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FtQztNQUNBO1FBQ0FyQztVQUFBQztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBO1FBQ0FGO1VBQUFDO1VBQUFDO1FBQUE7UUFDQTtNQUNBO01BQ0E7UUFDQUY7VUFBQUM7VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQTtRQUNBRjtVQUFBQztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBO1FBQ0FGO1VBQUFDO1VBQUFDO1FBQUE7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBb0M7TUFDQTtNQUNBdEM7UUFBQUM7TUFBQTtNQUNBLGlEQUNBO1FBQ0E3QjtRQUNBQztRQUNBRjtRQUNBSztRQUNBQztRQUNBQztNQUFBLEVBQ0E7TUFDQTtNQUNBO1FBQ0FzQjtRQUNBO1VBQ0FBO1lBQUFDO1lBQUFDO1VBQUE7VUFDQXFDO1lBQ0F2QztVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0F3QztNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBekM7UUFDQTBDO1FBQ0FDO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxNDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlXCI+XHJcblx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXBzXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fc3RlcFwiXHJcblx0XHRcdFx0OmNsYXNzPVwieyAnZHJpdmVyLWNlcnQtcGFnZV9fc3RlcC0tYWN0aXZlJzogY3VycmVudFN0ZXAgPT09IDEsICdkcml2ZXItY2VydC1wYWdlX19zdGVwLS1kb25lJzogY3VycmVudFN0ZXAgPiAxIH1cIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtY2lyY2xlXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtY2lyY2xlLWlubmVyXCI+XHJcblx0XHRcdFx0XHRcdDx1LWljb24gdi1pZj1cImN1cnJlbnRTdGVwID4gMVwiIG5hbWU9XCJjaGVja2JveC1tYXJrXCIgY29sb3I9XCIjZmZmZmZmXCIgc2l6ZT1cIjEwXCI+PC91LWljb24+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fc3RlcC10ZXh0XCJcclxuXHRcdFx0XHRcdDpjbGFzcz1cInsgJ2RyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtdGV4dC0tYWN0aXZlJzogY3VycmVudFN0ZXAgPT09IDEsICdkcml2ZXItY2VydC1wYWdlX19zdGVwLXRleHQtLWRvbmUnOiBjdXJyZW50U3RlcCA+IDEgfVwiPuWfuuacrOS/oeaBrzwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zdGVwLWxpbmVcIj48L3ZpZXc+XHJcblxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXBcIiA6Y2xhc3M9XCJ7ICdkcml2ZXItY2VydC1wYWdlX19zdGVwLS1hY3RpdmUnOiBjdXJyZW50U3RlcCA9PT0gMiB9XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zdGVwLWNpcmNsZVwiXHJcblx0XHRcdFx0XHQ6Y2xhc3M9XCJ7ICdkcml2ZXItY2VydC1wYWdlX19zdGVwLWNpcmNsZS0taW5hY3RpdmUnOiBjdXJyZW50U3RlcCAhPT0gMiB9XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtY2lyY2xlLWlubmVyXCI+e3sgY3VycmVudFN0ZXAgPT09IDIgPyAnJyA6ICcyJyB9fTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zdGVwLXRleHRcIlxyXG5cdFx0XHRcdFx0OmNsYXNzPVwieyAnZHJpdmVyLWNlcnQtcGFnZV9fc3RlcC10ZXh0LS1hY3RpdmUnOiBjdXJyZW50U3RlcCA9PT0gMiB9XCI+6L2m6L6G5L+h5oGvPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zY3JvbGxcIj5cclxuXHRcdFx0PHZpZXcgdi1pZj1cImN1cnJlbnRTdGVwID09PSAxXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkXCI+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX190aXRsZVwiPuWfuuacrOS/oeaBrzwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX21vYmlsZVwiPuazqOWGjOaJi+acuuWPt++8mnt7IHVzZXJJbmZvLnRlbGVwaG9uZSB8fCAnJyB9fTwvdGV4dD5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19maWVsZFwiPlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPuWPuOacuuWnk+WQjTwvdGV4dD5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fcmVxdWlyZWRcIj4qPC90ZXh0PlxyXG5cdFx0XHRcdFx0PGlucHV0IHYtbW9kZWw9XCJmb3JtLm5hbWVcIiBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2lucHV0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlj7jmnLrlp5PlkI1cIlxyXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlci1zdHlsZT1cImNvbG9yOiAjYjliZmM4O1wiIC8+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkXCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+6Lqr5Lu96K+B5Y+3PC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cImlkY2FyZFwiIG1heGxlbmd0aD1cIjE4XCIgdi1tb2RlbD1cImZvcm0uaWRjYXJkXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19pbnB1dFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5Y+45py66Lqr5Lu96K+B5Y+356CBXCJcclxuXHRcdFx0XHRcdFx0cGxhY2Vob2xkZXItc3R5bGU9XCJjb2xvcjogI2I5YmZjODtcIiAvPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19maWVsZCBkcml2ZXItY2VydC1jYXJkX19maWVsZC0tc2VsZWN0XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkLWhlYWRcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPuWpmuWnu+eKtuWGtTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3NlbGVjdG9yXCIgQGNsaWNrPVwic2hvd01hcml0YWxQaWNrZXIgPSB0cnVlXCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fc2VsZWN0b3ItdGV4dFwiIDpzdHlsZT1cInsgY29sb3I6IGZvcm0ubWFyaXRhbFN0YXR1cyAhPT0gJycgPyAnIzMzMzMzMycgOiAnI2I5YmZjOCcgfVwiPnt7IGdldE1hcml0YWxTdGF0dXNUZXh0KGZvcm0ubWFyaXRhbFN0YXR1cykgfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fYXJyb3dcIj7igLo8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkIGRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkLS1zZWxlY3RcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fZmllbGQtaGVhZFwiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+5bGF5L2P5Z+O5biCPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3JlcXVpcmVkXCI+KjwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fc2VsZWN0b3JcIiBAY2xpY2s9XCJzaG93QXJlYVBpY2tlciA9IHRydWVcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19zZWxlY3Rvci10ZXh0XCIgOnN0eWxlPVwieyBjb2xvcjogZm9ybS5hcmVhTmFtZSA/ICcjMzMzMzMzJyA6ICcjYjliZmM4JyB9XCI+e3sgZm9ybS5hcmVhTmFtZSB8fCAn6K+36YCJ5oup55yB5biC5Yy6JyB9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19hcnJvd1wiPuKAujwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fZmllbGRcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fbGFiZWxcIj7or6bnu4blnLDlnYA8L3RleHQ+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3JlcXVpcmVkXCI+KjwvdGV4dD5cclxuXHRcdFx0XHRcdDxpbnB1dCB2LW1vZGVsPVwiZm9ybS5saXZlUGxhY2VcIiBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2lucHV0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXor6bnu4blsYXkvY/lnLDlnYBcIlxyXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlci1zdHlsZT1cImNvbG9yOiAjYjliZmM4O1wiIC8+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkXCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+5pSv5LuY5a6d6LSm5Y+3PC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8aW5wdXQgdi1tb2RlbD1cImZvcm0uYWxpQWNjb3VudFwiIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9faW5wdXRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaUtuasvuaUr+S7mOWunei0puWPt1wiXHJcblx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyLXN0eWxlPVwiY29sb3I6ICNiOWJmYzg7XCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fZmllbGRcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fbGFiZWxcIj7mlK/ku5jlrp3lp5PlkI08L3RleHQ+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3JlcXVpcmVkXCI+KjwvdGV4dD5cclxuXHRcdFx0XHRcdDxpbnB1dCB2LW1vZGVsPVwiZm9ybS5hbGlOYW1lXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19pbnB1dFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5pSv5LuY5a6d5aeT5ZCNXCJcclxuXHRcdFx0XHRcdFx0cGxhY2Vob2xkZXItc3R5bGU9XCJjb2xvcjogI2I5YmZjODtcIiAvPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtYmxvY2tcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXRpdGxlLXJvd1wiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+6Lqr5Lu96K+B5q2j5Y+N6Z2iPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3JlcXVpcmVkXCI+KjwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1saXN0XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWl0ZW1cIiBAY2xpY2s9XCJoYW5kbGVVcGxvYWQoJ2lkY2FyZEltZycsIDEpXCIgc3R5bGU9XCJoZWlnaHQ6IDE5NnJweDtcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1pZj1cInByZXZpZXdJbWFnZXMuaWRjYXJkSW1nXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1pbWdcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiIDpzcmM9XCJwcmV2aWV3SW1hZ2VzLmlkY2FyZEltZ1wiIG1vZGU9XCJoZWlnaHRGaXhcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtcmVtb3ZlXCIgQGNsaWNrLnN0b3A9XCJyZW1vdmVJbWFnZSgnaWRjYXJkSW1nJylcIj7liKDpmaQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1lbHNlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWljb25cIiBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2NhbWVyYUAyeC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXRleHRcIj7kuIrkvKDkurrlg4/pnaI8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1pdGVtXCIgQGNsaWNrPVwiaGFuZGxlVXBsb2FkKCdpZGNhcmRJbWdCYWNrJywgMSlcIiBzdHlsZT1cImhlaWdodDogMTk2cnB4O1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSB2LWlmPVwicHJldmlld0ltYWdlcy5pZGNhcmRJbWdCYWNrXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1pbWdcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiIDpzcmM9XCJwcmV2aWV3SW1hZ2VzLmlkY2FyZEltZ0JhY2tcIiBtb2RlPVwiaGVpZ2h0Rml4XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXJlbW92ZVwiIEBjbGljay5zdG9wPVwicmVtb3ZlSW1hZ2UoJ2lkY2FyZEltZ0JhY2snKVwiPuWIoOmZpDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSB2LWVsc2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaWNvblwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfY2FtZXJhQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtdGV4dFwiPuS4iuS8oOWbveW+vemdojwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHQ8dmlldyB2LWVsc2UgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkIGRyaXZlci1jZXJ0LWNhcmQtLXZlaGljbGVcIj5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3RpdGxlXCI+6L2m6L6G5L+h5oGvPC90ZXh0PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkXCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+6L2m54mM5Y+3PC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8aW5wdXQgdi1tb2RlbD1cInZlaGljbGVGb3JtLnBsYXRlTnVtYmVyXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19pbnB1dFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6L2m54mM5Y+3XCJcclxuXHRcdFx0XHRcdFx0cGxhY2Vob2xkZXItc3R5bGU9XCJjb2xvcjogI2I5YmZjODtcIiAvPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19maWVsZCBkcml2ZXItY2VydC1jYXJkX19maWVsZC0tc2VsZWN0XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkLWhlYWRcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPui9pui+huexu+WeizwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3NlbGVjdG9yXCIgQGNsaWNrPVwic2hvd0NhclR5cGVQaWNrZXIgPSB0cnVlXCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fc2VsZWN0b3ItdGV4dFwiIDpzdHlsZT1cInsgY29sb3I6IHZlaGljbGVGb3JtLmNhclR5cGUgPyAnIzMzMzMzMycgOiAnI2I5YmZjOCcgfVwiPnt7IGdldENhclR5cGVUZXh0KHZlaGljbGVGb3JtLmNhclR5cGUpIH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2Fycm93XCI+4oC6PC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19maWVsZFwiPlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPui9pui+huminOiJsjwvdGV4dD5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fcmVxdWlyZWRcIj4qPC90ZXh0PlxyXG5cdFx0XHRcdFx0PGlucHV0IHYtbW9kZWw9XCJ2ZWhpY2xlRm9ybS5jb2xvclwiIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9faW5wdXRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpei9pui+huminOiJslwiXHJcblx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyLXN0eWxlPVwiY29sb3I6ICNiOWJmYzg7XCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fZmllbGQgZHJpdmVyLWNlcnQtY2FyZF9fZmllbGQtLXNlbGVjdFwiIHN0eWxlPVwiYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkLWhlYWRcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPumpvumptuivgeacieaViOacn+i1tzwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3NlbGVjdG9yXCIgQGNsaWNrPVwib3BlbkRhdGVQaWNrZXIoJ3N0YXJ0JylcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19zZWxlY3Rvci10ZXh0XCIgOnN0eWxlPVwieyBjb2xvcjogZm9ybS5jYXJkU3RhcnREYXRlID8gJyMzMzMzMzMnIDogJyNiOWJmYzgnIH1cIj57eyBmb3JtLmNhcmRTdGFydERhdGUgfHwgJ+ivt+mAieaLqScgfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fYXJyb3dcIj7igLo8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkIGRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkLS1zZWxlY3RcIiBzdHlsZT1cImJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1wiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19maWVsZC1oZWFkXCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fbGFiZWxcIj7pqb7pqbbor4HmnInmlYjmnJ/mraI8L3RleHQ+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fcmVxdWlyZWRcIj4qPC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19zZWxlY3RvclwiIEBjbGljaz1cIm9wZW5EYXRlUGlja2VyKCdlbmQnKVwiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3NlbGVjdG9yLXRleHRcIiA6c3R5bGU9XCJ7IGNvbG9yOiBmb3JtLmNhcmRFbmREYXRlID8gJyMzMzMzMzMnIDogJyNiOWJmYzgnIH1cIj57eyBmb3JtLmNhcmRFbmREYXRlIHx8ICfor7fpgInmi6knIH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2Fycm93XCI+4oC6PC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtYmxvY2sgZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWJsb2NrLS1zdGFja2VkXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC10aXRsZS1yb3dcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPui9pui+hueFp+eJhzwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXRpcFwiPuacgOWkmuS4iuS8oDPlvKDnhafniYc8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1saXN0IGRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1saXN0LS1zaW5nbGVcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgdi1mb3I9XCIoaW1nLCBpbmRleCkgaW4gcHJldmlld0ltYWdlcy5jYXJJbWdVcmxzXCIgOmtleT1cImluZGV4XCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbSBkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbS0tc2luZ2xlXCIgQGNsaWNrPVwicHJldmlld0ltZygnY2FySW1nVXJscycsIGluZGV4KVwiPlxyXG5cdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1pbWFnZVwiIDpzcmM9XCJpbWdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtcmVtb3ZlXCIgQGNsaWNrLnN0b3A9XCJyZW1vdmVJbWcoJ2NhckltZ1VybHMnLCBpbmRleClcIj7liKDpmaQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInByZXZpZXdJbWFnZXMuY2FySW1nVXJscy5sZW5ndGggPCAzXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbSBkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbS0tc2luZ2xlXCIgQGNsaWNrPVwiaGFuZGxlVXBsb2FkKCdjYXJJbWdVcmxzJywgMylcIj5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaW1hZ2VcIiBzcmM9XCIvc3RhdGljL2ltYWdlL2J0bl91cGxvYWQyQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyB2LWlmPVwibmVlZExpY2Vuc2VcIiBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1ibG9jayBkcml2ZXItY2VydC1jYXJkX191cGxvYWQtYmxvY2stLXN0YWNrZWRcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXRpdGxlLXJvd1wiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+6am+6am26K+B54Wn54mHPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3JlcXVpcmVkXCI+KjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtdGlwXCI+5pyA5aSa5LiK5LygM+W8oOeFp+eJhzwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWxpc3QgZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWxpc3QtLXNpbmdsZVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWZvcj1cIihpbWcsIGluZGV4KSBpbiBwcmV2aWV3SW1hZ2VzLmxpY2Vuc2VJbWdVcmxzXCIgOmtleT1cImluZGV4XCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbSBkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbS0tc2luZ2xlXCIgQGNsaWNrPVwicHJldmlld0ltZygnbGljZW5zZUltZ1VybHMnLCBpbmRleClcIj5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaW1hZ2VcIiA6c3JjPVwiaW1nXCIgbW9kZT1cImFzcGVjdEZpbGxcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXJlbW92ZVwiIEBjbGljay5zdG9wPVwicmVtb3ZlSW1nKCdsaWNlbnNlSW1nVXJscycsIGluZGV4KVwiPuWIoOmZpDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicHJldmlld0ltYWdlcy5saWNlbnNlSW1nVXJscy5sZW5ndGggPCAzXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbSBkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbS0tc2luZ2xlXCIgQGNsaWNrPVwiaGFuZGxlVXBsb2FkKCdsaWNlbnNlSW1nVXJscycsIDMpXCI+XHJcblx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWltYWdlXCIgc3JjPVwiL3N0YXRpYy9pbWFnZS9idG5fdXBsb2FkMkAyeC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtYmxvY2sgZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWJsb2NrLS1zdGFja2VkXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC10aXRsZS1yb3dcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPuWFtuS7luadkOaWmTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtdGlwXCI+5pyA5aSa5LiK5LygM+W8oOeFp+eJhzwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWxpc3QgZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWxpc3QtLXNpbmdsZVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWZvcj1cIihpbWcsIGluZGV4KSBpbiBwcmV2aWV3SW1hZ2VzLm90aGVySW1nVXJsc1wiIDprZXk9XCJpbmRleFwiIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWl0ZW0gZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWl0ZW0tLXNpbmdsZVwiIEBjbGljaz1cInByZXZpZXdJbWcoJ290aGVySW1nVXJscycsIGluZGV4KVwiPlxyXG5cdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1pbWFnZVwiIDpzcmM9XCJpbWdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtcmVtb3ZlXCIgQGNsaWNrLnN0b3A9XCJyZW1vdmVJbWcoJ290aGVySW1nVXJscycsIGluZGV4KVwiPuWIoOmZpDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicHJldmlld0ltYWdlcy5vdGhlckltZ1VybHMubGVuZ3RoIDwgM1wiIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWl0ZW0gZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWl0ZW0tLXNpbmdsZVwiIEBjbGljaz1cImhhbmRsZVVwbG9hZCgnb3RoZXJJbWdVcmxzJywgMylcIj5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaW1hZ2VcIiBzcmM9XCIvc3RhdGljL2ltYWdlL2J0bl91cGxvYWQyQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fYm90dG9tLWJhclwiPlxyXG5cdFx0XHQ8dmlldyB2LWlmPVwiY3VycmVudFN0ZXAgPT09IDJcIiBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX2FncmVlbWVudFwiIEBjbGljaz1cImlzQWdyZWVkID0gIWlzQWdyZWVkXCI+XHJcblx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fYWdyZWVtZW50LWljb25cIiA6c3JjPVwiaXNBZ3JlZWQgPyAnL3N0YXRpYy9pbWFnZS9pY19hY2NlcHRfc2VsQDJ4LnBuZycgOiAnL3N0YXRpYy9pbWFnZS9pY19hY2NlcHRAMngucG5nJ1wiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19hZ3JlZW1lbnQtdGV4dFwiPuaIkeW3sumYheivu+W5tuWQjOaEj+OAiumjjumZqeWjsOaYjuOAi+OAgeOAiuihjOadjuWvhOWtmOWRmOmhu+efpeOAi+WPiuOAiuacjeWKoeWNj+iuruOAizwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19hY3Rpb25zXCIgOmNsYXNzPVwieyAnZHJpdmVyLWNlcnQtcGFnZV9fYWN0aW9ucy0tZHVhbCc6IGN1cnJlbnRTdGVwID09PSAyIH1cIj5cclxuXHRcdFx0XHQ8YnV0dG9uIHYtaWY9XCJjdXJyZW50U3RlcCA9PT0gMlwiIGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fc3VibWl0IGRyaXZlci1jZXJ0LXBhZ2VfX3N1Ym1pdC0tZ2hvc3RcIlxyXG5cdFx0XHRcdFx0aG92ZXItY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zdWJtaXQtLWhvdmVyXCIgQGNsaWNrPVwiZ29QcmV2U3RlcFwiPuS4iuS4gOatpTwvYnV0dG9uPlxyXG5cdFx0XHRcdDxidXR0b24gY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zdWJtaXRcIiBob3Zlci1jbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N1Ym1pdC0taG92ZXJcIlxyXG5cdFx0XHRcdFx0QGNsaWNrPVwiaGFuZGxlUHJpbWFyeUFjdGlvblwiPnt7IGN1cnJlbnRTdGVwID09PSAxID8gJ+S4i+S4gOatpScgOiAn5o+Q5Lqk6K6k6K+B55Sz6K+3JyB9fTwvYnV0dG9uPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PHUtcGlja2VyXHJcblx0XHRcdDpzaG93PVwic2hvd0FyZWFQaWNrZXJcIlxyXG5cdFx0XHR2LWlmPVwiYXJlYUxpc3QgJiYgYXJlYUxpc3QubGVuZ3RoID4gMFwiXHJcblx0XHRcdHJlZj1cInVQaWNrZXJcIlxyXG5cdFx0XHRjb25maXJtQ29sb3I9XCIjMTBCMkZBXCJcclxuXHRcdFx0a2V5TmFtZT1cInRleHRcIlxyXG5cdFx0XHQ6Y29sdW1ucz1cImFyZWFDb2x1bW5zXCJcclxuXHRcdFx0QGNvbmZpcm09XCJjb25maXJtQXJlYVwiXHJcblx0XHRcdEBjaGFuZ2U9XCJjaGFuZ2VBcmVhSGFuZGxlclwiXHJcblx0XHRcdEBjYW5jZWw9XCJzaG93QXJlYVBpY2tlciA9IGZhbHNlXCIgLz5cclxuXHJcblx0XHQ8dS1waWNrZXJcclxuXHRcdFx0OnNob3c9XCJzaG93TWFyaXRhbFBpY2tlclwiXHJcblx0XHRcdGNvbmZpcm1Db2xvcj1cIiMxMEIyRkFcIlxyXG5cdFx0XHRrZXlOYW1lPVwidGV4dFwiXHJcblx0XHRcdDpjb2x1bW5zPVwiW21hcml0YWxPcHRpb25zXVwiXHJcblx0XHRcdEBjb25maXJtPVwiY29uZmlybU1hcml0YWxcIlxyXG5cdFx0XHRAY2FuY2VsPVwic2hvd01hcml0YWxQaWNrZXIgPSBmYWxzZVwiIC8+XHJcblxyXG5cdFx0PHUtcGlja2VyXHJcblx0XHRcdDpzaG93PVwic2hvd0NhclR5cGVQaWNrZXJcIlxyXG5cdFx0XHR2LWlmPVwiY2FyVHlwZUxpc3QgJiYgY2FyVHlwZUxpc3QubGVuZ3RoID4gMFwiXHJcblx0XHRcdGNvbmZpcm1Db2xvcj1cIiMxMEIyRkFcIlxyXG5cdFx0XHRrZXlOYW1lPVwidGV4dFwiXHJcblx0XHRcdDpjb2x1bW5zPVwiY2FyVHlwZUNvbHVtbnNcIlxyXG5cdFx0XHRAY29uZmlybT1cImNvbmZpcm1DYXJUeXBlXCJcclxuXHRcdFx0QGNhbmNlbD1cInNob3dDYXJUeXBlUGlja2VyID0gZmFsc2VcIiAvPlxyXG5cclxuXHRcdDx1LWRhdGV0aW1lLXBpY2tlclxyXG5cdFx0XHQ6c2hvdz1cInNob3dEYXRlUGlja2VyXCJcclxuXHRcdFx0di1tb2RlbD1cImRhdGVQaWNrZXJWYWx1ZVwiXHJcblx0XHRcdG1vZGU9XCJkYXRlXCJcclxuXHRcdFx0Om1pbkRhdGU9XCJkYXRlUGlja2VyTW9kZSA9PT0gJ2VuZCcgPyB0aGlzLmZvcm0uY2FyZFN0YXJ0RGF0ZSA6IDBcIlxyXG5cdFx0XHRAY29uZmlybT1cImNvbmZpcm1EYXRlXCJcclxuXHRcdFx0QGNhbmNlbD1cInNob3dEYXRlUGlja2VyID0gZmFsc2VcIiAvPlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRzaG93QXJlYVBpY2tlcjogZmFsc2UsXHJcblx0XHRcdFx0c2hvd01hcml0YWxQaWNrZXI6IGZhbHNlLFxyXG5cdFx0XHRcdG1hcml0YWxPcHRpb25zOiBbXHJcblx0XHRcdFx0XHR7IHZhbHVlOiAnMCcsIHRleHQ6ICfmnKrlqZonIH0sXHJcblx0XHRcdFx0XHR7IHZhbHVlOiAnMScsIHRleHQ6ICflt7LlqZonIH0sXHJcblx0XHRcdFx0XHR7IHZhbHVlOiAnMicsIHRleHQ6ICfnprvlvIInIH0sXHJcblx0XHRcdFx0XHR7IHZhbHVlOiAnMycsIHRleHQ6ICfkuKflgbYnIH1cclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdGFyZWFMaXN0OiBbXSxcclxuXHRcdFx0XHRhcmVhQ29sdW1uczogW10sXHJcblx0XHRcdFx0Y3VycmVudFN0ZXA6IDEsXHJcblx0XHRcdFx0Zm9ybToge1xyXG5cdFx0XHRcdFx0YXJlYUlkOiAnJyxcclxuXHRcdFx0XHRcdGFyZWFOYW1lOiAnJyxcclxuXHRcdFx0XHRcdG5hbWU6ICcnLFxyXG5cdFx0XHRcdFx0aWRjYXJkOiAnJyxcclxuXHRcdFx0XHRcdG1hcml0YWxTdGF0dXM6ICcnLFxyXG5cdFx0XHRcdFx0bGl2ZVBsYWNlOiAnJyxcclxuXHRcdFx0XHRcdGFsaUFjY291bnQ6ICcnLFxyXG5cdFx0XHRcdFx0YWxpTmFtZTogJycsXHJcblx0XHRcdFx0XHRpZGNhcmRJbWc6ICcnLFxyXG5cdFx0XHRcdFx0aWRjYXJkSW1nQmFjazogJycsXHJcblx0XHRcdFx0XHRjYXJDb2RlOiAnJyxcclxuXHRcdFx0XHRcdGNhclR5cGU6ICcnLFxyXG5cdFx0XHRcdFx0Y2FyQ29sb3I6ICcnLFxyXG5cdFx0XHRcdFx0Y2FyZFN0YXJ0RGF0ZTogJycsXHJcblx0XHRcdFx0XHRjYXJkRW5kRGF0ZTogJycsXHJcblx0XHRcdFx0XHRjYXJJbWdVcmxzOiBbXSxcclxuXHRcdFx0XHRcdGxpY2Vuc2VJbWdVcmxzOiBbXSxcclxuXHRcdFx0XHRcdG90aGVySW1nVXJsczogW11cclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHZlaGljbGVGb3JtOiB7XHJcblx0XHRcdFx0XHRwbGF0ZU51bWJlcjogJycsXHJcblx0XHRcdFx0XHRjb2xvcjogJycsXHJcblx0XHRcdFx0XHRjYXJUeXBlOiAnJ1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0bmVlZExpY2Vuc2U6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3dDYXJUeXBlUGlja2VyOiBmYWxzZSxcclxuXHRcdFx0XHRjYXJUeXBlTGlzdDogW10sXHJcblx0XHRcdFx0Y2FyVHlwZUNvbHVtbnM6IFtdLFxyXG5cdFx0XHRcdHNob3dEYXRlUGlja2VyOiBmYWxzZSxcclxuXHRcdFx0XHRkYXRlUGlja2VyTW9kZTogJ3N0YXJ0JyxcclxuXHRcdFx0XHRkYXRlUGlja2VyVmFsdWU6IE51bWJlcihuZXcgRGF0ZSgpKSxcclxuXHRcdFx0XHR1cGxvYWRQYXRoczoge1xyXG5cdFx0XHRcdFx0aWRjYXJkSW1nOiAnZHJpdmVyL2lkY2FyZC9mcm9udCcsXHJcblx0XHRcdFx0XHRpZGNhcmRJbWdCYWNrOiAnZHJpdmVyL2lkY2FyZC9iYWNrJyxcclxuXHRcdFx0XHRcdGNhckltZ1VybHM6ICdkcml2ZXIvY2FyJyxcclxuXHRcdFx0XHRcdGxpY2Vuc2VJbWdVcmxzOiAnZHJpdmVyL2xpY2Vuc2UnLFxyXG5cdFx0XHRcdFx0b3RoZXJJbWdVcmxzOiAnZHJpdmVyL290aGVyJ1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0cHJldmlld0ltYWdlczoge1xyXG5cdFx0XHRcdFx0aWRjYXJkSW1nOiAnJyxcclxuXHRcdFx0XHRcdGlkY2FyZEltZ0JhY2s6ICcnLFxyXG5cdFx0XHRcdFx0Y2FySW1nVXJsczogW10sXHJcblx0XHRcdFx0XHRsaWNlbnNlSW1nVXJsczogW10sXHJcblx0XHRcdFx0XHRvdGhlckltZ1VybHM6IFtdXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRpc0FncmVlZDogZmFsc2UsXHJcblx0XHRcdFx0aW1nUHJlZml4OiAnJ1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0Y29tcHV0ZWQ6IHtcclxuXHRcdFx0Li4ubWFwU3RhdGUoWyd1c2VySW5mbyddKVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZCgpIHtcclxuXHRcdFx0dGhpcy5nZXRBcmVhTGlzdCgpXHJcblx0XHRcdHRoaXMuZ2V0Q2F0ZWdvcnlMaXN0KClcclxuXHRcdFx0dGhpcy5nZXRWZXJpZnlEZXRhaWwoKVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Z2V0TWFyaXRhbFN0YXR1c1RleHQodmFsdWUpIHtcclxuXHRcdFx0XHRpZiAoIXZhbHVlICYmIHZhbHVlICE9PSAwKSByZXR1cm4gJ+ivt+mAieaLqSdcclxuXHRcdFx0XHRjb25zdCBpdGVtID0gdGhpcy5tYXJpdGFsT3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IFN0cmluZyh2YWx1ZSkpXHJcblx0XHRcdFx0cmV0dXJuIGl0ZW0gPyBpdGVtLnRleHQgOiAn6K+36YCJ5oupJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRWZXJpZnlEZXRhaWwoKSB7XHJcblx0XHRcdFx0dGhpcy4kdS5hcGkudmVyaWZ5RGV0YWlsKCkudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDAgJiYgcmVzLmRhdGEpIHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhLmF1ZGl0U3RhdHVzICE9PSA5OSkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuaW1nUHJlZml4ID0gcmVzLmRhdGEuaW1nUHJlZml4XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtLmFyZWFJZCA9IHJlcy5kYXRhLmFyZWFJZCB8fCAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9ybS5hcmVhTmFtZSA9IFtyZXMuZGF0YS5wcm92aW5jZU5hbWUsIHJlcy5kYXRhLmNpdHlOYW1lLCByZXMuZGF0YS5kaXN0cmljdE5hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcvJylcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0ubmFtZSA9IHJlcy5kYXRhLm5hbWUgfHwgJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0uaWRjYXJkID0gcmVzLmRhdGEuaWRjYXJkIHx8ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtLm1hcml0YWxTdGF0dXMgPSByZXMuZGF0YS5tYXJpdGFsU3RhdHVzICE9PSB1bmRlZmluZWQgPyBTdHJpbmcocmVzLmRhdGEubWFyaXRhbFN0YXR1cykgOiAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9ybS5saXZlUGxhY2UgPSByZXMuZGF0YS5saXZlUGxhY2UgfHwgJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0uYWxpQWNjb3VudCA9IHJlcy5kYXRhLmFsaUFjY291bnQgfHwgJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0uYWxpTmFtZSA9IHJlcy5kYXRhLmFsaU5hbWUgfHwgJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0uaWRjYXJkSW1nID0gcmVzLmRhdGEuaWRjYXJkSW1nIHx8ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtLmlkY2FyZEltZ0JhY2sgPSByZXMuZGF0YS5pZGNhcmRJbWdCYWNrIHx8ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtLmNhcmRTdGFydERhdGUgPSByZXMuZGF0YS5jYXJkU3RhcnREYXRlID8gcmVzLmRhdGEuY2FyZFN0YXJ0RGF0ZS5zcGxpdCgnICcpWzBdIDogJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0uY2FyZEVuZERhdGUgPSByZXMuZGF0YS5jYXJkRW5kRGF0ZSA/IHJlcy5kYXRhLmNhcmRFbmREYXRlLnNwbGl0KCcgJylbMF0gOiAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudmVoaWNsZUZvcm0ucGxhdGVOdW1iZXIgPSByZXMuZGF0YS5jYXJDb2RlIHx8ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy52ZWhpY2xlRm9ybS5jYXJUeXBlID0gcmVzLmRhdGEuY2FyVHlwZSB8fCAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudmVoaWNsZUZvcm0uY29sb3IgPSByZXMuZGF0YS5jYXJDb2xvciB8fCAnJ1xyXG5cdFx0XHRcdFx0XHRcdGlmICh0aGlzLmNhclR5cGVMaXN0Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHNlbGVjdGVkQ2FyVHlwZSA9IHRoaXMuY2FyVHlwZUxpc3QuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHJlcy5kYXRhLmNhclR5cGUpXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLm5lZWRMaWNlbnNlID0gc2VsZWN0ZWRDYXJUeXBlICYmIHNlbGVjdGVkQ2FyVHlwZS5vdGhlckZpZWxkID09PSAxXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlcy5pZGNhcmRJbWcgPSByZXMuZGF0YS5pZGNhcmRJbWcgPyByZXMuZGF0YS5pbWdQcmVmaXggKyByZXMuZGF0YS5pZGNhcmRJbWcgOiAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlcy5pZGNhcmRJbWdCYWNrID0gcmVzLmRhdGEuaWRjYXJkSW1nQmFjayA/IHJlcy5kYXRhLmltZ1ByZWZpeCArIHJlcy5kYXRhLmlkY2FyZEltZ0JhY2sgOiAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9ybS5jYXJJbWdVcmxzID0gKHJlcy5kYXRhLmNhckltZ0xpc3QgfHwgW10pLm1hcChpdGVtID0+IGl0ZW0uZmlsZXVybClcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0ubGljZW5zZUltZ1VybHMgPSAocmVzLmRhdGEubGljZW5zZUltZ0xpc3QgfHwgW10pLm1hcChpdGVtID0+IGl0ZW0uZmlsZXVybClcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0ub3RoZXJJbWdVcmxzID0gKHJlcy5kYXRhLm90aGVySW1nTGlzdCB8fCBbXSkubWFwKGl0ZW0gPT4gaXRlbS5maWxldXJsKVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlcy5jYXJJbWdVcmxzID0gKHJlcy5kYXRhLmNhckltZ0xpc3QgfHwgW10pLm1hcChpdGVtID0+IHJlcy5kYXRhLmltZ1ByZWZpeCArIGl0ZW0uZmlsZXVybClcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnByZXZpZXdJbWFnZXMubGljZW5zZUltZ1VybHMgPSAocmVzLmRhdGEubGljZW5zZUltZ0xpc3QgfHwgW10pLm1hcChpdGVtID0+IHJlcy5kYXRhLmltZ1ByZWZpeCArIGl0ZW0uZmlsZXVybClcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnByZXZpZXdJbWFnZXMub3RoZXJJbWdVcmxzID0gKHJlcy5kYXRhLm90aGVySW1nTGlzdCB8fCBbXSkubWFwKGl0ZW0gPT4gcmVzLmRhdGEuaW1nUHJlZml4ICsgaXRlbS5maWxldXJsKVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Y29uZmlybU1hcml0YWwoZSkge1xyXG5cdFx0XHRcdGNvbnN0IHsgdmFsdWUgfSA9IGUudmFsdWVbMF1cclxuXHRcdFx0XHR0aGlzLmZvcm0ubWFyaXRhbFN0YXR1cyA9IHZhbHVlXHJcblx0XHRcdFx0dGhpcy5zaG93TWFyaXRhbFBpY2tlciA9IGZhbHNlXHJcblx0XHRcdH0sXHJcblx0XHRcdGhhbmRsZVVwbG9hZChmaWVsZCwgbWF4Q291bnQgPSAxKSB7XHJcblx0XHRcdFx0Y29uc3QgY3VycmVudExpc3QgPSB0aGlzLnByZXZpZXdJbWFnZXNbZmllbGRdXHJcblx0XHRcdFx0Y29uc3QgY3VycmVudENvdW50ID0gQXJyYXkuaXNBcnJheShjdXJyZW50TGlzdCkgPyBjdXJyZW50TGlzdC5sZW5ndGggOiAoY3VycmVudExpc3QgPyAxIDogMClcclxuXHRcdFx0XHRpZiAoY3VycmVudENvdW50ID49IG1heENvdW50KSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6IGDmnIDlpJrkuIrkvKAke21heENvdW50feW8oGAsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0cmV0dXJuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHVuaS5jaG9vc2VJbWFnZSh7XHJcblx0XHRcdFx0XHRjb3VudDogbWF4Q291bnQsXHJcblx0XHRcdFx0XHRzaXplVHlwZTogWydjb21wcmVzc2VkJ10sXHJcblx0XHRcdFx0XHRzb3VyY2VUeXBlOiBbJ2FsYnVtJywgJ2NhbWVyYSddLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zdCBhbGxUZW1wUGF0aHMgPSByZXMudGVtcEZpbGVQYXRoc1xyXG5cdFx0XHRcdFx0XHRjb25zdCByZW1haW5pbmcgPSBtYXhDb3VudCAtIGN1cnJlbnRDb3VudFxyXG5cdFx0XHRcdFx0XHRjb25zdCB0ZW1wRmlsZVBhdGhzID0gYWxsVGVtcFBhdGhzLnNsaWNlKDAsIHJlbWFpbmluZylcclxuXHRcdFx0XHRcdFx0dGhpcy51cGxvYWRGaWxlcyhmaWVsZCwgdGVtcEZpbGVQYXRocywgbWF4Q291bnQpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0dXBsb2FkRmlsZXMoZmllbGQsIHRlbXBGaWxlUGF0aHMsIG1heENvdW50KSB7XHJcblx0XHRcdFx0Y29uc3QgdXBsb2FkUGF0aCA9IHRoaXMudXBsb2FkUGF0aHNbZmllbGRdXHJcblx0XHRcdFx0bGV0IHVwbG9hZGVkQ291bnQgPSAwXHJcblx0XHRcdFx0Y29uc3QgaXNTaW5nbGUgPSBtYXhDb3VudCA9PT0gMVxyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7IHRpdGxlOiAn5LiK5Lyg5LitLi4uJyB9KVxyXG5cdFx0XHRcdHRlbXBGaWxlUGF0aHMuZm9yRWFjaCgodGVtcFBhdGgsIGluZGV4KSA9PiB7XHJcblx0XHRcdFx0XHR1bmkudXBsb2FkRmlsZSh7XHJcblx0XHRcdFx0XHRcdHVybDogdGhpcy4kYmFzZVVybCArICcvd2ViL3B1YmxpYy91cGxvYWQnLFxyXG5cdFx0XHRcdFx0XHRmaWxlUGF0aDogdGVtcFBhdGgsXHJcblx0XHRcdFx0XHRcdG5hbWU6ICdmaWxlJyxcclxuXHRcdFx0XHRcdFx0Zm9ybURhdGE6IHtcclxuXHRcdFx0XHRcdFx0XHRmb2xkZXI6ICdkcml2ZXInXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdHN1Y2Nlc3M6ICh1cGxvYWRSZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBkYXRhID0gSlNPTi5wYXJzZSh1cGxvYWRSZXMuZGF0YSlcclxuXHRcdFx0XHRcdFx0XHRpZiAoZGF0YS5jb2RlID09PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IGZ1bGxVcmwgPSBkYXRhLmRhdGFcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGZ1bGxVcmwpXHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoaXNTaW5nbGUpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtW2ZpZWxkXSA9IGZ1bGxVcmwuaW1nYWRkclxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnByZXZpZXdJbWFnZXNbZmllbGRdID0gZnVsbFVybC51cmxcclxuXHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuZm9ybVtmaWVsZF0ucHVzaChmdWxsVXJsLmltZ2FkZHIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlc1tmaWVsZF0ucHVzaChmdWxsVXJsLnVybClcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0dXBsb2FkZWRDb3VudCsrXHJcblx0XHRcdFx0XHRcdFx0aWYgKHVwbG9hZGVkQ291bnQgPT09IHRlbXBGaWxlUGF0aHMubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0ZmFpbDogKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHVwbG9hZGVkQ291bnQrK1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+S4iuS8oOWksei0pScsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0XHRcdGlmICh1cGxvYWRlZENvdW50ID09PSB0ZW1wRmlsZVBhdGhzLmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKClcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0RnVsbFBhdGgoaGFsZlBhdGgpIHtcclxuXHRcdFx0XHRpZiAoIWhhbGZQYXRoKSByZXR1cm4gJydcclxuXHRcdFx0XHRpZiAoaGFsZlBhdGguc3RhcnRzV2l0aCgnaHR0cCcpKSByZXR1cm4gaGFsZlBhdGhcclxuXHRcdFx0XHRjb25zdCBiYXNlVXJsID0gdGhpcy4kYmFzZVVybCB8fCAnJ1xyXG5cdFx0XHRcdHJldHVybiBiYXNlVXJsICsgaGFsZlBhdGhcclxuXHRcdFx0fSxcclxuXHRcdFx0cHJldmlld0ltZyhmaWVsZCwgaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zdCB1cmxzID0gQXJyYXkuaXNBcnJheSh0aGlzLnByZXZpZXdJbWFnZXNbZmllbGRdKSA/IHRoaXMucHJldmlld0ltYWdlc1tmaWVsZF0gOiBbdGhpcy5wcmV2aWV3SW1hZ2VzW2ZpZWxkXV1cclxuXHRcdFx0XHR1bmkucHJldmlld0ltYWdlKHtcclxuXHRcdFx0XHRcdGN1cnJlbnQ6IGluZGV4LFxyXG5cdFx0XHRcdFx0dXJsczogdXJsc1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHJlbW92ZUltZyhmaWVsZCwgaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zdCBpc1NpbmdsZSA9ICFBcnJheS5pc0FycmF5KHRoaXMuZm9ybVtmaWVsZF0pXHJcblx0XHRcdFx0aWYgKGlzU2luZ2xlKSB7XHJcblx0XHRcdFx0XHR0aGlzLmZvcm1bZmllbGRdID0gJydcclxuXHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlc1tmaWVsZF0gPSAnJ1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmZvcm1bZmllbGRdLnNwbGljZShpbmRleCwgMSlcclxuXHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlc1tmaWVsZF0uc3BsaWNlKGluZGV4LCAxKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0cmVtb3ZlSW1hZ2UoZmllbGQpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm1bZmllbGRdID0gJydcclxuXHRcdFx0XHR0aGlzLnByZXZpZXdJbWFnZXNbZmllbGRdID0gJydcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0Q2F0ZWdvcnlMaXN0KCkge1xyXG5cdFx0XHRcdHRoaXMuJHUuYXBpLmdldENhdGVnb3J5TGlzdCh7IHR5cGU6IDEgfSkudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5jYXJUeXBlTGlzdCA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdHRoaXMuY2FyVHlwZUNvbHVtbnMgPSBbdGhpcy5jYXJUeXBlTGlzdC5tYXAoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRcdFx0XHRcdGlkOiBpdGVtLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS5uYW1lXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KV1cclxuXHRcdFx0XHRcdFx0aWYgKHRoaXMudmVoaWNsZUZvcm0uY2FyVHlwZSkge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IHNlbGVjdGVkQ2FyVHlwZSA9IHRoaXMuY2FyVHlwZUxpc3QuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMudmVoaWNsZUZvcm0uY2FyVHlwZSlcclxuXHRcdFx0XHRcdFx0XHR0aGlzLm5lZWRMaWNlbnNlID0gc2VsZWN0ZWRDYXJUeXBlICYmIHNlbGVjdGVkQ2FyVHlwZS5vdGhlckZpZWxkID09PSAxXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRDYXJUeXBlVGV4dCh2YWx1ZSkge1xyXG5cdFx0XHRcdGlmICghdmFsdWUpIHJldHVybiAn6K+36YCJ5oupJ1xyXG5cdFx0XHRcdGNvbnN0IGl0ZW0gPSB0aGlzLmNhclR5cGVMaXN0LmZpbmQob3B0aW9uID0+IG9wdGlvbi5pZCA9PT0gdmFsdWUpXHJcblx0XHRcdFx0cmV0dXJuIGl0ZW0gPyBpdGVtLm5hbWUgOiAn6K+36YCJ5oupJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb25maXJtQ2FyVHlwZShlKSB7XHJcblx0XHRcdFx0Y29uc3QgeyBpZCwgdGV4dCB9ID0gZS52YWx1ZVswXVxyXG5cdFx0XHRcdHRoaXMudmVoaWNsZUZvcm0uY2FyVHlwZSA9IGlkXHJcblx0XHRcdFx0Y29uc3Qgc2VsZWN0ZWRDYXJUeXBlID0gdGhpcy5jYXJUeXBlTGlzdC5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gaWQpXHJcblx0XHRcdFx0Y29uc29sZS5sb2coc2VsZWN0ZWRDYXJUeXBlKVxyXG5cdFx0XHRcdHRoaXMubmVlZExpY2Vuc2UgPSBzZWxlY3RlZENhclR5cGUgJiYgc2VsZWN0ZWRDYXJUeXBlLm90aGVyRmllbGQgPT09ICcxJ1xyXG5cdFx0XHRcdHRoaXMuc2hvd0NhclR5cGVQaWNrZXIgPSBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRvcGVuRGF0ZVBpY2tlcihtb2RlKSB7XHJcblx0XHRcdFx0dGhpcy5kYXRlUGlja2VyTW9kZSA9IG1vZGVcclxuXHRcdFx0XHRpZiAobW9kZSA9PT0gJ2VuZCcgJiYgdGhpcy5mb3JtLmNhcmRTdGFydERhdGUpIHtcclxuXHRcdFx0XHRcdHRoaXMuZGF0ZVBpY2tlclZhbHVlID0gbmV3IERhdGUodGhpcy5mb3JtLmNhcmRTdGFydERhdGUpLmdldFRpbWUoKVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmRhdGVQaWNrZXJWYWx1ZSA9IE51bWJlcihuZXcgRGF0ZSgpKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLnNob3dEYXRlUGlja2VyID0gdHJ1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb25maXJtRGF0ZShlKSB7XHJcblx0XHRcdFx0Y29uc3QgZGF0ZSA9IHRoaXMuZm9ybWF0RGF0ZShlLnZhbHVlKVxyXG5cdFx0XHRcdGlmICh0aGlzLmRhdGVQaWNrZXJNb2RlID09PSAnc3RhcnQnKSB7XHJcblx0XHRcdFx0XHR0aGlzLmZvcm0uY2FyZFN0YXJ0RGF0ZSA9IGRhdGVcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLmNhcmRFbmREYXRlID0gZGF0ZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLnNob3dEYXRlUGlja2VyID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0Zm9ybWF0RGF0ZSh0aW1lc3RhbXApIHtcclxuXHRcdFx0XHRjb25zdCBkYXRlID0gbmV3IERhdGUodGltZXN0YW1wKVxyXG5cdFx0XHRcdGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKClcclxuXHRcdFx0XHRjb25zdCBtb250aCA9IFN0cmluZyhkYXRlLmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpXHJcblx0XHRcdFx0Y29uc3QgZGF5ID0gU3RyaW5nKGRhdGUuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpXHJcblx0XHRcdFx0cmV0dXJuIGAke3llYXJ9LSR7bW9udGh9LSR7ZGF5fWBcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0QXJlYUxpc3QoKSB7XHJcblx0XHRcdFx0dGhpcy4kdS5hcGkudHJlZUxpc3Qoe1xyXG5cdFx0XHRcdFx0dHlwZTogMCxcclxuXHRcdFx0XHRcdGZsYWc6IDFcclxuXHRcdFx0XHR9KS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmFyZWFMaXN0ID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0dGhpcy5hcmVhQ29sdW1uc1swXSA9IHRoaXMuYXJlYUxpc3QubWFwKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHRcdFx0XHRpZDogaXRlbS5pZCxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0dGhpcy5hcmVhQ29sdW1uc1sxXSA9IHRoaXMuYXJlYUxpc3RbMF0uY2hpbGRMaXN0Lm1hcChpdGVtID0+IHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0aWQ6IGl0ZW0uaWQsXHJcblx0XHRcdFx0XHRcdFx0XHR0ZXh0OiBpdGVtLm5hbWVcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdHRoaXMuYXJlYUNvbHVtbnNbMl0gPSB0aGlzLmFyZWFMaXN0WzBdLmNoaWxkTGlzdFswXS5jaGlsZExpc3QubWFwKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHRcdFx0XHRpZDogaXRlbS5pZCxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaGFuZ2VBcmVhSGFuZGxlcihlKSB7XHJcblx0XHRcdFx0Y29uc3QgeyBjb2x1bW5JbmRleCwgaW5kZXhzLCBwaWNrZXIgPSB0aGlzLiRyZWZzLnVQaWNrZXIgfSA9IGVcclxuXHRcdFx0XHRpZiAoY29sdW1uSW5kZXggPT09IDApIHtcclxuXHRcdFx0XHRcdGxldCBjaXR5ID0gdGhpcy5hcmVhTGlzdFtpbmRleHNbMF1dLmNoaWxkTGlzdC5tYXAoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHRcdFx0aWQ6IGl0ZW0uaWQsXHJcblx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS5uYW1lXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRsZXQgcXUgPSB0aGlzLmFyZWFMaXN0W2luZGV4c1swXV0uY2hpbGRMaXN0WzBdLmNoaWxkTGlzdC5tYXAoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHRcdFx0aWQ6IGl0ZW0uaWQsXHJcblx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS5uYW1lXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRwaWNrZXIuc2V0Q29sdW1uVmFsdWVzKDEsIGNpdHkpXHJcblx0XHRcdFx0XHRwaWNrZXIuc2V0Q29sdW1uVmFsdWVzKDIsIHF1KVxyXG5cdFx0XHRcdH0gZWxzZSBpZiAoY29sdW1uSW5kZXggPT09IDEpIHtcclxuXHRcdFx0XHRcdGxldCBxdSA9IHRoaXMuYXJlYUxpc3RbaW5kZXhzWzBdXS5jaGlsZExpc3RbaW5kZXhzWzFdXS5jaGlsZExpc3QubWFwKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdFx0XHRcdGlkOiBpdGVtLmlkLFxyXG5cdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0cGlja2VyLnNldENvbHVtblZhbHVlcygyLCBxdSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGNvbmZpcm1BcmVhKGUpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm0uYXJlYUlkID0gZS52YWx1ZVtlLnZhbHVlLmxlbmd0aCAtIDFdLmlkXHJcblx0XHRcdFx0dGhpcy5mb3JtLmFyZWFOYW1lID0gZS52YWx1ZVswXS50ZXh0ICsgJy8nICsgZS52YWx1ZVsxXS50ZXh0ICsgJy8nICsgZS52YWx1ZVsyXS50ZXh0XHJcblx0XHRcdFx0dGhpcy5zaG93QXJlYVBpY2tlciA9IGZhbHNlXHJcblx0XHRcdH0sXHJcblx0XHRcdGhhbmRsZVByaW1hcnlBY3Rpb24oKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMuY3VycmVudFN0ZXAgPT09IDEpIHtcclxuXHRcdFx0XHRcdGlmICghdGhpcy52YWxpZGF0ZVN0ZXAxKCkpIHJldHVyblxyXG5cdFx0XHRcdFx0dGhpcy5zY3JvbGxUb1RvcCgpXHJcblx0XHRcdFx0XHR0aGlzLmN1cnJlbnRTdGVwID0gMlxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRpZiAoIXRoaXMuaXNBZ3JlZWQpIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K+35YWI5ZCM5oSP5Y2P6K6uJywgaWNvbjogJ25vbmUnIH0pXHJcblx0XHRcdFx0XHRcdHJldHVyblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dGhpcy5zdWJtaXRWZXJpZnkoKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0dmFsaWRhdGVTdGVwMSgpIHtcclxuXHRcdFx0XHRpZiAoIXRoaXMuZm9ybS5uYW1lKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXlj7jmnLrlp5PlkI0nLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoIXRoaXMuZm9ybS5pZGNhcmQpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+ivt+i+k+WFpei6q+S7veivgeWPtycsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICghdGhpcy5mb3JtLm1hcml0YWxTdGF0dXMgJiYgdGhpcy5mb3JtLm1hcml0YWxTdGF0dXMgIT09IDApIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+ivt+mAieaLqeWpmuWnu+eKtuWGtScsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICghdGhpcy5mb3JtLmFyZWFJZCkge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K+36YCJ5oup5bGF5L2P5Z+O5biCJywgaWNvbjogJ25vbmUnIH0pXHJcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2VcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKCF0aGlzLmZvcm0ubGl2ZVBsYWNlKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXor6bnu4blnLDlnYAnLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoIXRoaXMuZm9ybS5hbGlBY2NvdW50KSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXmlK/ku5jlrp3otKblj7cnLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoIXRoaXMuZm9ybS5hbGlOYW1lKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXmlK/ku5jlrp3lp5PlkI0nLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoIXRoaXMuZm9ybS5pZGNhcmRJbWcpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+ivt+S4iuS8oOi6q+S7veivgeS6uuWDj+mdoicsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICghdGhpcy5mb3JtLmlkY2FyZEltZ0JhY2spIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+ivt+S4iuS8oOi6q+S7veivgeWbveW+vemdoicsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybiB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdHZhbGlkYXRlU3RlcDIoKSB7XHJcblx0XHRcdFx0aWYgKCF0aGlzLnZlaGljbGVGb3JtLnBsYXRlTnVtYmVyKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXovabniYzlj7cnLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoIXRoaXMudmVoaWNsZUZvcm0uY2FyVHlwZSkge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K+36YCJ5oup6L2m6L6G57G75Z6LJywgaWNvbjogJ25vbmUnIH0pXHJcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2VcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKCF0aGlzLnZlaGljbGVGb3JtLmNvbG9yKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXovabovobpopzoibInLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy5mb3JtLmNhckltZ1VybHMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fkuIrkvKDovabovobnhafniYcnLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy5uZWVkTGljZW5zZSAmJiB0aGlzLmZvcm0ubGljZW5zZUltZ1VybHMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fkuIrkvKDpqb7pqbbor4HnhafniYcnLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gdHJ1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzdWJtaXRWZXJpZnkoKSB7XHJcblx0XHRcdFx0aWYgKCF0aGlzLnZhbGlkYXRlU3RlcDIoKSkgcmV0dXJuXHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHsgdGl0bGU6ICfmj5DkuqTkuK0uLi4nIH0pXHJcblx0XHRcdFx0Y29uc3Qgc3VibWl0RGF0YSA9IHtcclxuXHRcdFx0XHRcdC4uLnRoaXMuZm9ybSxcclxuXHRcdFx0XHRcdGNhclR5cGU6IHRoaXMudmVoaWNsZUZvcm0uY2FyVHlwZSxcclxuXHRcdFx0XHRcdGNhckNvbG9yOiB0aGlzLnZlaGljbGVGb3JtLmNvbG9yLFxyXG5cdFx0XHRcdFx0Y2FyQ29kZTogdGhpcy52ZWhpY2xlRm9ybS5wbGF0ZU51bWJlcixcclxuXHRcdFx0XHRcdGNhckltZ1VybHM6IHRoaXMuZm9ybS5jYXJJbWdVcmxzIHx8IFtdLFxyXG5cdFx0XHRcdFx0bGljZW5zZUltZ1VybHM6IHRoaXMuZm9ybS5saWNlbnNlSW1nVXJscyB8fCBbXSxcclxuXHRcdFx0XHRcdG90aGVySW1nVXJsczogdGhpcy5mb3JtLm90aGVySW1nVXJscyB8fCBbXVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZyhzdWJtaXREYXRhKVxyXG5cdFx0XHRcdHRoaXMuJHUuYXBpLnN1Ym1pdFZlcmlmeShzdWJtaXREYXRhKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxyXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5o+Q5Lqk5oiQ5YqfJywgaWNvbjogJ3N1Y2Nlc3MnIH0pXHJcblx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZUJhY2soKVxyXG5cdFx0XHRcdFx0XHR9LCAxNTAwKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGdvUHJldlN0ZXAoKSB7XHJcblx0XHRcdFx0dGhpcy5zY3JvbGxUb1RvcCgpXHJcblx0XHRcdFx0dGhpcy5jdXJyZW50U3RlcCA9IDFcclxuXHRcdFx0fSxcclxuXHRcdFx0c2Nyb2xsVG9Ub3AoKSB7XHJcblx0XHRcdFx0dW5pLnBhZ2VTY3JvbGxUbyh7XHJcblx0XHRcdFx0XHRzY3JvbGxUb3A6IDAsXHJcblx0XHRcdFx0XHRkdXJhdGlvbjogMFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbjwvc2NyaXB0PlxyXG5cclxuPHN0eWxlIGxhbmc9XCJzY3NzXCIgc2NvcGVkPlxyXG5cdC5kcml2ZXItY2VydC1wYWdlIHtcclxuXHRcdG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cdFx0cGFkZGluZzogMThycHggMTZycHggMzJycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCAjZDdmMGZmIDAlLCAjZjZmYmZmIDI4JSwgI2ZmZmZmZiAxMDAlKTtcclxuXHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdCZfX3Njcm9sbCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3N0ZXBzIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdHBhZGRpbmc6IDEwcnB4IDIwcnB4IDI0cnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3N0ZXAge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRtaW4td2lkdGg6IDE1MHJweDtcclxuXHJcblx0XHRcdCYtLWFjdGl2ZSB7XHJcblx0XHRcdFx0LmRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtY2lyY2xlIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICNiOWU5ZmY7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQuZHJpdmVyLWNlcnQtcGFnZV9fc3RlcC1jaXJjbGUtaW5uZXIge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogIzEwNmVmYTtcclxuXHRcdFx0XHRcdGNvbG9yOiAjZmZmZmZmO1xyXG5cdFx0XHRcdFx0Ym94LXNoYWRvdzogMCA4cnB4IDE4cnB4IHJnYmEoMTYsIDExMCwgMjUwLCAwLjI0KTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYtLWRvbmUge1xyXG5cdFx0XHRcdC5kcml2ZXItY2VydC1wYWdlX19zdGVwLWNpcmNsZSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjYjllOWZmO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtY2lyY2xlLWlubmVyIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICMxMDZlZmE7XHJcblx0XHRcdFx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmX19zdGVwLWNpcmNsZSB7XHJcblx0XHRcdHdpZHRoOiA1MnJweDtcclxuXHRcdFx0aGVpZ2h0OiA1MnJweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNTAlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjYjllOWZmO1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcblx0XHRcdCYtLWluYWN0aXZlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjOGM5MzlmO1xyXG5cclxuXHRcdFx0XHQuZHJpdmVyLWNlcnQtcGFnZV9fc3RlcC1jaXJjbGUtaW5uZXIge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRcdGJveC1zaGFkb3c6IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fc3RlcC1jaXJjbGUtaW5uZXIge1xyXG5cdFx0XHR3aWR0aDogMzJycHg7XHJcblx0XHRcdGhlaWdodDogMzJycHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0YmFja2dyb3VuZDogIzEwNmVmYTtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjJycHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdGNvbG9yOiAjZmZmZmZmO1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3N0ZXAtdGV4dCB7XHJcblx0XHRcdG1hcmdpbi10b3A6IDEycnB4O1xyXG5cdFx0XHRmb250LXNpemU6IDMwcnB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRjb2xvcjogIzdmODY5MztcclxuXHJcblx0XHRcdCYtLWFjdGl2ZSB7XHJcblx0XHRcdFx0Y29sb3I6ICMyYjMxMzk7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji0tZG9uZSB7XHJcblx0XHRcdFx0Y29sb3I6ICMxMDZlZmE7XHJcblx0XHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3N0ZXAtbGluZSB7XHJcblx0XHRcdHdpZHRoOiAxNjBycHg7XHJcblx0XHRcdGhlaWdodDogMnJweDtcclxuXHRcdFx0bWFyZ2luOiAwIDEycnB4IDMwcnB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjYjRjN2VhO1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX2JvdHRvbS1iYXIge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAzMHJweDtcclxuXHRcdFx0cGFkZGluZzogMThycHggMCBjYWxjKGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSArIDE4cnB4KTtcclxuXHRcdFx0YmFja2dyb3VuZDogI2ZmZmZmZjtcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdH1cclxuXHJcblx0XHQmX19hY3Rpb25zIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG5cdFx0XHQmLS1kdWFsIHtcclxuXHRcdFx0XHRnYXA6IDE4cnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fc3VibWl0IHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogNzhycHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiA3OHJweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogOTk5cnB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjMjQ3NmY2O1xyXG5cdFx0XHRmb250LXNpemU6IDMwcnB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cclxuXHRcdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji0taG92ZXIge1xyXG5cdFx0XHRcdG9wYWNpdHk6IDAuOTI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYtLWdob3N0IHtcclxuXHRcdFx0XHR3aWR0aDogMjIwcnB4O1xyXG5cdFx0XHRcdGJhY2tncm91bmQ6ICNmM2Y4ZmY7XHJcblx0XHRcdFx0Ym9yZGVyOiAxcnB4IHNvbGlkICM3ZGIwZmY7XHJcblx0XHRcdFx0Y29sb3I6ICMyZDdjZmY7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmX19hZ3JlZW1lbnQge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMThycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fYWdyZWVtZW50LWljb24ge1xyXG5cdFx0XHR3aWR0aDogNDBycHg7XHJcblx0XHRcdGhlaWdodDogNDBycHg7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogNnJweDtcclxuXHRcdFx0ZmxleC1zaHJpbms6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fYWdyZWVtZW50LXRleHQge1xyXG5cdFx0XHRmb250LXNpemU6IDIycnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS42O1xyXG5cdFx0XHRjb2xvcjogIzk4YTBhZDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5kcml2ZXItY2VydC1jYXJkIHtcclxuXHRcdHBhZGRpbmc6IDI0cnB4IDI0cnB4IDIycnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjJycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGJveC1zaGFkb3c6IDBycHggMnJweCAyMHJweCAwcnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcblxyXG5cdFx0Jl9fdGl0bGUge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Zm9udC1zaXplOiA0MHJweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0Y29sb3I6ICMyYjMxMzk7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fbW9iaWxlIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbi10b3A6IDE0cnB4O1xyXG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0XHRjb2xvcjogIzlhYTFhZDtcclxuXHRcdH1cclxuXHJcblx0XHQmLS12ZWhpY2xlIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzBycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fZmllbGQge1xyXG5cdFx0XHRwYWRkaW5nOiAyOHJweCAwIDI0cnB4O1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcnB4IHNvbGlkICNlZWYxZjU7XHJcblxyXG5cdFx0XHQmLS1zZWxlY3Qge1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCZfX2ZpZWxkLWhlYWQsXHJcblx0XHQmX191cGxvYWQtdGl0bGUtcm93IHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblx0XHQmX19sYWJlbCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdGNvbG9yOiAjMmIzMTM5O1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3JlcXVpcmVkIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDRycHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0XHRjb2xvcjogI2ZmNGEzZDtcclxuXHRcdH1cclxuXHJcblx0XHQmX19pbnB1dCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDc4cnB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHJweDtcclxuXHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0Y29sb3I6ICMzMzMzMzM7XHJcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3NlbGVjdG9yIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRoZWlnaHQ6IDc4cnB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHJweDtcclxuXHRcdH1cclxuXHJcblx0XHQmX19zZWxlY3Rvci10ZXh0IHtcclxuXHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0Y29sb3I6ICNiOWJmYzg7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fYXJyb3cge1xyXG5cdFx0XHRmb250LXNpemU6IDM0cnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdFx0Y29sb3I6ICM5YWExYWQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fdXBsb2FkLWJsb2NrIHtcclxuXHRcdFx0cGFkZGluZzogMzBycHggMDtcclxuXHJcblx0XHRcdCYtLXN0YWNrZWQge1xyXG5cdFx0XHRcdGJvcmRlci10b3A6IDFycHggc29saWQgI2VlZjFmNTtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAycnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fdXBsb2FkLWxpc3Qge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRnYXA6IDIwcnB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAzMHJweDtcclxuXHJcblx0XHRcdCYtLXNpbmdsZSB7XHJcblx0XHRcdFx0Z2FwOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fdXBsb2FkLWl0ZW0ge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGZsZXg6IDE7XHJcblx0XHRcdGhlaWdodDogMTQ0cnB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcclxuXHRcdFx0YmFja2dyb3VuZDogI2Y3ZjhmYTtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuXHRcdFx0Ji0tc2luZ2xlIHtcclxuXHRcdFx0XHRmbGV4OiBub25lO1xyXG5cdFx0XHRcdHdpZHRoOiAxNDRycHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmX191cGxvYWQtaW1hZ2Uge1xyXG5cdFx0XHR3aWR0aDogMTQ0cnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE0NHJweDtcclxuXHRcdH1cclxuXHJcblx0XHQmX191cGxvYWQtaWNvbiB7XHJcblx0XHRcdHdpZHRoOiA1MnJweDtcclxuXHRcdFx0aGVpZ2h0OiA1MnJweDtcclxuXHRcdFx0b3BhY2l0eTogMC41O1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3VwbG9hZC10ZXh0IHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMTZycHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0XHRcdGNvbG9yOiAjOGY5NmEzO1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3VwbG9hZC1pbWcge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA4cnB4O1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdH1cclxuXHJcblx0XHQmX191cGxvYWQtcmVtb3ZlIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDQwcnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNDBycHg7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwcnB4IDBycHggOHJweCA4cnB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdFx0ei1pbmRleDogOTk7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fdXBsb2FkLXRpcCB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHJweDtcclxuXHRcdFx0Zm9udC1zaXplOiAyMnJweDtcclxuXHRcdFx0Y29sb3I6ICNiN2JkYzc7XHJcblx0XHR9XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///149\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 _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _vuex = __webpack_require__(/*! vuex */ 12);\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      showAreaPicker: false,\n      showMaritalPicker: false,\n      maritalOptions: [{\n        value: '0',\n        text: '鏈'\n      }, {\n        value: '1',\n        text: '宸插'\n      }, {\n        value: '2',\n        text: '绂诲紓'\n      }, {\n        value: '3',\n        text: '涓у伓'\n      }],\n      areaList: [],\n      areaColumns: [],\n      currentStep: 1,\n      form: {\n        areaId: '',\n        areaName: '',\n        name: '',\n        idcard: '',\n        maritalStatus: '',\n        livePlace: '',\n        aliAccount: '',\n        aliName: '',\n        idcardImg: '',\n        idcardImgBack: '',\n        carCode: '',\n        carType: '',\n        carColor: '',\n        cardStartDate: '',\n        cardEndDate: '',\n        carImgUrls: [],\n        licenseImgUrls: [],\n        otherImgUrls: []\n      },\n      vehicleForm: {\n        plateNumber: '',\n        color: '',\n        carType: ''\n      },\n      needLicense: false,\n      showCarTypePicker: false,\n      carTypeList: [],\n      carTypeColumns: [],\n      showDatePicker: false,\n      datePickerMode: 'start',\n      datePickerValue: Number(new Date()),\n      uploadPaths: {\n        idcardImg: 'driver/idcard/front',\n        idcardImgBack: 'driver/idcard/back',\n        carImgUrls: 'driver/car',\n        licenseImgUrls: 'driver/license',\n        otherImgUrls: 'driver/other'\n      },\n      previewImages: {\n        idcardImg: '',\n        idcardImgBack: '',\n        carImgUrls: [],\n        licenseImgUrls: [],\n        otherImgUrls: []\n      },\n      isAgreed: false,\n      imgPrefix: ''\n    };\n  },\n  computed: _objectSpread({}, (0, _vuex.mapState)(['userInfo'])),\n  onLoad: function onLoad() {\n    this.getAreaList();\n    this.getCategoryList();\n    this.getVerifyDetail();\n  },\n  methods: {\n    getMaritalStatusText: function getMaritalStatusText(value) {\n      if (!value && value !== 0) return '璇烽�夋嫨';\n      var item = this.maritalOptions.find(function (option) {\n        return option.value === String(value);\n      });\n      return item ? item.text : '璇烽�夋嫨';\n    },\n    getVerifyDetail: function getVerifyDetail() {\n      var _this = this;\n      this.$u.api.verifyDetail().then(function (res) {\n        if (res.code === 200 && res.data) {\n          if (res.data.auditStatus !== 99) {\n            _this.imgPrefix = res.data.imgPrefix;\n            _this.form.areaId = res.data.areaId || '';\n            _this.form.areaName = [res.data.provinceName, res.data.cityName, res.data.districtName].filter(Boolean).join('/');\n            _this.form.name = res.data.name || '';\n            _this.form.idcard = res.data.idcard || '';\n            _this.form.maritalStatus = res.data.maritalStatus !== undefined ? String(res.data.maritalStatus) : '';\n            _this.form.livePlace = res.data.livePlace || '';\n            _this.form.aliAccount = res.data.aliAccount || '';\n            _this.form.aliName = res.data.aliName || '';\n            _this.form.idcardImg = res.data.idcardImg || '';\n            _this.form.idcardImgBack = res.data.idcardImgBack || '';\n            _this.form.cardStartDate = res.data.cardStartDate ? res.data.cardStartDate.split(' ')[0] : '';\n            _this.form.cardEndDate = res.data.cardEndDate ? res.data.cardEndDate.split(' ')[0] : '';\n            _this.vehicleForm.plateNumber = res.data.carCode || '';\n            _this.vehicleForm.carType = res.data.carType || '';\n            _this.vehicleForm.color = res.data.carColor || '';\n            if (_this.carTypeList.length > 0) {\n              var selectedCarType = _this.carTypeList.find(function (item) {\n                return item.id === res.data.carType;\n              });\n              _this.needLicense = selectedCarType && selectedCarType.otherField === 1;\n            }\n            _this.previewImages.idcardImg = res.data.idcardImg ? res.data.imgPrefix + res.data.idcardImg : '';\n            _this.previewImages.idcardImgBack = res.data.idcardImgBack ? res.data.imgPrefix + res.data.idcardImgBack : '';\n            _this.form.carImgUrls = (res.data.carImgList || []).map(function (item) {\n              return item.fileurl;\n            });\n            _this.form.licenseImgUrls = (res.data.licenseImgList || []).map(function (item) {\n              return item.fileurl;\n            });\n            _this.form.otherImgUrls = (res.data.otherImgList || []).map(function (item) {\n              return item.fileurl;\n            });\n            _this.previewImages.carImgUrls = (res.data.carImgList || []).map(function (item) {\n              return res.data.imgPrefix + item.fileurl;\n            });\n            _this.previewImages.licenseImgUrls = (res.data.licenseImgList || []).map(function (item) {\n              return res.data.imgPrefix + item.fileurl;\n            });\n            _this.previewImages.otherImgUrls = (res.data.otherImgList || []).map(function (item) {\n              return res.data.imgPrefix + item.fileurl;\n            });\n          }\n        }\n      });\n    },\n    confirmMarital: function confirmMarital(e) {\n      var value = e.value[0].value;\n      this.form.maritalStatus = value;\n      this.showMaritalPicker = false;\n    },\n    handleUpload: function handleUpload(field) {\n      var _this2 = this;\n      var maxCount = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n      var currentList = this.previewImages[field];\n      var currentCount = Array.isArray(currentList) ? currentList.length : currentList ? 1 : 0;\n      if (currentCount >= maxCount) {\n        uni.showToast({\n          title: \"\\u6700\\u591A\\u4E0A\\u4F20\".concat(maxCount, \"\\u5F20\"),\n          icon: 'none'\n        });\n        return;\n      }\n      uni.chooseImage({\n        count: maxCount,\n        sizeType: ['compressed'],\n        sourceType: ['album', 'camera'],\n        success: function success(res) {\n          var allTempPaths = res.tempFilePaths;\n          var remaining = maxCount - currentCount;\n          var tempFilePaths = allTempPaths.slice(0, remaining);\n          _this2.uploadFiles(field, tempFilePaths, maxCount);\n        }\n      });\n    },\n    uploadFiles: function uploadFiles(field, tempFilePaths, maxCount) {\n      var _this3 = this;\n      var uploadPath = this.uploadPaths[field];\n      var uploadedCount = 0;\n      var isSingle = maxCount === 1;\n      uni.showLoading({\n        title: '涓婁紶涓�...'\n      });\n      tempFilePaths.forEach(function (tempPath, index) {\n        uni.uploadFile({\n          url: _this3.$baseUrl + '/web/public/upload',\n          filePath: tempPath,\n          name: 'file',\n          formData: {\n            folder: 'driver'\n          },\n          success: function success(uploadRes) {\n            var data = JSON.parse(uploadRes.data);\n            if (data.code === 200) {\n              var fullUrl = data.data;\n              __f__(\"log\", fullUrl, \" at pages/driver-certification/driver-certification.vue:441\");\n              if (isSingle) {\n                _this3.form[field] = fullUrl.imgaddr;\n                _this3.previewImages[field] = fullUrl.url;\n              } else {\n                _this3.form[field].push(fullUrl.imgaddr);\n                _this3.previewImages[field].push(fullUrl.url);\n              }\n            }\n            uploadedCount++;\n            if (uploadedCount === tempFilePaths.length) {\n              uni.hideLoading();\n            }\n          },\n          fail: function fail() {\n            uploadedCount++;\n            uni.showToast({\n              title: '涓婁紶澶辫触',\n              icon: 'none'\n            });\n            if (uploadedCount === tempFilePaths.length) {\n              uni.hideLoading();\n            }\n          }\n        });\n      });\n    },\n    getFullPath: function getFullPath(halfPath) {\n      if (!halfPath) return '';\n      if (halfPath.startsWith('http')) return halfPath;\n      var baseUrl = this.$baseUrl || '';\n      return baseUrl + halfPath;\n    },\n    previewImg: function previewImg(field, index) {\n      var urls = Array.isArray(this.previewImages[field]) ? this.previewImages[field] : [this.previewImages[field]];\n      uni.previewImage({\n        current: index,\n        urls: urls\n      });\n    },\n    removeImg: function removeImg(field, index) {\n      var isSingle = !Array.isArray(this.form[field]);\n      if (isSingle) {\n        this.form[field] = '';\n        this.previewImages[field] = '';\n      } else {\n        this.form[field].splice(index, 1);\n        this.previewImages[field].splice(index, 1);\n      }\n    },\n    removeImage: function removeImage(field) {\n      this.form[field] = '';\n      this.previewImages[field] = '';\n    },\n    getCategoryList: function getCategoryList() {\n      var _this4 = this;\n      this.$u.api.getCategoryList({\n        type: 1\n      }).then(function (res) {\n        if (res.code === 200) {\n          _this4.carTypeList = res.data;\n          _this4.carTypeColumns = [_this4.carTypeList.map(function (item) {\n            return {\n              id: item.id,\n              text: item.name\n            };\n          })];\n          if (_this4.vehicleForm.carType) {\n            var selectedCarType = _this4.carTypeList.find(function (item) {\n              return item.id === _this4.vehicleForm.carType;\n            });\n            _this4.needLicense = selectedCarType && selectedCarType.otherField === 1;\n          }\n        }\n      });\n    },\n    getCarTypeText: function getCarTypeText(value) {\n      if (!value) return '璇烽�夋嫨';\n      var item = this.carTypeList.find(function (option) {\n        return option.id === value;\n      });\n      return item ? item.name : '璇烽�夋嫨';\n    },\n    confirmCarType: function confirmCarType(e) {\n      var _e$value$ = e.value[0],\n        id = _e$value$.id,\n        text = _e$value$.text;\n      this.vehicleForm.carType = id;\n      var selectedCarType = this.carTypeList.find(function (item) {\n        return item.id === id;\n      });\n      __f__(\"log\", selectedCarType, \" at pages/driver-certification/driver-certification.vue:518\");\n      this.needLicense = selectedCarType && selectedCarType.otherField === '1';\n      this.showCarTypePicker = false;\n    },\n    openDatePicker: function openDatePicker(mode) {\n      this.datePickerMode = mode;\n      if (mode === 'end' && this.form.cardStartDate) {\n        this.datePickerValue = new Date(this.form.cardStartDate).getTime();\n      } else {\n        this.datePickerValue = Number(new Date());\n      }\n      this.showDatePicker = true;\n    },\n    confirmDate: function confirmDate(e) {\n      var date = this.formatDate(e.value);\n      if (this.datePickerMode === 'start') {\n        this.form.cardStartDate = date;\n      } else {\n        this.form.cardEndDate = date;\n      }\n      this.showDatePicker = false;\n    },\n    formatDate: function formatDate(timestamp) {\n      var date = new Date(timestamp);\n      var year = date.getFullYear();\n      var month = String(date.getMonth() + 1).padStart(2, '0');\n      var day = String(date.getDate()).padStart(2, '0');\n      return \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n    },\n    getAreaList: function getAreaList() {\n      var _this5 = this;\n      this.$u.api.treeList({\n        type: 0,\n        flag: 1\n      }).then(function (res) {\n        if (res.code === 200) {\n          _this5.areaList = res.data;\n          _this5.areaColumns[0] = _this5.areaList.map(function (item) {\n            return {\n              id: item.id,\n              text: item.name\n            };\n          });\n          _this5.areaColumns[1] = _this5.areaList[0].childList.map(function (item) {\n            return {\n              id: item.id,\n              text: item.name\n            };\n          });\n          _this5.areaColumns[2] = _this5.areaList[0].childList[0].childList.map(function (item) {\n            return {\n              id: item.id,\n              text: item.name\n            };\n          });\n        }\n      });\n    },\n    changeAreaHandler: function changeAreaHandler(e) {\n      var columnIndex = e.columnIndex,\n        indexs = e.indexs,\n        _e$picker = e.picker,\n        picker = _e$picker === void 0 ? this.$refs.uPicker : _e$picker;\n      if (columnIndex === 0) {\n        var city = this.areaList[indexs[0]].childList.map(function (item) {\n          return {\n            id: item.id,\n            text: item.name\n          };\n        });\n        var qu = this.areaList[indexs[0]].childList[0].childList.map(function (item) {\n          return {\n            id: item.id,\n            text: item.name\n          };\n        });\n        picker.setColumnValues(1, city);\n        picker.setColumnValues(2, qu);\n      } else if (columnIndex === 1) {\n        var _qu = this.areaList[indexs[0]].childList[indexs[1]].childList.map(function (item) {\n          return {\n            id: item.id,\n            text: item.name\n          };\n        });\n        picker.setColumnValues(2, _qu);\n      }\n    },\n    confirmArea: function confirmArea(e) {\n      this.form.areaId = e.value[e.value.length - 1].id;\n      this.form.areaName = e.value[0].text + '/' + e.value[1].text + '/' + e.value[2].text;\n      this.showAreaPicker = false;\n    },\n    handlePrimaryAction: function handlePrimaryAction() {\n      if (this.currentStep === 1) {\n        if (!this.validateStep1()) return;\n        this.scrollToTop();\n        this.currentStep = 2;\n      } else {\n        if (!this.isAgreed) {\n          uni.showToast({\n            title: '璇峰厛鍚屾剰鍗忚',\n            icon: 'none'\n          });\n          return;\n        }\n        this.submitVerify();\n      }\n    },\n    validateStep1: function validateStep1() {\n      if (!this.form.name) {\n        uni.showToast({\n          title: '璇疯緭鍏ュ徃鏈哄鍚�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.idcard) {\n        uni.showToast({\n          title: '璇疯緭鍏ヨ韩浠借瘉鍙�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.maritalStatus && this.form.maritalStatus !== 0) {\n        uni.showToast({\n          title: '璇烽�夋嫨濠氬Щ鐘跺喌',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.areaId) {\n        uni.showToast({\n          title: '璇烽�夋嫨灞呬綇鍩庡競',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.livePlace) {\n        uni.showToast({\n          title: '璇疯緭鍏ヨ缁嗗湴鍧�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.aliAccount) {\n        uni.showToast({\n          title: '璇疯緭鍏ユ敮浠樺疂璐﹀彿',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.aliName) {\n        uni.showToast({\n          title: '璇疯緭鍏ユ敮浠樺疂濮撳悕',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.idcardImg) {\n        uni.showToast({\n          title: '璇蜂笂浼犺韩浠借瘉浜哄儚闈�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.form.idcardImgBack) {\n        uni.showToast({\n          title: '璇蜂笂浼犺韩浠借瘉鍥藉窘闈�',\n          icon: 'none'\n        });\n        return false;\n      }\n      return true;\n    },\n    validateStep2: function validateStep2() {\n      if (!this.vehicleForm.plateNumber) {\n        uni.showToast({\n          title: '璇疯緭鍏ヨ溅鐗屽彿',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.vehicleForm.carType) {\n        uni.showToast({\n          title: '璇烽�夋嫨杞﹁締绫诲瀷',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (!this.vehicleForm.color) {\n        uni.showToast({\n          title: '璇疯緭鍏ヨ溅杈嗛鑹�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (this.form.carImgUrls.length === 0) {\n        uni.showToast({\n          title: '璇蜂笂浼犺溅杈嗙収鐗�',\n          icon: 'none'\n        });\n        return false;\n      }\n      if (this.needLicense && this.form.licenseImgUrls.length === 0) {\n        uni.showToast({\n          title: '璇蜂笂浼犻┚椹惰瘉鐓х墖',\n          icon: 'none'\n        });\n        return false;\n      }\n      return true;\n    },\n    submitVerify: function submitVerify() {\n      if (!this.validateStep2()) return;\n      uni.showLoading({\n        title: '鎻愪氦涓�...'\n      });\n      var submitData = _objectSpread(_objectSpread({}, this.form), {}, {\n        carType: this.vehicleForm.carType,\n        carColor: this.vehicleForm.color,\n        carCode: this.vehicleForm.plateNumber,\n        carImgUrls: this.form.carImgUrls || [],\n        licenseImgUrls: this.form.licenseImgUrls || [],\n        otherImgUrls: this.form.otherImgUrls || []\n      });\n      __f__(\"log\", submitData, \" at pages/driver-certification/driver-certification.vue:694\");\n      this.$u.api.submitVerify(submitData).then(function (res) {\n        uni.hideLoading();\n        if (res.code === 200) {\n          uni.showToast({\n            title: '鎻愪氦鎴愬姛',\n            icon: 'success'\n          });\n          setTimeout(function () {\n            uni.navigateBack();\n          }, 1500);\n        }\n      });\n    },\n    goPrevStep: function goPrevStep() {\n      this.scrollToTop();\n      this.currentStep = 1;\n    },\n    scrollToTop: function scrollToTop() {\n      uni.pageScrollTo({\n        scrollTop: 0,\n        duration: 0\n      });\n    },\n    openAgreement: function openAgreement(type) {\n      uni.navigateTo({\n        url: '/pages/agreement/agreement?type=' + type\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvZHJpdmVyLWNlcnRpZmljYXRpb24vZHJpdmVyLWNlcnRpZmljYXRpb24udnVlIl0sIm5hbWVzIjpbImRhdGEiLCJzaG93QXJlYVBpY2tlciIsInNob3dNYXJpdGFsUGlja2VyIiwibWFyaXRhbE9wdGlvbnMiLCJ2YWx1ZSIsInRleHQiLCJhcmVhTGlzdCIsImFyZWFDb2x1bW5zIiwiY3VycmVudFN0ZXAiLCJmb3JtIiwiYXJlYUlkIiwiYXJlYU5hbWUiLCJuYW1lIiwiaWRjYXJkIiwibWFyaXRhbFN0YXR1cyIsImxpdmVQbGFjZSIsImFsaUFjY291bnQiLCJhbGlOYW1lIiwiaWRjYXJkSW1nIiwiaWRjYXJkSW1nQmFjayIsImNhckNvZGUiLCJjYXJUeXBlIiwiY2FyQ29sb3IiLCJjYXJkU3RhcnREYXRlIiwiY2FyZEVuZERhdGUiLCJjYXJJbWdVcmxzIiwibGljZW5zZUltZ1VybHMiLCJvdGhlckltZ1VybHMiLCJ2ZWhpY2xlRm9ybSIsInBsYXRlTnVtYmVyIiwiY29sb3IiLCJuZWVkTGljZW5zZSIsInNob3dDYXJUeXBlUGlja2VyIiwiY2FyVHlwZUxpc3QiLCJjYXJUeXBlQ29sdW1ucyIsInNob3dEYXRlUGlja2VyIiwiZGF0ZVBpY2tlck1vZGUiLCJkYXRlUGlja2VyVmFsdWUiLCJ1cGxvYWRQYXRocyIsInByZXZpZXdJbWFnZXMiLCJpc0FncmVlZCIsImltZ1ByZWZpeCIsImNvbXB1dGVkIiwib25Mb2FkIiwibWV0aG9kcyIsImdldE1hcml0YWxTdGF0dXNUZXh0IiwiZ2V0VmVyaWZ5RGV0YWlsIiwiY29uZmlybU1hcml0YWwiLCJoYW5kbGVVcGxvYWQiLCJ1bmkiLCJ0aXRsZSIsImljb24iLCJjb3VudCIsInNpemVUeXBlIiwic291cmNlVHlwZSIsInN1Y2Nlc3MiLCJ1cGxvYWRGaWxlcyIsInRlbXBGaWxlUGF0aHMiLCJ1cmwiLCJmaWxlUGF0aCIsImZvcm1EYXRhIiwiZm9sZGVyIiwidXBsb2FkZWRDb3VudCIsImZhaWwiLCJnZXRGdWxsUGF0aCIsInByZXZpZXdJbWciLCJjdXJyZW50IiwidXJscyIsInJlbW92ZUltZyIsInJlbW92ZUltYWdlIiwiZ2V0Q2F0ZWdvcnlMaXN0IiwidHlwZSIsImlkIiwiZ2V0Q2FyVHlwZVRleHQiLCJjb25maXJtQ2FyVHlwZSIsIm9wZW5EYXRlUGlja2VyIiwiY29uZmlybURhdGUiLCJmb3JtYXREYXRlIiwiZ2V0QXJlYUxpc3QiLCJmbGFnIiwiY2hhbmdlQXJlYUhhbmRsZXIiLCJpbmRleHMiLCJwaWNrZXIiLCJjb25maXJtQXJlYSIsImhhbmRsZVByaW1hcnlBY3Rpb24iLCJ2YWxpZGF0ZVN0ZXAxIiwidmFsaWRhdGVTdGVwMiIsInN1Ym1pdFZlcmlmeSIsInNldFRpbWVvdXQiLCJnb1ByZXZTdGVwIiwic2Nyb2xsVG9Ub3AiLCJzY3JvbGxUb3AiLCJkdXJhdGlvbiIsIm9wZW5BZ3JlZW1lbnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBNFJBO0FBQUE7QUFBQTtBQUFBLGVBQ0E7RUFDQUE7SUFDQTtNQUNBQztNQUNBQztNQUNBQyxpQkFDQTtRQUFBQztRQUFBQztNQUFBLEdBQ0E7UUFBQUQ7UUFBQUM7TUFBQSxHQUNBO1FBQUFEO1FBQUFDO01BQUEsR0FDQTtRQUFBRDtRQUFBQztNQUFBLEVBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7UUFDQUM7TUFDQTtNQUNBQztRQUNBQztRQUNBQztRQUNBVDtNQUNBO01BQ0FVO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO1FBQ0FwQjtRQUNBQztRQUNBTTtRQUNBQztRQUNBQztNQUNBO01BQ0FZO1FBQ0FyQjtRQUNBQztRQUNBTTtRQUNBQztRQUNBQztNQUNBO01BQ0FhO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQyw0QkFDQSxrQ0FDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FDO01BQ0E7TUFDQTtRQUFBO01BQUE7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7WUFDQTtZQUNBO2NBQ0E7Z0JBQUE7Y0FBQTtjQUNBO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7Y0FBQTtZQUFBO1lBQ0E7Y0FBQTtZQUFBO1lBQ0E7Y0FBQTtZQUFBO1lBQ0E7Y0FBQTtZQUFBO1lBQ0E7Y0FBQTtZQUFBO1lBQ0E7Y0FBQTtZQUFBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQUE7TUFDQTtNQUNBO01BQ0E7UUFDQUM7VUFBQUM7VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQUY7UUFDQUc7UUFDQUM7UUFDQUM7UUFDQUM7VUFDQTtVQUNBO1VBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7TUFDQTtNQUNBO01BQ0FQO1FBQUFDO01BQUE7TUFDQU87UUFDQVI7VUFDQVM7VUFDQUM7VUFDQS9DO1VBQ0FnRDtZQUNBQztVQUNBO1VBQ0FOO1lBQ0E7WUFDQTtjQUNBO2NBQ0E7Y0FDQTtnQkFDQTtnQkFDQTtjQUNBO2dCQUNBO2dCQUNBO2NBQ0E7WUFDQTtZQUNBTztZQUNBO2NBQ0FiO1lBQ0E7VUFDQTtVQUNBYztZQUNBRDtZQUNBYjtjQUFBQztjQUFBQztZQUFBO1lBQ0E7Y0FDQUY7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FlO01BQ0E7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0FoQjtRQUNBaUI7UUFDQUM7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtRQUNBO1FBQ0E7TUFDQTtRQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUFBQztNQUFBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FDQUM7Y0FDQW5FO1lBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FBQTtZQUFBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBb0U7TUFDQTtNQUNBO1FBQUE7TUFBQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUFBRjtRQUFBbkU7TUFDQTtNQUNBO1FBQUE7TUFBQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FzRTtNQUNBO01BQ0E7UUFDQTtNQUNBO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtNQUNBO1FBQ0E7TUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBUDtRQUNBUTtNQUNBO1FBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FDQVA7Y0FDQW5FO1lBQ0E7VUFDQTtVQUNBO1lBQ0E7Y0FDQW1FO2NBQ0FuRTtZQUNBO1VBQ0E7VUFDQTtZQUNBO2NBQ0FtRTtjQUNBbkU7WUFDQTtVQUNBO1FBQ0E7TUFDQTtJQUNBO0lBQ0EyRTtNQUNBO1FBQUFDO1FBQUE7UUFBQUM7TUFDQTtRQUNBO1VBQ0E7WUFDQVY7WUFDQW5FO1VBQ0E7UUFDQTtRQUNBO1VBQ0E7WUFDQW1FO1lBQ0FuRTtVQUNBO1FBQ0E7UUFDQTZFO1FBQ0FBO01BQ0E7UUFDQTtVQUNBO1lBQ0FWO1lBQ0FuRTtVQUNBO1FBQ0E7UUFDQTZFO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtRQUNBO1VBQ0FuQztZQUFBQztZQUFBQztVQUFBO1VBQ0E7UUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBa0M7TUFDQTtRQUNBcEM7VUFBQUM7VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQTtRQUNBRjtVQUFBQztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBO1FBQ0FGO1VBQUFDO1VBQUFDO1FBQUE7UUFDQTtNQUNBO01BQ0E7UUFDQUY7VUFBQUM7VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQTtRQUNBRjtVQUFBQztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBO1FBQ0FGO1VBQUFDO1VBQUFDO1FBQUE7UUFDQTtNQUNBO01BQ0E7UUFDQUY7VUFBQUM7VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQTtRQUNBRjtVQUFBQztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBO1FBQ0FGO1VBQUFDO1VBQUFDO1FBQUE7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBbUM7TUFDQTtRQUNBckM7VUFBQUM7VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQTtRQUNBRjtVQUFBQztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBO1FBQ0FGO1VBQUFDO1VBQUFDO1FBQUE7UUFDQTtNQUNBO01BQ0E7UUFDQUY7VUFBQUM7VUFBQUM7UUFBQTtRQUNBO01BQ0E7TUFDQTtRQUNBRjtVQUFBQztVQUFBQztRQUFBO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQW9DO01BQ0E7TUFDQXRDO1FBQUFDO01BQUE7TUFDQSxpREFDQTtRQUNBN0I7UUFDQUM7UUFDQUY7UUFDQUs7UUFDQUM7UUFDQUM7TUFBQSxFQUNBO01BQ0E7TUFDQTtRQUNBc0I7UUFDQTtVQUNBQTtZQUFBQztZQUFBQztVQUFBO1VBQ0FxQztZQUNBdkM7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBd0M7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQXpDO1FBQ0EwQztRQUNBQztNQUNBO0lBQ0E7SUFDQUM7TUFDQTVDO1FBQ0FTO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxNDkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XHJcblx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlXCI+XHJcblx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXBzXCI+XHJcblx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fc3RlcFwiXHJcblx0XHRcdFx0OmNsYXNzPVwieyAnZHJpdmVyLWNlcnQtcGFnZV9fc3RlcC0tYWN0aXZlJzogY3VycmVudFN0ZXAgPT09IDEsICdkcml2ZXItY2VydC1wYWdlX19zdGVwLS1kb25lJzogY3VycmVudFN0ZXAgPiAxIH1cIj5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtY2lyY2xlXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtY2lyY2xlLWlubmVyXCI+XHJcblx0XHRcdFx0XHRcdDx1LWljb24gdi1pZj1cImN1cnJlbnRTdGVwID4gMVwiIG5hbWU9XCJjaGVja2JveC1tYXJrXCIgY29sb3I9XCIjZmZmZmZmXCIgc2l6ZT1cIjEwXCI+PC91LWljb24+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fc3RlcC10ZXh0XCJcclxuXHRcdFx0XHRcdDpjbGFzcz1cInsgJ2RyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtdGV4dC0tYWN0aXZlJzogY3VycmVudFN0ZXAgPT09IDEsICdkcml2ZXItY2VydC1wYWdlX19zdGVwLXRleHQtLWRvbmUnOiBjdXJyZW50U3RlcCA+IDEgfVwiPuWfuuacrOS/oeaBrzwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zdGVwLWxpbmVcIj48L3ZpZXc+XHJcblxyXG5cdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXBcIiA6Y2xhc3M9XCJ7ICdkcml2ZXItY2VydC1wYWdlX19zdGVwLS1hY3RpdmUnOiBjdXJyZW50U3RlcCA9PT0gMiB9XCI+XHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zdGVwLWNpcmNsZVwiXHJcblx0XHRcdFx0XHQ6Y2xhc3M9XCJ7ICdkcml2ZXItY2VydC1wYWdlX19zdGVwLWNpcmNsZS0taW5hY3RpdmUnOiBjdXJyZW50U3RlcCAhPT0gMiB9XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtY2lyY2xlLWlubmVyXCI+e3sgY3VycmVudFN0ZXAgPT09IDIgPyAnJyA6ICcyJyB9fTwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zdGVwLXRleHRcIlxyXG5cdFx0XHRcdFx0OmNsYXNzPVwieyAnZHJpdmVyLWNlcnQtcGFnZV9fc3RlcC10ZXh0LS1hY3RpdmUnOiBjdXJyZW50U3RlcCA9PT0gMiB9XCI+6L2m6L6G5L+h5oGvPC90ZXh0PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zY3JvbGxcIj5cclxuXHRcdFx0PHZpZXcgdi1pZj1cImN1cnJlbnRTdGVwID09PSAxXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkXCI+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX190aXRsZVwiPuWfuuacrOS/oeaBrzwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX21vYmlsZVwiPuazqOWGjOaJi+acuuWPt++8mnt7IHVzZXJJbmZvLnRlbGVwaG9uZSB8fCAnJyB9fTwvdGV4dD5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19maWVsZFwiPlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPuWPuOacuuWnk+WQjTwvdGV4dD5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fcmVxdWlyZWRcIj4qPC90ZXh0PlxyXG5cdFx0XHRcdFx0PGlucHV0IHYtbW9kZWw9XCJmb3JtLm5hbWVcIiBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2lucHV0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXlj7jmnLrlp5PlkI1cIlxyXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlci1zdHlsZT1cImNvbG9yOiAjYjliZmM4O1wiIC8+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkXCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+6Lqr5Lu96K+B5Y+3PC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8aW5wdXQgdHlwZT1cImlkY2FyZFwiIG1heGxlbmd0aD1cIjE4XCIgdi1tb2RlbD1cImZvcm0uaWRjYXJkXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19pbnB1dFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5Y+45py66Lqr5Lu96K+B5Y+356CBXCJcclxuXHRcdFx0XHRcdFx0cGxhY2Vob2xkZXItc3R5bGU9XCJjb2xvcjogI2I5YmZjODtcIiAvPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19maWVsZCBkcml2ZXItY2VydC1jYXJkX19maWVsZC0tc2VsZWN0XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkLWhlYWRcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPuWpmuWnu+eKtuWGtTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3NlbGVjdG9yXCIgQGNsaWNrPVwic2hvd01hcml0YWxQaWNrZXIgPSB0cnVlXCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fc2VsZWN0b3ItdGV4dFwiIDpzdHlsZT1cInsgY29sb3I6IGZvcm0ubWFyaXRhbFN0YXR1cyAhPT0gJycgPyAnIzMzMzMzMycgOiAnI2I5YmZjOCcgfVwiPnt7IGdldE1hcml0YWxTdGF0dXNUZXh0KGZvcm0ubWFyaXRhbFN0YXR1cykgfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fYXJyb3dcIj7igLo8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkIGRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkLS1zZWxlY3RcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fZmllbGQtaGVhZFwiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+5bGF5L2P5Z+O5biCPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3JlcXVpcmVkXCI+KjwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fc2VsZWN0b3JcIiBAY2xpY2s9XCJzaG93QXJlYVBpY2tlciA9IHRydWVcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19zZWxlY3Rvci10ZXh0XCIgOnN0eWxlPVwieyBjb2xvcjogZm9ybS5hcmVhTmFtZSA/ICcjMzMzMzMzJyA6ICcjYjliZmM4JyB9XCI+e3sgZm9ybS5hcmVhTmFtZSB8fCAn6K+36YCJ5oup55yB5biC5Yy6JyB9fTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19hcnJvd1wiPuKAujwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fZmllbGRcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fbGFiZWxcIj7or6bnu4blnLDlnYA8L3RleHQ+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3JlcXVpcmVkXCI+KjwvdGV4dD5cclxuXHRcdFx0XHRcdDxpbnB1dCB2LW1vZGVsPVwiZm9ybS5saXZlUGxhY2VcIiBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2lucHV0XCIgcGxhY2Vob2xkZXI9XCLor7fovpPlhaXor6bnu4blsYXkvY/lnLDlnYBcIlxyXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlci1zdHlsZT1cImNvbG9yOiAjYjliZmM4O1wiIC8+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkXCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+5pSv5LuY5a6d6LSm5Y+3PC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8aW5wdXQgdi1tb2RlbD1cImZvcm0uYWxpQWNjb3VudFwiIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9faW5wdXRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpeaUtuasvuaUr+S7mOWunei0puWPt1wiXHJcblx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyLXN0eWxlPVwiY29sb3I6ICNiOWJmYzg7XCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fZmllbGRcIj5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fbGFiZWxcIj7mlK/ku5jlrp3lp5PlkI08L3RleHQ+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3JlcXVpcmVkXCI+KjwvdGV4dD5cclxuXHRcdFx0XHRcdDxpbnB1dCB2LW1vZGVsPVwiZm9ybS5hbGlOYW1lXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19pbnB1dFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl5pSv5LuY5a6d5aeT5ZCNXCJcclxuXHRcdFx0XHRcdFx0cGxhY2Vob2xkZXItc3R5bGU9XCJjb2xvcjogI2I5YmZjODtcIiAvPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtYmxvY2tcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXRpdGxlLXJvd1wiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+6Lqr5Lu96K+B5q2j5Y+N6Z2iPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3JlcXVpcmVkXCI+KjwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1saXN0XCI+XHJcblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWl0ZW1cIiBAY2xpY2s9XCJoYW5kbGVVcGxvYWQoJ2lkY2FyZEltZycsIDEpXCIgc3R5bGU9XCJoZWlnaHQ6IDE5NnJweDtcIj5cclxuXHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1pZj1cInByZXZpZXdJbWFnZXMuaWRjYXJkSW1nXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1pbWdcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiIDpzcmM9XCJwcmV2aWV3SW1hZ2VzLmlkY2FyZEltZ1wiIG1vZGU9XCJoZWlnaHRGaXhcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtcmVtb3ZlXCIgQGNsaWNrLnN0b3A9XCJyZW1vdmVJbWFnZSgnaWRjYXJkSW1nJylcIj7liKDpmaQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdFx0XHQ8dGVtcGxhdGUgdi1lbHNlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWljb25cIiBzcmM9XCIvc3RhdGljL2ltYWdlL2ljX2NhbWVyYUAyeC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXRleHRcIj7kuIrkvKDkurrlg4/pnaI8L3RleHQ+XHJcblx0XHRcdFx0XHRcdFx0PC90ZW1wbGF0ZT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1pdGVtXCIgQGNsaWNrPVwiaGFuZGxlVXBsb2FkKCdpZGNhcmRJbWdCYWNrJywgMSlcIiBzdHlsZT1cImhlaWdodDogMTk2cnB4O1wiPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSB2LWlmPVwicHJldmlld0ltYWdlcy5pZGNhcmRJbWdCYWNrXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1pbWdcIj5cclxuXHRcdFx0XHRcdFx0XHRcdFx0PGltYWdlIHN0eWxlPVwiaGVpZ2h0OiAxMDAlO1wiIDpzcmM9XCJwcmV2aWV3SW1hZ2VzLmlkY2FyZEltZ0JhY2tcIiBtb2RlPVwiaGVpZ2h0Rml4XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXJlbW92ZVwiIEBjbGljay5zdG9wPVwicmVtb3ZlSW1hZ2UoJ2lkY2FyZEltZ0JhY2snKVwiPuWIoOmZpDwvdmlldz5cclxuXHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxyXG5cdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSB2LWVsc2U+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaWNvblwiIHNyYz1cIi9zdGF0aWMvaW1hZ2UvaWNfY2FtZXJhQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtdGV4dFwiPuS4iuS8oOWbveW+vemdojwvdGV4dD5cclxuXHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHQ8dmlldyB2LWVsc2UgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkIGRyaXZlci1jZXJ0LWNhcmQtLXZlaGljbGVcIj5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3RpdGxlXCI+6L2m6L6G5L+h5oGvPC90ZXh0PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkXCI+XHJcblx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+6L2m54mM5Y+3PC90ZXh0PlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8aW5wdXQgdi1tb2RlbD1cInZlaGljbGVGb3JtLnBsYXRlTnVtYmVyXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19pbnB1dFwiIHBsYWNlaG9sZGVyPVwi6K+36L6T5YWl6L2m54mM5Y+3XCJcclxuXHRcdFx0XHRcdFx0cGxhY2Vob2xkZXItc3R5bGU9XCJjb2xvcjogI2I5YmZjODtcIiAvPlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19maWVsZCBkcml2ZXItY2VydC1jYXJkX19maWVsZC0tc2VsZWN0XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkLWhlYWRcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPui9pui+huexu+WeizwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3NlbGVjdG9yXCIgQGNsaWNrPVwic2hvd0NhclR5cGVQaWNrZXIgPSB0cnVlXCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fc2VsZWN0b3ItdGV4dFwiIDpzdHlsZT1cInsgY29sb3I6IHZlaGljbGVGb3JtLmNhclR5cGUgPyAnIzMzMzMzMycgOiAnI2I5YmZjOCcgfVwiPnt7IGdldENhclR5cGVUZXh0KHZlaGljbGVGb3JtLmNhclR5cGUpIH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2Fycm93XCI+4oC6PC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19maWVsZFwiPlxyXG5cdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPui9pui+huminOiJsjwvdGV4dD5cclxuXHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fcmVxdWlyZWRcIj4qPC90ZXh0PlxyXG5cdFx0XHRcdFx0PGlucHV0IHYtbW9kZWw9XCJ2ZWhpY2xlRm9ybS5jb2xvclwiIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9faW5wdXRcIiBwbGFjZWhvbGRlcj1cIuivt+i+k+WFpei9pui+huminOiJslwiXHJcblx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyLXN0eWxlPVwiY29sb3I6ICNiOWJmYzg7XCIgLz5cclxuXHRcdFx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fZmllbGQgZHJpdmVyLWNlcnQtY2FyZF9fZmllbGQtLXNlbGVjdFwiIHN0eWxlPVwiYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkLWhlYWRcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPumpvumptuivgeacieaViOacn+i1tzwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3NlbGVjdG9yXCIgQGNsaWNrPVwib3BlbkRhdGVQaWNrZXIoJ3N0YXJ0JylcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19zZWxlY3Rvci10ZXh0XCIgOnN0eWxlPVwieyBjb2xvcjogZm9ybS5jYXJkU3RhcnREYXRlID8gJyMzMzMzMzMnIDogJyNiOWJmYzgnIH1cIj57eyBmb3JtLmNhcmRTdGFydERhdGUgfHwgJ+ivt+mAieaLqScgfX08L3RleHQ+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fYXJyb3dcIj7igLo8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkIGRyaXZlci1jZXJ0LWNhcmRfX2ZpZWxkLS1zZWxlY3RcIiBzdHlsZT1cImJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1wiPlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19maWVsZC1oZWFkXCI+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fbGFiZWxcIj7pqb7pqbbor4HmnInmlYjmnJ/mraI8L3RleHQ+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fcmVxdWlyZWRcIj4qPC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19zZWxlY3RvclwiIEBjbGljaz1cIm9wZW5EYXRlUGlja2VyKCdlbmQnKVwiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3NlbGVjdG9yLXRleHRcIiA6c3R5bGU9XCJ7IGNvbG9yOiBmb3JtLmNhcmRFbmREYXRlID8gJyMzMzMzMzMnIDogJyNiOWJmYzgnIH1cIj57eyBmb3JtLmNhcmRFbmREYXRlIHx8ICfor7fpgInmi6knIH19PC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2Fycm93XCI+4oC6PC90ZXh0PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtYmxvY2sgZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWJsb2NrLS1zdGFja2VkXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC10aXRsZS1yb3dcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPui9pui+hueFp+eJhzwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19yZXF1aXJlZFwiPio8L3RleHQ+XHJcblx0XHRcdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXRpcFwiPuacgOWkmuS4iuS8oDPlvKDnhafniYc8L3RleHQ+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1saXN0IGRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1saXN0LS1zaW5nbGVcIj5cclxuXHRcdFx0XHRcdFx0PHZpZXcgdi1mb3I9XCIoaW1nLCBpbmRleCkgaW4gcHJldmlld0ltYWdlcy5jYXJJbWdVcmxzXCIgOmtleT1cImluZGV4XCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbSBkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbS0tc2luZ2xlXCIgQGNsaWNrPVwicHJldmlld0ltZygnY2FySW1nVXJscycsIGluZGV4KVwiPlxyXG5cdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1pbWFnZVwiIDpzcmM9XCJpbWdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtcmVtb3ZlXCIgQGNsaWNrLnN0b3A9XCJyZW1vdmVJbWcoJ2NhckltZ1VybHMnLCBpbmRleClcIj7liKDpmaQ8L3ZpZXc+XHJcblx0XHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PHZpZXcgdi1pZj1cInByZXZpZXdJbWFnZXMuY2FySW1nVXJscy5sZW5ndGggPCAzXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbSBkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbS0tc2luZ2xlXCIgQGNsaWNrPVwiaGFuZGxlVXBsb2FkKCdjYXJJbWdVcmxzJywgMylcIj5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaW1hZ2VcIiBzcmM9XCIvc3RhdGljL2ltYWdlL2J0bl91cGxvYWQyQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0XHQ8dmlldyB2LWlmPVwibmVlZExpY2Vuc2VcIiBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1ibG9jayBkcml2ZXItY2VydC1jYXJkX191cGxvYWQtYmxvY2stLXN0YWNrZWRcIj5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXRpdGxlLXJvd1wiPlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX2xhYmVsXCI+6am+6am26K+B54Wn54mHPC90ZXh0PlxyXG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3JlcXVpcmVkXCI+KjwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtdGlwXCI+5pyA5aSa5LiK5LygM+W8oOeFp+eJhzwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWxpc3QgZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWxpc3QtLXNpbmdsZVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWZvcj1cIihpbWcsIGluZGV4KSBpbiBwcmV2aWV3SW1hZ2VzLmxpY2Vuc2VJbWdVcmxzXCIgOmtleT1cImluZGV4XCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbSBkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbS0tc2luZ2xlXCIgQGNsaWNrPVwicHJldmlld0ltZygnbGljZW5zZUltZ1VybHMnLCBpbmRleClcIj5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaW1hZ2VcIiA6c3JjPVwiaW1nXCIgbW9kZT1cImFzcGVjdEZpbGxcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLXJlbW92ZVwiIEBjbGljay5zdG9wPVwicmVtb3ZlSW1nKCdsaWNlbnNlSW1nVXJscycsIGluZGV4KVwiPuWIoOmZpDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicHJldmlld0ltYWdlcy5saWNlbnNlSW1nVXJscy5sZW5ndGggPCAzXCIgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbSBkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaXRlbS0tc2luZ2xlXCIgQGNsaWNrPVwiaGFuZGxlVXBsb2FkKCdsaWNlbnNlSW1nVXJscycsIDMpXCI+XHJcblx0XHRcdFx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWltYWdlXCIgc3JjPVwiL3N0YXRpYy9pbWFnZS9idG5fdXBsb2FkMkAyeC5wbmdcIiBtb2RlPVwiYXNwZWN0Rml0XCI+PC9pbWFnZT5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdDwvdmlldz5cclxuXHJcblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtYmxvY2sgZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWJsb2NrLS1zdGFja2VkXCI+XHJcblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC10aXRsZS1yb3dcIj5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX19sYWJlbFwiPuWFtuS7luadkOaWmTwvdGV4dD5cclxuXHRcdFx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtdGlwXCI+5pyA5aSa5LiK5LygM+W8oOeFp+eJhzwvdGV4dD5cclxuXHRcdFx0XHRcdDwvdmlldz5cclxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWxpc3QgZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWxpc3QtLXNpbmdsZVwiPlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWZvcj1cIihpbWcsIGluZGV4KSBpbiBwcmV2aWV3SW1hZ2VzLm90aGVySW1nVXJsc1wiIDprZXk9XCJpbmRleFwiIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWl0ZW0gZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWl0ZW0tLXNpbmdsZVwiIEBjbGljaz1cInByZXZpZXdJbWcoJ290aGVySW1nVXJscycsIGluZGV4KVwiPlxyXG5cdFx0XHRcdFx0XHRcdDxpbWFnZSBjbGFzcz1cImRyaXZlci1jZXJ0LWNhcmRfX3VwbG9hZC1pbWFnZVwiIDpzcmM9XCJpbWdcIiBtb2RlPVwiYXNwZWN0RmlsbFwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtcmVtb3ZlXCIgQGNsaWNrLnN0b3A9XCJyZW1vdmVJbWcoJ290aGVySW1nVXJscycsIGluZGV4KVwiPuWIoOmZpDwvdmlldz5cclxuXHRcdFx0XHRcdFx0PC92aWV3PlxyXG5cdFx0XHRcdFx0XHQ8dmlldyB2LWlmPVwicHJldmlld0ltYWdlcy5vdGhlckltZ1VybHMubGVuZ3RoIDwgM1wiIGNsYXNzPVwiZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWl0ZW0gZHJpdmVyLWNlcnQtY2FyZF9fdXBsb2FkLWl0ZW0tLXNpbmdsZVwiIEBjbGljaz1cImhhbmRsZVVwbG9hZCgnb3RoZXJJbWdVcmxzJywgMylcIj5cclxuXHRcdFx0XHRcdFx0XHQ8aW1hZ2UgY2xhc3M9XCJkcml2ZXItY2VydC1jYXJkX191cGxvYWQtaW1hZ2VcIiBzcmM9XCIvc3RhdGljL2ltYWdlL2J0bl91cGxvYWQyQDJ4LnBuZ1wiIG1vZGU9XCJhc3BlY3RGaXRcIj48L2ltYWdlPlxyXG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0XHQ8L3ZpZXc+XHJcblx0XHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0PC92aWV3PlxyXG5cdFx0PC92aWV3PlxyXG5cclxuXHRcdDx2aWV3IGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fYm90dG9tLWJhclwiPlxyXG5cdFx0XHQ8dmlldyB2LWlmPVwiY3VycmVudFN0ZXAgPT09IDJcIiBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX2FncmVlbWVudFwiIEBjbGljaz1cImlzQWdyZWVkID0gIWlzQWdyZWVkXCI+XHJcblx0XHRcdFx0PGltYWdlIGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fYWdyZWVtZW50LWljb25cIiA6c3JjPVwiaXNBZ3JlZWQgPyAnL3N0YXRpYy9pbWFnZS9pY19hY2NlcHRfc2VsQDJ4LnBuZycgOiAnL3N0YXRpYy9pbWFnZS9pY19hY2NlcHRAMngucG5nJ1wiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19hZ3JlZW1lbnQtdGV4dFwiPuaIkeW3sumYheivu+W5tuWQjOaEjzwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX2FncmVlbWVudC1saW5rXCIgQGNsaWNrLnN0b3A9XCJvcGVuQWdyZWVtZW50KCdlcnJhbmRSaXNrQ29tbWl0bWVudCcpXCI+44CK6aOO6Zmp5om/6K+644CLPC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fYWdyZWVtZW50LXRleHRcIj7jgIE8L3RleHQ+XHJcblx0XHRcdFx0PHRleHQgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19hZ3JlZW1lbnQtbGlua1wiIEBjbGljay5zdG9wPVwib3BlbkFncmVlbWVudCgnZXJyYW5kTHVnZ2FnZVN0b3JhZ2VOb3RpY2UnKVwiPuOAiuihjOadjuWvhOWtmOmhu+efpeOAizwvdGV4dD5cclxuXHRcdFx0XHQ8dGV4dCBjbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX2FncmVlbWVudC10ZXh0XCI+5Y+KPC90ZXh0PlxyXG5cdFx0XHRcdDx0ZXh0IGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fYWdyZWVtZW50LWxpbmtcIiBAY2xpY2suc3RvcD1cIm9wZW5BZ3JlZW1lbnQoJ2VycmFuZFNlcnZpY2VBZ3JlZW1lbnQnKVwiPuOAiuacjeWKoeWNj+iuruOAizwvdGV4dD5cclxuXHRcdFx0PC92aWV3PlxyXG5cclxuXHRcdFx0PHZpZXcgY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19hY3Rpb25zXCIgOmNsYXNzPVwieyAnZHJpdmVyLWNlcnQtcGFnZV9fYWN0aW9ucy0tZHVhbCc6IGN1cnJlbnRTdGVwID09PSAyIH1cIj5cclxuXHRcdFx0XHQ8YnV0dG9uIHYtaWY9XCJjdXJyZW50U3RlcCA9PT0gMlwiIGNsYXNzPVwiZHJpdmVyLWNlcnQtcGFnZV9fc3VibWl0IGRyaXZlci1jZXJ0LXBhZ2VfX3N1Ym1pdC0tZ2hvc3RcIlxyXG5cdFx0XHRcdFx0aG92ZXItY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zdWJtaXQtLWhvdmVyXCIgQGNsaWNrPVwiZ29QcmV2U3RlcFwiPuS4iuS4gOatpTwvYnV0dG9uPlxyXG5cdFx0XHRcdDxidXR0b24gY2xhc3M9XCJkcml2ZXItY2VydC1wYWdlX19zdWJtaXRcIiBob3Zlci1jbGFzcz1cImRyaXZlci1jZXJ0LXBhZ2VfX3N1Ym1pdC0taG92ZXJcIlxyXG5cdFx0XHRcdFx0QGNsaWNrPVwiaGFuZGxlUHJpbWFyeUFjdGlvblwiPnt7IGN1cnJlbnRTdGVwID09PSAxID8gJ+S4i+S4gOatpScgOiAn5o+Q5Lqk6K6k6K+B55Sz6K+3JyB9fTwvYnV0dG9uPlxyXG5cdFx0XHQ8L3ZpZXc+XHJcblx0XHQ8L3ZpZXc+XHJcblxyXG5cdFx0PHUtcGlja2VyXHJcblx0XHRcdDpzaG93PVwic2hvd0FyZWFQaWNrZXJcIlxyXG5cdFx0XHR2LWlmPVwiYXJlYUxpc3QgJiYgYXJlYUxpc3QubGVuZ3RoID4gMFwiXHJcblx0XHRcdHJlZj1cInVQaWNrZXJcIlxyXG5cdFx0XHRjb25maXJtQ29sb3I9XCIjMTBCMkZBXCJcclxuXHRcdFx0a2V5TmFtZT1cInRleHRcIlxyXG5cdFx0XHQ6Y29sdW1ucz1cImFyZWFDb2x1bW5zXCJcclxuXHRcdFx0QGNvbmZpcm09XCJjb25maXJtQXJlYVwiXHJcblx0XHRcdEBjaGFuZ2U9XCJjaGFuZ2VBcmVhSGFuZGxlclwiXHJcblx0XHRcdEBjYW5jZWw9XCJzaG93QXJlYVBpY2tlciA9IGZhbHNlXCIgLz5cclxuXHJcblx0XHQ8dS1waWNrZXJcclxuXHRcdFx0OnNob3c9XCJzaG93TWFyaXRhbFBpY2tlclwiXHJcblx0XHRcdGNvbmZpcm1Db2xvcj1cIiMxMEIyRkFcIlxyXG5cdFx0XHRrZXlOYW1lPVwidGV4dFwiXHJcblx0XHRcdDpjb2x1bW5zPVwiW21hcml0YWxPcHRpb25zXVwiXHJcblx0XHRcdEBjb25maXJtPVwiY29uZmlybU1hcml0YWxcIlxyXG5cdFx0XHRAY2FuY2VsPVwic2hvd01hcml0YWxQaWNrZXIgPSBmYWxzZVwiIC8+XHJcblxyXG5cdFx0PHUtcGlja2VyXHJcblx0XHRcdDpzaG93PVwic2hvd0NhclR5cGVQaWNrZXJcIlxyXG5cdFx0XHR2LWlmPVwiY2FyVHlwZUxpc3QgJiYgY2FyVHlwZUxpc3QubGVuZ3RoID4gMFwiXHJcblx0XHRcdGNvbmZpcm1Db2xvcj1cIiMxMEIyRkFcIlxyXG5cdFx0XHRrZXlOYW1lPVwidGV4dFwiXHJcblx0XHRcdDpjb2x1bW5zPVwiY2FyVHlwZUNvbHVtbnNcIlxyXG5cdFx0XHRAY29uZmlybT1cImNvbmZpcm1DYXJUeXBlXCJcclxuXHRcdFx0QGNhbmNlbD1cInNob3dDYXJUeXBlUGlja2VyID0gZmFsc2VcIiAvPlxyXG5cclxuXHRcdDx1LWRhdGV0aW1lLXBpY2tlclxyXG5cdFx0XHQ6c2hvdz1cInNob3dEYXRlUGlja2VyXCJcclxuXHRcdFx0di1tb2RlbD1cImRhdGVQaWNrZXJWYWx1ZVwiXHJcblx0XHRcdG1vZGU9XCJkYXRlXCJcclxuXHRcdFx0Om1pbkRhdGU9XCJkYXRlUGlja2VyTW9kZSA9PT0gJ2VuZCcgPyB0aGlzLmZvcm0uY2FyZFN0YXJ0RGF0ZSA6IDBcIlxyXG5cdFx0XHRAY29uZmlybT1cImNvbmZpcm1EYXRlXCJcclxuXHRcdFx0QGNhbmNlbD1cInNob3dEYXRlUGlja2VyID0gZmFsc2VcIiAvPlxyXG5cdDwvdmlldz5cclxuPC90ZW1wbGF0ZT5cclxuXHJcbjxzY3JpcHQ+XHJcbiAgICBpbXBvcnQgeyBtYXBTdGF0ZSB9IGZyb20gJ3Z1ZXgnXHJcblx0ZXhwb3J0IGRlZmF1bHQge1xyXG5cdFx0ZGF0YSgpIHtcclxuXHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRzaG93QXJlYVBpY2tlcjogZmFsc2UsXHJcblx0XHRcdFx0c2hvd01hcml0YWxQaWNrZXI6IGZhbHNlLFxyXG5cdFx0XHRcdG1hcml0YWxPcHRpb25zOiBbXHJcblx0XHRcdFx0XHR7IHZhbHVlOiAnMCcsIHRleHQ6ICfmnKrlqZonIH0sXHJcblx0XHRcdFx0XHR7IHZhbHVlOiAnMScsIHRleHQ6ICflt7LlqZonIH0sXHJcblx0XHRcdFx0XHR7IHZhbHVlOiAnMicsIHRleHQ6ICfnprvlvIInIH0sXHJcblx0XHRcdFx0XHR7IHZhbHVlOiAnMycsIHRleHQ6ICfkuKflgbYnIH1cclxuXHRcdFx0XHRdLFxyXG5cdFx0XHRcdGFyZWFMaXN0OiBbXSxcclxuXHRcdFx0XHRhcmVhQ29sdW1uczogW10sXHJcblx0XHRcdFx0Y3VycmVudFN0ZXA6IDEsXHJcblx0XHRcdFx0Zm9ybToge1xyXG5cdFx0XHRcdFx0YXJlYUlkOiAnJyxcclxuXHRcdFx0XHRcdGFyZWFOYW1lOiAnJyxcclxuXHRcdFx0XHRcdG5hbWU6ICcnLFxyXG5cdFx0XHRcdFx0aWRjYXJkOiAnJyxcclxuXHRcdFx0XHRcdG1hcml0YWxTdGF0dXM6ICcnLFxyXG5cdFx0XHRcdFx0bGl2ZVBsYWNlOiAnJyxcclxuXHRcdFx0XHRcdGFsaUFjY291bnQ6ICcnLFxyXG5cdFx0XHRcdFx0YWxpTmFtZTogJycsXHJcblx0XHRcdFx0XHRpZGNhcmRJbWc6ICcnLFxyXG5cdFx0XHRcdFx0aWRjYXJkSW1nQmFjazogJycsXHJcblx0XHRcdFx0XHRjYXJDb2RlOiAnJyxcclxuXHRcdFx0XHRcdGNhclR5cGU6ICcnLFxyXG5cdFx0XHRcdFx0Y2FyQ29sb3I6ICcnLFxyXG5cdFx0XHRcdFx0Y2FyZFN0YXJ0RGF0ZTogJycsXHJcblx0XHRcdFx0XHRjYXJkRW5kRGF0ZTogJycsXHJcblx0XHRcdFx0XHRjYXJJbWdVcmxzOiBbXSxcclxuXHRcdFx0XHRcdGxpY2Vuc2VJbWdVcmxzOiBbXSxcclxuXHRcdFx0XHRcdG90aGVySW1nVXJsczogW11cclxuXHRcdFx0XHR9LFxyXG5cdFx0XHRcdHZlaGljbGVGb3JtOiB7XHJcblx0XHRcdFx0XHRwbGF0ZU51bWJlcjogJycsXHJcblx0XHRcdFx0XHRjb2xvcjogJycsXHJcblx0XHRcdFx0XHRjYXJUeXBlOiAnJ1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0bmVlZExpY2Vuc2U6IGZhbHNlLFxyXG5cdFx0XHRcdHNob3dDYXJUeXBlUGlja2VyOiBmYWxzZSxcclxuXHRcdFx0XHRjYXJUeXBlTGlzdDogW10sXHJcblx0XHRcdFx0Y2FyVHlwZUNvbHVtbnM6IFtdLFxyXG5cdFx0XHRcdHNob3dEYXRlUGlja2VyOiBmYWxzZSxcclxuXHRcdFx0XHRkYXRlUGlja2VyTW9kZTogJ3N0YXJ0JyxcclxuXHRcdFx0XHRkYXRlUGlja2VyVmFsdWU6IE51bWJlcihuZXcgRGF0ZSgpKSxcclxuXHRcdFx0XHR1cGxvYWRQYXRoczoge1xyXG5cdFx0XHRcdFx0aWRjYXJkSW1nOiAnZHJpdmVyL2lkY2FyZC9mcm9udCcsXHJcblx0XHRcdFx0XHRpZGNhcmRJbWdCYWNrOiAnZHJpdmVyL2lkY2FyZC9iYWNrJyxcclxuXHRcdFx0XHRcdGNhckltZ1VybHM6ICdkcml2ZXIvY2FyJyxcclxuXHRcdFx0XHRcdGxpY2Vuc2VJbWdVcmxzOiAnZHJpdmVyL2xpY2Vuc2UnLFxyXG5cdFx0XHRcdFx0b3RoZXJJbWdVcmxzOiAnZHJpdmVyL290aGVyJ1xyXG5cdFx0XHRcdH0sXHJcblx0XHRcdFx0cHJldmlld0ltYWdlczoge1xyXG5cdFx0XHRcdFx0aWRjYXJkSW1nOiAnJyxcclxuXHRcdFx0XHRcdGlkY2FyZEltZ0JhY2s6ICcnLFxyXG5cdFx0XHRcdFx0Y2FySW1nVXJsczogW10sXHJcblx0XHRcdFx0XHRsaWNlbnNlSW1nVXJsczogW10sXHJcblx0XHRcdFx0XHRvdGhlckltZ1VybHM6IFtdXHJcblx0XHRcdFx0fSxcclxuXHRcdFx0XHRpc0FncmVlZDogZmFsc2UsXHJcblx0XHRcdFx0aW1nUHJlZml4OiAnJ1xyXG5cdFx0XHR9XHJcblx0XHR9LFxyXG5cdFx0Y29tcHV0ZWQ6IHtcclxuXHRcdFx0Li4ubWFwU3RhdGUoWyd1c2VySW5mbyddKVxyXG5cdFx0fSxcclxuXHRcdG9uTG9hZCgpIHtcclxuXHRcdFx0dGhpcy5nZXRBcmVhTGlzdCgpXHJcblx0XHRcdHRoaXMuZ2V0Q2F0ZWdvcnlMaXN0KClcclxuXHRcdFx0dGhpcy5nZXRWZXJpZnlEZXRhaWwoKVxyXG5cdFx0fSxcclxuXHRcdG1ldGhvZHM6IHtcclxuXHRcdFx0Z2V0TWFyaXRhbFN0YXR1c1RleHQodmFsdWUpIHtcclxuXHRcdFx0XHRpZiAoIXZhbHVlICYmIHZhbHVlICE9PSAwKSByZXR1cm4gJ+ivt+mAieaLqSdcclxuXHRcdFx0XHRjb25zdCBpdGVtID0gdGhpcy5tYXJpdGFsT3B0aW9ucy5maW5kKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IFN0cmluZyh2YWx1ZSkpXHJcblx0XHRcdFx0cmV0dXJuIGl0ZW0gPyBpdGVtLnRleHQgOiAn6K+36YCJ5oupJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRWZXJpZnlEZXRhaWwoKSB7XHJcblx0XHRcdFx0dGhpcy4kdS5hcGkudmVyaWZ5RGV0YWlsKCkudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDAgJiYgcmVzLmRhdGEpIHtcclxuXHRcdFx0XHRcdFx0aWYgKHJlcy5kYXRhLmF1ZGl0U3RhdHVzICE9PSA5OSkge1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuaW1nUHJlZml4ID0gcmVzLmRhdGEuaW1nUHJlZml4XHJcblx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtLmFyZWFJZCA9IHJlcy5kYXRhLmFyZWFJZCB8fCAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9ybS5hcmVhTmFtZSA9IFtyZXMuZGF0YS5wcm92aW5jZU5hbWUsIHJlcy5kYXRhLmNpdHlOYW1lLCByZXMuZGF0YS5kaXN0cmljdE5hbWVdLmZpbHRlcihCb29sZWFuKS5qb2luKCcvJylcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0ubmFtZSA9IHJlcy5kYXRhLm5hbWUgfHwgJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0uaWRjYXJkID0gcmVzLmRhdGEuaWRjYXJkIHx8ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtLm1hcml0YWxTdGF0dXMgPSByZXMuZGF0YS5tYXJpdGFsU3RhdHVzICE9PSB1bmRlZmluZWQgPyBTdHJpbmcocmVzLmRhdGEubWFyaXRhbFN0YXR1cykgOiAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9ybS5saXZlUGxhY2UgPSByZXMuZGF0YS5saXZlUGxhY2UgfHwgJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0uYWxpQWNjb3VudCA9IHJlcy5kYXRhLmFsaUFjY291bnQgfHwgJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0uYWxpTmFtZSA9IHJlcy5kYXRhLmFsaU5hbWUgfHwgJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0uaWRjYXJkSW1nID0gcmVzLmRhdGEuaWRjYXJkSW1nIHx8ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtLmlkY2FyZEltZ0JhY2sgPSByZXMuZGF0YS5pZGNhcmRJbWdCYWNrIHx8ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtLmNhcmRTdGFydERhdGUgPSByZXMuZGF0YS5jYXJkU3RhcnREYXRlID8gcmVzLmRhdGEuY2FyZFN0YXJ0RGF0ZS5zcGxpdCgnICcpWzBdIDogJydcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0uY2FyZEVuZERhdGUgPSByZXMuZGF0YS5jYXJkRW5kRGF0ZSA/IHJlcy5kYXRhLmNhcmRFbmREYXRlLnNwbGl0KCcgJylbMF0gOiAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudmVoaWNsZUZvcm0ucGxhdGVOdW1iZXIgPSByZXMuZGF0YS5jYXJDb2RlIHx8ICcnXHJcblx0XHRcdFx0XHRcdFx0dGhpcy52ZWhpY2xlRm9ybS5jYXJUeXBlID0gcmVzLmRhdGEuY2FyVHlwZSB8fCAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMudmVoaWNsZUZvcm0uY29sb3IgPSByZXMuZGF0YS5jYXJDb2xvciB8fCAnJ1xyXG5cdFx0XHRcdFx0XHRcdGlmICh0aGlzLmNhclR5cGVMaXN0Lmxlbmd0aCA+IDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IHNlbGVjdGVkQ2FyVHlwZSA9IHRoaXMuY2FyVHlwZUxpc3QuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHJlcy5kYXRhLmNhclR5cGUpXHJcblx0XHRcdFx0XHRcdFx0XHR0aGlzLm5lZWRMaWNlbnNlID0gc2VsZWN0ZWRDYXJUeXBlICYmIHNlbGVjdGVkQ2FyVHlwZS5vdGhlckZpZWxkID09PSAxXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlcy5pZGNhcmRJbWcgPSByZXMuZGF0YS5pZGNhcmRJbWcgPyByZXMuZGF0YS5pbWdQcmVmaXggKyByZXMuZGF0YS5pZGNhcmRJbWcgOiAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlcy5pZGNhcmRJbWdCYWNrID0gcmVzLmRhdGEuaWRjYXJkSW1nQmFjayA/IHJlcy5kYXRhLmltZ1ByZWZpeCArIHJlcy5kYXRhLmlkY2FyZEltZ0JhY2sgOiAnJ1xyXG5cdFx0XHRcdFx0XHRcdHRoaXMuZm9ybS5jYXJJbWdVcmxzID0gKHJlcy5kYXRhLmNhckltZ0xpc3QgfHwgW10pLm1hcChpdGVtID0+IGl0ZW0uZmlsZXVybClcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0ubGljZW5zZUltZ1VybHMgPSAocmVzLmRhdGEubGljZW5zZUltZ0xpc3QgfHwgW10pLm1hcChpdGVtID0+IGl0ZW0uZmlsZXVybClcclxuXHRcdFx0XHRcdFx0XHR0aGlzLmZvcm0ub3RoZXJJbWdVcmxzID0gKHJlcy5kYXRhLm90aGVySW1nTGlzdCB8fCBbXSkubWFwKGl0ZW0gPT4gaXRlbS5maWxldXJsKVxyXG5cdFx0XHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlcy5jYXJJbWdVcmxzID0gKHJlcy5kYXRhLmNhckltZ0xpc3QgfHwgW10pLm1hcChpdGVtID0+IHJlcy5kYXRhLmltZ1ByZWZpeCArIGl0ZW0uZmlsZXVybClcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnByZXZpZXdJbWFnZXMubGljZW5zZUltZ1VybHMgPSAocmVzLmRhdGEubGljZW5zZUltZ0xpc3QgfHwgW10pLm1hcChpdGVtID0+IHJlcy5kYXRhLmltZ1ByZWZpeCArIGl0ZW0uZmlsZXVybClcclxuXHRcdFx0XHRcdFx0XHR0aGlzLnByZXZpZXdJbWFnZXMub3RoZXJJbWdVcmxzID0gKHJlcy5kYXRhLm90aGVySW1nTGlzdCB8fCBbXSkubWFwKGl0ZW0gPT4gcmVzLmRhdGEuaW1nUHJlZml4ICsgaXRlbS5maWxldXJsKVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Y29uZmlybU1hcml0YWwoZSkge1xyXG5cdFx0XHRcdGNvbnN0IHsgdmFsdWUgfSA9IGUudmFsdWVbMF1cclxuXHRcdFx0XHR0aGlzLmZvcm0ubWFyaXRhbFN0YXR1cyA9IHZhbHVlXHJcblx0XHRcdFx0dGhpcy5zaG93TWFyaXRhbFBpY2tlciA9IGZhbHNlXHJcblx0XHRcdH0sXHJcblx0XHRcdGhhbmRsZVVwbG9hZChmaWVsZCwgbWF4Q291bnQgPSAxKSB7XHJcblx0XHRcdFx0Y29uc3QgY3VycmVudExpc3QgPSB0aGlzLnByZXZpZXdJbWFnZXNbZmllbGRdXHJcblx0XHRcdFx0Y29uc3QgY3VycmVudENvdW50ID0gQXJyYXkuaXNBcnJheShjdXJyZW50TGlzdCkgPyBjdXJyZW50TGlzdC5sZW5ndGggOiAoY3VycmVudExpc3QgPyAxIDogMClcclxuXHRcdFx0XHRpZiAoY3VycmVudENvdW50ID49IG1heENvdW50KSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6IGDmnIDlpJrkuIrkvKAke21heENvdW50feW8oGAsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0cmV0dXJuXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHVuaS5jaG9vc2VJbWFnZSh7XHJcblx0XHRcdFx0XHRjb3VudDogbWF4Q291bnQsXHJcblx0XHRcdFx0XHRzaXplVHlwZTogWydjb21wcmVzc2VkJ10sXHJcblx0XHRcdFx0XHRzb3VyY2VUeXBlOiBbJ2FsYnVtJywgJ2NhbWVyYSddLFxyXG5cdFx0XHRcdFx0c3VjY2VzczogKHJlcykgPT4ge1xyXG5cdFx0XHRcdFx0XHRjb25zdCBhbGxUZW1wUGF0aHMgPSByZXMudGVtcEZpbGVQYXRoc1xyXG5cdFx0XHRcdFx0XHRjb25zdCByZW1haW5pbmcgPSBtYXhDb3VudCAtIGN1cnJlbnRDb3VudFxyXG5cdFx0XHRcdFx0XHRjb25zdCB0ZW1wRmlsZVBhdGhzID0gYWxsVGVtcFBhdGhzLnNsaWNlKDAsIHJlbWFpbmluZylcclxuXHRcdFx0XHRcdFx0dGhpcy51cGxvYWRGaWxlcyhmaWVsZCwgdGVtcEZpbGVQYXRocywgbWF4Q291bnQpXHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0dXBsb2FkRmlsZXMoZmllbGQsIHRlbXBGaWxlUGF0aHMsIG1heENvdW50KSB7XHJcblx0XHRcdFx0Y29uc3QgdXBsb2FkUGF0aCA9IHRoaXMudXBsb2FkUGF0aHNbZmllbGRdXHJcblx0XHRcdFx0bGV0IHVwbG9hZGVkQ291bnQgPSAwXHJcblx0XHRcdFx0Y29uc3QgaXNTaW5nbGUgPSBtYXhDb3VudCA9PT0gMVxyXG5cdFx0XHRcdHVuaS5zaG93TG9hZGluZyh7IHRpdGxlOiAn5LiK5Lyg5LitLi4uJyB9KVxyXG5cdFx0XHRcdHRlbXBGaWxlUGF0aHMuZm9yRWFjaCgodGVtcFBhdGgsIGluZGV4KSA9PiB7XHJcblx0XHRcdFx0XHR1bmkudXBsb2FkRmlsZSh7XHJcblx0XHRcdFx0XHRcdHVybDogdGhpcy4kYmFzZVVybCArICcvd2ViL3B1YmxpYy91cGxvYWQnLFxyXG5cdFx0XHRcdFx0XHRmaWxlUGF0aDogdGVtcFBhdGgsXHJcblx0XHRcdFx0XHRcdG5hbWU6ICdmaWxlJyxcclxuXHRcdFx0XHRcdFx0Zm9ybURhdGE6IHtcclxuXHRcdFx0XHRcdFx0XHRmb2xkZXI6ICdkcml2ZXInXHJcblx0XHRcdFx0XHRcdH0sXHJcblx0XHRcdFx0XHRcdHN1Y2Nlc3M6ICh1cGxvYWRSZXMpID0+IHtcclxuXHRcdFx0XHRcdFx0XHRjb25zdCBkYXRhID0gSlNPTi5wYXJzZSh1cGxvYWRSZXMuZGF0YSlcclxuXHRcdFx0XHRcdFx0XHRpZiAoZGF0YS5jb2RlID09PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnN0IGZ1bGxVcmwgPSBkYXRhLmRhdGFcclxuXHRcdFx0XHRcdFx0XHRcdGNvbnNvbGUubG9nKGZ1bGxVcmwpXHJcblx0XHRcdFx0XHRcdFx0XHRpZiAoaXNTaW5nbGUpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5mb3JtW2ZpZWxkXSA9IGZ1bGxVcmwuaW1nYWRkclxyXG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLnByZXZpZXdJbWFnZXNbZmllbGRdID0gZnVsbFVybC51cmxcclxuXHRcdFx0XHRcdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuZm9ybVtmaWVsZF0ucHVzaChmdWxsVXJsLmltZ2FkZHIpXHJcblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlc1tmaWVsZF0ucHVzaChmdWxsVXJsLnVybClcclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdFx0dXBsb2FkZWRDb3VudCsrXHJcblx0XHRcdFx0XHRcdFx0aWYgKHVwbG9hZGVkQ291bnQgPT09IHRlbXBGaWxlUGF0aHMubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSxcclxuXHRcdFx0XHRcdFx0ZmFpbDogKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHVwbG9hZGVkQ291bnQrK1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+S4iuS8oOWksei0pScsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0XHRcdGlmICh1cGxvYWRlZENvdW50ID09PSB0ZW1wRmlsZVBhdGhzLmxlbmd0aCkge1xyXG5cdFx0XHRcdFx0XHRcdFx0dW5pLmhpZGVMb2FkaW5nKClcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0fSlcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0RnVsbFBhdGgoaGFsZlBhdGgpIHtcclxuXHRcdFx0XHRpZiAoIWhhbGZQYXRoKSByZXR1cm4gJydcclxuXHRcdFx0XHRpZiAoaGFsZlBhdGguc3RhcnRzV2l0aCgnaHR0cCcpKSByZXR1cm4gaGFsZlBhdGhcclxuXHRcdFx0XHRjb25zdCBiYXNlVXJsID0gdGhpcy4kYmFzZVVybCB8fCAnJ1xyXG5cdFx0XHRcdHJldHVybiBiYXNlVXJsICsgaGFsZlBhdGhcclxuXHRcdFx0fSxcclxuXHRcdFx0cHJldmlld0ltZyhmaWVsZCwgaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zdCB1cmxzID0gQXJyYXkuaXNBcnJheSh0aGlzLnByZXZpZXdJbWFnZXNbZmllbGRdKSA/IHRoaXMucHJldmlld0ltYWdlc1tmaWVsZF0gOiBbdGhpcy5wcmV2aWV3SW1hZ2VzW2ZpZWxkXV1cclxuXHRcdFx0XHR1bmkucHJldmlld0ltYWdlKHtcclxuXHRcdFx0XHRcdGN1cnJlbnQ6IGluZGV4LFxyXG5cdFx0XHRcdFx0dXJsczogdXJsc1xyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdHJlbW92ZUltZyhmaWVsZCwgaW5kZXgpIHtcclxuXHRcdFx0XHRjb25zdCBpc1NpbmdsZSA9ICFBcnJheS5pc0FycmF5KHRoaXMuZm9ybVtmaWVsZF0pXHJcblx0XHRcdFx0aWYgKGlzU2luZ2xlKSB7XHJcblx0XHRcdFx0XHR0aGlzLmZvcm1bZmllbGRdID0gJydcclxuXHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlc1tmaWVsZF0gPSAnJ1xyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmZvcm1bZmllbGRdLnNwbGljZShpbmRleCwgMSlcclxuXHRcdFx0XHRcdHRoaXMucHJldmlld0ltYWdlc1tmaWVsZF0uc3BsaWNlKGluZGV4LCAxKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0cmVtb3ZlSW1hZ2UoZmllbGQpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm1bZmllbGRdID0gJydcclxuXHRcdFx0XHR0aGlzLnByZXZpZXdJbWFnZXNbZmllbGRdID0gJydcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0Q2F0ZWdvcnlMaXN0KCkge1xyXG5cdFx0XHRcdHRoaXMuJHUuYXBpLmdldENhdGVnb3J5TGlzdCh7IHR5cGU6IDEgfSkudGhlbihyZXMgPT4ge1xyXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0dGhpcy5jYXJUeXBlTGlzdCA9IHJlcy5kYXRhXHJcblx0XHRcdFx0XHRcdHRoaXMuY2FyVHlwZUNvbHVtbnMgPSBbdGhpcy5jYXJUeXBlTGlzdC5tYXAoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdFx0cmV0dXJuIHtcclxuXHRcdFx0XHRcdFx0XHRcdGlkOiBpdGVtLmlkLFxyXG5cdFx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS5uYW1lXHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHR9KV1cclxuXHRcdFx0XHRcdFx0aWYgKHRoaXMudmVoaWNsZUZvcm0uY2FyVHlwZSkge1xyXG5cdFx0XHRcdFx0XHRcdGNvbnN0IHNlbGVjdGVkQ2FyVHlwZSA9IHRoaXMuY2FyVHlwZUxpc3QuZmluZChpdGVtID0+IGl0ZW0uaWQgPT09IHRoaXMudmVoaWNsZUZvcm0uY2FyVHlwZSlcclxuXHRcdFx0XHRcdFx0XHR0aGlzLm5lZWRMaWNlbnNlID0gc2VsZWN0ZWRDYXJUeXBlICYmIHNlbGVjdGVkQ2FyVHlwZS5vdGhlckZpZWxkID09PSAxXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRnZXRDYXJUeXBlVGV4dCh2YWx1ZSkge1xyXG5cdFx0XHRcdGlmICghdmFsdWUpIHJldHVybiAn6K+36YCJ5oupJ1xyXG5cdFx0XHRcdGNvbnN0IGl0ZW0gPSB0aGlzLmNhclR5cGVMaXN0LmZpbmQob3B0aW9uID0+IG9wdGlvbi5pZCA9PT0gdmFsdWUpXHJcblx0XHRcdFx0cmV0dXJuIGl0ZW0gPyBpdGVtLm5hbWUgOiAn6K+36YCJ5oupJ1xyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb25maXJtQ2FyVHlwZShlKSB7XHJcblx0XHRcdFx0Y29uc3QgeyBpZCwgdGV4dCB9ID0gZS52YWx1ZVswXVxyXG5cdFx0XHRcdHRoaXMudmVoaWNsZUZvcm0uY2FyVHlwZSA9IGlkXHJcblx0XHRcdFx0Y29uc3Qgc2VsZWN0ZWRDYXJUeXBlID0gdGhpcy5jYXJUeXBlTGlzdC5maW5kKGl0ZW0gPT4gaXRlbS5pZCA9PT0gaWQpXHJcblx0XHRcdFx0Y29uc29sZS5sb2coc2VsZWN0ZWRDYXJUeXBlKVxyXG5cdFx0XHRcdHRoaXMubmVlZExpY2Vuc2UgPSBzZWxlY3RlZENhclR5cGUgJiYgc2VsZWN0ZWRDYXJUeXBlLm90aGVyRmllbGQgPT09ICcxJ1xyXG5cdFx0XHRcdHRoaXMuc2hvd0NhclR5cGVQaWNrZXIgPSBmYWxzZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRvcGVuRGF0ZVBpY2tlcihtb2RlKSB7XHJcblx0XHRcdFx0dGhpcy5kYXRlUGlja2VyTW9kZSA9IG1vZGVcclxuXHRcdFx0XHRpZiAobW9kZSA9PT0gJ2VuZCcgJiYgdGhpcy5mb3JtLmNhcmRTdGFydERhdGUpIHtcclxuXHRcdFx0XHRcdHRoaXMuZGF0ZVBpY2tlclZhbHVlID0gbmV3IERhdGUodGhpcy5mb3JtLmNhcmRTdGFydERhdGUpLmdldFRpbWUoKVxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHR0aGlzLmRhdGVQaWNrZXJWYWx1ZSA9IE51bWJlcihuZXcgRGF0ZSgpKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLnNob3dEYXRlUGlja2VyID0gdHJ1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjb25maXJtRGF0ZShlKSB7XHJcblx0XHRcdFx0Y29uc3QgZGF0ZSA9IHRoaXMuZm9ybWF0RGF0ZShlLnZhbHVlKVxyXG5cdFx0XHRcdGlmICh0aGlzLmRhdGVQaWNrZXJNb2RlID09PSAnc3RhcnQnKSB7XHJcblx0XHRcdFx0XHR0aGlzLmZvcm0uY2FyZFN0YXJ0RGF0ZSA9IGRhdGVcclxuXHRcdFx0XHR9IGVsc2Uge1xyXG5cdFx0XHRcdFx0dGhpcy5mb3JtLmNhcmRFbmREYXRlID0gZGF0ZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHR0aGlzLnNob3dEYXRlUGlja2VyID0gZmFsc2VcclxuXHRcdFx0fSxcclxuXHRcdFx0Zm9ybWF0RGF0ZSh0aW1lc3RhbXApIHtcclxuXHRcdFx0XHRjb25zdCBkYXRlID0gbmV3IERhdGUodGltZXN0YW1wKVxyXG5cdFx0XHRcdGNvbnN0IHllYXIgPSBkYXRlLmdldEZ1bGxZZWFyKClcclxuXHRcdFx0XHRjb25zdCBtb250aCA9IFN0cmluZyhkYXRlLmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpXHJcblx0XHRcdFx0Y29uc3QgZGF5ID0gU3RyaW5nKGRhdGUuZ2V0RGF0ZSgpKS5wYWRTdGFydCgyLCAnMCcpXHJcblx0XHRcdFx0cmV0dXJuIGAke3llYXJ9LSR7bW9udGh9LSR7ZGF5fWBcclxuXHRcdFx0fSxcclxuXHRcdFx0Z2V0QXJlYUxpc3QoKSB7XHJcblx0XHRcdFx0dGhpcy4kdS5hcGkudHJlZUxpc3Qoe1xyXG5cdFx0XHRcdFx0dHlwZTogMCxcclxuXHRcdFx0XHRcdGZsYWc6IDFcclxuXHRcdFx0XHR9KS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT09IDIwMCkge1xyXG5cdFx0XHRcdFx0XHR0aGlzLmFyZWFMaXN0ID0gcmVzLmRhdGFcclxuXHRcdFx0XHRcdFx0dGhpcy5hcmVhQ29sdW1uc1swXSA9IHRoaXMuYXJlYUxpc3QubWFwKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHRcdFx0XHRpZDogaXRlbS5pZCxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdFx0dGhpcy5hcmVhQ29sdW1uc1sxXSA9IHRoaXMuYXJlYUxpc3RbMF0uY2hpbGRMaXN0Lm1hcChpdGVtID0+IHtcclxuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdFx0XHRcdFx0aWQ6IGl0ZW0uaWQsXHJcblx0XHRcdFx0XHRcdFx0XHR0ZXh0OiBpdGVtLm5hbWVcclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRcdHRoaXMuYXJlYUNvbHVtbnNbMl0gPSB0aGlzLmFyZWFMaXN0WzBdLmNoaWxkTGlzdFswXS5jaGlsZExpc3QubWFwKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHRcdFx0XHRpZDogaXRlbS5pZCxcclxuXHRcdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fSlcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRjaGFuZ2VBcmVhSGFuZGxlcihlKSB7XHJcblx0XHRcdFx0Y29uc3QgeyBjb2x1bW5JbmRleCwgaW5kZXhzLCBwaWNrZXIgPSB0aGlzLiRyZWZzLnVQaWNrZXIgfSA9IGVcclxuXHRcdFx0XHRpZiAoY29sdW1uSW5kZXggPT09IDApIHtcclxuXHRcdFx0XHRcdGxldCBjaXR5ID0gdGhpcy5hcmVhTGlzdFtpbmRleHNbMF1dLmNoaWxkTGlzdC5tYXAoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHRcdFx0aWQ6IGl0ZW0uaWQsXHJcblx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS5uYW1lXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRsZXQgcXUgPSB0aGlzLmFyZWFMaXN0W2luZGV4c1swXV0uY2hpbGRMaXN0WzBdLmNoaWxkTGlzdC5tYXAoaXRlbSA9PiB7XHJcblx0XHRcdFx0XHRcdHJldHVybiB7XHJcblx0XHRcdFx0XHRcdFx0aWQ6IGl0ZW0uaWQsXHJcblx0XHRcdFx0XHRcdFx0dGV4dDogaXRlbS5uYW1lXHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH0pXHJcblx0XHRcdFx0XHRwaWNrZXIuc2V0Q29sdW1uVmFsdWVzKDEsIGNpdHkpXHJcblx0XHRcdFx0XHRwaWNrZXIuc2V0Q29sdW1uVmFsdWVzKDIsIHF1KVxyXG5cdFx0XHRcdH0gZWxzZSBpZiAoY29sdW1uSW5kZXggPT09IDEpIHtcclxuXHRcdFx0XHRcdGxldCBxdSA9IHRoaXMuYXJlYUxpc3RbaW5kZXhzWzBdXS5jaGlsZExpc3RbaW5kZXhzWzFdXS5jaGlsZExpc3QubWFwKGl0ZW0gPT4ge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm4ge1xyXG5cdFx0XHRcdFx0XHRcdGlkOiBpdGVtLmlkLFxyXG5cdFx0XHRcdFx0XHRcdHRleHQ6IGl0ZW0ubmFtZVxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9KVxyXG5cdFx0XHRcdFx0cGlja2VyLnNldENvbHVtblZhbHVlcygyLCBxdSlcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0sXHJcblx0XHRcdGNvbmZpcm1BcmVhKGUpIHtcclxuXHRcdFx0XHR0aGlzLmZvcm0uYXJlYUlkID0gZS52YWx1ZVtlLnZhbHVlLmxlbmd0aCAtIDFdLmlkXHJcblx0XHRcdFx0dGhpcy5mb3JtLmFyZWFOYW1lID0gZS52YWx1ZVswXS50ZXh0ICsgJy8nICsgZS52YWx1ZVsxXS50ZXh0ICsgJy8nICsgZS52YWx1ZVsyXS50ZXh0XHJcblx0XHRcdFx0dGhpcy5zaG93QXJlYVBpY2tlciA9IGZhbHNlXHJcblx0XHRcdH0sXHJcblx0XHRcdGhhbmRsZVByaW1hcnlBY3Rpb24oKSB7XHJcblx0XHRcdFx0aWYgKHRoaXMuY3VycmVudFN0ZXAgPT09IDEpIHtcclxuXHRcdFx0XHRcdGlmICghdGhpcy52YWxpZGF0ZVN0ZXAxKCkpIHJldHVyblxyXG5cdFx0XHRcdFx0dGhpcy5zY3JvbGxUb1RvcCgpXHJcblx0XHRcdFx0XHR0aGlzLmN1cnJlbnRTdGVwID0gMlxyXG5cdFx0XHRcdH0gZWxzZSB7XHJcblx0XHRcdFx0XHRpZiAoIXRoaXMuaXNBZ3JlZWQpIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K+35YWI5ZCM5oSP5Y2P6K6uJywgaWNvbjogJ25vbmUnIH0pXHJcblx0XHRcdFx0XHRcdHJldHVyblxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0dGhpcy5zdWJtaXRWZXJpZnkoKVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSxcclxuXHRcdFx0dmFsaWRhdGVTdGVwMSgpIHtcclxuXHRcdFx0XHRpZiAoIXRoaXMuZm9ybS5uYW1lKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXlj7jmnLrlp5PlkI0nLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoIXRoaXMuZm9ybS5pZGNhcmQpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+ivt+i+k+WFpei6q+S7veivgeWPtycsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICghdGhpcy5mb3JtLm1hcml0YWxTdGF0dXMgJiYgdGhpcy5mb3JtLm1hcml0YWxTdGF0dXMgIT09IDApIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+ivt+mAieaLqeWpmuWnu+eKtuWGtScsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICghdGhpcy5mb3JtLmFyZWFJZCkge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K+36YCJ5oup5bGF5L2P5Z+O5biCJywgaWNvbjogJ25vbmUnIH0pXHJcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2VcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKCF0aGlzLmZvcm0ubGl2ZVBsYWNlKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXor6bnu4blnLDlnYAnLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoIXRoaXMuZm9ybS5hbGlBY2NvdW50KSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXmlK/ku5jlrp3otKblj7cnLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoIXRoaXMuZm9ybS5hbGlOYW1lKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXmlK/ku5jlrp3lp5PlkI0nLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoIXRoaXMuZm9ybS5pZGNhcmRJbWcpIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+ivt+S4iuS8oOi6q+S7veivgeS6uuWDj+mdoicsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdGlmICghdGhpcy5mb3JtLmlkY2FyZEltZ0JhY2spIHtcclxuXHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+ivt+S4iuS8oOi6q+S7veivgeWbveW+vemdoicsIGljb246ICdub25lJyB9KVxyXG5cdFx0XHRcdFx0cmV0dXJuIGZhbHNlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdHJldHVybiB0cnVlXHJcblx0XHRcdH0sXHJcblx0XHRcdHZhbGlkYXRlU3RlcDIoKSB7XHJcblx0XHRcdFx0aWYgKCF0aGlzLnZlaGljbGVGb3JtLnBsYXRlTnVtYmVyKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXovabniYzlj7cnLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAoIXRoaXMudmVoaWNsZUZvcm0uY2FyVHlwZSkge1xyXG5cdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn6K+36YCJ5oup6L2m6L6G57G75Z6LJywgaWNvbjogJ25vbmUnIH0pXHJcblx0XHRcdFx0XHRyZXR1cm4gZmFsc2VcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0aWYgKCF0aGlzLnZlaGljbGVGb3JtLmNvbG9yKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fovpPlhaXovabovobpopzoibInLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy5mb3JtLmNhckltZ1VybHMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fkuIrkvKDovabovobnhafniYcnLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRpZiAodGhpcy5uZWVkTGljZW5zZSAmJiB0aGlzLmZvcm0ubGljZW5zZUltZ1VybHMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdFx0XHR1bmkuc2hvd1RvYXN0KHsgdGl0bGU6ICfor7fkuIrkvKDpqb7pqbbor4HnhafniYcnLCBpY29uOiAnbm9uZScgfSlcclxuXHRcdFx0XHRcdHJldHVybiBmYWxzZVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRyZXR1cm4gdHJ1ZVxyXG5cdFx0XHR9LFxyXG5cdFx0XHRzdWJtaXRWZXJpZnkoKSB7XHJcblx0XHRcdFx0aWYgKCF0aGlzLnZhbGlkYXRlU3RlcDIoKSkgcmV0dXJuXHJcblx0XHRcdFx0dW5pLnNob3dMb2FkaW5nKHsgdGl0bGU6ICfmj5DkuqTkuK0uLi4nIH0pXHJcblx0XHRcdFx0Y29uc3Qgc3VibWl0RGF0YSA9IHtcclxuXHRcdFx0XHRcdC4uLnRoaXMuZm9ybSxcclxuXHRcdFx0XHRcdGNhclR5cGU6IHRoaXMudmVoaWNsZUZvcm0uY2FyVHlwZSxcclxuXHRcdFx0XHRcdGNhckNvbG9yOiB0aGlzLnZlaGljbGVGb3JtLmNvbG9yLFxyXG5cdFx0XHRcdFx0Y2FyQ29kZTogdGhpcy52ZWhpY2xlRm9ybS5wbGF0ZU51bWJlcixcclxuXHRcdFx0XHRcdGNhckltZ1VybHM6IHRoaXMuZm9ybS5jYXJJbWdVcmxzIHx8IFtdLFxyXG5cdFx0XHRcdFx0bGljZW5zZUltZ1VybHM6IHRoaXMuZm9ybS5saWNlbnNlSW1nVXJscyB8fCBbXSxcclxuXHRcdFx0XHRcdG90aGVySW1nVXJsczogdGhpcy5mb3JtLm90aGVySW1nVXJscyB8fCBbXVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRjb25zb2xlLmxvZyhzdWJtaXREYXRhKVxyXG5cdFx0XHRcdHRoaXMuJHUuYXBpLnN1Ym1pdFZlcmlmeShzdWJtaXREYXRhKS50aGVuKHJlcyA9PiB7XHJcblx0XHRcdFx0XHR1bmkuaGlkZUxvYWRpbmcoKVxyXG5cdFx0XHRcdFx0aWYgKHJlcy5jb2RlID09PSAyMDApIHtcclxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5o+Q5Lqk5oiQ5YqfJywgaWNvbjogJ3N1Y2Nlc3MnIH0pXHJcblx0XHRcdFx0XHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZUJhY2soKVxyXG5cdFx0XHRcdFx0XHR9LCAxNTAwKVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdGdvUHJldlN0ZXAoKSB7XHJcblx0XHRcdFx0dGhpcy5zY3JvbGxUb1RvcCgpXHJcblx0XHRcdFx0dGhpcy5jdXJyZW50U3RlcCA9IDFcclxuXHRcdFx0fSxcclxuXHRcdFx0c2Nyb2xsVG9Ub3AoKSB7XHJcblx0XHRcdFx0dW5pLnBhZ2VTY3JvbGxUbyh7XHJcblx0XHRcdFx0XHRzY3JvbGxUb3A6IDAsXHJcblx0XHRcdFx0XHRkdXJhdGlvbjogMFxyXG5cdFx0XHRcdH0pXHJcblx0XHRcdH0sXHJcblx0XHRcdG9wZW5BZ3JlZW1lbnQodHlwZSkge1xyXG5cdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcclxuXHRcdFx0XHRcdHVybDogJy9wYWdlcy9hZ3JlZW1lbnQvYWdyZWVtZW50P3R5cGU9JyArIHR5cGVcclxuXHRcdFx0XHR9KVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG48L3NjcmlwdD5cclxuXHJcbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cclxuXHQuZHJpdmVyLWNlcnQtcGFnZSB7XHJcblx0XHRtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHRcdHBhZGRpbmc6IDE4cnB4IDE2cnB4IDMycnB4O1xyXG5cdFx0YmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2Q3ZjBmZiAwJSwgI2Y2ZmJmZiAyOCUsICNmZmZmZmYgMTAwJSk7XHJcblx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcblx0XHQmX19zY3JvbGwge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHQmX19zdGVwcyB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRwYWRkaW5nOiAxMHJweCAyMHJweCAyNHJweDtcclxuXHRcdH1cclxuXHJcblx0XHQmX19zdGVwIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0bWluLXdpZHRoOiAxNTBycHg7XHJcblxyXG5cdFx0XHQmLS1hY3RpdmUge1xyXG5cdFx0XHRcdC5kcml2ZXItY2VydC1wYWdlX19zdGVwLWNpcmNsZSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjYjllOWZmO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtY2lyY2xlLWlubmVyIHtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICMxMDZlZmE7XHJcblx0XHRcdFx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdFx0XHRcdGJveC1zaGFkb3c6IDAgOHJweCAxOHJweCByZ2JhKDE2LCAxMTAsIDI1MCwgMC4yNCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLS1kb25lIHtcclxuXHRcdFx0XHQuZHJpdmVyLWNlcnQtcGFnZV9fc3RlcC1jaXJjbGUge1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI2I5ZTlmZjtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5kcml2ZXItY2VydC1wYWdlX19zdGVwLWNpcmNsZS1pbm5lciB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjMTA2ZWZhO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fc3RlcC1jaXJjbGUge1xyXG5cdFx0XHR3aWR0aDogNTJycHg7XHJcblx0XHRcdGhlaWdodDogNTJycHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHRcdFx0YmFja2dyb3VuZDogI2I5ZTlmZjtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblxyXG5cdFx0XHQmLS1pbmFjdGl2ZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogIzhjOTM5ZjtcclxuXHJcblx0XHRcdFx0LmRyaXZlci1jZXJ0LXBhZ2VfX3N0ZXAtY2lyY2xlLWlubmVyIHtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3N0ZXAtY2lyY2xlLWlubmVyIHtcclxuXHRcdFx0d2lkdGg6IDMycnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDMycnB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA1MCU7XHJcblx0XHRcdGJhY2tncm91bmQ6ICMxMDZlZmE7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRmb250LXNpemU6IDIycnB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHRjb2xvcjogI2ZmZmZmZjtcclxuXHRcdH1cclxuXHJcblx0XHQmX19zdGVwLXRleHQge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMnJweDtcclxuXHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0Y29sb3I6ICM3Zjg2OTM7XHJcblxyXG5cdFx0XHQmLS1hY3RpdmUge1xyXG5cdFx0XHRcdGNvbG9yOiAjMmIzMTM5O1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYtLWRvbmUge1xyXG5cdFx0XHRcdGNvbG9yOiAjMTA2ZWZhO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmX19zdGVwLWxpbmUge1xyXG5cdFx0XHR3aWR0aDogMTYwcnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDJycHg7XHJcblx0XHRcdG1hcmdpbjogMCAxMnJweCAzMHJweDtcclxuXHRcdFx0YmFja2dyb3VuZDogI2I0YzdlYTtcclxuXHRcdH1cclxuXHJcblx0XHQmX19ib3R0b20tYmFyIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMzBycHg7XHJcblx0XHRcdHBhZGRpbmc6IDE4cnB4IDAgY2FsYyhlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkgKyAxOHJweCk7XHJcblx0XHRcdGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcblx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fYWN0aW9ucyB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuXHRcdFx0Ji0tZHVhbCB7XHJcblx0XHRcdFx0Z2FwOiAxOHJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3N1Ym1pdCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDc4cnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNzhycHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDk5OXJweDtcclxuXHRcdFx0YmFja2dyb3VuZDogIzI0NzZmNjtcclxuXHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRcdFx0Y29sb3I6ICNmZmZmZmY7XHJcblx0XHRcdGJvcmRlcjogMDtcclxuXHRcdFx0cGFkZGluZzogMDtcclxuXHJcblx0XHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0XHRib3JkZXI6IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYtLWhvdmVyIHtcclxuXHRcdFx0XHRvcGFjaXR5OiAwLjkyO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmLS1naG9zdCB7XHJcblx0XHRcdFx0d2lkdGg6IDIyMHJweDtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjZjNmOGZmO1xyXG5cdFx0XHRcdGJvcmRlcjogMXJweCBzb2xpZCAjN2RiMGZmO1xyXG5cdFx0XHRcdGNvbG9yOiAjMmQ3Y2ZmO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fYWdyZWVtZW50IHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE4cnB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX2FncmVlbWVudC1pY29uIHtcclxuXHRcdFx0d2lkdGg6IDQwcnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDQwcnB4O1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDZycHg7XHJcblx0XHRcdGZsZXgtc2hyaW5rOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX2FncmVlbWVudC10ZXh0IHtcclxuXHRcdFx0Zm9udC1zaXplOiAyMnJweDtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDEuNjtcclxuXHRcdFx0Y29sb3I6ICM5OGEwYWQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fYWdyZWVtZW50LWxpbmsge1xyXG5cdFx0XHRmb250LXNpemU6IDIycnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS42O1xyXG5cdFx0XHRjb2xvcjogIzEwNkVGQTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5kcml2ZXItY2VydC1jYXJkIHtcclxuXHRcdHBhZGRpbmc6IDI0cnB4IDI0cnB4IDIycnB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMjJycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiAjZmZmZmZmO1xyXG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdGJveC1zaGFkb3c6IDBycHggMnJweCAyMHJweCAwcnB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XHJcblxyXG5cdFx0Jl9fdGl0bGUge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0Zm9udC1zaXplOiA0MHJweDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRcdFx0Y29sb3I6ICMyYjMxMzk7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fbW9iaWxlIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbi10b3A6IDE0cnB4O1xyXG5cdFx0XHRmb250LXNpemU6IDI4cnB4O1xyXG5cdFx0XHRjb2xvcjogIzlhYTFhZDtcclxuXHRcdH1cclxuXHJcblx0XHQmLS12ZWhpY2xlIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzBycHg7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fZmllbGQge1xyXG5cdFx0XHRwYWRkaW5nOiAyOHJweCAwIDI0cnB4O1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcnB4IHNvbGlkICNlZWYxZjU7XHJcblxyXG5cdFx0XHQmLS1zZWxlY3Qge1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAyMHJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCZfX2ZpZWxkLWhlYWQsXHJcblx0XHQmX191cGxvYWQtdGl0bGUtcm93IHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdH1cclxuXHJcblx0XHQmX19sYWJlbCB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0XHRcdGNvbG9yOiAjMmIzMTM5O1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3JlcXVpcmVkIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDRycHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdFx0XHRjb2xvcjogI2ZmNGEzZDtcclxuXHRcdH1cclxuXHJcblx0XHQmX19pbnB1dCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDc4cnB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHJweDtcclxuXHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0Y29sb3I6ICMzMzMzMzM7XHJcblx0XHRcdGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3NlbGVjdG9yIHtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRoZWlnaHQ6IDc4cnB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAxMHJweDtcclxuXHRcdH1cclxuXHJcblx0XHQmX19zZWxlY3Rvci10ZXh0IHtcclxuXHRcdFx0Zm9udC1zaXplOiAzMHJweDtcclxuXHRcdFx0Y29sb3I6ICNiOWJmYzg7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fYXJyb3cge1xyXG5cdFx0XHRmb250LXNpemU6IDM0cnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdFx0Y29sb3I6ICM5YWExYWQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fdXBsb2FkLWJsb2NrIHtcclxuXHRcdFx0cGFkZGluZzogMzBycHggMDtcclxuXHJcblx0XHRcdCYtLXN0YWNrZWQge1xyXG5cdFx0XHRcdGJvcmRlci10b3A6IDFycHggc29saWQgI2VlZjFmNTtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAycnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fdXBsb2FkLWxpc3Qge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRnYXA6IDIwcnB4O1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAzMHJweDtcclxuXHJcblx0XHRcdCYtLXNpbmdsZSB7XHJcblx0XHRcdFx0Z2FwOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fdXBsb2FkLWl0ZW0ge1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGZsZXg6IDE7XHJcblx0XHRcdGhlaWdodDogMTQ0cnB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcclxuXHRcdFx0YmFja2dyb3VuZDogI2Y3ZjhmYTtcclxuXHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRcdG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuXHRcdFx0Ji0tc2luZ2xlIHtcclxuXHRcdFx0XHRmbGV4OiBub25lO1xyXG5cdFx0XHRcdHdpZHRoOiAxNDRycHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmX191cGxvYWQtaW1hZ2Uge1xyXG5cdFx0XHR3aWR0aDogMTQ0cnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDE0NHJweDtcclxuXHRcdH1cclxuXHJcblx0XHQmX191cGxvYWQtaWNvbiB7XHJcblx0XHRcdHdpZHRoOiA1MnJweDtcclxuXHRcdFx0aGVpZ2h0OiA1MnJweDtcclxuXHRcdFx0b3BhY2l0eTogMC41O1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3VwbG9hZC10ZXh0IHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMTZycHg7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjhycHg7XHJcblx0XHRcdGNvbG9yOiAjOGY5NmEzO1xyXG5cdFx0fVxyXG5cclxuXHRcdCZfX3VwbG9hZC1pbWcge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiA4cnB4O1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRcdH1cclxuXHJcblx0XHQmX191cGxvYWQtcmVtb3ZlIHtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDQwcnB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogNDBycHg7XHJcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjUpO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwcnB4IDBycHggOHJweCA4cnB4O1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRmb250LXNpemU6IDI0cnB4O1xyXG5cdFx0XHRjb2xvcjogI0ZGRkZGRjtcclxuXHRcdFx0ei1pbmRleDogOTk7XHJcblx0XHR9XHJcblxyXG5cdFx0Jl9fdXBsb2FkLXRpcCB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHJweDtcclxuXHRcdFx0Zm9udC1zaXplOiAyMnJweDtcclxuXHRcdFx0Y29sb3I6ICNiN2JkYzc7XHJcblx0XHR9XHJcblx0fVxyXG48L3N0eWxlPiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///149\n");
 
 /***/ }),
 /* 150 */
@@ -18434,7 +18526,7 @@
 /***/ (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 _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 93));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _vuex = __webpack_require__(/*! vuex */ 12);\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  computed: _objectSpread({}, (0, _vuex.mapState)(['statusbarHeight'])),\n  data: function data() {\n    return {\n      currentPage: 1,\n      total: 0,\n      active: 0,\n      wordsWidth: 250,\n      tempActive: 0,\n      type: '',\n      words: '鍏ㄩ儴',\n      tempType: '',\n      dateType: 0,\n      dataList: [],\n      startDate: null,\n      endDate: null,\n      defaultStartDate: null,\n      defaultEndDate: null,\n      showMoney: false,\n      countData: {},\n      countDataList: {},\n      hasNext: true,\n      show: false,\n      show1: false,\n      year: null,\n      tempYear: null,\n      month: null,\n      tempMonth: null,\n      tempStartDate: null,\n      tempEndDate: null\n    };\n  },\n  onLoad: function onLoad() {\n    this.active = 0;\n    this.wordsWidth = 250;\n    this.words = '鍏ㄩ儴';\n    this.tempActive = '';\n    this.dateType = 0;\n    this.countData = {};\n    this.tempStartDate = null;\n    this.tempEndDate = null;\n    this.countDataList = {};\n    this.show = false;\n    this.initDateStr();\n    // uni.$on('accountListReload', this.getFirstPageData())\n  },\n\n  methods: {\n    bindChange1: function bindChange1(e) {\n      this.tempStartDate = e.detail.value || null;\n      if (this.tempStartDate && this.tempEndDate) {\n        if (new Date(this.tempStartDate + ' 00:00:00') > new Date(this.tempEndDate + ' 00:00:00')) {\n          this.tempStartDate = this.tempEndDate;\n          uni.showToast({\n            title: '寮�濮嬫棩鏈熶笉鑳藉ぇ浜庣粨鏉熸棩鏈�',\n            icon: 'none'\n          });\n        }\n      }\n    },\n    bindChange2: function bindChange2(e) {\n      this.tempEndDate = e.detail.value || null;\n      if (this.tempStartDate && this.tempEndDate) {\n        if (new Date(this.tempStartDate + ' 00:00:00') > new Date(this.tempEndDate + ' 00:00:00')) {\n          this.tempEndDate = this.tempStartDate;\n          uni.showToast({\n            title: '寮�濮嬫棩鏈熶笉鑳藉ぇ浜庣粨鏉熸棩鏈�',\n            icon: 'none'\n          });\n        }\n      }\n    },\n    formatter: function formatter(type, value) {\n      if (type === 'year') {\n        return \"\".concat(value, \"\\u5E74\");\n      }\n      if (type === 'month') {\n        return \"\".concat(value, \"\\u6708\");\n      }\n      return value;\n    },\n    getShopPage: function getShopPage() {\n      var _this = this;\n      if (this.loading || !this.hasNext) {\n        return;\n      }\n      this.loading = true;\n      if (this.currentPage == 1) {\n        this.hasNext = true;\n        this.dataList = [];\n      }\n      this.$u.api.driverPage({\n        capacity: 10,\n        model: {\n          startTime: this.startDate || this.defaultStartDate,\n          endTime: this.endDate || this.defaultEndDate,\n          type: this.type,\n          optType: this.active === 1 ? 1 : this.active === 2 ? -1 : ''\n        },\n        page: this.currentPage\n      }).then(function (res) {\n        if (res.code == 200) {\n          var _this$dataList;\n          (_this$dataList = _this.dataList).push.apply(_this$dataList, (0, _toConsumableArray2.default)(res.data.records));\n          _this.total = res.data.total;\n          _this.currentPage = _this.currentPage + 1;\n          if (_this.dataList.length >= res.data.total) {\n            _this.hasNext = false;\n          } else {\n            _this.hasNext = true;\n          }\n        }\n      });\n    },\n    getShopSummary: function getShopSummary() {\n      var _this2 = this;\n      this.$u.api.driverSummary({\n        startTime: this.startDate || this.defaultStartDate,\n        endTime: this.endDate || this.defaultEndDate,\n        type: this.active === 1 ? 0 : this.active === 2 ? 1 : '',\n        objType: this.getSummaryObjType(this.type)\n      }).then(function (res) {\n        if (res.code == 200) {\n          _this2.countDataList = res.data;\n        }\n      });\n    },\n    // 鑾峰彇闂ㄥ簵閽卞寘缁熻\n    getShopStatistics: function getShopStatistics() {\n      var _this3 = this;\n      this.$u.api.driverStatistics({}).then(function (res) {\n        if (res.code == 200) {\n          _this3.countData = res.data;\n        }\n      });\n    },\n    comfirmDate: function comfirmDate(flag) {\n      if (flag) {\n        if (!this.tempStartDate || !this.tempEndDate) {\n          return uni.showToast({\n            title: '璇烽�夋嫨璧锋鏃ユ湡',\n            icon: 'none'\n          });\n        }\n        if (new Date(this.tempEndDate + \" 00:00:00\").getTime() < new Date(this.tempStartDate + \" 00:00:00\").getTime()) {\n          return uni.showToast({\n            title: '鏃ユ湡鑼冨洿涓嶆纭�',\n            icon: 'error'\n          });\n        }\n        this.startDate = this.tempStartDate;\n        this.endDate = this.tempEndDate;\n      } else {\n        this.startDate = null;\n        this.endDate = null;\n        this.tempStartDate = null;\n        this.tempEndDate = null;\n      }\n      this.getFirstPageData();\n      this.getShopSummary();\n      this.show1 = false;\n    },\n    openShow: function openShow() {\n      this.tempActive = this.active;\n      this.tempType = this.type;\n      this.show = true;\n    },\n    comfirm: function comfirm(flag) {\n      if (flag) {\n        this.active = this.tempActive;\n        this.type = this.tempType;\n        this.show = false;\n        this.wordsWidth = 250;\n        if (this.active === 0 && this.type === '') {\n          this.words = '鍏ㄩ儴';\n        } else {\n          var t1 = this.active === 1 ? '鏀跺叆 ' : this.active === 2 ? '鏀嚭 ' : '';\n          var t2 = this.getFilterTypeLabel(this.type);\n          if (t1 != '' && t2 != '') {\n            this.wordsWidth = 350;\n          }\n          this.words = t1 + t2;\n        }\n      } else {\n        this.tempActive = 0;\n        this.tempType = '';\n        this.active = 0;\n        this.type = '';\n        this.words = '鍏ㄩ儴';\n        this.wordsWidth = 250;\n        this.show = false;\n      }\n      this.getFirstPageData();\n      this.getShopSummary();\n    },\n    formattedDateTime: function formattedDateTime(currentDate) {\n      var year = currentDate.getFullYear();\n      var month = (currentDate.getMonth() + 1).toString().padStart(2, '0'); // 鏈堜唤浠� 0 寮�濮嬶紝闇�瑕佸姞 1锛屽苟琛ラ綈涓や綅\n      var day = currentDate.getDate().toString().padStart(2, '0'); // 琛ラ綈涓や綅\n      var formattedDate = \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n      __f__(\"log\", formattedDate, \" at pages/wallet/wallet.vue:353\"); // 杈撳嚭鏍煎紡鍖栧悗鐨勬棩鏈燂紝渚嬪 \"2023-10-24\"\n      return formattedDate;\n    },\n    initDateStr: function initDateStr() {\n      var now = new Date();\n      var firstDay = new Date(now.getFullYear(), now.getMonth(), 1);\n      var defaultStart = this.formattedDateTime(firstDay);\n      var defaultEnd = this.formattedDateTime(now);\n      this.defaultStartDate = defaultStart;\n      this.defaultEndDate = defaultEnd;\n      this.startDate = null;\n      this.endDate = null;\n      this.getShopStatistics();\n      this.getShopSummary();\n      this.getShopPage();\n    },\n    checkActive: function checkActive(index) {\n      this.tempActive = index;\n    },\n    getTransactionLabel: function getTransactionLabel(type) {\n      var typeMap = {\n        0: '瀹屾垚璁㈠崟',\n        1: '鎻愮幇鏀嚭',\n        2: '鎻愮幇閫�鍥�',\n        3: '骞冲彴濂栧姳',\n        4: '璐d换鎵f',\n        5: '寮傚父閲戦'\n      };\n      return typeMap[type] || '';\n    },\n    getFilterTypeLabel: function getFilterTypeLabel(type) {\n      var typeMap = {\n        0: '璁㈠崟缁撶畻',\n        1: '鎻愮幇',\n        2: '鎻愮幇閫�鍥�',\n        3: '骞冲彴濂栧姳',\n        4: '璐d换鎵f',\n        5: '寮傚父閲戦'\n      };\n      return typeMap[type] || '';\n    },\n    getTransactionIcon: function getTransactionIcon(type) {\n      var typeMap = {\n        0: '/static/image/ic_shouru@2x.png',\n        1: '/static/image/ic_tixian@2x.png',\n        2: '/static/image/ic_tuikuan@2x.png',\n        3: '/static/image/ic_shouru@2x.png',\n        4: '/static/image/ic_tixian@2x.png',\n        5: '/static/image/ic_tuikuan@2x.png'\n      };\n      return typeMap[type] || '/static/image/ic_shouru@2x.png';\n    },\n    getSummaryObjType: function getSummaryObjType(type) {\n      var typeMap = {\n        1: 16,\n        2: 17,\n        3: 25,\n        4: 1\n      };\n      return typeMap[type] || '';\n    },\n    isExpenseType: function isExpenseType(item) {\n      if (item && item.optType !== undefined && item.optType !== null && item.optType !== '') {\n        return Number(item.optType) === -1;\n      }\n      return [1, 4].includes(Number(item.type));\n    },\n    checkType: function checkType(index) {\n      this.tempType = index;\n    },\n    getFirstPageData: function getFirstPageData() {\n      this.currentPage = 0;\n      this.hasNext = true;\n      this.loading = false;\n      this.total = 0;\n      this.dataList = [];\n      this.getShopPage();\n    },\n    jumpWithdraw: function jumpWithdraw() {\n      uni.navigateTo({\n        url: '/pages/withdraw/withdraw'\n      });\n    },\n    jumpDetail: function jumpDetail(item) {\n      if (item.objType == 17) {\n        uni.navigateTo({\n          url: '/pages/withdrawal-details/withdrawal-details?id=' + item.objId\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvd2FsbGV0L3dhbGxldC52dWUiXSwibmFtZXMiOlsiY29tcHV0ZWQiLCJkYXRhIiwiY3VycmVudFBhZ2UiLCJ0b3RhbCIsImFjdGl2ZSIsIndvcmRzV2lkdGgiLCJ0ZW1wQWN0aXZlIiwidHlwZSIsIndvcmRzIiwidGVtcFR5cGUiLCJkYXRlVHlwZSIsImRhdGFMaXN0Iiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsImRlZmF1bHRTdGFydERhdGUiLCJkZWZhdWx0RW5kRGF0ZSIsInNob3dNb25leSIsImNvdW50RGF0YSIsImNvdW50RGF0YUxpc3QiLCJoYXNOZXh0Iiwic2hvdyIsInNob3cxIiwieWVhciIsInRlbXBZZWFyIiwibW9udGgiLCJ0ZW1wTW9udGgiLCJ0ZW1wU3RhcnREYXRlIiwidGVtcEVuZERhdGUiLCJvbkxvYWQiLCJtZXRob2RzIiwiYmluZENoYW5nZTEiLCJ1bmkiLCJ0aXRsZSIsImljb24iLCJiaW5kQ2hhbmdlMiIsImZvcm1hdHRlciIsImdldFNob3BQYWdlIiwiY2FwYWNpdHkiLCJtb2RlbCIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJvcHRUeXBlIiwicGFnZSIsImdldFNob3BTdW1tYXJ5Iiwib2JqVHlwZSIsImdldFNob3BTdGF0aXN0aWNzIiwiY29tZmlybURhdGUiLCJvcGVuU2hvdyIsImNvbWZpcm0iLCJmb3JtYXR0ZWREYXRlVGltZSIsImluaXREYXRlU3RyIiwiY2hlY2tBY3RpdmUiLCJnZXRUcmFuc2FjdGlvbkxhYmVsIiwiZ2V0RmlsdGVyVHlwZUxhYmVsIiwiZ2V0VHJhbnNhY3Rpb25JY29uIiwiZ2V0U3VtbWFyeU9ialR5cGUiLCJpc0V4cGVuc2VUeXBlIiwiY2hlY2tUeXBlIiwiZ2V0Rmlyc3RQYWdlRGF0YSIsImp1bXBXaXRoZHJhdyIsInVybCIsImp1bXBEZXRhaWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQStKQTtBQUFBO0FBQUE7QUFBQSxlQUVBO0VBQ0FBLDRCQUNBLHlDQUNBO0VBQ0FDO0lBQ0E7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7TUFDQUM7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VBQ0E7O0VBQ0FDO0lBQ0FDO01BQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQUM7WUFBQUM7WUFBQUM7VUFBQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0FIO1lBQUFDO1lBQUFDO1VBQUE7UUFDQTtNQUNBO0lBQ0E7SUFDQUU7TUFDQTtRQUNBO01BQ0E7TUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7UUFDQUM7UUFDQUM7VUFDQUM7VUFDQUM7VUFDQWpDO1VBQ0FrQztRQUNBO1FBQ0FDO01BQ0E7UUFDQTtVQUFBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtVQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQUo7UUFDQUM7UUFDQWpDO1FBQ0FxQztNQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBO1VBQ0E7WUFDQWQ7WUFDQUM7VUFDQTtRQUNBO1FBQ0E7VUFDQTtZQUNBRDtZQUNBQztVQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQWM7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtVQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFFQTtNQUNBO01BRUE7TUFDQTtNQUVBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E1QjtRQUNBNkI7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQTlCO1VBQ0E2QjtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxNTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3IGNsYXNzPVwid2FsbGV0LXBhZ2VcIj5cblx0XHQ8dmlldyBjbGFzcz1cImRhdGFcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwiaGV6aVwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYVwiPlxuXHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHJweDsgXCI+6LSm5oi35L2Z6aKdKOWFgyk8L3RleHQ+XG5cdFx0XHRcdFx0PHUtaWNvbiB2LWlmPVwic2hvd01vbmV5XCIgbmFtZT1cImV5ZVwiIGNvbG9yPVwiI2ZmZmZmZlwiIHNpemU9XCIxOFwiIEBjbGljaz1cInNob3dNb25leSA9ICFzaG93TW9uZXlcIj48L3UtaWNvbj5cblx0XHRcdFx0XHQ8dS1pY29uIHYtaWY9XCIhc2hvd01vbmV5XCIgbmFtZT1cImV5ZS1vZmZcIiBjb2xvcj1cIiNlZWVlZWVcIiBzaXplPVwiMThcIiBAY2xpY2s9XCJzaG93TW9uZXkgPSAhc2hvd01vbmV5XCI+PC91LWljb24+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoZXppLWJcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYi1wcmljZVwiPlxuXHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cInNob3dNb25leVwiPnt7KGNvdW50RGF0YS5iYWxhbmNlIC8gMTAwIHx8IDApLnRvRml4ZWQoMil9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJzaG93TW9uZXlcIj48L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dGV4dCAgdi1pZj1cIiFzaG93TW9uZXlcIj4qKioqPC90ZXh0PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYi1idG5cIiBAY2xpY2s9XCJqdW1wV2l0aGRyYXdcIj7mj5DnjrA8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoZXppLWNcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYy1pdGVtXCI+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImhlemktYy1pdGVtLXRpdGxlXCI+5b6F57uT566XKOWFgyk8L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYy1pdGVtLXByaWNlXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0ICB2LWlmPVwic2hvd01vbmV5XCI+e3soY291bnREYXRhLnBlbmRpbmdBbW91bnQgLyAxMDAgfHwgMCkudG9GaXhlZCgyKX19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwic2hvd01vbmV5XCI+PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCAgdi1pZj1cIiFzaG93TW9uZXlcIj4qKioqPC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYy1pdGVtXCI+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImhlemktYy1pdGVtLXRpdGxlXCI+57Sv6K6h5o+Q546wKOWFgyk8L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYy1pdGVtLXByaWNlXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJzaG93TW9uZXlcIj57eyhjb3VudERhdGEudG90YWxXaXRoZHJhd24gLyAxMDAgfHwgMCkudG9GaXhlZCgyKX19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwic2hvd01vbmV5XCI+PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCAgdi1pZj1cIiFzaG93TW9uZXlcIj4qKioqPC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ0eFwiPlxuXHRcdFx0XHQ8dGV4dCB2LWlmPVwic2hvd01vbmV5XCI+5o+Q546w5Lit77yawqV7eyhjb3VudERhdGEud2l0aGRyYXdpbmdBbW91bnQgLyAxMDAgfHwgMCkudG9GaXhlZCgyKX19PC90ZXh0PlxuXHRcdFx0XHQ8dGV4dCB2LWlmPVwiIXNob3dNb25leVwiPuaPkOeOsOS4re+8mioqKio8L3RleHQ+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwiYm94LWxpc3RcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW0tZGF0ZVwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbS1kYXRlLXRvcFwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtLWRhdGUtdG9wLWxlZnRcIiBAY2xpY2s9XCJzaG93MSA9IHRydWVcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQ+e3tzdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0RGF0ZX19IOiHsyB7e2VuZERhdGUgfHwgZGVmYXVsdEVuZERhdGV9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHUtaWNvbiBuYW1lPVwiYXJyb3ctZG93blwiIGNvbG9yPVwiIzIyMjIyMlwiIHNpemU9XCIxM1wiPjwvdS1pY29uPlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWxlXCIgOnN0eWxlPVwiJ3dpZHRoOicrd29yZHNXaWR0aCsncnB4OydcIiBAY2xpY2s9XCJvcGVuU2hvdygpXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0Pnt7d29yZHN9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHUtaWNvbiBuYW1lPVwiYXJyb3ctZG93blwiIGNvbG9yPVwiIzIyMjIyMlwiIHNpemU9XCIxNlwiPjwvdS1pY29uPlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW0tZGF0ZS1ib3R0b21cIj5cblx0XHRcdFx0XHRcdDx0ZXh0PuaUtuWFpe+8msKle3soY291bnREYXRhTGlzdC50b3RhbEluY29tZSB8fCAwKS50b0ZpeGVkKDIpfX08L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dGV4dD7mlK/lh7rvvJrCpXt7KGNvdW50RGF0YUxpc3QudG90YWxFeHBlbnNlIHx8IDApLnRvRml4ZWQoMil9fTwvdGV4dD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtLWxpc3RcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW0tbGlzdC1pdGVtXCIgIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBkYXRhTGlzdFwiIDprZXk9XCJpbmRleFwiIEBjbGljaz1cImp1bXBEZXRhaWwoaXRlbSlcIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW1hZ2VcIj5cblx0XHRcdFx0XHRcdFx0PGltYWdlIDpzcmM9XCJnZXRUcmFuc2FjdGlvbkljb24oaXRlbS50eXBlKVwiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImluZm9cIj5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmZvXCI+XG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmZvLWFcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mby1hLWxhYmVsXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHR7eyBnZXRUcmFuc2FjdGlvbkxhYmVsKGl0ZW0udHlwZSkgfX1cblx0XHRcdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSAgdi1pZj1cIml0ZW0udHlwZSA9PT0gMVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cImNvbG9yOiAjRkYwMDIwO1wiICB2LWlmPVwiaXRlbS53aXRoZHJhd1N0YXR1cyA9PSAyXCI+5pyq6YCa6L+HPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cImNvbG9yOiAjMDA0MDk2XCIgdi1lbHNlLWlmPVwiaXRlbS53aXRoZHJhd1N0YXR1cyA9PSAxXCI+5bey6YCa6L+HPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cImNvbG9yOiAjRkYwMDIwO1wiIHYtZWxzZT7lrqHmoLjkuK08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmZvLWEtcHJpY2VcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+e3sgaXNFeHBlbnNlVHlwZShpdGVtKSA/ICctJyA6ICcrJyB9fXt7KGl0ZW0uYW1vdW50SW5mbyB8fDApfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0PjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmZvLWJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0PuiuouWNlee8luWPt++8mnt7aXRlbS5vcmRlck5vIHx8ICcnfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mby1iXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD57e2l0ZW0uY3JlYXRlVGltZSB8fCAnJ319PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiIWhhc05leHRcIiBjbGFzcz1cIm5vbW9yZVwiPuW3suWKoOi9veWFqOmDqDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblx0XHQ8IS0tIOetm+mAiSAtLT5cblx0XHQ8dS1wb3B1cCA6c2hvdz1cInNob3dcIiBtb2RlPVwiYm90dG9tXCIgOnNhZmVBcmVhSW5zZXRCb3R0b209XCJmYWxzZVwiIHJvdW5kPVwiMTVcIiA6Y2xvc2VhYmxlPVwidHJ1ZVwiIEBjbG9zZT1cInNob3cgPSBmYWxzZVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vhci10aXRsZVwiPuetm+mAiTwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyLWl0ZW1cIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlYXItaXRlbS1sYWJlbFwiPuaUtuaUr+exu+Weizwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlYXItaXRlbS1saXN0XCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBAY2xpY2s9XCJjaGVja0FjdGl2ZSgwKVwiIDpjbGFzcz1cInRlbXBBY3RpdmUgPT0gMD8nc2Vhci1pdGVtLWxpc3QtaXRlbSBhY3RpdmUnOidzZWFyLWl0ZW0tbGlzdC1pdGVtJ1wiPuWFqOmDqDwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3IEBjbGljaz1cImNoZWNrQWN0aXZlKDEpXCIgOmNsYXNzPVwidGVtcEFjdGl2ZSA9PSAxPydzZWFyLWl0ZW0tbGlzdC1pdGVtIGFjdGl2ZSc6J3NlYXItaXRlbS1saXN0LWl0ZW0nXCI+5pS25YWlPC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgQGNsaWNrPVwiY2hlY2tBY3RpdmUoMilcIiA6Y2xhc3M9XCJ0ZW1wQWN0aXZlID09IDI/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7mlK/lh7o8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIndpZHRoOiAyMTZycHg7IGhlaWdodDogMDtcIj48L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vhci1pdGVtXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyLWl0ZW0tbGFiZWxcIj7kuqTmmJPnsbvlnos8L3ZpZXc+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyLWl0ZW0tbGlzdFwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgIEBjbGljaz1cImNoZWNrVHlwZSgnJylcIiA6Y2xhc3M9XCJ0ZW1wVHlwZSA9PT0gJycgPyAnc2Vhci1pdGVtLWxpc3QtaXRlbSBhY3RpdmUnOidzZWFyLWl0ZW0tbGlzdC1pdGVtJ1wiPuWFqOmDqDwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3ICBAY2xpY2s9XCJjaGVja1R5cGUoMClcIiA6Y2xhc3M9XCJ0ZW1wVHlwZSA9PT0gMCA/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7orqLljZXnu5Pnrpc8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyAgQGNsaWNrPVwiY2hlY2tUeXBlKDEpXCIgOmNsYXNzPVwidGVtcFR5cGUgPT09IDE/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7mj5DnjrA8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyAgQGNsaWNrPVwiY2hlY2tUeXBlKDIpXCIgOmNsYXNzPVwidGVtcFR5cGUgPT09IDI/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7mj5DnjrDpgIDlm548L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyAgQGNsaWNrPVwiY2hlY2tUeXBlKDMpXCIgOmNsYXNzPVwidGVtcFR5cGUgPT09IDM/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7lubPlj7DlpZblirE8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyAgQGNsaWNrPVwiY2hlY2tUeXBlKDQpXCIgOmNsYXNzPVwidGVtcFR5cGUgPT09IDQ/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7otKPku7vmiaPmrL48L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyAgQGNsaWNrPVwiY2hlY2tUeXBlKDUpXCIgOmNsYXNzPVwidGVtcFR5cGUgPT09IDU/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7lvILluLjph5Hpop08L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIndpZHRoOiAyMTZycHg7IGhlaWdodDogMDtcIj48L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vhci1mb290ZXJcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlYXItZm9vdGVyLWJ0bjFcIiBAY2xpY2s9XCJjb21maXJtKGZhbHNlKVwiPumHjee9rjwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlYXItZm9vdGVyLWJ0bjJcIiBAY2xpY2s9XCJjb21maXJtKHRydWUpXCI+56Gu6K6kPC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC91LXBvcHVwPlxuXHRcdDx1LXBvcHVwIDpzaG93PVwic2hvdzFcIiBtb2RlPVwiYm90dG9tXCIgOnNhZmVBcmVhSW5zZXRCb3R0b209XCJmYWxzZVwiICByb3VuZD1cIjE1XCIgIEBjbG9zZT1cImNvbWZpcm1EYXRlKGZhbHNlKVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyXCIgc3R5bGU9XCJtaW4taGVpZ2h0OiA1MDBycHg7XCI+XG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDtqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7YWxpZ24taXRlbXM6IGZsZXgtZW5kO3RleHQtYWxpZ246IGNlbnRlcjtcIj5cblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47dGV4dC1hbGlnbjogY2VudGVyOyBmbGV4OiAxO1wiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNrZXIzXCI+5byA5aeL5pe26Ze0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHBpY2tlciA6dmFsdWU9XCJ0ZW1wU3RhcnREYXRlXCIgQGNoYW5nZT1cImJpbmRDaGFuZ2UxXCIgbW9kZT1cImRhdGVcIj5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNrZXIyXCIgOmNsYXNzPVwieyAncGlja2VyMi1lbXB0eSc6ICF0ZW1wU3RhcnREYXRlIH1cIj5cblx0XHRcdFx0XHRcdFx0XHR7eyB0ZW1wU3RhcnREYXRlIHx8ICfor7fpgInmi6nlvIDlp4vml7bpl7QnIH19XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDwvcGlja2VyPlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImZsZXgtc2hyaW5rOiAwOyB3aWR0aDogNTBycHg7XCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY2tlcjNcIj48L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY2tlcjNcIj7oh7M8L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjt0ZXh0LWFsaWduOiBjZW50ZXI7IGZsZXg6IDE7XCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY2tlcjNcIj7nu5PmnZ/ml7bpl7Q8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8cGlja2VyIDp2YWx1ZT1cInRlbXBFbmREYXRlXCIgQGNoYW5nZT1cImJpbmRDaGFuZ2UyXCIgbW9kZT1cImRhdGVcIj5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNrZXIyXCIgOmNsYXNzPVwieyAncGlja2VyMi1lbXB0eSc6ICF0ZW1wRW5kRGF0ZSB9XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHR7eyB0ZW1wRW5kRGF0ZSB8fCAn6K+36YCJ5oup57uT5p2f5pe26Ze0JyB9fVxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PC9waWNrZXI+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdCA8dmlldyBjbGFzcz1cInNlYXItZm9vdGVyXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyLWZvb3Rlci1idG4xXCIgQGNsaWNrPVwiY29tZmlybURhdGUoZmFsc2UpXCI+6YeN572uPC92aWV3PlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vhci1mb290ZXItYnRuMlwiIEBjbGljaz1cImNvbWZpcm1EYXRlKHRydWUpXCI+56Gu6K6kPC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+ICBcblx0XHRcdDwvdmlldz5cblx0XHQ8L3UtcG9wdXA+XG5cdDwvdmlldz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cdGltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSAndnVleCdcblxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0Y29tcHV0ZWQ6IHtcblx0XHRcdC4uLm1hcFN0YXRlKFsnc3RhdHVzYmFySGVpZ2h0J10pXG5cdFx0fSxcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0Y3VycmVudFBhZ2U6MSxcblx0XHRcdFx0dG90YWw6MCxcblx0XHRcdFx0YWN0aXZlOjAsXG5cdFx0XHRcdHdvcmRzV2lkdGg6MjUwLFxuXHRcdFx0XHR0ZW1wQWN0aXZlIDowLFxuXHRcdFx0XHR0eXBlOicnLFxuXHRcdFx0XHR3b3Jkczon5YWo6YOoJyxcblx0XHRcdFx0dGVtcFR5cGUgOicnLFxuXHRcdFx0XHRkYXRlVHlwZSA6MCxcblx0XHRcdFx0ZGF0YUxpc3Q6W10sXG5cdFx0XHRcdHN0YXJ0RGF0ZTpudWxsLFxuXHRcdFx0XHRlbmREYXRlOm51bGwsXG5cdFx0XHRcdGRlZmF1bHRTdGFydERhdGU6bnVsbCxcblx0XHRcdFx0ZGVmYXVsdEVuZERhdGU6bnVsbCxcblx0XHRcdFx0c2hvd01vbmV5OmZhbHNlLFxuXHRcdFx0XHRjb3VudERhdGE6e30sXG5cdFx0XHRcdGNvdW50RGF0YUxpc3Q6e30sXG5cdFx0XHRcdGhhc05leHQ6dHJ1ZSxcblx0XHRcdFx0c2hvdzogZmFsc2UsXG5cdFx0XHRcdHNob3cxOmZhbHNlLFxuXHRcdFx0XHR5ZWFyOm51bGwsXG5cdFx0XHRcdHRlbXBZZWFyOm51bGwsXG5cdFx0XHRcdG1vbnRoOm51bGwsXG5cdFx0XHRcdHRlbXBNb250aDpudWxsLFxuXHRcdFx0XHR0ZW1wU3RhcnREYXRlOm51bGwsXG5cdFx0XHRcdHRlbXBFbmREYXRlOm51bGwsXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRvbkxvYWQoKSB7XG5cdFx0XHR0aGlzLmFjdGl2ZT0wXG5cdFx0XHR0aGlzLndvcmRzV2lkdGg9MjUwXG5cdFx0XHR0aGlzLndvcmRzPSflhajpg6gnXG5cdFx0XHR0aGlzLnRlbXBBY3RpdmU9Jydcblx0XHRcdHRoaXMuZGF0ZVR5cGU9MFxuXHRcdFx0dGhpcy5jb3VudERhdGE9e31cblx0XHRcdHRoaXMudGVtcFN0YXJ0RGF0ZT1udWxsXG5cdFx0XHR0aGlzLnRlbXBFbmREYXRlPW51bGxcblx0XHRcdHRoaXMuY291bnREYXRhTGlzdD17fVxuXHRcdFx0dGhpcy5zaG93ID0gZmFsc2Vcblx0XHRcdHRoaXMuaW5pdERhdGVTdHIoKVxuXHRcdFx0Ly8gdW5pLiRvbignYWNjb3VudExpc3RSZWxvYWQnLCB0aGlzLmdldEZpcnN0UGFnZURhdGEoKSlcblx0XHR9LFxuXHRcdG1ldGhvZHM6e1xuXHRcdFx0YmluZENoYW5nZTEgKGUpIHtcblx0XHRcdFx0dGhpcy50ZW1wU3RhcnREYXRlID0gZS5kZXRhaWwudmFsdWUgfHwgbnVsbFxuXHRcdFx0XHRpZiAodGhpcy50ZW1wU3RhcnREYXRlICYmIHRoaXMudGVtcEVuZERhdGUpIHtcblx0XHRcdFx0XHRpZiAobmV3IERhdGUodGhpcy50ZW1wU3RhcnREYXRlICsgJyAwMDowMDowMCcpID4gbmV3IERhdGUodGhpcy50ZW1wRW5kRGF0ZSArICcgMDA6MDA6MDAnKSkge1xuXHRcdFx0XHRcdFx0dGhpcy50ZW1wU3RhcnREYXRlID0gdGhpcy50ZW1wRW5kRGF0ZVxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5byA5aeL5pel5pyf5LiN6IO95aSn5LqO57uT5p2f5pel5pyfJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0YmluZENoYW5nZTIgKGUpIHtcblx0XHRcdFx0dGhpcy50ZW1wRW5kRGF0ZSA9IGUuZGV0YWlsLnZhbHVlIHx8IG51bGxcblx0XHRcdFx0aWYgKHRoaXMudGVtcFN0YXJ0RGF0ZSAmJiB0aGlzLnRlbXBFbmREYXRlKSB7XG5cdFx0XHRcdFx0aWYgKG5ldyBEYXRlKHRoaXMudGVtcFN0YXJ0RGF0ZSArICcgMDA6MDA6MDAnKSA+IG5ldyBEYXRlKHRoaXMudGVtcEVuZERhdGUgKyAnIDAwOjAwOjAwJykpIHtcblx0XHRcdFx0XHRcdHRoaXMudGVtcEVuZERhdGUgPSB0aGlzLnRlbXBTdGFydERhdGVcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+W8gOWni+aXpeacn+S4jeiDveWkp+S6jue7k+adn+aXpeacnycsIGljb246ICdub25lJyB9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGZvcm1hdHRlcih0eXBlLCB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAneWVhcicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3ZhbHVlfeW5tGBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdtb250aCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3ZhbHVlfeaciGBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICB9LFxuXHRcdFx0Z2V0U2hvcFBhZ2UoKSB7XG5cdFx0XHRcdGlmKHRoaXMubG9hZGluZyB8fCAhdGhpcy5oYXNOZXh0KXtcblx0XHRcdFx0XHRyZXR1cm5cblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmxvYWRpbmc9dHJ1ZVxuXHRcdFx0XHRpZih0aGlzLmN1cnJlbnRQYWdlID09IDEpe1xuXHRcdFx0XHRcdHRoaXMuaGFzTmV4dCA9IHRydWVcblx0XHRcdFx0XHR0aGlzLmRhdGFMaXN0PVtdXG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy4kdS5hcGkuZHJpdmVyUGFnZSh7XG5cdFx0XHRcdFx0Y2FwYWNpdHk6IDEwLFxuXHRcdFx0XHRcdG1vZGVsOiB7XG5cdFx0XHRcdFx0XHRzdGFydFRpbWU6IHRoaXMuc3RhcnREYXRlIHx8IHRoaXMuZGVmYXVsdFN0YXJ0RGF0ZSxcblx0XHRcdFx0XHRcdGVuZFRpbWU6IHRoaXMuZW5kRGF0ZSB8fCB0aGlzLmRlZmF1bHRFbmREYXRlLFxuXHRcdFx0XHRcdFx0dHlwZTogdGhpcy50eXBlLFxuXHRcdFx0XHRcdFx0b3B0VHlwZTogdGhpcy5hY3RpdmUgPT09IDE/MToodGhpcy5hY3RpdmUgPT09IDI/LTE6JycpXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRwYWdlOiB0aGlzLmN1cnJlbnRQYWdlXG5cdFx0XHRcdH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmRhdGFMaXN0LnB1c2goLi4ucmVzLmRhdGEucmVjb3Jkcylcblx0XHRcdFx0XHRcdHRoaXMudG90YWwgPSByZXMuZGF0YS50b3RhbFxuXHRcdFx0XHRcdFx0dGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuY3VycmVudFBhZ2UrMVxuXHRcdFx0XHRcdFx0aWYgKHRoaXMuZGF0YUxpc3QubGVuZ3RoID49IHJlcy5kYXRhLnRvdGFsKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuaGFzTmV4dCA9IGZhbHNlXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHR0aGlzLmhhc05leHQgPSB0cnVlXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGdldFNob3BTdW1tYXJ5KCkge1xuXHRcdFx0XHR0aGlzLiR1LmFwaS5kcml2ZXJTdW1tYXJ5KHtcblx0XHRcdFx0XHRzdGFydFRpbWU6IHRoaXMuc3RhcnREYXRlIHx8IHRoaXMuZGVmYXVsdFN0YXJ0RGF0ZSxcblx0XHRcdFx0XHRlbmRUaW1lOiB0aGlzLmVuZERhdGUgfHwgdGhpcy5kZWZhdWx0RW5kRGF0ZSxcblx0XHRcdFx0XHR0eXBlOiB0aGlzLmFjdGl2ZSA9PT0gMT8wOih0aGlzLmFjdGl2ZT09PTI/MTonJyksIFxuXHRcdFx0XHRcdG9ialR5cGU6IHRoaXMuZ2V0U3VtbWFyeU9ialR5cGUodGhpcy50eXBlKSwgXG5cdFx0XHRcdH0pLnRoZW4ocmVzPT57XG5cdFx0XHRcdFx0aWYocmVzLmNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHRcdHRoaXMuY291bnREYXRhTGlzdCA9IHJlcy5kYXRhXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdC8vIOiOt+WPlumXqOW6l+mSseWMhee7n+iuoVxuXHRcdFx0Z2V0U2hvcFN0YXRpc3RpY3MoKXtcblx0XHRcdFx0dGhpcy4kdS5hcGkuZHJpdmVyU3RhdGlzdGljcyh7fSkudGhlbihyZXM9Pntcblx0XHRcdFx0XHRpZihyZXMuY29kZSA9PSAyMDApe1xuXHRcdFx0XHRcdFx0dGhpcy5jb3VudERhdGEgPSByZXMuZGF0YVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRjb21maXJtRGF0ZShmbGFnKXtcblx0XHRcdFx0aWYgKGZsYWcpIHtcblx0XHRcdFx0XHRpZiAoIXRoaXMudGVtcFN0YXJ0RGF0ZSB8fCAhdGhpcy50ZW1wRW5kRGF0ZSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+ivt+mAieaLqei1t+atouaXpeacnycsXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYobmV3IERhdGUodGhpcy50ZW1wRW5kRGF0ZStcIiAwMDowMDowMFwiKS5nZXRUaW1lKCkgPCBuZXcgRGF0ZSh0aGlzLnRlbXBTdGFydERhdGUrXCIgMDA6MDA6MDBcIikuZ2V0VGltZSgpKXtcblx0XHRcdFx0XHRcdHJldHVybiB1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6J+aXpeacn+iMg+WbtOS4jeato+ehricsXG5cdFx0XHRcdFx0XHRcdGljb246J2Vycm9yJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy5zdGFydERhdGUgPXRoaXMudGVtcFN0YXJ0RGF0ZVxuXHRcdFx0XHRcdHRoaXMuZW5kRGF0ZSA9dGhpcy50ZW1wRW5kRGF0ZVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMuc3RhcnREYXRlID0gbnVsbFxuXHRcdFx0XHRcdHRoaXMuZW5kRGF0ZSA9IG51bGxcblx0XHRcdFx0XHR0aGlzLnRlbXBTdGFydERhdGUgPSBudWxsXG5cdFx0XHRcdFx0dGhpcy50ZW1wRW5kRGF0ZSA9IG51bGxcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmdldEZpcnN0UGFnZURhdGEoKVxuXHRcdFx0XHR0aGlzLmdldFNob3BTdW1tYXJ5KClcblx0XHRcdFx0dGhpcy5zaG93MT1mYWxzZVxuXHRcdFx0fSxcblx0XHRcdG9wZW5TaG93KCl7XG5cdFx0XHRcdHRoaXMudGVtcEFjdGl2ZSA9dGhpcy5hY3RpdmVcblx0XHRcdFx0dGhpcy50ZW1wVHlwZSA9dGhpcy50eXBlXG5cdFx0XHRcdHRoaXMuc2hvdz10cnVlXG5cdFx0XHR9LFxuXHRcdFx0Y29tZmlybShmbGFnKXtcblx0XHRcdFx0aWYoZmxhZyl7XG5cdFx0XHRcdFx0dGhpcy5hY3RpdmUgPSB0aGlzLnRlbXBBY3RpdmVcblx0XHRcdFx0XHR0aGlzLnR5cGUgPSB0aGlzLnRlbXBUeXBlXG5cdFx0XHRcdFx0dGhpcy5zaG93ID0gZmFsc2Vcblx0XHRcdFx0XHR0aGlzLndvcmRzV2lkdGggPSAyNTBcblx0XHRcdFx0XHRpZih0aGlzLmFjdGl2ZSA9PT0gMCAmJiB0aGlzLnR5cGUgPT09ICcnKXtcblx0XHRcdFx0XHRcdHRoaXMud29yZHMgPSAn5YWo6YOoJ1xuXHRcdFx0XHRcdH1lbHNlIHtcblx0XHRcdFx0XHRcdGxldCB0MSA9IHRoaXMuYWN0aXZlID09PSAxID8gJ+aUtuWFpSAnOih0aGlzLmFjdGl2ZSA9PT0gMiA/ICfmlK/lh7ogJyA6ICcnKTtcblx0XHRcdFx0XHRcdGxldCB0MiA9IHRoaXMuZ2V0RmlsdGVyVHlwZUxhYmVsKHRoaXMudHlwZSlcblx0XHRcdFx0XHRcdGlmKHQxICE9JycgJiYgdDIgIT0nJyl7XG5cdFx0XHRcdFx0XHRcdHRoaXMud29yZHNXaWR0aCA9IDM1MFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0dGhpcy53b3JkcyA9IHQxICsgdDJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy50ZW1wQWN0aXZlID0gMFxuXHRcdFx0XHRcdHRoaXMudGVtcFR5cGUgPSAnJ1xuXHRcdFx0XHRcdHRoaXMuYWN0aXZlID0gMFxuXHRcdFx0XHRcdHRoaXMudHlwZSA9ICcnXG5cdFx0XHRcdFx0dGhpcy53b3JkcyA9ICflhajpg6gnXG5cdFx0XHRcdFx0dGhpcy53b3Jkc1dpZHRoID0gMjUwXG5cdFx0XHRcdFx0dGhpcy5zaG93ID0gZmFsc2Vcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmdldEZpcnN0UGFnZURhdGEoKVxuXHRcdFx0XHR0aGlzLmdldFNob3BTdW1tYXJ5KClcblx0XHRcdH0sXG5cdFx0XHRmb3JtYXR0ZWREYXRlVGltZShjdXJyZW50RGF0ZSkge1xuXHRcdFx0ICAgICBjb25zdCB5ZWFyID0gY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKTtcblx0XHRcdCAgICAgY29uc3QgbW9udGggPSAoY3VycmVudERhdGUuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTsgLy8g5pyI5Lu95LuOIDAg5byA5aeL77yM6ZyA6KaB5YqgIDHvvIzlubbooaXpvZDkuKTkvY1cblx0XHRcdCAgICAgY29uc3QgZGF5ID0gY3VycmVudERhdGUuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTsgLy8g6KGl6b2Q5Lik5L2NXG5cdFx0XHQgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBgJHt5ZWFyfS0ke21vbnRofS0ke2RheX1gO1xuXHRcdFx0ICAgICBjb25zb2xlLmxvZyhmb3JtYXR0ZWREYXRlKTsgLy8g6L6T5Ye65qC85byP5YyW5ZCO55qE5pel5pyf77yM5L6L5aaCIFwiMjAyMy0xMC0yNFwiXG5cdFx0XHQgICAgIHJldHVybiBmb3JtYXR0ZWREYXRlO1xuXHRcdFx0fSxcblx0XHRcdGluaXREYXRlU3RyKCl7XG5cdFx0XHRcdGNvbnN0IG5vdyA9IG5ldyBEYXRlKClcblx0XHRcdFx0Y29uc3QgZmlyc3REYXkgPSBuZXcgRGF0ZShub3cuZ2V0RnVsbFllYXIoKSwgbm93LmdldE1vbnRoKCksIDEpXG5cdFx0XHRcdGNvbnN0IGRlZmF1bHRTdGFydCA9IHRoaXMuZm9ybWF0dGVkRGF0ZVRpbWUoZmlyc3REYXkpXG5cdFx0XHRcdGNvbnN0IGRlZmF1bHRFbmQgPSB0aGlzLmZvcm1hdHRlZERhdGVUaW1lKG5vdylcblx0XHRcdFx0XG5cdFx0XHRcdHRoaXMuZGVmYXVsdFN0YXJ0RGF0ZSA9IGRlZmF1bHRTdGFydFxuXHRcdFx0XHR0aGlzLmRlZmF1bHRFbmREYXRlID0gZGVmYXVsdEVuZFxuXHRcdFx0XHRcblx0XHRcdFx0dGhpcy5zdGFydERhdGUgPSBudWxsXG5cdFx0XHRcdHRoaXMuZW5kRGF0ZSA9IG51bGxcblx0XHRcdFx0XG5cdFx0XHRcdHRoaXMuZ2V0U2hvcFN0YXRpc3RpY3MoKVxuXHRcdFx0XHR0aGlzLmdldFNob3BTdW1tYXJ5KClcblx0XHRcdFx0dGhpcy5nZXRTaG9wUGFnZSgpXG5cdFx0XHR9LFxuXHRcdFx0Y2hlY2tBY3RpdmUoaW5kZXgpe1xuXHRcdFx0XHR0aGlzLnRlbXBBY3RpdmUgPWluZGV4XG5cdFx0XHR9LFxuXHRcdFx0Z2V0VHJhbnNhY3Rpb25MYWJlbCh0eXBlKSB7XG5cdFx0XHRcdGNvbnN0IHR5cGVNYXAgPSB7XG5cdFx0XHRcdFx0MDogJ+WujOaIkOiuouWNlScsXG5cdFx0XHRcdFx0MTogJ+aPkOeOsOaUr+WHuicsXG5cdFx0XHRcdFx0MjogJ+aPkOeOsOmAgOWbnicsXG5cdFx0XHRcdFx0MzogJ+W5s+WPsOWlluWKsScsXG5cdFx0XHRcdFx0NDogJ+i0o+S7u+aJo+asvicsXG5cdFx0XHRcdFx0NTogJ+W8guW4uOmHkeminSdcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdHlwZU1hcFt0eXBlXSB8fCAnJ1xuXHRcdFx0fSxcblx0XHRcdGdldEZpbHRlclR5cGVMYWJlbCh0eXBlKSB7XG5cdFx0XHRcdGNvbnN0IHR5cGVNYXAgPSB7XG5cdFx0XHRcdFx0MDogJ+iuouWNlee7k+eulycsXG5cdFx0XHRcdFx0MTogJ+aPkOeOsCcsXG5cdFx0XHRcdFx0MjogJ+aPkOeOsOmAgOWbnicsXG5cdFx0XHRcdFx0MzogJ+W5s+WPsOWlluWKsScsXG5cdFx0XHRcdFx0NDogJ+i0o+S7u+aJo+asvicsXG5cdFx0XHRcdFx0NTogJ+W8guW4uOmHkeminSdcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdHlwZU1hcFt0eXBlXSB8fCAnJ1xuXHRcdFx0fSxcblx0XHRcdGdldFRyYW5zYWN0aW9uSWNvbih0eXBlKSB7XG5cdFx0XHRcdGNvbnN0IHR5cGVNYXAgPSB7XG5cdFx0XHRcdFx0MDogJy9zdGF0aWMvaW1hZ2UvaWNfc2hvdXJ1QDJ4LnBuZycsXG5cdFx0XHRcdFx0MTogJy9zdGF0aWMvaW1hZ2UvaWNfdGl4aWFuQDJ4LnBuZycsXG5cdFx0XHRcdFx0MjogJy9zdGF0aWMvaW1hZ2UvaWNfdHVpa3VhbkAyeC5wbmcnLFxuXHRcdFx0XHRcdDM6ICcvc3RhdGljL2ltYWdlL2ljX3Nob3VydUAyeC5wbmcnLFxuXHRcdFx0XHRcdDQ6ICcvc3RhdGljL2ltYWdlL2ljX3RpeGlhbkAyeC5wbmcnLFxuXHRcdFx0XHRcdDU6ICcvc3RhdGljL2ltYWdlL2ljX3R1aWt1YW5AMngucG5nJ1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB0eXBlTWFwW3R5cGVdIHx8ICcvc3RhdGljL2ltYWdlL2ljX3Nob3VydUAyeC5wbmcnXG5cdFx0XHR9LFxuXHRcdFx0Z2V0U3VtbWFyeU9ialR5cGUodHlwZSkge1xuXHRcdFx0XHRjb25zdCB0eXBlTWFwID0ge1xuXHRcdFx0XHRcdDE6IDE2LFxuXHRcdFx0XHRcdDI6IDE3LFxuXHRcdFx0XHRcdDM6IDI1LFxuXHRcdFx0XHRcdDQ6IDFcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdHlwZU1hcFt0eXBlXSB8fCAnJ1xuXHRcdFx0fSxcblx0XHRcdGlzRXhwZW5zZVR5cGUoaXRlbSkge1xuXHRcdFx0XHRpZiAoaXRlbSAmJiBpdGVtLm9wdFR5cGUgIT09IHVuZGVmaW5lZCAmJiBpdGVtLm9wdFR5cGUgIT09IG51bGwgJiYgaXRlbS5vcHRUeXBlICE9PSAnJykge1xuXHRcdFx0XHRcdHJldHVybiBOdW1iZXIoaXRlbS5vcHRUeXBlKSA9PT0gLTFcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gWzEsIDRdLmluY2x1ZGVzKE51bWJlcihpdGVtLnR5cGUpKVxuXHRcdFx0fSxcblx0XHRcdGNoZWNrVHlwZShpbmRleCl7XG5cdFx0XHRcdHRoaXMudGVtcFR5cGUgPSBpbmRleFxuXHRcdFx0fSxcblx0XHRcdGdldEZpcnN0UGFnZURhdGEoKXtcblx0XHRcdFx0dGhpcy5jdXJyZW50UGFnZSA9IDBcblx0XHRcdFx0dGhpcy5oYXNOZXh0PXRydWVcblx0XHRcdFx0dGhpcy5sb2FkaW5nPWZhbHNlXG5cdFx0XHRcdHRoaXMudG90YWw9MFxuXHRcdFx0XHR0aGlzLmRhdGFMaXN0PVtdXG5cdFx0XHRcdHRoaXMuZ2V0U2hvcFBhZ2UoKVxuXHRcdFx0fSxcblx0XHRcdGp1bXBXaXRoZHJhdygpe1xuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL3dpdGhkcmF3L3dpdGhkcmF3J1xuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGp1bXBEZXRhaWwoaXRlbSl7XG5cdFx0XHRcdGlmKGl0ZW0ub2JqVHlwZSA9PSAxNyApe1xuXHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy93aXRoZHJhd2FsLWRldGFpbHMvd2l0aGRyYXdhbC1kZXRhaWxzP2lkPScraXRlbS5vYmpJZFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGU+XG5cdC5waWNrZXItdmlldyB7XG5cdFx0d2lkdGg6IDc1MHJweDtcblx0XHRoZWlnaHQ6IDYwMHJweDtcblx0XHRtYXJnaW4tdG9wOiAyMHJweDtcblx0fVxuXHQucGlja2VyLWl0ZW0ge1xuXHRcdGxpbmUtaGVpZ2h0OiA3MnJweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0LnBpY2tlcjJ7XG5cdFx0bGluZS1oZWlnaHQ6IDcycnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsNjQsMTUwLDAuMSkgIWltcG9ydGFudDtcblx0XHRib3JkZXItcmFkaXVzOiA4cnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRjb2xvcjogIzAwNDA5NiAhaW1wb3J0YW50O1xuXHR9XG5cdC5waWNrZXIyLWVtcHR5e1xuXHRcdGJhY2tncm91bmQ6ICNGN0Y3RjcgIWltcG9ydGFudDtcblx0XHRjb2xvcjogIzk5OTk5OSAhaW1wb3J0YW50O1xuXHR9XG5cdC5waWNrZXIze1xuXHRcdGxpbmUtaGVpZ2h0OiA3MnJweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Ym9yZGVyLXJhZGl1czogOHJweDtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0Y29sb3I6ICMzMzMzMzM7XG5cdH1cbjwvc3R5bGU+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cblx0LndhbGxldC1wYWdlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuXHRcdC5zZWFyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogMzBycHg7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0LnNlYXItdGl0bGUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRmb250LXNpemU6IDMycnB4O1xuXHRcdFx0XHRjb2xvcjogIzExMTExMTtcblx0XHRcdH1cblx0XHRcdC5zZWFyLWl0ZW0ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0bWFyZ2luLXRvcDogNDhycHg7XG5cdFx0XHRcdC5zZWFyLWl0ZW0tbGFiZWwge1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMnJweDtcblx0XHRcdFx0XHRjb2xvcjogIzExMTExMTtcblx0XHRcdFx0fVxuXHRcdFx0XHQuc2Vhci1pdGVtLWxpc3Qge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDMwcnB4O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRcdC5hY3RpdmUge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDY0LDE1MCwwLjEpICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzAwNDA5NiAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuYWN0aXZlMSB7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAycnB4IHNvbGlkICMwMDQwOTYgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMDA0MDk2ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5zZWFyLWl0ZW0tbGlzdC1pdGVtIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAyMTZycHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDcycnB4O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDcycnB4O1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI0Y3RjdGNztcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDhycHg7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMzMzMzMzO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5zZWFyLWl0ZW0tbGlzdC1pdGVtMSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjE2cnB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA3MnJweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA3MnJweDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5zZWFyLWZvb3RlciB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDg4cnB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA4MHJweDtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHQuc2Vhci1mb290ZXItYnRuMSB7XG5cdFx0XHRcdFx0d2lkdGg6IDMzNHJweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDg4cnB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA4OHJweDtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI0U1RTVFNTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA0NHJweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHRcdH1cblx0XHRcdFx0LnNlYXItZm9vdGVyLWJ0bjIge1xuXHRcdFx0XHRcdHdpZHRoOiAzMzRycHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA4OHJweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogODhycHg7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICMwMDQwOTY7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNDRycHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDMycnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5ib3gtbGlzdCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzBycHg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0Lml0ZW0ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Lml0ZW0tZGF0ZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMzBycHggMzBycHggMzBycHg7XG5cdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0XHQuaXRlbS1kYXRlLXRvcCB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRcdFx0Lml0ZW0tZGF0ZS10b3AtbGVmdCB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGltYWdlIHtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMjZycHg7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAyNnJweDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTJycHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0dGV4dCB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjMjIyMjIyO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogOHJweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LnNlbGUge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMjAwcnB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDY0cnB4O1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDI0cnB4O1xuXHRcdFx0XHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAzMnJweDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcnB4IHNvbGlkICNFRUVFRUU7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDMwcnB4O1xuXHRcdFx0XHRcdFx0XHR0ZXh0IHtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Lml0ZW0tZGF0ZS1ib3R0b20ge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdFx0XHRcdFx0dGV4dCB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjNzc3Nzc3O1xuXHRcdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDYycnB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5pdGVtLWxpc3Qge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDMwcnB4O1xuXHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0XHRcdFx0XHQubm9tb3JlIHtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5OTk5O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAzMHJweDtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAzMHJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Lml0ZW0tbGlzdC1pdGVtIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMzBycHggMDtcblx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcnB4IHNvbGlkICNFNUU1RTU7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRcdC5pbWFnZSB7XG5cdFx0XHRcdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogNzJycHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNzJycHg7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHJweDtcblx0XHRcdFx0XHRcdFx0aW1hZ2Uge1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQuaW5mbyB7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRcdC5pbmZvLWEge1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdFx0XHRcdFx0LmluZm8tYS1sYWJlbCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjMjIyMjIyO1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdFx0XHRcdHRleHQge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDIwcnB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHQuaW5mby1hLXByaWNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0IFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMnJweDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzIyMjIyMjtcblx0XHRcdFx0XHRcdFx0XHRcdFx0IFxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQuaW5mby1iIHtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEycnB4O1xuXHRcdFx0XHRcdFx0XHRcdHRleHQge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gLnNlbGUge1xuXHRcdC8vIFx0d2lkdGg6IDIwMHJweDtcblx0XHQvLyBcdGhlaWdodDogNjRycHg7XG5cdFx0Ly8gXHRwYWRkaW5nOiAwIDI0cnB4O1xuXHRcdC8vIFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHQvLyBcdGJhY2tncm91bmQ6ICNGRkZGRkY7XG5cdFx0Ly8gXHRib3JkZXItcmFkaXVzOiAzMnJweDtcblx0XHQvLyBcdGJvcmRlcjogMXJweCBzb2xpZCAjRUVFRUVFO1xuXHRcdC8vIFx0ZGlzcGxheTogZmxleDtcblx0XHQvLyBcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Ly8gXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0Ly8gXHRtYXJnaW4tbGVmdDogMzBycHg7XG5cdFx0Ly8gXHR0ZXh0IHtcblx0XHQvLyBcdFx0d2lkdGg6IGF1dG87XG5cdFx0Ly8gXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Ly8gXHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0Ly8gXHRcdGNvbG9yOiAjMzMzMzMzO1xuXHRcdC8vIFx0fVxuXHRcdC8vIH1cblx0XHQuZGF0YSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdC8vIHBhZGRpbmc6IDIwcnB4IDMwcnB4O1xuXHRcdFx0cGFkZGluZzogMzBycHg7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0Lmhlemkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAzMDRycHg7XG5cdFx0XHRcdHBhZGRpbmc6IDMwcnB4O1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMDA0MDk2O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcblx0XHRcdFx0LmhlemktYSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdHRleHQge1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmhlemktYiB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxNHJweDtcblx0XHRcdFx0XHQuaGV6aS1iLXByaWNlIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdFx0XHRcdFx0XHR0ZXh0IHtcblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiA0NHJweDtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5oZXppLWItYnRuIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDBycHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDUycnB4O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDUycnB4O1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI0ZGRkZGRjtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDI2cnB4O1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzAwNDA5Njtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmhlemktYyB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMzhycHg7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMjRycHg7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdGJvcmRlci10b3A6IDFycHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA5KTtcblx0XHRcdFx0XHQuaGV6aS1jLWl0ZW0ge1xuXHRcdFx0XHRcdFx0ZmxleDogMTtcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDkpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LmhlemktYy1pdGVtLXRpdGxlIHtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyNHJweDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5oZXppLWMtaXRlbS1wcmljZSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogOHJweDtcblx0XHRcdFx0XHRcdFx0dGV4dCB7XG5cdFx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50eCB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwNHJweDtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDY0LDE1MCwwLjEyKTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTZycHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0dG9wOiAtMjBycHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRcdGNvbG9yOiAjMDA0MDk2O1xuXHRcdFx0XHRwYWRkaW5nOiA0MHJweCAzMHJweCAwIDMwcnB4O1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///159\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 _toConsumableArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/toConsumableArray */ 93));\nvar _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 2));\nvar _vuex = __webpack_require__(/*! vuex */ 12);\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  computed: _objectSpread({}, (0, _vuex.mapState)(['statusbarHeight'])),\n  data: function data() {\n    return {\n      currentPage: 1,\n      total: 0,\n      active: 0,\n      wordsWidth: 250,\n      tempActive: 0,\n      type: '',\n      words: '鍏ㄩ儴',\n      tempType: '',\n      dateType: 0,\n      dataList: [],\n      startDate: null,\n      endDate: null,\n      defaultStartDate: null,\n      defaultEndDate: null,\n      showMoney: false,\n      countData: {},\n      countDataList: {},\n      hasNext: true,\n      show: false,\n      show1: false,\n      year: null,\n      tempYear: null,\n      month: null,\n      tempMonth: null,\n      tempStartDate: null,\n      tempEndDate: null\n    };\n  },\n  onLoad: function onLoad() {\n    this.active = 0;\n    this.wordsWidth = 250;\n    this.words = '鍏ㄩ儴';\n    this.tempActive = '';\n    this.dateType = 0;\n    this.countData = {};\n    this.tempStartDate = null;\n    this.tempEndDate = null;\n    this.countDataList = {};\n    this.show = false;\n    this.initDateStr();\n    // uni.$on('accountListReload', this.getFirstPageData())\n  },\n  onReachBottom: function onReachBottom() {\n    __f__(\"log\", 'onReachBottom', \" at pages/wallet/wallet.vue:211\");\n    this.getShopPage();\n  },\n  methods: {\n    bindChange1: function bindChange1(e) {\n      this.tempStartDate = e.detail.value || null;\n      if (this.tempStartDate && this.tempEndDate) {\n        if (new Date(this.tempStartDate + ' 00:00:00') > new Date(this.tempEndDate + ' 00:00:00')) {\n          this.tempStartDate = this.tempEndDate;\n          uni.showToast({\n            title: '寮�濮嬫棩鏈熶笉鑳藉ぇ浜庣粨鏉熸棩鏈�',\n            icon: 'none'\n          });\n        }\n      }\n    },\n    bindChange2: function bindChange2(e) {\n      this.tempEndDate = e.detail.value || null;\n      if (this.tempStartDate && this.tempEndDate) {\n        if (new Date(this.tempStartDate + ' 00:00:00') > new Date(this.tempEndDate + ' 00:00:00')) {\n          this.tempEndDate = this.tempStartDate;\n          uni.showToast({\n            title: '寮�濮嬫棩鏈熶笉鑳藉ぇ浜庣粨鏉熸棩鏈�',\n            icon: 'none'\n          });\n        }\n      }\n    },\n    formatter: function formatter(type, value) {\n      if (type === 'year') {\n        return \"\".concat(value, \"\\u5E74\");\n      }\n      if (type === 'month') {\n        return \"\".concat(value, \"\\u6708\");\n      }\n      return value;\n    },\n    getShopPage: function getShopPage() {\n      var _this = this;\n      if (this.loading || !this.hasNext) {\n        return;\n      }\n      this.loading = true;\n      if (this.currentPage == 1) {\n        this.hasNext = true;\n        this.dataList = [];\n      }\n      this.$u.api.driverPage({\n        capacity: 10,\n        model: {\n          startTime: this.startDate || this.defaultStartDate,\n          endTime: this.endDate || this.defaultEndDate,\n          type: this.type,\n          optType: this.active === 1 ? 1 : this.active === 2 ? -1 : ''\n        },\n        page: this.currentPage\n      }).then(function (res) {\n        if (res.code == 200) {\n          var _this$dataList;\n          (_this$dataList = _this.dataList).push.apply(_this$dataList, (0, _toConsumableArray2.default)(res.data.records));\n          _this.total = res.data.total;\n          _this.currentPage = _this.currentPage + 1;\n          if (_this.dataList.length >= res.data.total) {\n            _this.hasNext = false;\n          } else {\n            _this.hasNext = true;\n          }\n        }\n      });\n    },\n    getShopSummary: function getShopSummary() {\n      var _this2 = this;\n      this.$u.api.driverSummary({\n        startTime: this.startDate || this.defaultStartDate,\n        endTime: this.endDate || this.defaultEndDate,\n        type: this.active === 1 ? 0 : this.active === 2 ? 1 : '',\n        objType: this.getSummaryObjType(this.type)\n      }).then(function (res) {\n        if (res.code == 200) {\n          _this2.countDataList = res.data;\n        }\n      });\n    },\n    // 鑾峰彇闂ㄥ簵閽卞寘缁熻\n    getShopStatistics: function getShopStatistics() {\n      var _this3 = this;\n      this.$u.api.driverStatistics({}).then(function (res) {\n        if (res.code == 200) {\n          _this3.countData = res.data;\n        }\n      });\n    },\n    comfirmDate: function comfirmDate(flag) {\n      if (flag) {\n        if (!this.tempStartDate || !this.tempEndDate) {\n          return uni.showToast({\n            title: '璇烽�夋嫨璧锋鏃ユ湡',\n            icon: 'none'\n          });\n        }\n        if (new Date(this.tempEndDate + \" 00:00:00\").getTime() < new Date(this.tempStartDate + \" 00:00:00\").getTime()) {\n          return uni.showToast({\n            title: '鏃ユ湡鑼冨洿涓嶆纭�',\n            icon: 'error'\n          });\n        }\n        this.startDate = this.tempStartDate;\n        this.endDate = this.tempEndDate;\n      } else {\n        this.startDate = null;\n        this.endDate = null;\n        this.tempStartDate = null;\n        this.tempEndDate = null;\n      }\n      this.getFirstPageData();\n      this.getShopSummary();\n      this.show1 = false;\n    },\n    openShow: function openShow() {\n      this.tempActive = this.active;\n      this.tempType = this.type;\n      this.show = true;\n    },\n    comfirm: function comfirm(flag) {\n      if (flag) {\n        this.active = this.tempActive;\n        this.type = this.tempType;\n        this.show = false;\n        this.wordsWidth = 250;\n        if (this.active === 0 && this.type === '') {\n          this.words = '鍏ㄩ儴';\n        } else {\n          var t1 = this.active === 1 ? '鏀跺叆 ' : this.active === 2 ? '鏀嚭 ' : '';\n          var t2 = this.getFilterTypeLabel(this.type);\n          if (t1 != '' && t2 != '') {\n            this.wordsWidth = 350;\n          }\n          this.words = t1 + t2;\n        }\n      } else {\n        this.tempActive = 0;\n        this.tempType = '';\n        this.active = 0;\n        this.type = '';\n        this.words = '鍏ㄩ儴';\n        this.wordsWidth = 250;\n        this.show = false;\n      }\n      this.getFirstPageData();\n      this.getShopSummary();\n    },\n    formattedDateTime: function formattedDateTime(currentDate) {\n      var year = currentDate.getFullYear();\n      var month = (currentDate.getMonth() + 1).toString().padStart(2, '0'); // 鏈堜唤浠� 0 寮�濮嬶紝闇�瑕佸姞 1锛屽苟琛ラ綈涓や綅\n      var day = currentDate.getDate().toString().padStart(2, '0'); // 琛ラ綈涓や綅\n      var formattedDate = \"\".concat(year, \"-\").concat(month, \"-\").concat(day);\n      __f__(\"log\", formattedDate, \" at pages/wallet/wallet.vue:357\"); // 杈撳嚭鏍煎紡鍖栧悗鐨勬棩鏈燂紝渚嬪 \"2023-10-24\"\n      return formattedDate;\n    },\n    initDateStr: function initDateStr() {\n      var now = new Date();\n      var firstDay = new Date(now.getFullYear(), now.getMonth(), 1);\n      var defaultStart = this.formattedDateTime(firstDay);\n      var defaultEnd = this.formattedDateTime(now);\n      this.defaultStartDate = defaultStart;\n      this.defaultEndDate = defaultEnd;\n      this.startDate = null;\n      this.endDate = null;\n      this.getShopStatistics();\n      this.getShopSummary();\n      this.getShopPage();\n    },\n    checkActive: function checkActive(index) {\n      this.tempActive = index;\n    },\n    getTransactionLabel: function getTransactionLabel(type) {\n      var typeMap = {\n        0: '瀹屾垚璁㈠崟',\n        1: '鎻愮幇鏀嚭',\n        2: '鎻愮幇閫�鍥�',\n        3: '骞冲彴濂栧姳',\n        4: '璐d换鎵f',\n        5: '寮傚父閲戦'\n      };\n      return typeMap[type] || '';\n    },\n    getFilterTypeLabel: function getFilterTypeLabel(type) {\n      var typeMap = {\n        0: '璁㈠崟缁撶畻',\n        1: '鎻愮幇',\n        2: '鎻愮幇閫�鍥�',\n        3: '骞冲彴濂栧姳',\n        4: '璐d换鎵f',\n        5: '寮傚父閲戦'\n      };\n      return typeMap[type] || '';\n    },\n    getTransactionIcon: function getTransactionIcon(type) {\n      var typeMap = {\n        0: '/static/image/ic_shouru@2x.png',\n        1: '/static/image/ic_tixian@2x.png',\n        2: '/static/image/ic_tuikuan@2x.png',\n        3: '/static/image/ic_shouru@2x.png',\n        4: '/static/image/ic_tixian@2x.png',\n        5: '/static/image/ic_tuikuan@2x.png'\n      };\n      return typeMap[type] || '/static/image/ic_shouru@2x.png';\n    },\n    getSummaryObjType: function getSummaryObjType(type) {\n      var typeMap = {\n        1: 16,\n        2: 17,\n        3: 25,\n        4: 1\n      };\n      return typeMap[type] || '';\n    },\n    isExpenseType: function isExpenseType(item) {\n      if (item && item.optType !== undefined && item.optType !== null && item.optType !== '') {\n        return Number(item.optType) === -1;\n      }\n      return [1, 4].includes(Number(item.type));\n    },\n    checkType: function checkType(index) {\n      this.tempType = index;\n    },\n    getFirstPageData: function getFirstPageData() {\n      this.currentPage = 0;\n      this.hasNext = true;\n      this.loading = false;\n      this.total = 0;\n      this.dataList = [];\n      this.getShopPage();\n    },\n    jumpWithdraw: function jumpWithdraw() {\n      uni.navigateTo({\n        url: '/pages/withdraw/withdraw'\n      });\n    },\n    jumpDetail: function jumpDetail(item) {\n      if (item.objType == 17) {\n        uni.navigateTo({\n          url: '/pages/withdrawal-details/withdrawal-details?id=' + item.objId\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 */ 92)[\"default\"]))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInVuaS1hcHA6Ly8vcGFnZXMvd2FsbGV0L3dhbGxldC52dWUiXSwibmFtZXMiOlsiY29tcHV0ZWQiLCJkYXRhIiwiY3VycmVudFBhZ2UiLCJ0b3RhbCIsImFjdGl2ZSIsIndvcmRzV2lkdGgiLCJ0ZW1wQWN0aXZlIiwidHlwZSIsIndvcmRzIiwidGVtcFR5cGUiLCJkYXRlVHlwZSIsImRhdGFMaXN0Iiwic3RhcnREYXRlIiwiZW5kRGF0ZSIsImRlZmF1bHRTdGFydERhdGUiLCJkZWZhdWx0RW5kRGF0ZSIsInNob3dNb25leSIsImNvdW50RGF0YSIsImNvdW50RGF0YUxpc3QiLCJoYXNOZXh0Iiwic2hvdyIsInNob3cxIiwieWVhciIsInRlbXBZZWFyIiwibW9udGgiLCJ0ZW1wTW9udGgiLCJ0ZW1wU3RhcnREYXRlIiwidGVtcEVuZERhdGUiLCJvbkxvYWQiLCJvblJlYWNoQm90dG9tIiwibWV0aG9kcyIsImJpbmRDaGFuZ2UxIiwidW5pIiwidGl0bGUiLCJpY29uIiwiYmluZENoYW5nZTIiLCJmb3JtYXR0ZXIiLCJnZXRTaG9wUGFnZSIsImNhcGFjaXR5IiwibW9kZWwiLCJzdGFydFRpbWUiLCJlbmRUaW1lIiwib3B0VHlwZSIsInBhZ2UiLCJnZXRTaG9wU3VtbWFyeSIsIm9ialR5cGUiLCJnZXRTaG9wU3RhdGlzdGljcyIsImNvbWZpcm1EYXRlIiwib3BlblNob3ciLCJjb21maXJtIiwiZm9ybWF0dGVkRGF0ZVRpbWUiLCJpbml0RGF0ZVN0ciIsImNoZWNrQWN0aXZlIiwiZ2V0VHJhbnNhY3Rpb25MYWJlbCIsImdldEZpbHRlclR5cGVMYWJlbCIsImdldFRyYW5zYWN0aW9uSWNvbiIsImdldFN1bW1hcnlPYmpUeXBlIiwiaXNFeHBlbnNlVHlwZSIsImNoZWNrVHlwZSIsImdldEZpcnN0UGFnZURhdGEiLCJqdW1wV2l0aGRyYXciLCJ1cmwiLCJqdW1wRGV0YWlsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUErSkE7QUFBQTtBQUFBO0FBQUEsZUFFQTtFQUNBQSw0QkFDQSx5Q0FDQTtFQUNBQztJQUNBO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO01BQ0FDO0lBQ0E7RUFDQTtFQUNBQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0E7SUFDQTtFQUNBO0VBQ0FDO0lBQ0FDO01BQ0E7TUFDQTtRQUNBO1VBQ0E7VUFDQUM7WUFBQUM7WUFBQUM7VUFBQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7UUFDQTtVQUNBO1VBQ0FIO1lBQUFDO1lBQUFDO1VBQUE7UUFDQTtNQUNBO0lBQ0E7SUFDQUU7TUFDQTtRQUNBO01BQ0E7TUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO01BQ0E7TUFDQTtNQUNBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7UUFDQUM7UUFDQUM7VUFDQUM7VUFDQUM7VUFDQWxDO1VBQ0FtQztRQUNBO1FBQ0FDO01BQ0E7UUFDQTtVQUFBO1VBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtVQUNBO1lBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBQztNQUFBO01BQ0E7UUFDQUo7UUFDQUM7UUFDQWxDO1FBQ0FzQztNQUNBO1FBQ0E7VUFDQTtRQUNBO01BQ0E7SUFDQTtJQUNBO0lBQ0FDO01BQUE7TUFDQTtRQUNBO1VBQ0E7UUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBO1VBQ0E7WUFDQWQ7WUFDQUM7VUFDQTtRQUNBO1FBQ0E7VUFDQTtZQUNBRDtZQUNBQztVQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQWM7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtVQUNBO1FBQ0E7VUFDQTtVQUNBO1VBQ0E7WUFDQTtVQUNBO1VBQ0E7UUFDQTtNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFFQTtNQUNBO01BRUE7TUFDQTtNQUVBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtNQUNBO01BQ0E7SUFDQTtJQUNBQztNQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7TUFDQTtNQUNBO0lBQ0E7SUFDQUM7TUFDQTtRQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7SUFDQTtJQUNBQztNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtJQUNBO0lBQ0FDO01BQ0E1QjtRQUNBNkI7TUFDQTtJQUNBO0lBQ0FDO01BQ0E7UUFDQTlCO1VBQ0E2QjtRQUNBO01BQ0E7SUFDQTtFQUNBO0FBQ0E7QUFBQSwyQiIsImZpbGUiOiIxNTkuanMiLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDx2aWV3IGNsYXNzPVwid2FsbGV0LXBhZ2VcIj5cblx0XHQ8dmlldyBjbGFzcz1cImRhdGFcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwiaGV6aVwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYVwiPlxuXHRcdFx0XHRcdDx0ZXh0IHN0eWxlPVwibWFyZ2luLXJpZ2h0OiAxMHJweDsgXCI+6LSm5oi35L2Z6aKdKOWFgyk8L3RleHQ+XG5cdFx0XHRcdFx0PHUtaWNvbiB2LWlmPVwic2hvd01vbmV5XCIgbmFtZT1cImV5ZVwiIGNvbG9yPVwiI2ZmZmZmZlwiIHNpemU9XCIxOFwiIEBjbGljaz1cInNob3dNb25leSA9ICFzaG93TW9uZXlcIj48L3UtaWNvbj5cblx0XHRcdFx0XHQ8dS1pY29uIHYtaWY9XCIhc2hvd01vbmV5XCIgbmFtZT1cImV5ZS1vZmZcIiBjb2xvcj1cIiNlZWVlZWVcIiBzaXplPVwiMThcIiBAY2xpY2s9XCJzaG93TW9uZXkgPSAhc2hvd01vbmV5XCI+PC91LWljb24+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoZXppLWJcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYi1wcmljZVwiPlxuXHRcdFx0XHRcdFx0PHRleHQgdi1pZj1cInNob3dNb25leVwiPnt7KGNvdW50RGF0YS5iYWxhbmNlIC8gMTAwIHx8IDApLnRvRml4ZWQoMil9fTwvdGV4dD5cblx0XHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJzaG93TW9uZXlcIj48L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dGV4dCAgdi1pZj1cIiFzaG93TW9uZXlcIj4qKioqPC90ZXh0PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYi1idG5cIiBAY2xpY2s9XCJqdW1wV2l0aGRyYXdcIj7mj5DnjrA8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJoZXppLWNcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYy1pdGVtXCI+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImhlemktYy1pdGVtLXRpdGxlXCI+5b6F57uT566XKOWFgyk8L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYy1pdGVtLXByaWNlXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0ICB2LWlmPVwic2hvd01vbmV5XCI+e3soY291bnREYXRhLnBlbmRpbmdBbW91bnQgLyAxMDAgfHwgMCkudG9GaXhlZCgyKX19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwic2hvd01vbmV5XCI+PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCAgdi1pZj1cIiFzaG93TW9uZXlcIj4qKioqPC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYy1pdGVtXCI+XG5cdFx0XHRcdFx0XHQ8dGV4dCBjbGFzcz1cImhlemktYy1pdGVtLXRpdGxlXCI+57Sv6K6h5o+Q546wKOWFgyk8L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImhlemktYy1pdGVtLXByaWNlXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0IHYtaWY9XCJzaG93TW9uZXlcIj57eyhjb3VudERhdGEudG90YWxXaXRoZHJhd24gLyAxMDAgfHwgMCkudG9GaXhlZCgyKX19PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCB2LWlmPVwic2hvd01vbmV5XCI+PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHQ8dGV4dCAgdi1pZj1cIiFzaG93TW9uZXlcIj4qKioqPC90ZXh0PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJ0eFwiPlxuXHRcdFx0XHQ8dGV4dCB2LWlmPVwic2hvd01vbmV5XCI+5o+Q546w5Lit77yawqV7eyhjb3VudERhdGEud2l0aGRyYXdpbmdBbW91bnQgLyAxMDAgfHwgMCkudG9GaXhlZCgyKX19PC90ZXh0PlxuXHRcdFx0XHQ8dGV4dCB2LWlmPVwiIXNob3dNb25leVwiPuaPkOeOsOS4re+8mioqKio8L3RleHQ+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC92aWV3PlxuXHRcdDx2aWV3IGNsYXNzPVwiYm94LWxpc3RcIj5cblx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbVwiPlxuXHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW0tZGF0ZVwiPlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaXRlbS1kYXRlLXRvcFwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtLWRhdGUtdG9wLWxlZnRcIiBAY2xpY2s9XCJzaG93MSA9IHRydWVcIj5cblx0XHRcdFx0XHRcdFx0PHRleHQ+e3tzdGFydERhdGUgfHwgZGVmYXVsdFN0YXJ0RGF0ZX19IOiHsyB7e2VuZERhdGUgfHwgZGVmYXVsdEVuZERhdGV9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHUtaWNvbiBuYW1lPVwiYXJyb3ctZG93blwiIGNvbG9yPVwiIzIyMjIyMlwiIHNpemU9XCIxM1wiPjwvdS1pY29uPlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWxlXCIgOnN0eWxlPVwiJ3dpZHRoOicrd29yZHNXaWR0aCsncnB4OydcIiBAY2xpY2s9XCJvcGVuU2hvdygpXCI+XG5cdFx0XHRcdFx0XHRcdDx0ZXh0Pnt7d29yZHN9fTwvdGV4dD5cblx0XHRcdFx0XHRcdFx0PHUtaWNvbiBuYW1lPVwiYXJyb3ctZG93blwiIGNvbG9yPVwiIzIyMjIyMlwiIHNpemU9XCIxNlwiPjwvdS1pY29uPlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW0tZGF0ZS1ib3R0b21cIj5cblx0XHRcdFx0XHRcdDx0ZXh0PuaUtuWFpe+8msKle3soY291bnREYXRhTGlzdC50b3RhbEluY29tZSB8fCAwKS50b0ZpeGVkKDIpfX08L3RleHQ+XG5cdFx0XHRcdFx0XHQ8dGV4dD7mlK/lh7rvvJrCpXt7KGNvdW50RGF0YUxpc3QudG90YWxFeHBlbnNlIHx8IDApLnRvRml4ZWQoMil9fTwvdGV4dD5cblx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpdGVtLWxpc3RcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cIml0ZW0tbGlzdC1pdGVtXCIgIHYtZm9yPVwiKGl0ZW0sIGluZGV4KSBpbiBkYXRhTGlzdFwiIDprZXk9XCJpbmRleFwiIEBjbGljaz1cImp1bXBEZXRhaWwoaXRlbSlcIj5cblx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW1hZ2VcIj5cblx0XHRcdFx0XHRcdFx0PGltYWdlIDpzcmM9XCJnZXRUcmFuc2FjdGlvbkljb24oaXRlbS50eXBlKVwiIG1vZGU9XCJ3aWR0aEZpeFwiPjwvaW1hZ2U+XG5cdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cImluZm9cIj5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmZvXCI+XG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmZvLWFcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mby1hLWxhYmVsXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHR7eyBnZXRUcmFuc2FjdGlvbkxhYmVsKGl0ZW0udHlwZSkgfX1cblx0XHRcdFx0XHRcdFx0XHRcdDx0ZW1wbGF0ZSAgdi1pZj1cIml0ZW0udHlwZSA9PT0gMVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cImNvbG9yOiAjRkYwMDIwO1wiICB2LWlmPVwiaXRlbS53aXRoZHJhd1N0YXR1cyA9PSAyXCI+5pyq6YCa6L+HPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cImNvbG9yOiAjMDA0MDk2XCIgdi1lbHNlLWlmPVwiaXRlbS53aXRoZHJhd1N0YXR1cyA9PSAxXCI+5bey6YCa6L+HPC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dCBzdHlsZT1cImNvbG9yOiAjRkYwMDIwO1wiIHYtZWxzZT7lrqHmoLjkuK08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3RlbXBsYXRlPlxuXHRcdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmZvLWEtcHJpY2VcIj5cblx0XHRcdFx0XHRcdFx0XHRcdFx0PHRleHQ+e3sgaXNFeHBlbnNlVHlwZShpdGVtKSA/ICctJyA6ICcrJyB9fXt7KGl0ZW0uYW1vdW50SW5mbyB8fDApfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0PjwvdGV4dD5cblx0XHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJpbmZvLWJcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDx0ZXh0PuiuouWNlee8luWPt++8mnt7aXRlbS5vcmRlck5vIHx8ICcnfX08L3RleHQ+XG5cdFx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwiaW5mby1iXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8dGV4dD57e2l0ZW0uY3JlYXRlVGltZSB8fCAnJ319PC90ZXh0PlxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyB2LWlmPVwiIWhhc05leHRcIiBjbGFzcz1cIm5vbW9yZVwiPuW3suWKoOi9veWFqOmDqDwvdmlldz5cblx0XHRcdFx0PC92aWV3PlxuXHRcdFx0PC92aWV3PlxuXHRcdDwvdmlldz5cblx0XHQ8IS0tIOetm+mAiSAtLT5cblx0XHQ8dS1wb3B1cCA6c2hvdz1cInNob3dcIiBtb2RlPVwiYm90dG9tXCIgOnNhZmVBcmVhSW5zZXRCb3R0b209XCJmYWxzZVwiIHJvdW5kPVwiMTVcIiA6Y2xvc2VhYmxlPVwidHJ1ZVwiIEBjbG9zZT1cInNob3cgPSBmYWxzZVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyXCI+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vhci10aXRsZVwiPuetm+mAiTwvdmlldz5cblx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyLWl0ZW1cIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlYXItaXRlbS1sYWJlbFwiPuaUtuaUr+exu+Weizwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlYXItaXRlbS1saXN0XCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBAY2xpY2s9XCJjaGVja0FjdGl2ZSgwKVwiIDpjbGFzcz1cInRlbXBBY3RpdmUgPT0gMD8nc2Vhci1pdGVtLWxpc3QtaXRlbSBhY3RpdmUnOidzZWFyLWl0ZW0tbGlzdC1pdGVtJ1wiPuWFqOmDqDwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3IEBjbGljaz1cImNoZWNrQWN0aXZlKDEpXCIgOmNsYXNzPVwidGVtcEFjdGl2ZSA9PSAxPydzZWFyLWl0ZW0tbGlzdC1pdGVtIGFjdGl2ZSc6J3NlYXItaXRlbS1saXN0LWl0ZW0nXCI+5pS25YWlPC92aWV3PlxuXHRcdFx0XHRcdFx0PHZpZXcgQGNsaWNrPVwiY2hlY2tBY3RpdmUoMilcIiA6Y2xhc3M9XCJ0ZW1wQWN0aXZlID09IDI/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7mlK/lh7o8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIndpZHRoOiAyMTZycHg7IGhlaWdodDogMDtcIj48L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vhci1pdGVtXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyLWl0ZW0tbGFiZWxcIj7kuqTmmJPnsbvlnos8L3ZpZXc+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyLWl0ZW0tbGlzdFwiPlxuXHRcdFx0XHRcdFx0PHZpZXcgIEBjbGljaz1cImNoZWNrVHlwZSgnJylcIiA6Y2xhc3M9XCJ0ZW1wVHlwZSA9PT0gJycgPyAnc2Vhci1pdGVtLWxpc3QtaXRlbSBhY3RpdmUnOidzZWFyLWl0ZW0tbGlzdC1pdGVtJ1wiPuWFqOmDqDwvdmlldz5cblx0XHRcdFx0XHRcdDx2aWV3ICBAY2xpY2s9XCJjaGVja1R5cGUoMClcIiA6Y2xhc3M9XCJ0ZW1wVHlwZSA9PT0gMCA/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7orqLljZXnu5Pnrpc8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyAgQGNsaWNrPVwiY2hlY2tUeXBlKDEpXCIgOmNsYXNzPVwidGVtcFR5cGUgPT09IDE/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7mj5DnjrA8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyAgQGNsaWNrPVwiY2hlY2tUeXBlKDIpXCIgOmNsYXNzPVwidGVtcFR5cGUgPT09IDI/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7mj5DnjrDpgIDlm548L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyAgQGNsaWNrPVwiY2hlY2tUeXBlKDMpXCIgOmNsYXNzPVwidGVtcFR5cGUgPT09IDM/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7lubPlj7DlpZblirE8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyAgQGNsaWNrPVwiY2hlY2tUeXBlKDQpXCIgOmNsYXNzPVwidGVtcFR5cGUgPT09IDQ/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7otKPku7vmiaPmrL48L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyAgQGNsaWNrPVwiY2hlY2tUeXBlKDUpXCIgOmNsYXNzPVwidGVtcFR5cGUgPT09IDU/J3NlYXItaXRlbS1saXN0LWl0ZW0gYWN0aXZlJzonc2Vhci1pdGVtLWxpc3QtaXRlbSdcIj7lvILluLjph5Hpop08L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cIndpZHRoOiAyMTZycHg7IGhlaWdodDogMDtcIj48L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vhci1mb290ZXJcIj5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlYXItZm9vdGVyLWJ0bjFcIiBAY2xpY2s9XCJjb21maXJtKGZhbHNlKVwiPumHjee9rjwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInNlYXItZm9vdGVyLWJ0bjJcIiBAY2xpY2s9XCJjb21maXJtKHRydWUpXCI+56Gu6K6kPC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHQ8L3ZpZXc+XG5cdFx0PC91LXBvcHVwPlxuXHRcdDx1LXBvcHVwIDpzaG93PVwic2hvdzFcIiBtb2RlPVwiYm90dG9tXCIgOnNhZmVBcmVhSW5zZXRCb3R0b209XCJmYWxzZVwiICByb3VuZD1cIjE1XCIgIEBjbG9zZT1cImNvbWZpcm1EYXRlKGZhbHNlKVwiPlxuXHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyXCIgc3R5bGU9XCJtaW4taGVpZ2h0OiA1MDBycHg7XCI+XG5cdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDtqdXN0aWZ5LWl0ZW1zOiBjZW50ZXI7YWxpZ24taXRlbXM6IGZsZXgtZW5kO3RleHQtYWxpZ246IGNlbnRlcjtcIj5cblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImRpc3BsYXk6IGZsZXg7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47dGV4dC1hbGlnbjogY2VudGVyOyBmbGV4OiAxO1wiPlxuXHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNrZXIzXCI+5byA5aeL5pe26Ze0PC92aWV3PlxuXHRcdFx0XHRcdFx0PHBpY2tlciA6dmFsdWU9XCJ0ZW1wU3RhcnREYXRlXCIgQGNoYW5nZT1cImJpbmRDaGFuZ2UxXCIgbW9kZT1cImRhdGVcIj5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNrZXIyXCIgOmNsYXNzPVwieyAncGlja2VyMi1lbXB0eSc6ICF0ZW1wU3RhcnREYXRlIH1cIj5cblx0XHRcdFx0XHRcdFx0XHR7eyB0ZW1wU3RhcnREYXRlIHx8ICfor7fpgInmi6nlvIDlp4vml7bpl7QnIH19XG5cdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdDwvcGlja2VyPlxuXHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHQ8dmlldyBzdHlsZT1cImZsZXgtc2hyaW5rOiAwOyB3aWR0aDogNTBycHg7XCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY2tlcjNcIj48L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY2tlcjNcIj7oh7M8L3ZpZXc+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHRcdDx2aWV3IHN0eWxlPVwiZGlzcGxheTogZmxleDsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjt0ZXh0LWFsaWduOiBjZW50ZXI7IGZsZXg6IDE7XCI+XG5cdFx0XHRcdFx0XHQ8dmlldyBjbGFzcz1cInBpY2tlcjNcIj7nu5PmnZ/ml7bpl7Q8L3ZpZXc+XG5cdFx0XHRcdFx0XHQ8cGlja2VyIDp2YWx1ZT1cInRlbXBFbmREYXRlXCIgQGNoYW5nZT1cImJpbmRDaGFuZ2UyXCIgbW9kZT1cImRhdGVcIj5cblx0XHRcdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJwaWNrZXIyXCIgOmNsYXNzPVwieyAncGlja2VyMi1lbXB0eSc6ICF0ZW1wRW5kRGF0ZSB9XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHR7eyB0ZW1wRW5kRGF0ZSB8fCAn6K+36YCJ5oup57uT5p2f5pe26Ze0JyB9fVxuXHRcdFx0XHRcdFx0XHRcdDwvdmlldz5cblx0XHRcdFx0XHRcdFx0PC9waWNrZXI+XG5cdFx0XHRcdFx0PC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+XG5cdFx0XHRcdCA8dmlldyBjbGFzcz1cInNlYXItZm9vdGVyXCI+XG5cdFx0XHRcdFx0PHZpZXcgY2xhc3M9XCJzZWFyLWZvb3Rlci1idG4xXCIgQGNsaWNrPVwiY29tZmlybURhdGUoZmFsc2UpXCI+6YeN572uPC92aWV3PlxuXHRcdFx0XHRcdDx2aWV3IGNsYXNzPVwic2Vhci1mb290ZXItYnRuMlwiIEBjbGljaz1cImNvbWZpcm1EYXRlKHRydWUpXCI+56Gu6K6kPC92aWV3PlxuXHRcdFx0XHQ8L3ZpZXc+ICBcblx0XHRcdDwvdmlldz5cblx0XHQ8L3UtcG9wdXA+XG5cdDwvdmlldz5cbjwvdGVtcGxhdGU+XG5cbjxzY3JpcHQ+XG5cdGltcG9ydCB7IG1hcFN0YXRlIH0gZnJvbSAndnVleCdcblxuXHRleHBvcnQgZGVmYXVsdCB7XG5cdFx0Y29tcHV0ZWQ6IHtcblx0XHRcdC4uLm1hcFN0YXRlKFsnc3RhdHVzYmFySGVpZ2h0J10pXG5cdFx0fSxcblx0XHRkYXRhKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0Y3VycmVudFBhZ2U6MSxcblx0XHRcdFx0dG90YWw6MCxcblx0XHRcdFx0YWN0aXZlOjAsXG5cdFx0XHRcdHdvcmRzV2lkdGg6MjUwLFxuXHRcdFx0XHR0ZW1wQWN0aXZlIDowLFxuXHRcdFx0XHR0eXBlOicnLFxuXHRcdFx0XHR3b3Jkczon5YWo6YOoJyxcblx0XHRcdFx0dGVtcFR5cGUgOicnLFxuXHRcdFx0XHRkYXRlVHlwZSA6MCxcblx0XHRcdFx0ZGF0YUxpc3Q6W10sXG5cdFx0XHRcdHN0YXJ0RGF0ZTpudWxsLFxuXHRcdFx0XHRlbmREYXRlOm51bGwsXG5cdFx0XHRcdGRlZmF1bHRTdGFydERhdGU6bnVsbCxcblx0XHRcdFx0ZGVmYXVsdEVuZERhdGU6bnVsbCxcblx0XHRcdFx0c2hvd01vbmV5OmZhbHNlLFxuXHRcdFx0XHRjb3VudERhdGE6e30sXG5cdFx0XHRcdGNvdW50RGF0YUxpc3Q6e30sXG5cdFx0XHRcdGhhc05leHQ6dHJ1ZSxcblx0XHRcdFx0c2hvdzogZmFsc2UsXG5cdFx0XHRcdHNob3cxOmZhbHNlLFxuXHRcdFx0XHR5ZWFyOm51bGwsXG5cdFx0XHRcdHRlbXBZZWFyOm51bGwsXG5cdFx0XHRcdG1vbnRoOm51bGwsXG5cdFx0XHRcdHRlbXBNb250aDpudWxsLFxuXHRcdFx0XHR0ZW1wU3RhcnREYXRlOm51bGwsXG5cdFx0XHRcdHRlbXBFbmREYXRlOm51bGwsXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRvbkxvYWQoKSB7XG5cdFx0XHR0aGlzLmFjdGl2ZT0wXG5cdFx0XHR0aGlzLndvcmRzV2lkdGg9MjUwXG5cdFx0XHR0aGlzLndvcmRzPSflhajpg6gnXG5cdFx0XHR0aGlzLnRlbXBBY3RpdmU9Jydcblx0XHRcdHRoaXMuZGF0ZVR5cGU9MFxuXHRcdFx0dGhpcy5jb3VudERhdGE9e31cblx0XHRcdHRoaXMudGVtcFN0YXJ0RGF0ZT1udWxsXG5cdFx0XHR0aGlzLnRlbXBFbmREYXRlPW51bGxcblx0XHRcdHRoaXMuY291bnREYXRhTGlzdD17fVxuXHRcdFx0dGhpcy5zaG93ID0gZmFsc2Vcblx0XHRcdHRoaXMuaW5pdERhdGVTdHIoKVxuXHRcdFx0Ly8gdW5pLiRvbignYWNjb3VudExpc3RSZWxvYWQnLCB0aGlzLmdldEZpcnN0UGFnZURhdGEoKSlcblx0XHR9LFxuXHRcdG9uUmVhY2hCb3R0b20oKSB7XG5cdFx0XHRjb25zb2xlLmxvZygnb25SZWFjaEJvdHRvbScpXG5cdFx0XHR0aGlzLmdldFNob3BQYWdlKClcblx0XHR9LFxuXHRcdG1ldGhvZHM6e1xuXHRcdFx0YmluZENoYW5nZTEgKGUpIHtcblx0XHRcdFx0dGhpcy50ZW1wU3RhcnREYXRlID0gZS5kZXRhaWwudmFsdWUgfHwgbnVsbFxuXHRcdFx0XHRpZiAodGhpcy50ZW1wU3RhcnREYXRlICYmIHRoaXMudGVtcEVuZERhdGUpIHtcblx0XHRcdFx0XHRpZiAobmV3IERhdGUodGhpcy50ZW1wU3RhcnREYXRlICsgJyAwMDowMDowMCcpID4gbmV3IERhdGUodGhpcy50ZW1wRW5kRGF0ZSArICcgMDA6MDA6MDAnKSkge1xuXHRcdFx0XHRcdFx0dGhpcy50ZW1wU3RhcnREYXRlID0gdGhpcy50ZW1wRW5kRGF0ZVxuXHRcdFx0XHRcdFx0dW5pLnNob3dUb2FzdCh7IHRpdGxlOiAn5byA5aeL5pel5pyf5LiN6IO95aSn5LqO57uT5p2f5pel5pyfJywgaWNvbjogJ25vbmUnIH0pXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0YmluZENoYW5nZTIgKGUpIHtcblx0XHRcdFx0dGhpcy50ZW1wRW5kRGF0ZSA9IGUuZGV0YWlsLnZhbHVlIHx8IG51bGxcblx0XHRcdFx0aWYgKHRoaXMudGVtcFN0YXJ0RGF0ZSAmJiB0aGlzLnRlbXBFbmREYXRlKSB7XG5cdFx0XHRcdFx0aWYgKG5ldyBEYXRlKHRoaXMudGVtcFN0YXJ0RGF0ZSArICcgMDA6MDA6MDAnKSA+IG5ldyBEYXRlKHRoaXMudGVtcEVuZERhdGUgKyAnIDAwOjAwOjAwJykpIHtcblx0XHRcdFx0XHRcdHRoaXMudGVtcEVuZERhdGUgPSB0aGlzLnRlbXBTdGFydERhdGVcblx0XHRcdFx0XHRcdHVuaS5zaG93VG9hc3QoeyB0aXRsZTogJ+W8gOWni+aXpeacn+S4jeiDveWkp+S6jue7k+adn+aXpeacnycsIGljb246ICdub25lJyB9KVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdGZvcm1hdHRlcih0eXBlLCB2YWx1ZSkge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSAneWVhcicpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3ZhbHVlfeW5tGBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHR5cGUgPT09ICdtb250aCcpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke3ZhbHVlfeaciGBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICAgICAgICB9LFxuXHRcdFx0Z2V0U2hvcFBhZ2UoKSB7XG5cdFx0XHRcdGlmKHRoaXMubG9hZGluZyB8fCAhdGhpcy5oYXNOZXh0KXtcblx0XHRcdFx0XHRyZXR1cm5cblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmxvYWRpbmc9dHJ1ZVxuXHRcdFx0XHRpZih0aGlzLmN1cnJlbnRQYWdlID09IDEpe1xuXHRcdFx0XHRcdHRoaXMuaGFzTmV4dCA9IHRydWVcblx0XHRcdFx0XHR0aGlzLmRhdGFMaXN0PVtdXG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy4kdS5hcGkuZHJpdmVyUGFnZSh7XG5cdFx0XHRcdFx0Y2FwYWNpdHk6IDEwLFxuXHRcdFx0XHRcdG1vZGVsOiB7XG5cdFx0XHRcdFx0XHRzdGFydFRpbWU6IHRoaXMuc3RhcnREYXRlIHx8IHRoaXMuZGVmYXVsdFN0YXJ0RGF0ZSxcblx0XHRcdFx0XHRcdGVuZFRpbWU6IHRoaXMuZW5kRGF0ZSB8fCB0aGlzLmRlZmF1bHRFbmREYXRlLFxuXHRcdFx0XHRcdFx0dHlwZTogdGhpcy50eXBlLFxuXHRcdFx0XHRcdFx0b3B0VHlwZTogdGhpcy5hY3RpdmUgPT09IDE/MToodGhpcy5hY3RpdmUgPT09IDI/LTE6JycpXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRwYWdlOiB0aGlzLmN1cnJlbnRQYWdlXG5cdFx0XHRcdH0pLnRoZW4ocmVzID0+IHtcblx0XHRcdFx0XHRpZiAocmVzLmNvZGUgPT0gMjAwKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmRhdGFMaXN0LnB1c2goLi4ucmVzLmRhdGEucmVjb3Jkcylcblx0XHRcdFx0XHRcdHRoaXMudG90YWwgPSByZXMuZGF0YS50b3RhbFxuXHRcdFx0XHRcdFx0dGhpcy5jdXJyZW50UGFnZSA9IHRoaXMuY3VycmVudFBhZ2UrMVxuXHRcdFx0XHRcdFx0aWYgKHRoaXMuZGF0YUxpc3QubGVuZ3RoID49IHJlcy5kYXRhLnRvdGFsKSB7XG5cdFx0XHRcdFx0XHRcdHRoaXMuaGFzTmV4dCA9IGZhbHNlXG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHR0aGlzLmhhc05leHQgPSB0cnVlXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGdldFNob3BTdW1tYXJ5KCkge1xuXHRcdFx0XHR0aGlzLiR1LmFwaS5kcml2ZXJTdW1tYXJ5KHtcblx0XHRcdFx0XHRzdGFydFRpbWU6IHRoaXMuc3RhcnREYXRlIHx8IHRoaXMuZGVmYXVsdFN0YXJ0RGF0ZSxcblx0XHRcdFx0XHRlbmRUaW1lOiB0aGlzLmVuZERhdGUgfHwgdGhpcy5kZWZhdWx0RW5kRGF0ZSxcblx0XHRcdFx0XHR0eXBlOiB0aGlzLmFjdGl2ZSA9PT0gMT8wOih0aGlzLmFjdGl2ZT09PTI/MTonJyksIFxuXHRcdFx0XHRcdG9ialR5cGU6IHRoaXMuZ2V0U3VtbWFyeU9ialR5cGUodGhpcy50eXBlKSwgXG5cdFx0XHRcdH0pLnRoZW4ocmVzPT57XG5cdFx0XHRcdFx0aWYocmVzLmNvZGUgPT0gMjAwKXtcblx0XHRcdFx0XHRcdHRoaXMuY291bnREYXRhTGlzdCA9IHJlcy5kYXRhXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdC8vIOiOt+WPlumXqOW6l+mSseWMhee7n+iuoVxuXHRcdFx0Z2V0U2hvcFN0YXRpc3RpY3MoKXtcblx0XHRcdFx0dGhpcy4kdS5hcGkuZHJpdmVyU3RhdGlzdGljcyh7fSkudGhlbihyZXM9Pntcblx0XHRcdFx0XHRpZihyZXMuY29kZSA9PSAyMDApe1xuXHRcdFx0XHRcdFx0dGhpcy5jb3VudERhdGEgPSByZXMuZGF0YVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRjb21maXJtRGF0ZShmbGFnKXtcblx0XHRcdFx0aWYgKGZsYWcpIHtcblx0XHRcdFx0XHRpZiAoIXRoaXMudGVtcFN0YXJ0RGF0ZSB8fCAhdGhpcy50ZW1wRW5kRGF0ZSkge1xuXHRcdFx0XHRcdFx0cmV0dXJuIHVuaS5zaG93VG9hc3Qoe1xuXHRcdFx0XHRcdFx0XHR0aXRsZTogJ+ivt+mAieaLqei1t+atouaXpeacnycsXG5cdFx0XHRcdFx0XHRcdGljb246ICdub25lJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0aWYobmV3IERhdGUodGhpcy50ZW1wRW5kRGF0ZStcIiAwMDowMDowMFwiKS5nZXRUaW1lKCkgPCBuZXcgRGF0ZSh0aGlzLnRlbXBTdGFydERhdGUrXCIgMDA6MDA6MDBcIikuZ2V0VGltZSgpKXtcblx0XHRcdFx0XHRcdHJldHVybiB1bmkuc2hvd1RvYXN0KHtcblx0XHRcdFx0XHRcdFx0dGl0bGU6J+aXpeacn+iMg+WbtOS4jeato+ehricsXG5cdFx0XHRcdFx0XHRcdGljb246J2Vycm9yJ1xuXHRcdFx0XHRcdFx0fSlcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy5zdGFydERhdGUgPXRoaXMudGVtcFN0YXJ0RGF0ZVxuXHRcdFx0XHRcdHRoaXMuZW5kRGF0ZSA9dGhpcy50ZW1wRW5kRGF0ZVxuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHRoaXMuc3RhcnREYXRlID0gbnVsbFxuXHRcdFx0XHRcdHRoaXMuZW5kRGF0ZSA9IG51bGxcblx0XHRcdFx0XHR0aGlzLnRlbXBTdGFydERhdGUgPSBudWxsXG5cdFx0XHRcdFx0dGhpcy50ZW1wRW5kRGF0ZSA9IG51bGxcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmdldEZpcnN0UGFnZURhdGEoKVxuXHRcdFx0XHR0aGlzLmdldFNob3BTdW1tYXJ5KClcblx0XHRcdFx0dGhpcy5zaG93MT1mYWxzZVxuXHRcdFx0fSxcblx0XHRcdG9wZW5TaG93KCl7XG5cdFx0XHRcdHRoaXMudGVtcEFjdGl2ZSA9dGhpcy5hY3RpdmVcblx0XHRcdFx0dGhpcy50ZW1wVHlwZSA9dGhpcy50eXBlXG5cdFx0XHRcdHRoaXMuc2hvdz10cnVlXG5cdFx0XHR9LFxuXHRcdFx0Y29tZmlybShmbGFnKXtcblx0XHRcdFx0aWYoZmxhZyl7XG5cdFx0XHRcdFx0dGhpcy5hY3RpdmUgPSB0aGlzLnRlbXBBY3RpdmVcblx0XHRcdFx0XHR0aGlzLnR5cGUgPSB0aGlzLnRlbXBUeXBlXG5cdFx0XHRcdFx0dGhpcy5zaG93ID0gZmFsc2Vcblx0XHRcdFx0XHR0aGlzLndvcmRzV2lkdGggPSAyNTBcblx0XHRcdFx0XHRpZih0aGlzLmFjdGl2ZSA9PT0gMCAmJiB0aGlzLnR5cGUgPT09ICcnKXtcblx0XHRcdFx0XHRcdHRoaXMud29yZHMgPSAn5YWo6YOoJ1xuXHRcdFx0XHRcdH1lbHNlIHtcblx0XHRcdFx0XHRcdGxldCB0MSA9IHRoaXMuYWN0aXZlID09PSAxID8gJ+aUtuWFpSAnOih0aGlzLmFjdGl2ZSA9PT0gMiA/ICfmlK/lh7ogJyA6ICcnKTtcblx0XHRcdFx0XHRcdGxldCB0MiA9IHRoaXMuZ2V0RmlsdGVyVHlwZUxhYmVsKHRoaXMudHlwZSlcblx0XHRcdFx0XHRcdGlmKHQxICE9JycgJiYgdDIgIT0nJyl7XG5cdFx0XHRcdFx0XHRcdHRoaXMud29yZHNXaWR0aCA9IDM1MFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0dGhpcy53b3JkcyA9IHQxICsgdDJcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dGhpcy50ZW1wQWN0aXZlID0gMFxuXHRcdFx0XHRcdHRoaXMudGVtcFR5cGUgPSAnJ1xuXHRcdFx0XHRcdHRoaXMuYWN0aXZlID0gMFxuXHRcdFx0XHRcdHRoaXMudHlwZSA9ICcnXG5cdFx0XHRcdFx0dGhpcy53b3JkcyA9ICflhajpg6gnXG5cdFx0XHRcdFx0dGhpcy53b3Jkc1dpZHRoID0gMjUwXG5cdFx0XHRcdFx0dGhpcy5zaG93ID0gZmFsc2Vcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmdldEZpcnN0UGFnZURhdGEoKVxuXHRcdFx0XHR0aGlzLmdldFNob3BTdW1tYXJ5KClcblx0XHRcdH0sXG5cdFx0XHRmb3JtYXR0ZWREYXRlVGltZShjdXJyZW50RGF0ZSkge1xuXHRcdFx0ICAgICBjb25zdCB5ZWFyID0gY3VycmVudERhdGUuZ2V0RnVsbFllYXIoKTtcblx0XHRcdCAgICAgY29uc3QgbW9udGggPSAoY3VycmVudERhdGUuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTsgLy8g5pyI5Lu95LuOIDAg5byA5aeL77yM6ZyA6KaB5YqgIDHvvIzlubbooaXpvZDkuKTkvY1cblx0XHRcdCAgICAgY29uc3QgZGF5ID0gY3VycmVudERhdGUuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTsgLy8g6KGl6b2Q5Lik5L2NXG5cdFx0XHQgICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSBgJHt5ZWFyfS0ke21vbnRofS0ke2RheX1gO1xuXHRcdFx0ICAgICBjb25zb2xlLmxvZyhmb3JtYXR0ZWREYXRlKTsgLy8g6L6T5Ye65qC85byP5YyW5ZCO55qE5pel5pyf77yM5L6L5aaCIFwiMjAyMy0xMC0yNFwiXG5cdFx0XHQgICAgIHJldHVybiBmb3JtYXR0ZWREYXRlO1xuXHRcdFx0fSxcblx0XHRcdGluaXREYXRlU3RyKCl7XG5cdFx0XHRcdGNvbnN0IG5vdyA9IG5ldyBEYXRlKClcblx0XHRcdFx0Y29uc3QgZmlyc3REYXkgPSBuZXcgRGF0ZShub3cuZ2V0RnVsbFllYXIoKSwgbm93LmdldE1vbnRoKCksIDEpXG5cdFx0XHRcdGNvbnN0IGRlZmF1bHRTdGFydCA9IHRoaXMuZm9ybWF0dGVkRGF0ZVRpbWUoZmlyc3REYXkpXG5cdFx0XHRcdGNvbnN0IGRlZmF1bHRFbmQgPSB0aGlzLmZvcm1hdHRlZERhdGVUaW1lKG5vdylcblx0XHRcdFx0XG5cdFx0XHRcdHRoaXMuZGVmYXVsdFN0YXJ0RGF0ZSA9IGRlZmF1bHRTdGFydFxuXHRcdFx0XHR0aGlzLmRlZmF1bHRFbmREYXRlID0gZGVmYXVsdEVuZFxuXHRcdFx0XHRcblx0XHRcdFx0dGhpcy5zdGFydERhdGUgPSBudWxsXG5cdFx0XHRcdHRoaXMuZW5kRGF0ZSA9IG51bGxcblx0XHRcdFx0XG5cdFx0XHRcdHRoaXMuZ2V0U2hvcFN0YXRpc3RpY3MoKVxuXHRcdFx0XHR0aGlzLmdldFNob3BTdW1tYXJ5KClcblx0XHRcdFx0dGhpcy5nZXRTaG9wUGFnZSgpXG5cdFx0XHR9LFxuXHRcdFx0Y2hlY2tBY3RpdmUoaW5kZXgpe1xuXHRcdFx0XHR0aGlzLnRlbXBBY3RpdmUgPWluZGV4XG5cdFx0XHR9LFxuXHRcdFx0Z2V0VHJhbnNhY3Rpb25MYWJlbCh0eXBlKSB7XG5cdFx0XHRcdGNvbnN0IHR5cGVNYXAgPSB7XG5cdFx0XHRcdFx0MDogJ+WujOaIkOiuouWNlScsXG5cdFx0XHRcdFx0MTogJ+aPkOeOsOaUr+WHuicsXG5cdFx0XHRcdFx0MjogJ+aPkOeOsOmAgOWbnicsXG5cdFx0XHRcdFx0MzogJ+W5s+WPsOWlluWKsScsXG5cdFx0XHRcdFx0NDogJ+i0o+S7u+aJo+asvicsXG5cdFx0XHRcdFx0NTogJ+W8guW4uOmHkeminSdcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdHlwZU1hcFt0eXBlXSB8fCAnJ1xuXHRcdFx0fSxcblx0XHRcdGdldEZpbHRlclR5cGVMYWJlbCh0eXBlKSB7XG5cdFx0XHRcdGNvbnN0IHR5cGVNYXAgPSB7XG5cdFx0XHRcdFx0MDogJ+iuouWNlee7k+eulycsXG5cdFx0XHRcdFx0MTogJ+aPkOeOsCcsXG5cdFx0XHRcdFx0MjogJ+aPkOeOsOmAgOWbnicsXG5cdFx0XHRcdFx0MzogJ+W5s+WPsOWlluWKsScsXG5cdFx0XHRcdFx0NDogJ+i0o+S7u+aJo+asvicsXG5cdFx0XHRcdFx0NTogJ+W8guW4uOmHkeminSdcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdHlwZU1hcFt0eXBlXSB8fCAnJ1xuXHRcdFx0fSxcblx0XHRcdGdldFRyYW5zYWN0aW9uSWNvbih0eXBlKSB7XG5cdFx0XHRcdGNvbnN0IHR5cGVNYXAgPSB7XG5cdFx0XHRcdFx0MDogJy9zdGF0aWMvaW1hZ2UvaWNfc2hvdXJ1QDJ4LnBuZycsXG5cdFx0XHRcdFx0MTogJy9zdGF0aWMvaW1hZ2UvaWNfdGl4aWFuQDJ4LnBuZycsXG5cdFx0XHRcdFx0MjogJy9zdGF0aWMvaW1hZ2UvaWNfdHVpa3VhbkAyeC5wbmcnLFxuXHRcdFx0XHRcdDM6ICcvc3RhdGljL2ltYWdlL2ljX3Nob3VydUAyeC5wbmcnLFxuXHRcdFx0XHRcdDQ6ICcvc3RhdGljL2ltYWdlL2ljX3RpeGlhbkAyeC5wbmcnLFxuXHRcdFx0XHRcdDU6ICcvc3RhdGljL2ltYWdlL2ljX3R1aWt1YW5AMngucG5nJ1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiB0eXBlTWFwW3R5cGVdIHx8ICcvc3RhdGljL2ltYWdlL2ljX3Nob3VydUAyeC5wbmcnXG5cdFx0XHR9LFxuXHRcdFx0Z2V0U3VtbWFyeU9ialR5cGUodHlwZSkge1xuXHRcdFx0XHRjb25zdCB0eXBlTWFwID0ge1xuXHRcdFx0XHRcdDE6IDE2LFxuXHRcdFx0XHRcdDI6IDE3LFxuXHRcdFx0XHRcdDM6IDI1LFxuXHRcdFx0XHRcdDQ6IDFcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gdHlwZU1hcFt0eXBlXSB8fCAnJ1xuXHRcdFx0fSxcblx0XHRcdGlzRXhwZW5zZVR5cGUoaXRlbSkge1xuXHRcdFx0XHRpZiAoaXRlbSAmJiBpdGVtLm9wdFR5cGUgIT09IHVuZGVmaW5lZCAmJiBpdGVtLm9wdFR5cGUgIT09IG51bGwgJiYgaXRlbS5vcHRUeXBlICE9PSAnJykge1xuXHRcdFx0XHRcdHJldHVybiBOdW1iZXIoaXRlbS5vcHRUeXBlKSA9PT0gLTFcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gWzEsIDRdLmluY2x1ZGVzKE51bWJlcihpdGVtLnR5cGUpKVxuXHRcdFx0fSxcblx0XHRcdGNoZWNrVHlwZShpbmRleCl7XG5cdFx0XHRcdHRoaXMudGVtcFR5cGUgPSBpbmRleFxuXHRcdFx0fSxcblx0XHRcdGdldEZpcnN0UGFnZURhdGEoKXtcblx0XHRcdFx0dGhpcy5jdXJyZW50UGFnZSA9IDBcblx0XHRcdFx0dGhpcy5oYXNOZXh0PXRydWVcblx0XHRcdFx0dGhpcy5sb2FkaW5nPWZhbHNlXG5cdFx0XHRcdHRoaXMudG90YWw9MFxuXHRcdFx0XHR0aGlzLmRhdGFMaXN0PVtdXG5cdFx0XHRcdHRoaXMuZ2V0U2hvcFBhZ2UoKVxuXHRcdFx0fSxcblx0XHRcdGp1bXBXaXRoZHJhdygpe1xuXHRcdFx0XHR1bmkubmF2aWdhdGVUbyh7XG5cdFx0XHRcdFx0dXJsOiAnL3BhZ2VzL3dpdGhkcmF3L3dpdGhkcmF3J1xuXHRcdFx0XHR9KVxuXHRcdFx0fSxcblx0XHRcdGp1bXBEZXRhaWwoaXRlbSl7XG5cdFx0XHRcdGlmKGl0ZW0ub2JqVHlwZSA9PSAxNyApe1xuXHRcdFx0XHRcdHVuaS5uYXZpZ2F0ZVRvKHtcblx0XHRcdFx0XHRcdHVybDogJy9wYWdlcy93aXRoZHJhd2FsLWRldGFpbHMvd2l0aGRyYXdhbC1kZXRhaWxzP2lkPScraXRlbS5vYmpJZFxuXHRcdFx0XHRcdH0pXG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbjwvc2NyaXB0PlxuXG48c3R5bGU+XG5cdC5waWNrZXItdmlldyB7XG5cdFx0d2lkdGg6IDc1MHJweDtcblx0XHRoZWlnaHQ6IDYwMHJweDtcblx0XHRtYXJnaW4tdG9wOiAyMHJweDtcblx0fVxuXHQucGlja2VyLWl0ZW0ge1xuXHRcdGxpbmUtaGVpZ2h0OiA3MnJweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0LnBpY2tlcjJ7XG5cdFx0bGluZS1oZWlnaHQ6IDcycnB4O1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRiYWNrZ3JvdW5kOiByZ2JhKDAsNjQsMTUwLDAuMSkgIWltcG9ydGFudDtcblx0XHRib3JkZXItcmFkaXVzOiA4cnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRjb2xvcjogIzAwNDA5NiAhaW1wb3J0YW50O1xuXHR9XG5cdC5waWNrZXIyLWVtcHR5e1xuXHRcdGJhY2tncm91bmQ6ICNGN0Y3RjcgIWltcG9ydGFudDtcblx0XHRjb2xvcjogIzk5OTk5OSAhaW1wb3J0YW50O1xuXHR9XG5cdC5waWNrZXIze1xuXHRcdGxpbmUtaGVpZ2h0OiA3MnJweDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Ym9yZGVyLXJhZGl1czogOHJweDtcblx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdGZvbnQtc2l6ZTogMjhycHg7XG5cdFx0Y29sb3I6ICMzMzMzMzM7XG5cdH1cbjwvc3R5bGU+XG5cbjxzdHlsZSBsYW5nPVwic2Nzc1wiIHNjb3BlZD5cblx0LndhbGxldC1wYWdlIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuXHRcdC5zZWFyIHtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0cGFkZGluZzogMzBycHg7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0LnNlYXItdGl0bGUge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRmb250LXNpemU6IDMycnB4O1xuXHRcdFx0XHRjb2xvcjogIzExMTExMTtcblx0XHRcdH1cblx0XHRcdC5zZWFyLWl0ZW0ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0bWFyZ2luLXRvcDogNDhycHg7XG5cdFx0XHRcdC5zZWFyLWl0ZW0tbGFiZWwge1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzMnJweDtcblx0XHRcdFx0XHRjb2xvcjogIzExMTExMTtcblx0XHRcdFx0fVxuXHRcdFx0XHQuc2Vhci1pdGVtLWxpc3Qge1xuXHRcdFx0XHRcdG1hcmdpbi10b3A6IDMwcnB4O1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdFx0ZmxleC13cmFwOiB3cmFwO1xuXHRcdFx0XHRcdC5hY3RpdmUge1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDY0LDE1MCwwLjEpICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzAwNDA5NiAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHQuYWN0aXZlMSB7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAycnB4IHNvbGlkICMwMDQwOTYgIWltcG9ydGFudDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMDA0MDk2ICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5zZWFyLWl0ZW0tbGlzdC1pdGVtIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAyMTZycHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDcycnB4O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDcycnB4O1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI0Y3RjdGNztcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDhycHg7XG5cdFx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyOHJweDtcblx0XHRcdFx0XHRcdGNvbG9yOiAjMzMzMzMzO1xuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjBycHg7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5zZWFyLWl0ZW0tbGlzdC1pdGVtMSB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMjE2cnB4O1xuXHRcdFx0XHRcdFx0aGVpZ2h0OiA3MnJweDtcblx0XHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA3MnJweDtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0XHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAyMHJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC5zZWFyLWZvb3RlciB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDg4cnB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOiA4MHJweDtcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHQuc2Vhci1mb290ZXItYnRuMSB7XG5cdFx0XHRcdFx0d2lkdGg6IDMzNHJweDtcblx0XHRcdFx0XHRoZWlnaHQ6IDg4cnB4O1xuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiA4OHJweDtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogI0U1RTVFNTtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiA0NHJweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogMzJycHg7XG5cdFx0XHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHRcdH1cblx0XHRcdFx0LnNlYXItZm9vdGVyLWJ0bjIge1xuXHRcdFx0XHRcdHdpZHRoOiAzMzRycHg7XG5cdFx0XHRcdFx0aGVpZ2h0OiA4OHJweDtcblx0XHRcdFx0XHRsaW5lLWhlaWdodDogODhycHg7XG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQ6ICMwMDQwOTY7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNDRycHg7XG5cdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRmb250LXNpemU6IDMycnB4O1xuXHRcdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5ib3gtbGlzdCB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMzBycHg7XG5cdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0Lml0ZW0ge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0Lml0ZW0tZGF0ZSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDAgMzBycHggMzBycHggMzBycHg7XG5cdFx0XHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRcdFx0XHQuaXRlbS1kYXRlLXRvcCB7XG5cdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRcdFx0Lml0ZW0tZGF0ZS10b3AtbGVmdCB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGltYWdlIHtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMjZycHg7XG5cdFx0XHRcdFx0XHRcdFx0aGVpZ2h0OiAyNnJweDtcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogMTJycHg7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0dGV4dCB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDI4cnB4O1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjMjIyMjIyO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi1yaWdodDogOHJweDtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LnNlbGUge1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogMjAwcnB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDY0cnB4O1xuXHRcdFx0XHRcdFx0XHRwYWRkaW5nOiAwIDI0cnB4O1xuXHRcdFx0XHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuXHRcdFx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAzMnJweDtcblx0XHRcdFx0XHRcdFx0Ym9yZGVyOiAxcnB4IHNvbGlkICNFRUVFRUU7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDMwcnB4O1xuXHRcdFx0XHRcdFx0XHR0ZXh0IHtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I6ICMzMzMzMzM7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Lml0ZW0tZGF0ZS1ib3R0b20ge1xuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDIwcnB4O1xuXHRcdFx0XHRcdFx0dGV4dCB7XG5cdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRcdFx0XHRcdGNvbG9yOiAjNzc3Nzc3O1xuXHRcdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDYycnB4O1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdC5pdGVtLWxpc3Qge1xuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0ZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDMwcnB4O1xuXHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcblx0XHRcdFx0XHQubm9tb3JlIHtcblx0XHRcdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdFx0XHRcdGNvbG9yOiAjOTk5OTk5O1xuXHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdFx0XHRtYXJnaW4tdG9wOiAzMHJweDtcblx0XHRcdFx0XHRcdHBhZGRpbmctYm90dG9tOiAzMHJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0Lml0ZW0tbGlzdC1pdGVtIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0cGFkZGluZzogMzBycHggMDtcblx0XHRcdFx0XHRcdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdFx0XHRcdFx0XHRib3JkZXItYm90dG9tOiAxcnB4IHNvbGlkICNFNUU1RTU7XG5cdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRcdFx0XHRcdC5pbWFnZSB7XG5cdFx0XHRcdFx0XHRcdGZsZXgtc2hyaW5rOiAwO1xuXHRcdFx0XHRcdFx0XHR3aWR0aDogNzJycHg7XG5cdFx0XHRcdFx0XHRcdGhlaWdodDogNzJycHg7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRcdFx0XHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHJweDtcblx0XHRcdFx0XHRcdFx0aW1hZ2Uge1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHQuaW5mbyB7XG5cdFx0XHRcdFx0XHRcdGZsZXg6IDE7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cdFx0XHRcdFx0XHRcdC5pbmZvLWEge1xuXHRcdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0XHRcdFx0XHRcdFx0LmluZm8tYS1sYWJlbCB7XG5cdFx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNTAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMHJweDtcblx0XHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjMjIyMjIyO1xuXHRcdFx0XHRcdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRcdFx0XHRcdHRleHQge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDI0cnB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcblx0XHRcdFx0XHRcdFx0XHRcdFx0bWFyZ2luLWxlZnQ6IDIwcnB4O1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHQuaW5mby1hLXByaWNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdFx0XHRcdFx0XHRcdFx0XHR0ZXh0IHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0IFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAzMnJweDtcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzIyMjIyMjtcblx0XHRcdFx0XHRcdFx0XHRcdFx0IFxuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQuaW5mby1iIHtcblx0XHRcdFx0XHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0XHRcdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXHRcdFx0XHRcdFx0XHRcdG1hcmdpbi10b3A6IDEycnB4O1xuXHRcdFx0XHRcdFx0XHRcdHRleHQge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogIzk5OTk5OTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gLnNlbGUge1xuXHRcdC8vIFx0d2lkdGg6IDIwMHJweDtcblx0XHQvLyBcdGhlaWdodDogNjRycHg7XG5cdFx0Ly8gXHRwYWRkaW5nOiAwIDI0cnB4O1xuXHRcdC8vIFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHQvLyBcdGJhY2tncm91bmQ6ICNGRkZGRkY7XG5cdFx0Ly8gXHRib3JkZXItcmFkaXVzOiAzMnJweDtcblx0XHQvLyBcdGJvcmRlcjogMXJweCBzb2xpZCAjRUVFRUVFO1xuXHRcdC8vIFx0ZGlzcGxheTogZmxleDtcblx0XHQvLyBcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdFx0Ly8gXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdFx0Ly8gXHRtYXJnaW4tbGVmdDogMzBycHg7XG5cdFx0Ly8gXHR0ZXh0IHtcblx0XHQvLyBcdFx0d2lkdGg6IGF1dG87XG5cdFx0Ly8gXHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0Ly8gXHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0Ly8gXHRcdGNvbG9yOiAjMzMzMzMzO1xuXHRcdC8vIFx0fVxuXHRcdC8vIH1cblx0XHQuZGF0YSB7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdC8vIHBhZGRpbmc6IDIwcnB4IDMwcnB4O1xuXHRcdFx0cGFkZGluZzogMzBycHg7XG5cdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0Lmhlemkge1xuXHRcdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdFx0aGVpZ2h0OiAzMDRycHg7XG5cdFx0XHRcdHBhZGRpbmc6IDMwcnB4O1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0XHRiYWNrZ3JvdW5kOiAjMDA0MDk2O1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxNnJweDtcblx0XHRcdFx0LmhlemktYSB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdHRleHQge1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjRycHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpO1xuXHRcdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHJweDtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmhlemktYiB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0XHRcdFx0XHRtYXJnaW4tdG9wOiAxNHJweDtcblx0XHRcdFx0XHQuaGV6aS1iLXByaWNlIHtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cdFx0XHRcdFx0XHR0ZXh0IHtcblx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xuXHRcdFx0XHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA2MDA7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiA0NHJweDtcblx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XG5cdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdFx0XHRmb250LXNpemU6IDI2cnB4O1xuXHRcdFx0XHRcdFx0XHRcdGNvbG9yOiAjRkZGRkZGO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdC5oZXppLWItYnRuIHtcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDBycHg7XG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDUycnB4O1xuXHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDUycnB4O1xuXHRcdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZDogI0ZGRkZGRjtcblx0XHRcdFx0XHRcdGJvcmRlci1yYWRpdXM6IDI2cnB4O1xuXHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRcdFx0XHRjb2xvcjogIzAwNDA5Njtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0LmhlemktYyB7XG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRcdFx0aGVpZ2h0OiAxMzhycHg7XG5cdFx0XHRcdFx0bWFyZ2luLXRvcDogMjRycHg7XG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcblx0XHRcdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdFx0XHRcdGJvcmRlci10b3A6IDFycHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjA5KTtcblx0XHRcdFx0XHQuaGV6aS1jLWl0ZW0ge1xuXHRcdFx0XHRcdFx0ZmxleDogMTtcblx0XHRcdFx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRcdFx0XHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdFx0XHRcdGJvcmRlci1yaWdodDogMXJweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMDkpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0LmhlemktYy1pdGVtLXRpdGxlIHtcblx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0XHRcdFx0XHRcdFx0Zm9udC1zaXplOiAyNHJweDtcblx0XHRcdFx0XHRcdFx0Y29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdC5oZXppLWMtaXRlbS1wcmljZSB7XG5cdFx0XHRcdFx0XHRcdGRpc3BsYXk6IGZsZXg7XG5cdFx0XHRcdFx0XHRcdGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblx0XHRcdFx0XHRcdFx0bWFyZ2luLXRvcDogOHJweDtcblx0XHRcdFx0XHRcdFx0dGV4dCB7XG5cdFx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMzBycHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0JjpudGgtY2hpbGQoMikge1xuXHRcdFx0XHRcdFx0XHRcdFx0Zm9udC13ZWlnaHQ6IDYwMDtcblx0XHRcdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRcdFx0XHRcdFx0XHRjb2xvcjogI0ZGRkZGRjtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdC50eCB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0XHRoZWlnaHQ6IDEwNHJweDtcblx0XHRcdFx0YmFja2dyb3VuZDogcmdiYSgwLDY0LDE1MCwwLjEyKTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTZycHg7XG5cdFx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdFx0dG9wOiAtMjBycHg7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMjZycHg7XG5cdFx0XHRcdGNvbG9yOiAjMDA0MDk2O1xuXHRcdFx0XHRwYWRkaW5nOiA0MHJweCAzMHJweCAwIDMwcnB4O1xuXHRcdFx0XHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuPC9zdHlsZT5cbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///159\n");
 
 /***/ }),
 /* 160 */

--
Gitblit v1.9.3